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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Ошибка в плагине режима Deathrun

Статус пользователя darxish
сообщение 18.5.2016, 20:57
Сообщение #1


Стаж: 12 лет

Сообщений: 22
Благодарностей: 2
Полезность: 5

Помогите исправить ошибку
Цитата
Warning: Loose indentation on line 1706
Warning: Loose indentation on line 1708
Warning: Loose indentation on line 2463
Warning: Loose indentation on line 2478

Исходник

Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <fakemeta_util>
#include <hamsandwich>
#include <fakemeta_stocks>
#include <fun>
#include <dhudmessage>
#include <colortext>
#include < DeathrunManager >

#define PLUGIN "Режимы"
#define VERSION "1.0"
#define AUTHOR "CaNiBaL"

#define TASK_SHOWINFO 104500

// monster tasks 20-50

#define INFORMERID 777020
#define TASK_INFUR_HUD 777010

#define is_user_connected_v_a(%1,%2) (is_user_connected(%1) && is_user_connected(%2)) // Приконекчены ли (атакующий и жертва)

new Float:g_vec[2][3]
new szTimeBlocked
new const Tag[] = "^4[Режим]";
new MaxPlayers;

/*SNOWMAN*/
#define get_gun_owner(%1) get_pdata_cbase(%1, 41, 4)
#define SnowballVModel "models/n21_deathrun/snowball/v_snowball.mdl"
#define SnowballPModel "models/n21_deathrun/snowball/p_snowball.mdl"
#define SnowballWModel "models/n21_deathrun/snowball/w_snowball.mdl"
#define g_wSmoke "models/w_smokegrenade.mdl"

#define SoundHit "n21_deathrun/snowball/impalehit.wav"
#define SoundLaunch "n21_deathrun/snowball/impalelaunch1.wav"
#define SoundSplash "n21_deathrun/snowball/splash.wav"
#define GLASS "models/glassgibs.mdl"
#define RING "sprites/shockwave.spr"
#define TRAIL "sprites/laserbeam.spr"

#define SNOWDAMAGE 50.0
#define FREEZETIME 3.0
#define CHILLTIME 8.0
#define TERHEALTH 300.0
#define SNOWBALLSPEED 2000.0

#define FROST_R 0
#define FROST_G 206
#define FROST_B 209

#define TASK_REMOVE 1337

new snowman
new g_frozen[33]
new g_glassSpr ,g_Spr, trailSpr

new snow_rounds, snow_buttons, snow_touch, cfg_snow_rounds, cfg_snow_buttons, cfg_snow_touch, snow_rounds_left
/*SNOWMEN END*/

//other
new plugin_work, random_mode;
new MenuUse = 0, InformerMode, g_MsgHud1, ButtonsUse , TouchWeapon, Partner
// informer
new bool:Last

new rambo, rambo_rounds_left
new free, free_rounds_left
new invis, invis_rounds_left
new infur, infur_rounds_left
new traps
new race, race_rounds_left
#include <rambo>

//rambo
new rambo_rounds, rambo_health_t, rambo_health_ct, rambo_partner,
rambo_buttons, rambo_touch

new cfg_rambo_rounds, cfg_rambo_health_t, cfg_rambo_health_ct, cfg_rambo_partner,
cfg_rambo_buttons, cfg_rambo_touch

//invis
new invis_rounds, invis_health_t, invis_health_ct,
invis_buttons, invis_touch

new cfg_invis_rounds, cfg_invis_health_t, cfg_invis_health_ct,
cfg_invis_buttons, cfg_invis_touch

//infur
new infur_rounds, infur_health_t, infur_health_ct,
infur_buttons, infur_touch

new cfg_infur_rounds, cfg_infur_health_t, cfg_infur_health_ct,
cfg_infur_buttons, cfg_infur_touch

//free
new free_rounds, free_buttons, free_touch

new cfg_free_rounds, cfg_free_buttons, cfg_free_touch

//traps
new traps_buttons, traps_touch, traps_health_t

new cfg_traps_buttons,
cfg_traps_touch, cfg_traps_health_t

//race
new race_rounds, race_health_t, race_touch, race_buttons

new cfg_race_rounds, cfg_race_health_t, cfg_race_touch, cfg_race_buttons

//new money lol
new money_rounds_left, cfg_money_rounds
new money_rounds, cfg_money_touch, cfg_money_buttons, money_buttons, money
new rejim_activated
new szPlayers[32], szNum, Player

//vampire
new vampire_rounds_left, cfg_vampire_rounds, vampire_health_t
new cfg_vampire_touch, cfg_vampire_buttons, vampire, cfg_vampire_health_t

//Таймер!
new seconds
new Timer

//offsets
#if cellbits == 32
const OFFSET_HE_AMMO = 388
#else
const OFFSET_HE_AMMO = 437
#endif
const OFFSET_LINUX = 5



public plugin_init()
{

register_plugin(PLUGIN, VERSION, AUTHOR)
register_menucmd(register_menuid("Last Menu"), 511, "ActionLastMenu")
register_menucmd(register_menuid("Modes Menu"), 1023, "func_menu")
register_dictionary( "ModsLang.txt" );
set_task(5.0, "load_cfg")
MaxPlayers = get_maxplayers()
register_clcmd("drop","dropcmd")
g_MaxPlayers = get_maxplayers()

/*g_Vault = nvault_open("mods")
if (g_Vault == INVALID_HANDLE)
set_fail_state("Error opening nVault file!")*/

set_task(1.0, "Show_Info", INFORMERID, "", 0, "b");
InformerMode = register_cvar("deathrun_mode", "NOTHING")
g_MsgHud1 = CreateHudSyncObj()

/*SNOW*/
register_forward(FM_Touch, "fw_Touch", 1)
register_forward(FM_SetModel, "fw_SetModel")
register_forward(FM_EmitSound, "fw_EmitSound")
register_forward(FM_PlayerPreThink, "fw_think")
RegisterHam(Ham_Spawn, "player", "hook_spawn_post", 1)
RegisterHam(Ham_Item_Deploy,"weapon_smokegrenade","CurWeapon", 1)

register_message(get_user_msgid("TextMsg"), "block_message")
register_message(get_user_msgid("SendAudio"), "block_sound")

snow_rounds = register_cvar( "dm_snow_rounds", "3" );
snow_buttons = register_cvar( "dm_snow_buttons", "0" );
snow_touch = register_cvar( "dm_snow_touch", "0" );
/*end Snow*/

m249 = register_cvar("dm_minigun_speed","0.9")
DMGMG = register_cvar("dm_minigun_damage","1.5")
clipstart = register_cvar("amx_ammo_mini","600")

register_forward(FM_CmdStart, "fwd_CmdStart")
register_forward(FM_PlayerPostThink, "fwPlayerPostThink", 1)
register_forward(FM_StartFrame, "fwd_StartFrame")
register_forward(FM_EmitSound,"fwd_emitsound")
register_forward(FM_UpdateClientData, "UpdateClientData_Post", 1)
register_forward(FM_Touch, "fw_Touch")

register_event("HLTV", "round_start", "a", "1=0", "2=0")
register_forward(FM_AddToFullPack, "AddToFullPack", 1)

RegisterHam(Ham_Spawn, "player", "fd_PlayerSpawn", 1)
RegisterHam(Ham_TakeDamage, "player", "player_TakeDamage")
RegisterHam(Ham_Use, "func_button", "fd_UseButton")
RegisterHam(Ham_Touch, "weaponbox", "fd_TouchWeapon")
RegisterHam(Ham_Touch, "armoury_entity", "fd_TouchWeapon")
RegisterHam(Ham_Touch, "weapon_shield", "fd_TouchWeapon")
RegisterHam(Ham_TakeDamage, "player", "FwdDamagePlayer"); // Получение урона.
register_forward(FM_SetModel, "fw_SetModel")
register_forward(FM_PlaybackEvent, "fwPlaybackEvent")

register_event("CurWeapon","event_curweapon_minigun","be", "1=1")
register_event("CurWeapon", "EventCurWeapon", "be", "1=1")
RegisterHam(Ham_Killed,"player","ham_player_kill")
RegisterHam(Ham_Killed, "player", "FwdKilledPlayer")

register_logevent("event_end",2,"1=Round_End");

register_event("TextMsg", "fwEvGameWillRestartIn", "a", "2=#Game_will_restart_in")
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
unregister_forward(FM_PrecacheEvent, g_fwid, 1)

//rambo
rambo_rounds = register_cvar( "dm_rambo_rounds", "4" );
rambo_health_t = register_cvar( "dm_rambo_health_t", "500" );
rambo_health_ct = register_cvar( "dm_rambo_health_ct", "150" );
rambo_buttons = register_cvar( "dm_rambo_buttons", "0" );
rambo_touch = register_cvar( "dm_rambo_touch", "1" );
rambo_partner = register_cvar( "dm_rambo_partner", "1" );

//infur
infur_rounds = register_cvar( "dm_infur_rounds", "8" );
infur_health_t = register_cvar( "dm_infur_health_t", "300" );
infur_health_ct = register_cvar( "dm_infur_health_ct", "150" );
infur_buttons = register_cvar( "dm_infur_buttons", "1" );
infur_touch = register_cvar( "dm_infur_touch", "1" );

//invis
invis_rounds = register_cvar( "dm_invis_rounds", "4" );
invis_health_t = register_cvar( "dm_invis_health_t", "350" );
invis_health_ct = register_cvar( "dm_invis_health_ct", "200" );
invis_buttons = register_cvar( "dm_invis_buttons", "0" );
invis_touch = register_cvar( "dm_invis_touch", "0" );
//free
free_rounds = register_cvar( "dm_free_rounds", "3" );
free_buttons = register_cvar( "dm_free_buttons", "0" );
free_touch = register_cvar( "dm_free_touch", "0" );
//traps
traps_buttons = register_cvar( "dm_traps_buttons", "1" );
traps_touch = register_cvar( "dm_traps_touch ", "1" );
traps_health_t = register_cvar( "dm_traps_health_t", "150" );

//race
race_rounds = register_cvar( "dm_race_rounds", "4" );
race_buttons = register_cvar( "dm_race_buttons", "0" );
race_health_t = register_cvar( "dm_race_health_t", "7000" );
race_touch = register_cvar( "dm_race_touch", "0" );
//money
money_rounds = register_cvar( "dm_money_rounds", "5" );
money_buttons = register_cvar( "dm_money_buttons", "0" );
vampire_health_t = register_cvar("dm_vampire_health_t","150")

}
/*SNOW BALLS*/
public CurWeapon(gun)
{
new id = get_gun_owner(gun)

if(snowman && cs_get_user_team(id) == CS_TEAM_T)
{
set_pev(id, pev_viewmodel2, SnowballVModel)
set_pev(id, pev_weaponmodel2, SnowballPModel)
}
}

public fw_think(id)
{
if(!is_user_connected(id))
return PLUGIN_CONTINUE

if(!is_user_alive(id) || !snowman || !g_frozen[id])
return PLUGIN_CONTINUE

set_pev(id, pev_velocity, Float:{ 0.0, 0.0, 0.0 })

return PLUGIN_CONTINUE
}

public fw_SetModel(entity, model[])
{
if (!snowman)
return FMRES_IGNORED

if (!equali(model, g_wSmoke))
return FMRES_IGNORED

new className[33]
pev(entity, pev_classname, className, 32)

if(equal(className, "weaponbox") || equal(className, "armoury_entity") || equal(className, "grenade"))
{
entity_set_float(entity, EV_FL_nextthink, get_gametime() + 99999.9)
new Float:Sonic[3]
pev(entity, pev_velocity, Sonic)
xs_vec_normalize(Sonic, Sonic)
xs_vec_mul_scalar(Sonic, SNOWBALLSPEED, Sonic)
set_pev(entity, pev_velocity, Sonic)
set_pev(entity, pev_gravity, 0.5)
set_pev(entity, pev_friction, 0.0)
set_beamfollow(entity,10,10,Float:{0.0, 200.0, 200.0},170)
engfunc(EngFunc_SetModel, entity, SnowballWModel)

set_pev(entity, pev_movetype, MOVETYPE_NOCLIP)
set_task(0.1, "change_solid", entity)

return FMRES_SUPERCEDE

}

return FMRES_IGNORED
}

public change_solid(ent)
{
if(is_valid_ent(ent))
set_pev(ent, pev_movetype, MOVETYPE_BOUNCE)
}

public fw_EmitSound(ent, channel, sample[], Float:volume, Float:attn, flags, pitch)
{
if(equal(sample, "weapons/grenade_hit1.wav") || equal(sample, "weapons/grenade_hit2.wav") || equal(sample, "weapons/grenade_hit3.wav"))
{
set_pev(ent, pev_velocity, {0.0, 0.0, 0.0})
set_pev(ent,pev_movetype,MOVETYPE_NONE)
set_rendering(ent)
emit_sound(ent, channel, SoundSplash, volume, attn, flags, pitch)
if(!task_exists(ent+TASK_REMOVE))
set_task(5.0,"Remove_Snowball",ent+TASK_REMOVE)

return FMRES_SUPERCEDE
}
return PLUGIN_CONTINUE
}

public hook_spawn_post(id)
{
if(g_frozen[id])
{
set_pev(id, pev_renderfx, kRenderFxGlowShell)
set_pev(id, pev_rendercolor, Float:{ 0.0, 0.0, 0.0 })
set_pev(id, pev_rendermode, kRenderNormal)
set_pev(id, pev_renderamt, 25.0)
g_frozen[id] = false
}
}

public Remove_Snowball(lol)
{
new ent = lol - TASK_REMOVE

if(ent && snowman)
if(is_valid_ent(ent))
remove_entity(ent)
}

public fw_Touch(Touched, Toucher)
{
if(!snowman)
return FMRES_IGNORED

if(!is_user_connected(Touched) || !is_valid_ent(Toucher))
return FMRES_IGNORED

new classname[64]
entity_get_string(Toucher, EV_SZ_classname, classname, 63)
if(!equali(classname, "grenade"))
return FMRES_IGNORED

entity_get_string(Touched, EV_SZ_classname, classname, 63)
if(!equali(classname, "player"))
return FMRES_IGNORED

if(g_frozen[Touched] || cs_get_user_team(Touched) != CS_TEAM_CT)
return FMRES_SUPERCEDE

remove_entity(Toucher)

new Float:originF[3]
entity_get_vector(Touched, EV_VEC_origin, originF)

emit_sound(Touched, CHAN_BODY, SoundHit, 1.0, ATTN_NORM, 0, PITCH_NORM)

if(pev(Touched, pev_health) > SNOWDAMAGE)
{
//new attacker = pev(Toucher,pev_owner)

//ExecuteHam(Ham_TakeDamage, Touched, 0, attacker, SNOWDAMAGE, DMG_ALWAYSGIB | DMG_BULLET)
set_pev(Touched, pev_health, pev(Touched, pev_health) - SNOWDAMAGE)

engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
write_byte(TE_BEAMCYLINDER)
engfunc(EngFunc_WriteCoord, originF[0])
engfunc(EngFunc_WriteCoord, originF[1])
engfunc(EngFunc_WriteCoord, originF[2])
engfunc(EngFunc_WriteCoord, originF[0])
engfunc(EngFunc_WriteCoord, originF[1])
engfunc(EngFunc_WriteCoord, originF[2]+385.0)
write_short(g_Spr)
write_byte(0)
write_byte(0)
write_byte(4)
write_byte(60)
write_byte(0)
write_byte(0)
write_byte(100)
write_byte(200)
write_byte(200)
write_byte(0)
message_end()

engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
write_byte(TE_BEAMCYLINDER)
engfunc(EngFunc_WriteCoord, originF[0])
engfunc(EngFunc_WriteCoord, originF[1])
engfunc(EngFunc_WriteCoord, originF[2])
engfunc(EngFunc_WriteCoord, originF[0])
engfunc(EngFunc_WriteCoord, originF[1])
engfunc(EngFunc_WriteCoord, originF[2]+470.0)
write_short(g_Spr)
write_byte(0)
write_byte(0)
write_byte(4)
write_byte(60)
write_byte(0)
write_byte(0)
write_byte(100)
write_byte(200)
write_byte(200)
write_byte(0)
message_end()

engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
write_byte(TE_BEAMCYLINDER)
engfunc(EngFunc_WriteCoord, originF[0])
engfunc(EngFunc_WriteCoord, originF[1])
engfunc(EngFunc_WriteCoord, originF[2])
engfunc(EngFunc_WriteCoord, originF[0])
engfunc(EngFunc_WriteCoord, originF[1])
engfunc(EngFunc_WriteCoord, originF[2]+555.0)
write_short(g_Spr)
write_byte(0)
write_byte(0)
write_byte(4)
write_byte(60)
write_byte(0)
write_byte(0)
write_byte(100)
write_byte(200)
write_byte(200)
write_byte(0)
message_end()
}
else
{
unfrozen(Touched)
ExecuteHam(Ham_Killed, Touched, Touched, 0)
return FMRES_IGNORED
}

g_frozen[Touched] = true
if(pev(Touched, pev_flags) & FL_ONGROUND)
set_pev(Touched, pev_gravity, 999999.9)
else
set_pev(Touched, pev_gravity, 0.000001)

set_pev(Touched, pev_flags, pev(Touched, pev_flags) | FL_FROZEN)
//entity_set_int(Touched, EV_INT_solid, SOLID_NOT)
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), _, Touched)
write_short(0)
write_short(0)
write_short(0x0004)
write_byte(0)
write_byte(50)
write_byte(200)
write_byte(100)
message_end()

message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("Damage"), _, Touched)
write_byte(0)
write_byte(0)
write_long(DMG_DROWN)
write_coord(0)
write_coord(0)
write_coord(0)
message_end()

set_pev(Touched, pev_renderfx, kRenderFxGlowShell)
set_pev(Touched, pev_rendercolor, Float:{ 0.0, 100.0, 200.0 })
set_pev(Touched, pev_rendermode, kRenderNormal)
set_pev(Touched, pev_renderamt, 25.0)
set_task(FREEZETIME, "unfrozen", Touched)

return FMRES_IGNORED
}

public unfrozen(Touched)
{
if(!is_user_alive(Touched))
return PLUGIN_CONTINUE

//entity_set_int(Touched, EV_INT_solid, SOLID_SLIDEBOX)
set_pev(Touched, pev_flags, pev(Touched, pev_flags) & ~FL_FROZEN)
g_frozen[Touched] = false
set_pev(Touched, pev_gravity, 1.0)
set_pev(Touched, pev_renderfx, kRenderFxGlowShell)
set_pev(Touched, pev_rendercolor, Float:{ 0.0, 0.0, 0.0 })
set_pev(Touched, pev_rendermode, kRenderNormal)
set_pev(Touched, pev_renderamt, 25.0)

message_begin(MSG_ONE, get_user_msgid("ScreenFade"), _, Touched)
write_short((1<<12))
write_short(0)
write_short(0x0000)
write_byte(0)
write_byte(50)
write_byte(200)
write_byte(100)
message_end()

emit_sound(Touched, CHAN_BODY, SoundLaunch, 1.0, ATTN_NORM, 0, PITCH_NORM)

new origin[3]
get_user_origin(Touched, origin)

message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
write_byte(TE_BREAKMODEL)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2] + 24)
write_coord(16)
write_coord(16)
write_coord(16)
write_coord(random_num(-50, 50))
write_coord(random_num(-50, 50))
write_coord(25)
write_byte(10)
write_short(g_glassSpr)
write_byte(10)
write_byte(25)
write_byte(0x01)
message_end()

return PLUGIN_CONTINUE
}

set_beamfollow(ent,life,width,Float:rgb[3],brightness)
{
//clear_beamfollow(ent);

message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(TE_BEAMFOLLOW);
write_short(ent); // entity
write_short(trailSpr); // sprite
write_byte(life); // life
write_byte(width); // width
write_byte(floatround(rgb[0])); // red
write_byte(floatround(rgb[1])); // green
write_byte(floatround(rgb[2])); // blue
write_byte(brightness); // brightness
message_end();
}

public block_message()
{
if(!snowman)
return PLUGIN_CONTINUE

if(get_msg_args() != 5 || get_msg_argtype(5) != ARG_STRING)
{
return PLUGIN_CONTINUE
}

new arg5[20]
get_msg_arg_string(5, arg5, 19)
if(equal(arg5, "#Fire_in_the_hole"))
{
return PLUGIN_HANDLED
}

return PLUGIN_CONTINUE
}

public block_sound(msgid, msg_dest, msg_entity)
{
if(!snowman)
return PLUGIN_CONTINUE

if(get_msg_args() != 3 || get_msg_argtype(2) != ARG_STRING)
{
return PLUGIN_HANDLED
}

new arg2[20]
get_msg_arg_string(2,arg2,19)
if(equal(arg2[1], "!MRAD_FIREINHOLE"))
{
return PLUGIN_HANDLED
}

return PLUGIN_CONTINUE
}

stock ham_strip_weapon(id,weapon[])
{
if(!equal(weapon,"weapon_",7)) return 0

new wId = get_weaponid(weapon)
if(!wId) return 0

new wEnt
while((wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname",weapon)) && pev(wEnt,pev_owner) != id) {}
if(!wEnt) return 0

if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt)

if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)) return 0
ExecuteHamB(Ham_Item_Kill,wEnt)

set_pev(id,pev_weapons,pev(id,pev_weapons) & ~(1<<wId))

return 1
}
/*END SNOW*/

#define OFFSET_CLIPAMMO 51
#define OFFSET_LINUX_WEAPONS 4
#define fm_cs_set_weapon_ammo(%1,%2) set_pdata_int(%1, OFFSET_CLIPAMMO, %2, OFFSET_LINUX_WEAPONS)
#define m_pActiveItem 373

const NOCLIP_WPN_BS = ((1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4))

new const g_MaxClipAmmo[] =
{
0,
13, //CSW_P228
0,
10, //CSW_SCOUT
0, //CSW_HEGRENADE
7, //CSW_XM1014
0, //CSW_C4
30,//CSW_MAC10
30, //CSW_AUG
0, //CSW_SMOKEGRENADE
15,//CSW_ELITE
20,//CSW_FIVESEVEN
25,//CSW_UMP45
30, //CSW_SG550
35, //CSW_GALIL
25, //CSW_FAMAS
12,//CSW_USP
20,//CSW_GLOCK18
10, //CSW_AWP
30,//CSW_MP5NAVY
100,//CSW_M249
8, //CSW_M3
30, //CSW_M4A1
30,//CSW_TMP
20, //CSW_G3SG1
0, //CSW_FLASHBANG
7, //CSW_DEAGLE
30, //CSW_SG552
30, //CSW_AK47
0, //CSW_KNIFE
50//CSW_P90
}

public EventCurWeapon(id)
{
if (!is_user_alive(id))
{
return;
}

new mode[32]
get_pcvar_string(InformerMode, mode, 31)

if (!equal (mode, "DUEL"))
{
static weapon, msgidCurWeapon;
weapon = get_user_weapon(id);

if (!msgidCurWeapon)
msgidCurWeapon = get_user_msgid("CurWeapon")

if (weapon == CSW_GLOCK18 && invis == 1)
{
new iWeapon = read_data(2)
if( !( NOCLIP_WPN_BS & (1<<iWeapon) ) )
{
fm_cs_set_weapon_ammo( get_pdata_cbase(id, m_pActiveItem) , g_MaxClipAmmo[ iWeapon ] )
}

message_begin(MSG_ONE, msgidCurWeapon, {0,0,0}, id);
write_byte(1);
write_byte(CSW_KNIFE);
write_byte(0) ;
message_end();
}
if (weapon == CSW_M249 && rambo == 1)
{
new iWeapon = read_data(2)
if( !( NOCLIP_WPN_BS & (1<<iWeapon) ) )
{
fm_cs_set_weapon_ammo( get_pdata_cbase(id, m_pActiveItem) , g_MaxClipAmmo[ iWeapon ] )
}

message_begin(MSG_ONE, msgidCurWeapon, {0,0,0}, id);
write_byte(1);
write_byte(CSW_KNIFE);
write_byte(0) ;
message_end();
}
}
}

public load_cfg()
{
new szMapName[ 64 ];
get_mapname(szMapName, 63);

if(equal(szMapName, "deathrun_skills"))
plugin_work = 0;
else
plugin_work = 1;


//rambo
cfg_rambo_rounds = get_pcvar_num(rambo_rounds)
cfg_rambo_health_t = get_pcvar_num(rambo_health_t)
cfg_rambo_health_ct = get_pcvar_num(rambo_health_ct)
cfg_rambo_buttons = get_pcvar_num(rambo_buttons)
cfg_rambo_touch = get_pcvar_num(rambo_touch)
cfg_rambo_partner = get_pcvar_num(rambo_partner)
//invis
cfg_invis_rounds = get_pcvar_num(invis_rounds)
cfg_invis_health_t = get_pcvar_num(invis_health_t)
cfg_invis_health_ct = get_pcvar_num(invis_health_ct)
cfg_invis_buttons = get_pcvar_num(invis_buttons)
cfg_invis_touch = get_pcvar_num(invis_touch)
//infur
cfg_infur_rounds = get_pcvar_num(infur_rounds)
cfg_infur_health_t = get_pcvar_num(infur_health_t)
cfg_infur_health_ct = get_pcvar_num(infur_health_ct)
cfg_infur_buttons = get_pcvar_num(infur_buttons)
cfg_infur_touch = get_pcvar_num(infur_touch)
//free
cfg_free_rounds = get_pcvar_num(free_rounds)
cfg_free_buttons = get_pcvar_num(free_buttons)
cfg_free_touch = get_pcvar_num(free_touch)
//traps
cfg_traps_buttons = get_pcvar_num(traps_buttons)
cfg_traps_touch = get_pcvar_num(traps_touch)
cfg_traps_health_t = get_pcvar_num(traps_health_t)

cfg_race_rounds = get_pcvar_num(race_rounds)
cfg_race_health_t = get_pcvar_num(race_health_t)
cfg_race_touch = get_pcvar_num(race_touch)
cfg_race_buttons = get_pcvar_num(race_buttons)

//money
cfg_money_rounds = get_pcvar_num(money_rounds)
cfg_money_buttons = get_pcvar_num(money_buttons)

//vampire
cfg_vampire_rounds = get_pcvar_num(money_rounds)
cfg_vampire_buttons = get_pcvar_num(money_buttons)
cfg_vampire_health_t = get_pcvar_num(vampire_health_t)
//snow
cfg_snow_rounds = get_pcvar_num(snow_rounds)
cfg_snow_buttons = get_pcvar_num(snow_buttons)
cfg_snow_touch = get_pcvar_num(snow_touch)

}

public plugin_precache()
{
//minigun
precache_model(P_MODEL)
precache_model("models/player/dr_vampir/dr_vampir.mdl")
precache_model("models/player/terminator/terminator.mdl")
precache_model("models/player/chuky/chuky.mdl")
precache_model("models/player/chuky/chukyT.mdl")
precache_model("models/player/new_year_t/new_year_t.mdl")
precache_model(V_MODEL)
precache_model(W_MODEL)
precache_sound(m_SOUND[0])
precache_sound(m_SOUND[1])
precache_sound(m_SOUND[2])
precache_sound(m_SOUND[3])
g_blood = precache_model("sprites/blood.spr")
g_bloodspray = precache_model("sprites/bloodspray.spr")
g_fwid = register_forward(FM_PrecacheEvent, "fwPrecacheEvent", 1)

//snow
precache_model(SnowballVModel)
precache_model(SnowballPModel)
precache_model(SnowballWModel)
precache_model(g_wSmoke)

precache_sound(SoundHit)
precache_sound(SoundLaunch)
precache_sound(SoundSplash)

g_glassSpr = precache_model(GLASS)
g_Spr = precache_model(RING)
trailSpr = precache_model(TRAIL)

}

public ForwardSpawn(ent)
{
if(!pev_valid(ent)) /*Если энтитя info_player_start отсуствует на карте, игнорируем*/
return FMRES_IGNORED;

new classname[32];
pev(ent, pev_classname, classname, sizeof classname - 1);
if(equal(classname, "info_player_start")) /*Устанавливаем класс на info_player_start*/
{
pev(ent,pev_origin,g_vec[0]); /* Определяем координаты info_player_start и сохраняем в массив g_vec*/
}
return FMRES_IGNORED;
}
/*===============================================================================
=
Events
================================================================================
=*/
public event_end()
{
random_mode = 0;
/*new s_Traps[8], s_Free[8], s_Invis[8],s_Rambo[8],s_Race[8]
new szText1[10],szText2[10],szText3[10],szText4[10],szText6[10]
formatex(szText1, charsmax(szText1) , "Traps")
formatex(szText2, charsmax(szText2) , "Free")
formatex(szText3, charsmax(szText3) , "Invis")
formatex(szText4, charsmax(szText4) , "Rambo")
formatex(szText6, charsmax(szText6) , "Race")

if (traps)
{
new i_Traps = nvault_get(g_Vault, szText1) + 1;
formatex(s_Traps, charsmax(s_Traps), "%d", i_Traps)
nvault_set(g_Vault, szText1, s_Traps)
}
else if(free)
{
new i_Free = nvault_get(g_Vault, szText2) + 1;
formatex(s_Free, charsmax(s_Free), "%d", i_Free)
nvault_set(g_Vault, szText2, s_Free)
}
else if(invis)
{
new i_Invis = nvault_get(g_Vault, szText3) + 1;
formatex(s_Invis, charsmax(s_Invis), "%d", i_Invis)
nvault_set(g_Vault, szText3, s_Invis)
}
else if(rambo)
{
new i_Rambo = nvault_get(g_Vault, szText4) + 1
formatex(s_Rambo, charsmax(s_Rambo), "%d", i_Rambo)
nvault_set(g_Vault, szText4, s_Rambo);
}
else if(race)
{
new i_Race = nvault_get(g_Vault, szText6) + 1;
formatex(s_Race, charsmax(s_Race), "%d", i_Race)
nvault_set(g_Vault, szText6, s_Race)
}*/
}

/*public event_start()
{
ButtonsUse = 1;
TouchWeapon = 1;
Last = false;

static id
for(id = 1; id <= g_MaxPlayers; id++)
{
fm_set_user_rendering(id, 0, 255, 255, 255, 0, 16)
canfire[id] = true
}
}*/
public GameMenu(id)
{
new mode[32];
get_cvar_string("deathrun_mode", mode, 31);
if(equal(mode, "DUEL"))
{
show_menu(id, 0, "^n", 1)
}
else
{
if(get_user_team(id) == 1 || is_user_alive(id))
{
if(!szTimeBlocked)
{
show_menu(id, 0, "^n", 1)
mods_menu(id)
set_task(1.0, "GameMenu", id)
}
else
{
show_menu(id, 0, "^n", 1)
}
}
}
}
public round_start()
{
for(new id = 1;id <= get_maxplayers(); id++)
{
if(!is_user_connected(id))
return PLUGIN_HANDLED
cs_reset_user_model(id)
}
return PLUGIN_HANDLED
}

public event_round_start()
{
set_lights("#OFF")
remove_miniguns()
static id
remove_task(TASK_SHOWINFO)
remove_task(TASK_INFUR_HUD)
szTimeBlocked = false
for (id = 0; id <= g_MaxPlayers; id++)
{
g_frozen[id] = false
g_plAction[id] = false
canfire[id] = false
frstCLIP[id] = true
fm_set_user_rendering(id, 0, 255, 255, 255, 0, 16)
}
remove_task(100499)
seconds=20
set_task(1.0, "TimerExplode", 100499,_,_,"a",seconds+1)
random_mode = 1;
rejim_activated = false

//Mods setting
vampire = 0
rambo = 0;
invis = 0;
infur = 0;
free = 0;
traps = 0;
race = 0;
money = 0;
snowman = 0;

MenuUse = 0;
Partner = 0;
Last = false;
ButtonsUse = 1;
TouchWeapon = 1;

if (rambo_rounds_left>0)
rambo_rounds_left--;
if (invis_rounds_left>0)
invis_rounds_left--;
if (free_rounds_left>0)
free_rounds_left--;
if (race_rounds_left>0)
race_rounds_left--;
if (money_rounds_left>0)
money_rounds_left--;
if (vampire_rounds_left>0)
vampire_rounds_left--;
if(infur_rounds_left>0)
infur_rounds_left--;
if(snow_rounds_left>0)
snow_rounds_left--;

set_pcvar_string(InformerMode, "NOTHING")
}

public set_random(id)
{
new mode[32]
get_pcvar_string(InformerMode, mode, 31)

new CTalive, Talive
for( new i = 1; i <= g_MaxPlayers; i++ )
{
if( is_user_alive( i ) && get_user_team( i ) == 2 && !is_user_bot(i))
CTalive++;
if( is_user_alive( i ) && get_user_team( i ) == 1 && !is_user_bot(i))
Talive++;
}

if (random_mode == 1 && !equal (mode, "DUEL"))
{
switch (random_num(0, 5))
{
case 0:
{
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.15, 0.35, 2, 0.0, 0.0, 0.1, 6.0)
show_dhudmessage(0, "%L: %L", LANG_PLAYER, "RANDOM_START", LANG_PLAYER, "FREE")

static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(is_user_connected(i) && is_user_alive(i))
{
if (get_user_team(i)==2)
{
strip_user_weapons(i)

fm_give_item(i, "weapon_knife")
}
else if (get_user_team(i)==1)
{
strip_user_weapons(i)

fm_give_item(i, "weapon_knife")
}
}
}
switch (cfg_free_buttons)
{
case 0: ButtonsUse = 0; //Can't use the buttons
case 1: ButtonsUse = 1;//Can use!
}
switch ( cfg_free_touch)
{
case 0: TouchWeapon = 0;//Can't touch the weapons
case 1: TouchWeapon = 1;//Can touch
}

free_rounds_left = cfg_free_rounds;
free = 1;
MenuUse = 1;
set_pcvar_string(InformerMode, "FREE")
}
case 1:
{
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.15, 0.35, 1, 0.0, 0.0, 0.1, 5.0)
show_dhudmessage(0, "%L: %L", LANG_PLAYER, "RANDOM_START", LANG_PLAYER, "INVIS")


static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(is_user_connected(i) && is_user_alive(i))
{
if (get_user_team(i)==2)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_give_item(i, "weapon_glock18")
fm_set_user_health(i, cfg_invis_health_ct)
}
else if (get_user_team(i)==1)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_give_item(i, "weapon_flashbang")
fm_set_user_health(i, cfg_invis_health_t)
}
}
}
switch (cfg_invis_buttons)
{
case 0: ButtonsUse = 0; //Can't use the buttons
case 1: ButtonsUse = 1;//Can use!
}
switch ( cfg_invis_touch)
{
case 0: TouchWeapon = 0;//Can't touch the weapons
case 1: TouchWeapon = 1;//Can touch
}
invis_rounds_left = cfg_invis_rounds;
invis = 1;
MenuUse = 1;
set_pcvar_string(InformerMode, "INVIS")
}

case 2:
{
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.15, 0.35, 1, 0.0, 0.0, 0.1, 5.0)
show_dhudmessage(0, "%L: %L", LANG_PLAYER, "RANDOM_START", LANG_PLAYER, "TRAPS")

static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(is_user_connected(i) && is_user_alive(i))
{
if (get_user_team(i)==2)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_give_item(i, "weapon_usp")
cs_set_user_bpammo(i, CSW_USP, 100 )
}
else if (get_user_team(i)==1)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_set_user_health(i, cfg_traps_health_t)
}
}
}
switch (cfg_traps_buttons)
{
case 0: ButtonsUse = 0; //Can't use the buttons
case 1: ButtonsUse = 1;//Can use!
}
switch ( cfg_traps_touch)
{
case 0: TouchWeapon = 0;//Can't touch the weapons
case 1: TouchWeapon = 1;//Can touch
}

traps = 1;
MenuUse = 1;
set_pcvar_string(InformerMode, "TRAPS")
}

case 3:
{
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.15, 0.35, 1, 0.0, 0.0, 0.1, 5.0)
show_dhudmessage(0, "%L: %L", LANG_PLAYER, "RANDOM_START", LANG_PLAYER, "RAMBO")


static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(is_user_alive(i))
{
if (get_user_team(i)==2)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_give_item(i, "weapon_shield")
fm_set_user_health(i, cfg_rambo_health_ct);
fm_give_item(i, "weapon_glock18")
cs_set_user_bpammo(i, CSW_GLOCK18, 200 )
}
else if (get_user_team(i)==1)
{
strip_user_weapons(i)
fm_set_user_rendering(i, 0, 255, 255, 255, 0, 16)
fm_give_item(i, "weapon_knife")
give_minigun(i, 50000)
cs_set_user_model(i, "terminator")
fm_set_user_health(i, cfg_rambo_health_t)
}
}
}
switch (cfg_rambo_buttons)
{
case 0: ButtonsUse = 0; //Can't use the buttons
case 1: ButtonsUse = 1;//Can use!
}
switch ( cfg_rambo_touch)
{
case 0: TouchWeapon = 0;//Can't touch the weapons
case 1: TouchWeapon = 1;//Can touch
}
if (cfg_rambo_partner && !Partner && CTalive >= 8 && Talive <= 2)
{
set_task(3.0,"partner_menu",id)
}
rambo_rounds_left = cfg_rambo_rounds;

rambo = 1;
MenuUse = 1;
set_pcvar_string(InformerMode, "RAMBO")
}

case 4:
{
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.15, 0.35, 1, 0.0, 0.0, 0.1, 5.0)
show_dhudmessage(0, "%L: %L", LANG_PLAYER, "RANDOM_START", LANG_PLAYER, "RACE")

switch (cfg_race_buttons)
{
case 0: ButtonsUse = 0; //Can't use the buttons
case 1: ButtonsUse = 1;//Can use!
}

switch ( cfg_race_touch)
{
case 0: TouchWeapon = 0;//Can't touch the weapons
case 1: TouchWeapon = 1;//Can touch
}

static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(is_user_connected(i) && is_user_alive(i))
{
if (get_user_team(i)==2 && is_user_alive(i))
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_give_item(i, "weapon_tmp")
cs_set_user_bpammo(i, CSW_TMP, 500 )
}
else if (get_user_team(i)==1)
{
fm_set_user_health(i, cfg_race_health_t)
fm_strip_user_weapons(i)
fm_give_item(i, "weapon_hegrenade")
cs_set_user_bpammo(i, CSW_HEGRENADE, 5)
cs_set_user_model(i, "chuky")
sm_narkotik_player(i)
fm_give_item(i, "weapon_knife")
}
}
}
race_rounds_left = cfg_race_rounds;
race = 1;
MenuUse = 1;
set_pcvar_string(InformerMode, "RACE")
}
case 5:
{
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.15, 0.35, 1, 0.0, 0.0, 0.1, 5.0)
show_dhudmessage(0, "%L: %L", LANG_PLAYER, "RANDOM_START", LANG_PLAYER, "SNOW")

switch (cfg_snow_buttons)
{
case 0: ButtonsUse = 0; //Can't use the buttons
case 1: ButtonsUse = 1;//Can use!
}

switch ( cfg_snow_touch)
{
case 0: TouchWeapon = 0;//Can't touch the weapons
case 1: TouchWeapon = 1;//Can touch
}

static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(is_user_connected(i) && is_user_alive(i))
{
if (get_user_team(i)==2 && is_user_alive(i))
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
}
else if (get_user_team(i)==1)
{
fm_strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_give_item(i, "weapon_smokegrenade")
cs_set_user_bpammo(i, CSW_SMOKEGRENADE, 999)
client_cmd(i, "weapon_smokegrenade")
set_pev(i, pev_viewmodel2, SnowballVModel)
set_pev(i, pev_weaponmodel2, SnowballPModel)
set_pev(i, pev_health, TERHEALTH)
cs_set_user_model(i, "new_year_t")
message_begin(MSG_ONE, get_user_msgid("HideWeapon"), _, i)
write_byte((1<<0))
message_end()
}
}
}
snow_rounds_left = cfg_snow_rounds;
snowman = 1;
MenuUse = 1;
set_pcvar_string(InformerMode, "SNOW")
}
}
random_mode = 0;
}
}
public AddToFullPack(all, e, ent, host, hostflags, player, pset)
{
new mode[32]
get_pcvar_string(InformerMode, mode, 31)

if (!equal (mode, "DUEL"))
{
if(rambo == 1)
{
if(player)
{
if(host != ent)
{
if(get_user_team(host) == 1 && get_user_team(ent) == 2)
{
set_es(all, ES_RenderMode, kRenderTransAlpha);
set_es(all, ES_RenderAmt, 0);
}
}
}
}
if(invis == 1)
{
if(player)
{
if(host != ent)
{
if(get_user_team(host) == 2 && get_user_team(ent) == 1)
{
set_es(all, ES_RenderMode, kRenderTransAlpha);
set_es(all, ES_RenderAmt, 0);
}
}
}
}
}
return PLUGIN_HANDLED
}
public fwEvGameWillRestartIn()
{
static id
for(id = 1; id <= g_MaxPlayers; id++)
{
fm_set_user_rendering(id, 0, 255, 255, 255, 0, 16);
has_minigun[id] = false;
}

//Mods setting
rambo = 0;
invis = 0;
infur = 0;
free = 0;
traps = 0;
race = 0;

random_mode = 0;
MenuUse = 0;
Partner = 0;

rambo_rounds_left = 0;
invis_rounds_left = 0;
infur_rounds_left = 0;
free_rounds_left = 0;
race_rounds_left = 0;
snow_rounds_left = 0;

set_pcvar_string(InformerMode, "BUTTONS")
}
public fd_PlayerSpawn(id)
{
new mode[32]
get_pcvar_string(InformerMode, mode, 31)

if(!is_user_alive(id) || is_user_bot(id) )
return;

if ( get_user_team(id) == 1 && !MenuUse && plugin_work == 1 && !equal (mode, "DUEL"))
set_task(0.1, "GameMenu", id)

if (rambo && !equal (mode, "DUEL"))
set_task(1.0, "go_rambo", id)
else if (invis && !equal (mode, "DUEL"))
set_task(1.0, "go_invis", id)
else if (free && !equal (mode, "DUEL"))
set_task(1.0, "go_free", id)
else if (traps && !equal (mode, "DUEL"))
set_task(1.0, "go_traps", id)
else if (race && !equal (mode, "DUEL"))
set_task(1.0,"go_race",id)
else if (money && !equal (mode, "DUEL"))
set_task(1.0,"go_money",id)
else if (infur && !equal (mode, "DUEL"))
set_task(1.0,"go_infur",id)
else if(snowman && !equal(mode, "DUEL"))
set_task(1.0, "go_snow", id)
else if (equal (mode, "DUEL"))
strip_user_weapons(id)
}

public fd_UseButton(ent, caller, id)
{
if(!is_user_alive(id))
return HAM_IGNORED

new mode[32]
get_pcvar_string(InformerMode, mode, 31)

if ( get_user_team(id) == 1 && !MenuUse && plugin_work == 1 && !equal (mode, "DUEL"))
{
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.2, 2, 0.0, 0.0, 0.1, 6.0)
show_dhudmessage(0, "%L", -1, "BUTTONS_START")

static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(is_user_connected(i) && is_user_alive(i))
{
if (get_user_team(i)==2)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_give_item(i, "weapon_usp")
cs_set_user_bpammo(i, CSW_USP, 100 )
}
else if (get_user_team(i)==1)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_set_user_health(i, cfg_traps_health_t)
}
}
}
switch (cfg_traps_buttons)
{
case 0: ButtonsUse = 0; //Can't use the buttons
case 1: ButtonsUse = 1;//Can use!
}
switch ( cfg_traps_touch)
{
case 0: TouchWeapon = 0;//Can't touch the weapons
case 1: TouchWeapon = 1;//Can touch
}
traps = 1;
MenuUse = 1;
random_mode = 0;
szTimeBlocked = true;
GameMenu(id);
remove_task(100499);
set_pcvar_string(InformerMode, "TRAPS");
}
if(get_user_team(id) == 1)
{
{
switch (ButtonsUse )
{
case 0:
{
client_print( id, print_center, "%L", LANG_PLAYER, "CANT_USE");
return HAM_SUPERCEDE
}
}
}
}
return HAM_IGNORED
}

public fd_TouchWeapon(ent, id)
{
if(!is_user_alive(id))
return HAM_IGNORED

new mode[32]
get_pcvar_string(InformerMode, mode, 31)

if(equal(mode, "DUEL") || get_user_team(id) != 2)
return HAM_SUPERCEDE

static classname[16]; pev( ent, pev_classname, classname, 15 )
if(equal(classname, "weaponbox"))
{
switch (TouchWeapon)
{
case 0: return HAM_SUPERCEDE
case 1: return HAM_IGNORED
}
}
else if(equal(classname, "armoury_entity"))
{
switch (TouchWeapon)
{
case 0: return HAM_SUPERCEDE
case 1: return HAM_IGNORED
}
}
else if(equal(classname, "weapon_shield"))
{
switch (TouchWeapon)
{
case 0: return HAM_SUPERCEDE
case 1: return HAM_IGNORED
}
}
else if (equal(classname, "weapon_m249"))
{
return HAM_SUPERCEDE
}

return HAM_IGNORED
}

public fd_PlayerKilled(id)
{
fm_set_user_rendering(id, 0, 255, 255, 255, 0, 16)
}
/*===============================================================================
=
Go ...
================================================================================
=*/
public go_rambo(id)
{
if (get_user_team(id)==2)
{
strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_shield")
fm_set_user_health(id, cfg_rambo_health_ct);
fm_give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 200 )
}
else if (get_user_team(id)==1)
{
fm_set_user_rendering(id, 0, 255, 255, 255, 0, 16)
strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
give_minigun(id, 50000)
cs_set_user_model(id, "terminator")
fm_set_user_health(id, cfg_rambo_health_t)
}

return PLUGIN_HANDLED
}

public go_snow(i)
{
if (get_user_team(i)==2)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
}
else if (get_user_team(i)==1)
{
fm_give_item(i, "weapon_knife")
fm_give_item(i, "weapon_smokegrenade")
cs_set_user_bpammo(i, CSW_SMOKEGRENADE, 999)
client_cmd(i, "weapon_smokegrenade")
set_pev(i, pev_viewmodel2, SnowballVModel)
set_pev(i, pev_weaponmodel2, SnowballPModel)
set_pev(i, pev_health, TERHEALTH)
message_begin(MSG_ONE, get_user_msgid("HideWeapon"), _, i)
write_byte((1<<0))
message_end()
}
}

public go_invis(id)
{
if (get_user_team(id)==2)
{
strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_glock18")
fm_set_user_health(id, cfg_invis_health_ct)
}
else if (get_user_team(id)==1)
{
strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_flashbang")
fm_set_user_health(id, cfg_invis_health_t)
}
return PLUGIN_HANDLED
}

public go_free(id)
{
if (get_user_team(id)==2 )
{
strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
}
else if (get_user_team(id)==1)
{
strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
}
}

public go_traps(id)
{
if (get_user_team(id)==2)
{
strip_user_weapons(id)
fm_give_item(id, "weapon_knife" )
fm_give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 100 )
}
else if (get_user_team(id)==1)
{
strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
fm_set_user_health(id, cfg_traps_health_t)
}
}

public go_race(id)
{
if (get_user_team(id)==2 && is_user_alive(id))
{
strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_tmp")
cs_set_user_bpammo(id, CSW_TMP, 500 )
}
else if (get_user_team(id)==1 && is_user_alive(id))
{
fm_set_user_health(id, cfg_race_health_t)
fm_strip_user_weapons(id)
fm_give_item(id, "weapon_hegrenade")
cs_set_user_bpammo(id, CSW_HEGRENADE, 5)
sm_narkotik_player(id)
cs_set_user_model(id, "chuky")
fm_give_item(id, "weapon_knife")
}
}

public go_infur(id)
{
if (get_user_team(id)==2)
{
strip_user_weapons(id)
fm_give_item(id, "weapon_knife" )
fm_give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 100 )
fm_set_user_health(id, cfg_infur_health_ct)
}
else if (get_user_team(id)==1)
{
strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
fm_set_user_health(id, cfg_infur_health_t)
if(Timer <= 0)
{
engfunc(EngFunc_SetOrigin, id, g_vec[0])
}
}
}
/*===============================================================================
=
Menu
================================================================================
=*/
public mods_menu(id)
{
if(!is_user_alive(id))
return PLUGIN_CONTINUE

new Len, szMenu[1024]
new Keys = MENU_KEY_0
Len = format(szMenu, charsmax(szMenu), "%L^n^n", LANG_PLAYER, "MODS_MENU_TITLE", seconds)
if (free_rounds_left > 0)
{
Len += format(szMenu[Len],charsmax(szMenu) - Len, "\r1. \d%L \d(\r%d\d)^n", LANG_PLAYER, "ITEM1", free_rounds_left)
}
else
{
Keys |= (1 << 0)
Len += format(szMenu[Len],charsmax(szMenu) - Len, "\r1. \w%L^n", LANG_PLAYER, "ITEM1")
}
if (invis_rounds_left > 0)
{
Len += format(szMenu[Len],charsmax(szMenu) - Len, "\r2. \d%L \d(\r%d\d)^n", LANG_PLAYER, "ITEM2", invis_rounds_left)
}
else
{
Keys |= (1 << 1)
Len += format(szMenu[Len], charsmax(szMenu) - Len, "\r2. \w%L^n", LANG_PLAYER, "ITEM2")
}

Keys |= (1 << 2)
Len += format(szMenu[Len], charsmax(szMenu) - Len, "\r3. \w%L^n", LANG_PLAYER, "ITEM3")

if (rambo_rounds_left > 0)
{
Len += format(szMenu[Len],charsmax(szMenu) - Len, "\r4. \d%L \d(\r%d\d)^n", LANG_PLAYER, "ITEM4", rambo_rounds_left)
}
else
{
Keys |= (1 << 3)
Len += format(szMenu[Len], charsmax(szMenu) - Len, "\r4. \w%L^n", LANG_PLAYER, "ITEM4")
}

if (race_rounds_left > 0)
{
Len += format(szMenu[Len],charsmax(szMenu) - Len, "\r5. \d%L \d(\r%d\d)^n", LANG_PLAYER, "ITEM6", race_rounds_left)
}
else
{
Keys |= (1 << 4)
Len += format(szMenu[Len], charsmax(szMenu) - Len, "\r5. \w%L^n", LANG_PLAYER, "ITEM6")
}

if (money_rounds_left > 0)
{
Len += format(szMenu[Len],charsmax(szMenu) - Len, "\r6. \d%L \d(\r%d\d)^n", LANG_PLAYER, "ITEM7", money_rounds_left)
}
else
{
Keys |= (1 << 5)
Len += format(szMenu[Len], charsmax(szMenu) - Len, "\r6. \w%L^n", LANG_PLAYER, "ITEM7")
}

if (vampire_rounds_left > 0)
{
Len += format(szMenu[Len],charsmax(szMenu) - Len, "\r7. \d%L \d(\r%d\d)^n", LANG_PLAYER, "ITEM8", vampire_rounds_left)
}
else
{
Keys |= (1 << 6)
Len += format(szMenu[Len], charsmax(szMenu) - Len, "\r7. \w%L^n", LANG_PLAYER, "ITEM8")
}
/*
if (infur_rounds_left > 0)
{
Len += format(szMenu[Len],charsmax(szMenu) - Len, "\r8. \d%L^n", LANG_PLAYER, "ITEM9", infur_rounds_left)
}
else
{
Keys |= (1 << 7)
Len += format(szMenu[Len], charsmax(szMenu) - Len, "\r8. \d%L^n", LANG_PLAYER, "ITEM9")
}
*/

Len += format(szMenu[Len],charsmax(szMenu) - Len, "\r8. \d%L^n", LANG_PLAYER, "ITEM9", infur_rounds_left)

if (snow_rounds_left > 0)
{
Len += format(szMenu[Len],charsmax(szMenu) - Len, "\r9. \d%L \d(\r%d\d)^n^n", LANG_PLAYER, "ITEM5", snow_rounds_left)
}
else
{
Keys |= (1 << 8)
Len += format(szMenu[Len], charsmax(szMenu) - Len, "\r9. \w%L^n^n", LANG_PLAYER, "ITEM5")
}

Len += format(szMenu[Len], charsmax(szMenu) - Len, "\r0. \wУмереть \d(\yЕсли не хочешь быть \rТеррористом\d)")
Keys |= (1<<0)

show_menu(id, Keys, szMenu, -1, "Modes Menu")

return PLUGIN_CONTINUE
}
public func_menu(id, key)
{
new mode[32]
get_pcvar_string(InformerMode, mode, 31)

if (get_user_team(id) !=1 || !is_user_alive(id) || equal (mode, "DUEL"))
return PLUGIN_HANDLED;

new CTalive, Talive
for( new i = 1; i <= g_MaxPlayers; i++ )
{
if( is_user_alive( i ) && get_user_team( i ) == 2 && !is_user_bot(i))
CTalive++;
if( is_user_alive( i ) && get_user_team( i ) == 1 && !is_user_bot(i))
Talive++;
}


switch(key)
{
case 0:
{
if ( MenuUse )
return PLUGIN_HANDLED;
szTimeBlocked = true
if ( free_rounds_left != 0 || !is_user_alive( id ))
{
mods_menu(id);
return PLUGIN_HANDLED;
}

set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.2, 2, 0.0, 0.0, 0.1, 6.0)
show_dhudmessage(0, "%L", -1, "FREE_START")

static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(is_user_connected(i) && is_user_alive(i))
{
if (get_user_team(i)==2)
{
strip_user_weapons(i)

fm_give_item(i, "weapon_knife")
}
else if (get_user_team(id)==1)
{
strip_user_weapons(i)

fm_give_item(i, "weapon_knife")
}
}
}
switch (cfg_free_buttons)
{
case 0: ButtonsUse = 0; //Can't use the buttons
case 1: ButtonsUse = 1;//Can use!
}
switch ( cfg_free_touch)
{
case 0: TouchWeapon = 0;//Can't touch the weapons
case 1: TouchWeapon = 1;//Can touch
}

free_rounds_left = cfg_free_rounds;
free = 1;
MenuUse = 1;
random_mode = 0;
set_pcvar_string(InformerMode, "FREE")
remove_task(100499)
}
case 1:
{
if ( MenuUse )
return PLUGIN_HANDLED;
szTimeBlocked = true
if ( invis_rounds_left != 0 || !is_user_alive( id ))
{
mods_menu(id);
return PLUGIN_HANDLED;
}

set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.2, 2, 0.0, 0.0, 0.1, 6.0)
show_dhudmessage(0, "%L", -1, "INVIS_START")

static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(is_user_connected(i) && is_user_alive(i))
{
if (get_user_team(i)==2)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_give_item(i, "weapon_glock18")
fm_set_user_health(i, cfg_invis_health_ct)
}
else if (get_user_team(i)==1)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_give_item(i, "weapon_flashbang")
fm_set_user_health(i, cfg_invis_health_t)
fm_set_user_rendering(i, 19 ,0, 0, 0, 4, 0)
}
}
}
switch (cfg_invis_buttons)
{
case 0: ButtonsUse = 0; //Can't use the buttons
case 1: ButtonsUse = 1;//Can use!
}
switch ( cfg_invis_touch)
{
case 0: TouchWeapon = 0;//Can't touch the weapons
case 1: TouchWeapon = 1;//Can touch
}
invis_rounds_left = cfg_invis_rounds;
invis = 1;
MenuUse = 1;
random_mode = 0;
remove_task(100499)
set_pcvar_string(InformerMode, "INVIS")
}

case 2:
{
if ( MenuUse )
return PLUGIN_HANDLED;
szTimeBlocked = true
if( !is_user_alive( id ) )
{
mods_menu(id);
return PLUGIN_HANDLED;
}

set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.2, 2, 0.0, 0.0, 0.1, 6.0)
show_dhudmessage(0, "%L", -1, "TRAPS_START")

static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(is_user_connected(i) && is_user_alive(i))
{
if (get_user_team(i)==2)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_give_item(i, "weapon_usp")
cs_set_user_bpammo(i, CSW_USP, 100 )
}
else if (get_user_team(i)==1)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_set_user_health(i, cfg_traps_health_t)
}
}
}
switch (cfg_traps_buttons)
{
case 0: ButtonsUse = 0; //Can't use the buttons
case 1: ButtonsUse = 1;//Can use!
}
switch ( cfg_traps_touch)
{
case 0: TouchWeapon = 0;//Can't touch the weapons
case 1: TouchWeapon = 1;//Can touch
}

traps = 1;
MenuUse = 1;
random_mode = 0;
remove_task(100499)
set_pcvar_string(InformerMode, "TRAPS")
}

case 3:
{
if ( MenuUse )
return PLUGIN_HANDLED;
szTimeBlocked = true
if ( rambo_rounds_left != 0 || !is_user_alive( id ))
{
mods_menu(id);
return PLUGIN_HANDLED;
}

set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.2, 2, 0.0, 0.0, 0.1, 6.0)
show_dhudmessage(0, "%L", -1, "RAMBO_START")

static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(is_user_alive(i))
{
if (get_user_team(i)==2)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_give_item(i, "weapon_shield")
fm_set_user_health(i, cfg_rambo_health_ct);
fm_give_item(i, "weapon_glock18")
cs_set_user_bpammo(i, CSW_GLOCK18, 200 );
}
else if (get_user_team(i)==1)
{
strip_user_weapons(i)
fm_set_user_rendering(i, 0, 255, 255, 255, 0, 16)
fm_give_item(i, "weapon_knife")
give_minigun(i, 50000)
cs_set_user_model(i, "terminator")
fm_set_user_health(i, cfg_rambo_health_t)
}
}
}
switch (cfg_rambo_buttons)
{
case 0: ButtonsUse = 0; //Can't use the buttons
case 1: ButtonsUse = 1;//Can use!
}
switch ( cfg_rambo_touch)
{
case 0: TouchWeapon = 0;//Can't touch the weapons
case 1: TouchWeapon = 1;//Can touch
}
if (cfg_rambo_partner && !Partner && CTalive >= 8 && Talive <= 2)
{
set_task(3.0,"partner_menu",id)
}

rambo_rounds_left = cfg_rambo_rounds;

rambo = 1;
MenuUse = 1;
random_mode = 0;
remove_task(100499)
set_pcvar_string(InformerMode, "RAMBO")
}
case 4:
{
if ( MenuUse )
return PLUGIN_HANDLED;
szTimeBlocked = true
if ( race_rounds_left != 0 || !is_user_alive( id ))
{
mods_menu(id);
return PLUGIN_HANDLED;
}
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.2, 2, 0.0, 0.0, 0.1, 6.0)
show_dhudmessage(0, "%L", -1, "RACE_START")

switch (cfg_race_buttons)
{
case 0: ButtonsUse = 0; //Can't use the buttons
case 1: ButtonsUse = 1;//Can use!
}

switch ( cfg_race_touch)
{
case 0: TouchWeapon = 0;//Can't touch the weapons
case 1: TouchWeapon = 1;//Can touch
}

static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(is_user_connected(i) && is_user_alive(i))
{
if (get_user_team(i)==2)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_give_item(i, "item_assaultsuit")
fm_give_item(i, "weapon_tmp")
cs_set_user_bpammo(i, CSW_TMP, 500 )
}
else if (get_user_team(i)==1)
{
fm_set_user_health(i, cfg_race_health_t)
fm_strip_user_weapons(i)
fm_give_item(i, "weapon_hegrenade")
cs_set_user_bpammo(i, CSW_HEGRENADE, 5)
sm_narkotik_player(i)
cs_set_user_model(id, "chuky")
fm_give_item(i, "weapon_knife")
}
}
}
race_rounds_left = cfg_race_rounds;
race = 1;
MenuUse = 1;
random_mode = 0;
set_pcvar_string(InformerMode, "RACE")
remove_task(100499)
}

case 5:
{
if ( MenuUse )
return PLUGIN_HANDLED;
szTimeBlocked = true
if ( money_rounds_left != 0 || !is_user_alive( id ))
{
mods_menu(id);
return PLUGIN_HANDLED;
}
set_dhudmessage(random_num(0, 255), random_num(0, 255),random_num(0, 255), -1.0, 0.2, 2, 0.0, 0.0, 0.1, 6.0)
show_dhudmessage(0, "%L", -1, "MONEY_START")

switch (cfg_money_buttons)
{
case 0: ButtonsUse = 0; //Can't use the buttons
case 1: ButtonsUse = 1;//Can use!
}
switch ( cfg_money_touch)
{
case 0: TouchWeapon = 0;//Can't touch the weapons
case 1: TouchWeapon = 1;//Can touch
}

static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(is_user_connected(i) && is_user_alive(i))
{

if (get_user_team(i)==2)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_give_item(i, "weapon_usp")
cs_set_user_bpammo(i, CSW_USP, 100 )
}
else if (get_user_team(i)==1)
{
fm_set_user_health(i, cfg_vampire_health_t)
fm_strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
}
}
}

money_rounds_left = cfg_money_rounds;
MenuUse = 1;
random_mode = 0;
set_pcvar_string(InformerMode, "DR_MONEY")
rejim_activated = true
remove_task(100499)
}


case 6:
{
if ( MenuUse )
return PLUGIN_HANDLED;
szTimeBlocked = true
if ( vampire_rounds_left != 0 || !is_user_alive( id ))
{
mods_menu(id);
return PLUGIN_HANDLED;
}
set_dhudmessage(random_num(0, 255), random_num(0, 255),random_num(0, 255), -1.0, 0.2, 2, 0.0, 0.0, 0.1, 6.0)
show_dhudmessage(0, "%L", -1, "VAMPIRE_START")

switch (cfg_vampire_buttons)
{
case 0: ButtonsUse = 0; //Can't use the buttons
case 1: ButtonsUse = 1;//Can use!
}
switch ( cfg_vampire_touch)
{
case 0: TouchWeapon = 0;//Can't touch the weapons
case 1: TouchWeapon = 1;//Can touch
}

static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(is_user_connected(i) && is_user_alive(i))
{

if (get_user_team(i)==2)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
}
else if (get_user_team(i)==1)
{
fm_set_user_health(i, cfg_vampire_health_t)
fm_strip_user_weapons(i)
cs_set_user_model(i, "dr_vampir")
fm_give_item(i, "weapon_knife")
}
}
}
set_task(1.0, "vampire_hud", TASK_SHOWINFO, _, _, "b")
vampire_rounds_left = cfg_vampire_rounds;
MenuUse = 1;
vampire = 1;
random_mode = 0;
set_pcvar_string(InformerMode, "DR_VAMPIRE")
remove_task(100499)
}
case 7:
{
if ( MenuUse )
return PLUGIN_HANDLED;
szTimeBlocked = true
if ( infur_rounds_left != 0 || !is_user_alive( id ))
{
mods_menu(id);
return PLUGIN_HANDLED;
}

set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.2, 2, 0.0, 0.0, 0.1, 6.0)
show_dhudmessage(0, "%L", -1, "INFUR_START")

static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(is_user_connected(i) && is_user_alive(i))
{
if (get_user_team(i)==2)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_give_item(i, "weapon_usp")
cs_set_user_bpammo(i, CSW_USP, 100 )
fm_set_user_health(i, cfg_infur_health_ct)
}
else if (get_user_team(i)==1)
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
fm_give_item(i, "weapon_flashbang")
fm_set_user_health(i, cfg_infur_health_t)
fm_set_user_rendering(i, 19 ,0, 0, 0, 4, 0)
set_task(9.0, "un_freeze_terrorist")
}
}
}
switch (cfg_infur_buttons)
{
case 0: ButtonsUse = 0; //Can't use the buttons
case 1: ButtonsUse = 1;//Can use!
}
switch ( cfg_infur_touch)
{
case 0: TouchWeapon = 0;//Can't touch the weapons
case 1: TouchWeapon = 1;//Can touch
}
new args[2]
args[0] = id
args[1] = 15
un_freeze_terrorist(args)
infur_rounds_left = cfg_infur_rounds;
infur = 1;
MenuUse = 1;
random_mode = 0;
remove_task(100499)
set_pcvar_string(InformerMode, "INFUR")
}

case 8:
{
if ( MenuUse )
return PLUGIN_HANDLED;
szTimeBlocked = true
if ( snow_rounds_left != 0 || !is_user_alive( id ))
{
mods_menu(id);
return PLUGIN_HANDLED;
}

set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.01, 0.50, 2, 0.0, 0.0, 0.1, 6.0)
show_dhudmessage(0, "%L", -1, "SNOW_START")

switch (cfg_snow_buttons)
{
case 0: ButtonsUse = 0; //Can't use the buttons
case 1: ButtonsUse = 1;//Can use!
}

switch ( cfg_snow_touch)
{
case 0: TouchWeapon = 0;//Can't touch the weapons
case 1: TouchWeapon = 1;//Can touch
}

static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(is_user_connected(i) && is_user_alive(i))
{
if (get_user_team(i)==2 && is_user_alive(i))
{
strip_user_weapons(i)
fm_give_item(i, "weapon_knife")
}
else if (get_user_team(i)==1)
{
fm_give_item(i, "weapon_knife")
fm_give_item(i, "weapon_smokegrenade")
cs_set_user_bpammo(i, CSW_SMOKEGRENADE, 999)
client_cmd(i, "weapon_smokegrenade")
set_pev(i, pev_viewmodel2, SnowballVModel)
set_pev(i, pev_weaponmodel2, SnowballPModel)
set_pev(i, pev_health, TERHEALTH)
cs_set_user_model(i, "new_year_t")
message_begin(MSG_ONE, get_user_msgid("HideWeapon"), _, i)
write_byte((1<<0))
message_end()
}
}
}
snow_rounds_left = cfg_snow_rounds;
snowman = 1;
MenuUse = 1;
random_mode = 0;
remove_task(100499)
set_pcvar_string(InformerMode, "SNOW")
}

case 9:
{
if ( MenuUse )
return PLUGIN_HANDLED;
szTimeBlocked = true
Kill(id)
MenuUse = 1;
}
}
return PLUGIN_HANDLED
}
stock Kill(id)
{
user_kill(id, 1)
return PLUGIN_CONTINUE
}
public un_freeze_terrorist(put_args[])
{
new mode[32];
get_cvar_string("deathrun_mode", mode, 31);
if(equal(mode, "DUEL"))
return FMRES_IGNORED

new id = put_args[0]
Timer = put_args[1]

if(!is_user_alive(id))
return PLUGIN_CONTINUE

if(Timer == 0)
{
set_dhudmessage(255, 0, 0, -1.0, 0.2, 3, 0.0, 0.0, 0.1, 6.0)
show_dhudmessage(0, "Фурия телепортирована на кт базу")

static i
for(i = 1; i <= g_MaxPlayers; i++)
{
if(get_user_team(i) == 1 && is_user_alive(i) && is_user_connected(i))
{
engfunc(EngFunc_SetOrigin,i,g_vec[0])
}
}
return PLUGIN_CONTINUE
}

set_dhudmessage(213, 62, 7, -1.0, 0.2, 0, 0.0, 0.5, 0.0, 0.8)
show_dhudmessage(0, "До телепортации инфурии на кт базу %d сек.", Timer)

Timer--

new args[2]
args[0] = id
args[1] = Timer
set_task(1.0, "un_freeze_terrorist", TASK_INFUR_HUD, args, 2)

return PLUGIN_CONTINUE
}

public partner_menu(id)
{
if (cfg_rambo_partner !=1 || !is_user_connected(id))
return PLUGIN_HANDLED

new rambo_name[32]
get_user_name(id,rambo_name,32)

new szText[ 1000 char ];

formatex( szText, charsmax( szText ), "%L", id, "PARTNER_MENU_TITLE", rambo_name);
new i_Menu = menu_create(szText ,"func_partner");

new s_Players[32], i_Num, Partner_id

new s_Name[32], s_Player[10]
get_players(s_Players, i_Num)

for (new i; i < i_Num; i++)
{
Partner_id = s_Players[i]

get_user_name(Partner_id, s_Name, charsmax(s_Name))
num_to_str(Partner_id, s_Player, charsmax(s_Player))

if ( is_user_alive(Partner_id) && Partner_id!=id && get_user_team(Partner_id) == 2)
menu_additem(i_Menu, s_Name, s_Player, 0)
}
new EXIT[33], NEXT[20], BACK[20]
formatex(EXIT, charsmax(EXIT), "%L", id, "EXIT");
formatex(NEXT, charsmax(NEXT), "%L", id, "NEXT");
formatex(BACK, charsmax(BACK), "%L", id, "BACK");

menu_setprop(i_Menu, MPROP_BACKNAME, BACK)
menu_setprop(i_Menu, MPROP_NEXTNAME, NEXT)
menu_setprop(i_Menu, MPROP_EXITNAME, EXIT)

menu_display(id, i_Menu, 0)

return PLUGIN_HANDLED
}

public func_partner(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new s_Data[6], s_Name[64], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

new Partner_id = str_to_num(s_Data)

new rambo_name[32]
get_user_name(id,rambo_name,32)

new partner_name[32]
get_user_name(Partner_id,partner_name,32)

if (is_user_alive(Partner_id) && get_user_team (Partner_id) == 2 && rambo)
{
cs_set_user_team(Partner_id, 1, 2);
ExecuteHamB(Ham_CS_RoundRespawn, Partner_id);
ColorChat( 0, GREEN, "%s^1 %L", Tag, -1, "SELECTED_PARTNER", rambo_name, partner_name)
Partner = 1;
}
else
{
set_task(0.1,"partner_menu",id)
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

/*===============================================================================
=
Информер
================================================================================
=*/
stock GetTsNum(alive)
{
new TsNum = 0
for (new id = 1; id <= MaxPlayers; id++)
{
if(!is_user_connected(id) || is_user_bot(id))
{
continue
}
if(alive)
{
if(cs_get_user_team(id) == CS_TEAM_T && is_user_alive(id))
{
TsNum++
}
} else {
if(cs_get_user_team(id) == CS_TEAM_T)
{
TsNum++
}
}
}
return TsNum
}

public Show_Info()
{
new id, acts, cts, all, CurrentTime[32], CurrentTime2[32], names[33][32], Message[512], LastID, ats, Terrorist[32]
for(id = 1; id <= g_MaxPlayers; id++)
{
if(!is_user_connected(id))
{
continue
} else if(is_user_alive(id) && get_user_team(id) == 2) {
acts++
cts++
all ++
LastID = id;
get_user_name(id, names[acts], 31)
} else if(!is_user_alive(id) && get_user_team(id) == 2) {
cts++
all++
} else if(get_user_team(id) == 1 && !is_user_bot(id) && is_user_alive(id)) {
get_user_name(id, Terrorist, 63)
ats++
all++
} else
all++
}
if(acts == 1 && !Last && ats >= 1)
{
LastMenu(LastID)
Last = true
}
for(id = 1; id <= g_MaxPlayers; id++)
{
new Len, Mode[32]
get_pcvar_string(InformerMode, Mode, 31)
Len = format(Message, 511, "%L: %L", LANG_PLAYER, "CURRENTMODE", LANG_PLAYER, Mode)
get_time("%d.%m.%Y", CurrentTime2, 31)
Len += format(Message[Len], 511 - Len, "^n%L: %s", LANG_PLAYER, "CURRENTTIME2", CurrentTime2)
get_time("%X", CurrentTime, 31)
Len += format(Message[Len], 511 - Len, "^n%L: %s", LANG_PLAYER, "CURRENTTIME", CurrentTime)
if(get_cvar_float("mp_timelimit"))
{
new a = get_timeleft()
Len += format(Message[Len], 511 - Len, "^n%L: %d:%02d", LANG_PLAYER, "TLEFT", (a / 60), (a % 60))
} else {
Len += format(Message[Len], 511 - Len, "^n%L: %L", LANG_PLAYER, "TLEFT", LANG_PLAYER, "LASTR")
}
if(GetTsNum(0))
{
Len += format(Message[Len], 511 - Len, "^n%L: %s", LANG_PLAYER, "CTER", Terrorist)
} else {
Len += format(Message[Len], 511 - Len, "^n%L: %L", LANG_PLAYER, "CTER", LANG_PLAYER, "TNONE")
}
Len += format(Message[Len], 511 - Len, "^n%L: %d | %d", LANG_PLAYER, "ALIVECTS", acts,cts)
Len += format(Message[Len], 511 - Len, "^n%L: %d | %d", LANG_PLAYER, "APLAYERS", all, MaxPlayers)
if(acts > 3)
{
set_hudmessage(105, 105, 105, 0.01, 0.18, 0, 1.0, 1.0)
} else if(acts == 3) {
set_hudmessage(255, 0, 0, 0.01, 0.18, 0, 1.0, 1.0)
Len += format(Message[Len], 511 - Len, "^n^n1. %s^n2. %s^n3. %s", names[1], names[2], names[3])
} else if(acts == 2) {
set_hudmessage(0, 238, 0, 0.01, 0.18, 0, 1.0, 1.0)
Len += format(Message[Len], 511 - Len, "^n^n1. %s^n2. %s", names[1], names[2])
} else {
set_hudmessage(255, 69, 0, 0.01, 0.18, 0, 1.0, 1.0)
Len += format(Message[Len], 511 - Len, "^n^n1. %s", names[1])
}
ShowSyncHudMsg(id, g_MsgHud1, "%s", Message)
}
return PLUGIN_CONTINUE
}
stock get_ending(num, const a[], const b[], const c[], output[], lenght)
{
new num100 = num % 100, num10 = num % 10;
if(num100 >=5 && num100 <= 20 || num10 == 0 || num10 >= 5 && num10 <= 9) format(output, lenght, "%s", a);
else if(num10 == 1) format(output, lenght, "%s", b);
else if(num10 >= 2 && num10 <= 4) format(output, lenght, "%s", c);
}

/**==============================================================================
==
Меню последнего КТ
================================================================================
=*/
public LastMenu(id)
{
new Len, MenuBody[512]
new Keys = MENU_KEY_0
Len = format(MenuBody, 1023, "\dТы \rПоследний \yКонтер^n\dЖелаешь дуэль с \rТеррористом?^n^n")
Keys |= (1 << 0)
Len += format(MenuBody[Len], 1023, "\r1. \wДа^n")
Keys |= (1 << 1)
Len += format(MenuBody[Len], 1023, "\r2. \wНет^n")

show_menu(id, Keys, MenuBody, -1, "Last Menu")
return PLUGIN_CONTINUE
}

/**==============================================================================
==
Действие меню последнего КТ
================================================================================
=*/
public ActionLastMenu(id, key)
{
switch(key)
{
case 0:
{
client_cmd(id, "deathrun_duels")
}
}
return PLUGIN_CONTINUE
}
/*===============================================================================
=
Bullet damage
================================================================================
=*/
public FwdDamagePlayer(v, ent, a, Float:damage, bits)
{
new mode[32];
get_cvar_string("deathrun_mode", mode, 31);
if(equal(mode, "DUEL"))
return HAM_IGNORED
if(vampire)
{
if(!is_user_connected_v_a(v,a) || get_user_team(a) == get_user_team(v))
return HAM_IGNORED; /*Игнорируем последующие действия.*/
new rnd = random_num(20,30); /*Создаём переменную и записываем в неё рандомное число.*/
set_dhudmessage( 255, 0, 0, -1.0, 0.55, 2, 1.1, 3.1, 0.01, 1.5 ); /*Настройки дхуд сообщения.*/
show_dhudmessage(a, "+%d HP", rnd); /*Пишем в центр вампиру сколько ему прибавило*/
fm_set_user_health(a, pev(a, pev_health) + rnd); /*Прибавляем к здоровью число.*/
}
return HAM_IGNORED;
}

public FwdKilledPlayer(v,a)
{
new mode[32];
get_cvar_string("deathrun_mode", mode, 31);
if(equal(mode, "DUEL"))
return HAM_IGNORED

if(!is_user_connected_v_a(v,a) || v == a ) /*Проверяем если нету на сервере атакующего или жертвы или жертва и есть атакующий или не идёт режим.*/
return HAM_IGNORED; /*Игнорируем последующие действия.*/
if(get_user_team(a) == 2)
{
if(vampire)
{
new szNameAttacker[32]; /*Переменная имя игрока*/
get_user_name(a, szNameAttacker, charsmax(szNameAttacker)); /*получаем имя атакующего.*/
set_dhudmessage( 149, 68, 0, -1.0, -0.35, 2, 1.1, 3.1, 0.01, 1.5 ); /*Настройки дхуд сообщения.*/
show_dhudmessage(0, "%s Получил 2 жизни за убийство Вампира", szNameAttacker); /*Выводим дхуд сообщение.*/
set_life(a, 2); /*Даём атакующиму 2 жизни.*/
}
if(infur)
{
new szNameAttacker[32]; /*Переменная имя игрока*/
get_user_name(a, szNameAttacker, charsmax(szNameAttacker)); /*получаем имя атакующего.*/
set_dhudmessage( 149, 68, 0, -1.0, -0.35, 2, 1.1, 3.1, 0.01, 1.5 ); /*Настройки дхуд сообщения.*/
show_dhudmessage(0, "%s Получил 3 жизни за убийство Фурии", szNameAttacker); /*Выводим дхуд сообщение.*/
set_life(a, 3); /*Даём атакующиму 3 жизни.*/
}
if(invis)
{
new szNameAttacker[32]; /*Переменная имя игрока*/
get_user_name(a, szNameAttacker, charsmax(szNameAttacker)); /*получаем имя атакующего.*/
set_dhudmessage( 149, 68, 0, -1.0, -0.35, 2, 1.1, 3.1, 0.01, 1.5 ); /*Настройки дхуд сообщения.*/
show_dhudmessage(0, "%s Получил 2 жизни за убийство Неведимки", szNameAttacker); /*Выводим дхуд сообщение.*/
set_life(a, 2); /*Даём атакующиму 2 жизни.*/
}
}
return HAM_IGNORED; /*Игнорируем последующие действия.*/
}

public dropcmd(id) {
if(has_minigun[id] && haswhpnnmg[id] && is_user_alive(id) && rambo && invis)
{
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}

public ham_player_kill(victim)
{
new mode[32];
get_cvar_string("deathrun_mode", mode, 31);
if(!equal(mode, "DUEL"))
{
new name[32]
get_user_name(victim, name, 31)

get_players(szPlayers, szNum)

for(new i; i < szNum; i++)
{
Player = szPlayers[i]

if(rejim_activated)
{
if(cs_get_user_team(victim) == CS_TEAM_CT)
{
if(cs_get_user_team(Player) == CS_TEAM_T && is_user_alive(Player))
{
cs_set_user_money_ul(Player, cs_get_user_money_ul(Player) + 1000)
}
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.15, 0.35, 0, 0.0, 0.0, 0.1, 1.0)
show_dhudmessage(Player, "Террорист %s получил 1000$", name)
}
}
}
}
return PLUGIN_HANDLED
}

public vampire_hud(id)
{
new mode[32];
get_cvar_string("deathrun_mode", mode, 31);
if(vampire && !equal(mode, "DUEL"))
{
new szPlayers[32], iNumPlayers, iNumTerr, szNameTerr[33][33], message[512], iLen; /*Всякие переменные.*/
get_players(szPlayers, iNumPlayers); /*Получение игроков.*/
for(new i; i < iNumPlayers; i++)
if(is_user_alive(szPlayers[i]) && get_user_team(szPlayers[i]) == 1) /*Проверям если игрок живой терр вампир.*/
{
iNumTerr++; /*Прибавляем к переменной 1.*/
get_user_name(szPlayers[i], szNameTerr[iNumTerr], 31); /*Получаем ник игрока.*/
}
if(iNumTerr) /*Проверяем есть ли живые вампиры.*/
iLen = format(message[iLen], charsmax(message)-iLen, "Вампир%s:^n", iNumTerr > 1 ? "ы":""); /*Заголовок*/
else
iLen = format(message[iLen], charsmax(message)-iLen, "Вампиры: Отсутствуют"); /*Заголовок*/

for(new q = 1; q <= iNumTerr; q++) /*Цикл по террористам.*/
iLen += format(message[iLen], charsmax(message)-iLen, "%s: %d HP%s", szNameTerr[q], pev(get_user_index(szNameTerr[q]), pev_health), iNumTerr-q ? "^n" : ""); /*Выводим ник и здоровье вампира*/

set_dhudmessage( iNumTerr > 1? 255 : 0, 255, 0, -1.0, -0.10, 0, 0.1, 0.1, 0.1, 1.5 ); /*Настройки дхуд сообщенияю*/
show_dhudmessage(0, message); /*Выводим сообщение.*/
}
return PLUGIN_HANDLED
}

public TimerExplode(id)
{
if(GetTsNum(0))
{
new mode[32];
get_cvar_string("deathrun_mode", mode, 31);
if(!equal(mode, "DUEL"))
{
seconds--
set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.01, 2, 0.02, 1.0, 0.00, 0.0 );
show_dhudmessage(0, "До выбора режима Осталось %d !", seconds)

if(seconds < 1)
{
szTimeBlocked = true
GameMenu(id)
set_random(id)
remove_task(100499)
}
}
}
}

stock sm_narkotik_player(id)
{
new mode[32];
get_cvar_string("deathrun_mode", mode, 31);
if(!equal(mode, "DUEL"))
{
if(is_user_alive(id))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SetFOV"), _, id)
write_byte( 200 )
message_end()
}
}
return PLUGIN_HANDLED
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/


Отредактировал: iShot, - 18.5.2016, 21:11
Причина: Выдано предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя samthugg
сообщение 18.5.2016, 21:20
Сообщение #2


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

Стаж: 15 лет

Сообщений: 1333
Благодарностей: 1476
Полезность: 1344

А где, собственно, ошибка? В указанных строках отступы сбились, всего то.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя darxish
сообщение 19.5.2016, 14:53
Сообщение #3


Стаж: 12 лет

Сообщений: 22
Благодарностей: 2
Полезность: 5

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