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

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

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

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

Steam Bonus

Статус пользователя Pauk93
сообщение 2.3.2015, 5:34
Сообщение #1
Стаж: 11 лет

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

У меня на сервере стоит разминка раунда(стим бонус не выдаеться)И после фразы Разминка окончена автоматом делаеться 3 рестарта подряд)как у скальпеля)И вот после этих рестартов уже выдается стим бонус?как исправить
Код:
#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.2", "Cruel")
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)
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_smokegrenade")
give_item(id, "item_assaultsuit")
give_item(id, "item_thighpack")

colored_print(id, "^x04[STEAM] Вам Бонус За Steam: Deagle, HE, 2Flash, Smoke, Amor, Defus!")
}
}

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 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)
}
}
}

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()
}
}


Отредактировал: Bloo, - 2.3.2015, 8:36
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Legend21
сообщение 2.3.2015, 10:32
Сообщение #2
Стаж: 14 лет
Город: Винница

Сообщений: 604
Благодарностей: 229
Полезность: 561

Код:
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)
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_smokegrenade")
give_item(id, "item_assaultsuit")
give_item(id, "item_thighpack")

colored_print(id, "^x04[STEAM] Вам Бонус За Steam: Deagle, HE, 2Flash, Smoke, Amor, Defus!")
}
}


Код:
 if(is_user_alive(id) && g_steam[id] && round_count > 1)


round_count > 1 вроде поставь 2 или 3, как тебе удобно.
2 - это будет выдаваться с второго раунда, 3 - с третего и т. д.

P.s Или ты хочешь чтобы выдавалось при разминки? Ты четче выражайся, а то фиг поймешь.

Отредактировал: Legend21, - 2.3.2015, 10:38
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Pauk93
сообщение 2.3.2015, 11:34
Сообщение #3
Стаж: 11 лет

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

Код:
public RoundRestart(id)
{
round_count = 1
}

за что этот аргумент отвечает?

Отредактировал: Pauk93, - 2.3.2015, 11:35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legend21
сообщение 2.3.2015, 12:13
Сообщение #4
Стаж: 14 лет
Город: Винница

Сообщений: 604
Благодарностей: 229
Полезность: 561

Pauk93,

Код:
round_count
- отвечает за раунды.

Код:
register_event("TextMsg", "RoundRestart", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")

public RoundRestart(id)
{

}


событие рестарта.

Отредактировал: Legend21, - 2.3.2015, 12:14
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: