Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Бонусы для Steam игроков!

Статус пользователя FreeZe191989
сообщение 1.2.2014, 11:39
Сообщение #1
Стаж: 13 лет

Сообщений: 29
Благодарностей: 7
Полезность: 172

Всем Привет! У меня такая проблема!В начале каждого раунда,начиная со 2-ого выдаются бонусы Steam игрока (все гранаты+deagle)!

Помогите исправить:
1) Чтоб гранаты не выдавались вообще! (убрать их)
2) Чтоб выдавался только Deagle (без usp и glock) Сейчас deagle идёт вместе с дефолт пистолетами!

Код:
#include <amxmodx>
#include <hamsandwich>
#include <fun>
#include <cstrike>

new bool:playerPutOrAuth[33]
new g_steam[33]
new pcvar_dp_r_id_provider
new g_maxplayers, g_msgSayText
new round_count

public plugin_init()
{
register_plugin("Steam Bonus", "1.0", "ill")
register_event("TextMsg", "RoundRestart", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
register_logevent("logevent_round_start",2, "1=Round_Start")

RegisterHam(Ham_Spawn, "player", "player_spawn", 1)

pcvar_dp_r_id_provider = get_cvar_pointer ("dp_r_id_provider")

g_maxplayers = get_maxplayers()
g_msgSayText = get_user_msgid("SayText")
}

public logevent_round_start()
{
round_count++
}

public RoundRestart(id)
{
round_count = 1
}

public client_connect(id)
{
g_steam[id] = 0
playerPutOrAuth[id] = false;
}

public client_authorized(id)
{
if (playerPutOrAuth[id])
{
return check_client_type(id)
}
playerPutOrAuth[id] = true;
return PLUGIN_CONTINUE;
}

public client_putinserver(id)
{
if (playerPutOrAuth[id])
{
return check_client_type(id)
}
playerPutOrAuth[id] = true;
return PLUGIN_CONTINUE;
}
public player_spawn(id)
{
if(is_user_alive(id) && g_steam[id] && round_count > 1)
{
drop_weapons(id, 1)
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_deagle")

colored_print(id, "^x04* ^x01[-]- - ^x03гранаты + броня")
}
}

check_client_type(id)
{
if (!pcvar_dp_r_id_provider)
return PLUGIN_CONTINUE

server_cmd("dp_clientinfo %d", id)
server_exec()

new authprov = get_pcvar_num(pcvar_dp_r_id_provider)

if (authprov == 2)
{
g_steam[id] = true
}

return PLUGIN_CONTINUE
}

stock colored_print( target, const message[], any:... )
{
static buffer[ 512 ]

if( !target )
{
static player
for( player = 1; player <= g_maxplayers; player++ )
{
if ( !is_user_connected( player ) )
continue;

vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE_UNRELIABLE, g_msgSayText, _, player )
write_byte( player )
write_string( buffer )
message_end()
}
}

else
{
vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE, g_msgSayText, _, target )
write_byte( target )
write_string( buffer )
message_end()
}
}


Отредактировал: FreeZe191989, - 1.2.2014, 11:40
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя winzh1
сообщение 1.2.2014, 11:55
Сообщение #2


Стаж: 14 лет

Сообщений: 1414
Благодарностей: 600
Полезность: 838

Код:
public player_spawn(id)
{
if(is_user_alive(id) && g_steam[id] && round_count > 1)
{
drop_weapons(id, 1)
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_deagle")

colored_print(id, "^x04* ^x01[-]- - ^x03гранаты + броня")
}
}

Изменить на
Код:
public player_spawn(id)
{
if(is_user_alive(id) && g_steam[id] && round_count > 1)
{
drop_weapons(id, 2)
give_item(id, "weapon_deagle")

colored_print(id, "^x04* ^x01[-]- - ^x03гранаты + броня")
}
}


Добавить
Код:
stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++)
{
weaponid = weapons[i]
if((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, charsmax(wname))
engclient_cmd(id, "drop", wname)
}
}

и
Код:
const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)


Установлю и настрою FreshBans, DopBan.
Писать в ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя neverminde
сообщение 1.2.2014, 11:55
Сообщение #3


Стаж: 15 лет

Сообщений: 1133
Благодарностей: 595
Полезность: 576

можно вот так добавить
Код:

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
const PEV_ADDITIONAL_AMMO = pev_iuser1
stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++)
{
weaponid = weapons[i]

if ((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32], weapon_ent
get_weaponname(weaponid, wname, sizeof wname - 1)
weapon_ent = fm_find_ent_by_owner(-1, wname, id);

set_pev(weapon_ent, PEV_ADDITIONAL_AMMO, cs_get_user_bpammo(id, weaponid))

engclient_cmd(id, "drop", wname)
cs_set_user_bpammo(id, weaponid, 0)
}
}
}

а можно сделать strip_user_weapons(id) перед выдачей дигла

и убрать

give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_hegrenade")

хотя нет, надо тогда делать проверку что игрок был убит в предыдущем раунде. Короче много тут чего делать

Отредактировал: neverminde, - 1.2.2014, 11:58
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 1.2.2014, 12:20
Сообщение #4


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

код для извращенца
каждый раз при респавне дергать dproto и проверять игрока это маразм
не говоря уж об всем остальном
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя FreeZe191989
сообщение 1.2.2014, 12:31
Сообщение #5
Стаж: 13 лет

Сообщений: 29
Благодарностей: 7
Полезность: 172

Цитата(winzh1 @ 1.2.2014, 12:55) *
Код:
public player_spawn(id)
{
if(is_user_alive(id) && g_steam[id] && round_count > 1)
{
drop_weapons(id, 1)
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_deagle")

colored_print(id, "^x04* ^x01[-]- - ^x03гранаты + броня")
}
}

Изменить на
Код:
public player_spawn(id)
{
if(is_user_alive(id) && g_steam[id] && round_count > 1)
{
drop_weapons(id, 2)
give_item(id, "weapon_deagle")

colored_print(id, "^x04* ^x01[-]- - ^x03гранаты + броня")
}
}


Добавить
Код:
stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++)
{
weaponid = weapons[i]
if((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, charsmax(wname))
engclient_cmd(id, "drop", wname)
}
}

и
Код:
const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)


А можешь пожалуйста целиком код собрать,я просто в этом не шарю,мне Иллюзион писал,до него никак не достучусь!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя winzh1
сообщение 1.2.2014, 12:47
Сообщение #6


Стаж: 14 лет

Сообщений: 1414
Благодарностей: 600
Полезность: 838

Цитата(FreeZe191989 @ 1.2.2014, 17:31) *
А можешь пожалуйста целиком код собрать,я просто в этом не шарю,мне Иллюзион писал,до него никак не достучусь!

Чего там собирать то?
Код:
#include <amxmodx>
#include <hamsandwich>
#include <fun>
#include <cstrike>

new bool:playerPutOrAuth[33]
new g_steam[33]
new pcvar_dp_r_id_provider
new g_maxplayers, g_msgSayText
new round_count

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)


public plugin_init()
{
register_plugin("Steam Bonus", "1.0", "ill")
register_event("TextMsg", "RoundRestart", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
register_logevent("logevent_round_start",2, "1=Round_Start")

RegisterHam(Ham_Spawn, "player", "player_spawn", 1)

pcvar_dp_r_id_provider = get_cvar_pointer ("dp_r_id_provider")

g_maxplayers = get_maxplayers()
g_msgSayText = get_user_msgid("SayText")
}

public logevent_round_start()
{
round_count++
}

public RoundRestart(id)
{
round_count = 1
}

public client_connect(id)
{
g_steam[id] = 0
playerPutOrAuth[id] = false;
}

public client_authorized(id)
{
if (playerPutOrAuth[id])
{
return check_client_type(id)
}
playerPutOrAuth[id] = true;
return PLUGIN_CONTINUE;
}

public client_putinserver(id)
{
if (playerPutOrAuth[id])
{
return check_client_type(id)
}
playerPutOrAuth[id] = true;
return PLUGIN_CONTINUE;
}
public player_spawn(id)
{
if(is_user_alive(id) && g_steam[id] && round_count > 1)
{
drop_weapons(id, 2)
give_item(id, "weapon_deagle")

colored_print(id, "^x04* ^x01[-]- - ^x03гранаты + броня")
}
}

check_client_type(id)
{
if (!pcvar_dp_r_id_provider)
return PLUGIN_CONTINUE

server_cmd("dp_clientinfo %d", id)
server_exec()

new authprov = get_pcvar_num(pcvar_dp_r_id_provider)

if (authprov == 2)
{
g_steam[id] = true
}

return PLUGIN_CONTINUE
}

stock colored_print( target, const message[], any:... )
{
static buffer[ 512 ]

if( !target )
{
static player
for( player = 1; player <= g_maxplayers; player++ )
{
if ( !is_user_connected( player ) )
continue;

vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE_UNRELIABLE, g_msgSayText, _, player )
write_byte( player )
write_string( buffer )
message_end()
}
}

else
{
vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE, g_msgSayText, _, target )
write_byte( target )
write_string( buffer )
message_end()
}
}

stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++)
{
weaponid = weapons[i]
if((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, charsmax(wname))
engclient_cmd(id, "drop", wname)
}
}
}


Установлю и настрою FreshBans, DopBan.
Писать в ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя FreeZe191989
сообщение 1.2.2014, 13:23
Сообщение #7
Стаж: 13 лет

Сообщений: 29
Благодарностей: 7
Полезность: 172

Цитата(winzh1 @ 1.2.2014, 13:47) *
Чего там собирать то?
Код:
#include <amxmodx>
#include <hamsandwich>
#include <fun>
#include <cstrike>

new bool:playerPutOrAuth[33]
new g_steam[33]
new pcvar_dp_r_id_provider
new g_maxplayers, g_msgSayText
new round_count

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)


public plugin_init()
{
register_plugin("Steam Bonus", "1.0", "ill")
register_event("TextMsg", "RoundRestart", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
register_logevent("logevent_round_start",2, "1=Round_Start")

RegisterHam(Ham_Spawn, "player", "player_spawn", 1)

pcvar_dp_r_id_provider = get_cvar_pointer ("dp_r_id_provider")

g_maxplayers = get_maxplayers()
g_msgSayText = get_user_msgid("SayText")
}

public logevent_round_start()
{
round_count++
}

public RoundRestart(id)
{
round_count = 1
}

public client_connect(id)
{
g_steam[id] = 0
playerPutOrAuth[id] = false;
}

public client_authorized(id)
{
if (playerPutOrAuth[id])
{
return check_client_type(id)
}
playerPutOrAuth[id] = true;
return PLUGIN_CONTINUE;
}

public client_putinserver(id)
{
if (playerPutOrAuth[id])
{
return check_client_type(id)
}
playerPutOrAuth[id] = true;
return PLUGIN_CONTINUE;
}
public player_spawn(id)
{
if(is_user_alive(id) && g_steam[id] && round_count > 1)
{
drop_weapons(id, 2)
give_item(id, "weapon_deagle")

colored_print(id, "^x04* ^x01[-]- - ^x03гранаты + броня")
}
}

check_client_type(id)
{
if (!pcvar_dp_r_id_provider)
return PLUGIN_CONTINUE

server_cmd("dp_clientinfo %d", id)
server_exec()

new authprov = get_pcvar_num(pcvar_dp_r_id_provider)

if (authprov == 2)
{
g_steam[id] = true
}

return PLUGIN_CONTINUE
}

stock colored_print( target, const message[], any:... )
{
static buffer[ 512 ]

if( !target )
{
static player
for( player = 1; player <= g_maxplayers; player++ )
{
if ( !is_user_connected( player ) )
continue;

vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE_UNRELIABLE, g_msgSayText, _, player )
write_byte( player )
write_string( buffer )
message_end()
}
}

else
{
vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE, g_msgSayText, _, target )
write_byte( target )
write_string( buffer )
message_end()
}
}

stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++)
{
weaponid = weapons[i]
if((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, charsmax(wname))
engclient_cmd(id, "drop", wname)
}
}
}

Всё работает)))Спасибо! Вот только как сделать,чтоб у Deagle было сразу 35 патронов,сейчас 7!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Esecman
сообщение 1.2.2014, 13:26
Сообщение #8
Стаж: 12 лет

Сообщений: 945
Благодарностей: 208
Полезность: 0

Цитата(FreeZe191989 @ 1.2.2014, 14:23) *
Всё работает)))Спасибо! Вот только как сделать,чтоб у Deagle было сразу 35 патронов,сейчас 7!

После:
Код:
give_item(id, "weapon_deagle") 

Add'нуть:
Код:
cs_set_user_bpammo(id, CSW_DEAGLE, 35)


Код полностью..
Код:
#include <amxmodx>
#include <hamsandwich>
#include <fun>
#include <cstrike>

new bool:playerPutOrAuth[33]
new g_steam[33]
new pcvar_dp_r_id_provider
new g_maxplayers, g_msgSayText
new round_count

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)


public plugin_init()
{
register_plugin("Steam Bonus", "1.0", "ill")
register_event("TextMsg", "RoundRestart", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
register_logevent("logevent_round_start",2, "1=Round_Start")

RegisterHam(Ham_Spawn, "player", "player_spawn", 1)

pcvar_dp_r_id_provider = get_cvar_pointer ("dp_r_id_provider")

g_maxplayers = get_maxplayers()
g_msgSayText = get_user_msgid("SayText")
}

public logevent_round_start()
{
round_count++
}

public RoundRestart(id)
{
round_count = 1
}

public client_connect(id)
{
g_steam[id] = 0
playerPutOrAuth[id] = false;
}

public client_authorized(id)
{
if (playerPutOrAuth[id])
{
return check_client_type(id)
}
playerPutOrAuth[id] = true;
return PLUGIN_CONTINUE;
}

public client_putinserver(id)
{
if (playerPutOrAuth[id])
{
return check_client_type(id)
}
playerPutOrAuth[id] = true;
return PLUGIN_CONTINUE;
}
public player_spawn(id)
{
if(is_user_alive(id) && g_steam[id] && round_count > 1)
{
drop_weapons(id, 2)
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)

colored_print(id, "^x04* ^x01[-]- - ^x03гранаты + броня")
}
}

check_client_type(id)
{
if (!pcvar_dp_r_id_provider)
return PLUGIN_CONTINUE

server_cmd("dp_clientinfo %d", id)
server_exec()

new authprov = get_pcvar_num(pcvar_dp_r_id_provider)

if (authprov == 2)
{
g_steam[id] = true
}

return PLUGIN_CONTINUE
}

stock colored_print( target, const message[], any:... )
{
static buffer[ 512 ]

if( !target )
{
static player
for( player = 1; player <= g_maxplayers; player++ )
{
if ( !is_user_connected( player ) )
continue;

vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE_UNRELIABLE, g_msgSayText, _, player )
write_byte( player )
write_string( buffer )
message_end()
}
}

else
{
vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE, g_msgSayText, _, target )
write_byte( target )
write_string( buffer )
message_end()
}
}

stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++)
{
weaponid = weapons[i]
if((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, charsmax(wname))
engclient_cmd(id, "drop", wname)
}
}
}


Сохранить в utf8 без BOM -> скомпилировать -> заменить .amxx файл в папке plugins

Отредактировал: Esecman, - 1.2.2014, 14:45
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя FreeZe191989
сообщение 1.2.2014, 15:11
Сообщение #9
Стаж: 13 лет

Сообщений: 29
Благодарностей: 7
Полезность: 172

Цитата(Esecman @ 1.2.2014, 14:26) *
После:
Код:
give_item(id, "weapon_deagle") 

Add'нуть:
Код:
cs_set_user_bpammo(id, CSW_DEAGLE, 35)


Код полностью..
Код:
#include <amxmodx>
#include <hamsandwich>
#include <fun>
#include <cstrike>

new bool:playerPutOrAuth[33]
new g_steam[33]
new pcvar_dp_r_id_provider
new g_maxplayers, g_msgSayText
new round_count

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)


public plugin_init()
{
register_plugin("Steam Bonus", "1.0", "ill")
register_event("TextMsg", "RoundRestart", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
register_logevent("logevent_round_start",2, "1=Round_Start")

RegisterHam(Ham_Spawn, "player", "player_spawn", 1)

pcvar_dp_r_id_provider = get_cvar_pointer ("dp_r_id_provider")

g_maxplayers = get_maxplayers()
g_msgSayText = get_user_msgid("SayText")
}

public logevent_round_start()
{
round_count++
}

public RoundRestart(id)
{
round_count = 1
}

public client_connect(id)
{
g_steam[id] = 0
playerPutOrAuth[id] = false;
}

public client_authorized(id)
{
if (playerPutOrAuth[id])
{
return check_client_type(id)
}
playerPutOrAuth[id] = true;
return PLUGIN_CONTINUE;
}

public client_putinserver(id)
{
if (playerPutOrAuth[id])
{
return check_client_type(id)
}
playerPutOrAuth[id] = true;
return PLUGIN_CONTINUE;
}
public player_spawn(id)
{
if(is_user_alive(id) && g_steam[id] && round_count > 1)
{
drop_weapons(id, 2)
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)

colored_print(id, "^x04* ^x01[-]- - ^x03гранаты + броня")
}
}

check_client_type(id)
{
if (!pcvar_dp_r_id_provider)
return PLUGIN_CONTINUE

server_cmd("dp_clientinfo %d", id)
server_exec()

new authprov = get_pcvar_num(pcvar_dp_r_id_provider)

if (authprov == 2)
{
g_steam[id] = true
}

return PLUGIN_CONTINUE
}

stock colored_print( target, const message[], any:... )
{
static buffer[ 512 ]

if( !target )
{
static player
for( player = 1; player <= g_maxplayers; player++ )
{
if ( !is_user_connected( player ) )
continue;

vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE_UNRELIABLE, g_msgSayText, _, player )
write_byte( player )
write_string( buffer )
message_end()
}
}

else
{
vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE, g_msgSayText, _, target )
write_byte( target )
write_string( buffer )
message_end()
}
}

stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++)
{
weaponid = weapons[i]
if((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, charsmax(wname))
engclient_cmd(id, "drop", wname)
}
}
}


Сохранить в utf8 без BOM -> скомпилировать -> заменить .amxx файл в папке plugins


Подскажи ещё пожалуйста,что прописать в этой строчке,чтоб [FS 18+]-был зелёным цветом,Текстовое сообщение обычным,и Deagle тоже зелёным(сейчас в чате он зелёным,но пишет только gle,не полностью)

Код:
colored_print(id, "^x04* ^x04[FS18+]Тебе Подарок от Сервера за Steam - ^x04Deagle")
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Esecman
сообщение 3.2.2014, 12:22
Сообщение #10
Стаж: 12 лет

Сообщений: 945
Благодарностей: 208
Полезность: 0

Цитата(FreeZe191989 @ 1.2.2014, 16:11) *
Подскажи ещё пожалуйста,что прописать в этой строчке,чтоб [FS 18+]-был зелёным цветом,Текстовое сообщение обычным,и Deagle тоже зелёным(сейчас в чате он зелёным,но пишет только gle,не полностью)

Код:
colored_print(id, "^x04* ^x04[FS18+]Тебе Подарок от Сервера за Steam - ^x04Deagle")

Лучше использовать другой stock :)

Код:
stock client_printcolor( const id, const input[], any:... )
{
new count = 1, players[ 32 ]
static msg[ 191 ]
vformat( msg, 190, input, 3 )

replace_all( msg, 190, "!g", "^4" )
replace_all( msg, 190, "!n", "^1" )
replace_all( msg, 190, "!t", "^3" )

if( id ) players[ 0 ] = id; else get_players( players, count, "ch" )
{
for( new i = 0; i < count; i ++ )
{
if( is_user_connected( players[ i ] ) )
{
message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _, players[ i ] )
write_byte( players[ i ] )
write_string( msg )
message_end()
}
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: