
Стаж: 12 лет
Сообщений: 621
Благодарностей: 78
Полезность: 12
|
Цитата(Bloo @ 14.12.2014, 15:23)  qpi3ik, нет, должно получится так Код #include "amxmodx.inc" #include "fakemeta.inc" #include "hamsandwich.inc" #pragma ctrlchar '\' #define MAX_CLIENTS 32 // чем выше сила, тем дальше летит снежок, а также // чем выше сила, тем сильнее урон #define MAX_POWER 24 //макс. сила снежка (при зажатии ПКМ сила увеличивается не больше чем MAX_POWER) #define MIN_POWER 12 //мин. сила снежка #define MULTIPLY_POWER 3.0 //множитель силы #define FREQUENCY_POWER 0.041 //частота прибавлении силы (как быстро прибавляется сила при зажатии ПКМ) #define CSW_SNOW 2 #define ACT_RANGE_ATTACK1 28 #define WEAPON_NAME_PRIMARY "weapon_knife" #define WEAPON_NAME_SECONDARY "weapon_snow" #define KNIFE_P_MODEL "models/p_knife.mdl" #define KNIFE_V_MODEL "models/v_knife.mdl" #define SNOW_P_MODEL "models/p_snow.mdl" #define SNOW_V_MODEL "models/v_snow.mdl" #define SNOW_W_MODEL "models/w_snow.mdl" //#define SNOW_MODE_ONLY // режим только снежки #define SNOW_KNIFE // сделать снежки на knife (если закомментировано, будет два режима ножа 1 - Обычный нож | 2 - Снежки) #define TEAMMATES_KILL // разрешать ранить тиммейтов #define PDATA_SAFE 2 #define m_pPlayer 41 #define m_rgpPlayerItems_CBasePlayer 367 #define m_Activity 73 #define m_IdealActivity 74 #define m_flNextAttack 83 #define m_flNextPrimaryAttack 46 #define m_flNextSecondaryAttack 47 #define m_szAnimExtention 492 #define m_flTimeWeaponIdle 48 #define m_flLastFire 63 #define m_fSequenceLoops 40 #define m_fSequenceFinished 39 #define m_flFrameRate 36 #define m_flGroundSpeed 37 #define m_flLastEventCheck 38 #define m_flLastAttackTime 220 #define m_LastHitGroup 75 #define m_fHasSurvivedLastRound 113 #define m_iNextAction 55 #define m_flStartThrow 30 #define m_flReleaseThrow 31 #define m_iTeam 114 #define m_pActiveItem 373 #define m_pLastItem 375 new g_iPower[MAX_CLIENTS + 1]; #if defined SNOW_MODE_ONLY #include "fakemeta_util.inc" #endif #if !defined SNOW_KNIFE new g_iLastWeapons[MAX_CLIENTS + 1]; #endif new g_iSprBlood; new g_iSprBloodSpray; new g_msgidWeapPickup; new g_msgidWeaponList; #if !defined SNOW_KNIFE enum (+=275282312) { UID_SNOW, UID_SNOW_FLY, UID_SNOW_MODE } #endif // Anim sequence enum PLAYER_ANIM { PLAYER_IDLE, PLAYER_WALK, PLAYER_JUMP, PLAYER_SUPERJUMP, PLAYER_DIE, PLAYER_ATTACK1 }; enum WEAPON_ANIM { AS_IDLE, AS_PULLPIN, AS_THROW, AS_DRAW }; public plugin_precache() { engfunc(EngFunc_PrecacheModel,SNOW_P_MODEL); engfunc(EngFunc_PrecacheModel,SNOW_V_MODEL); engfunc(EngFunc_PrecacheModel,SNOW_W_MODEL); engfunc(EngFunc_PrecacheGeneric,"sprites/weapon_snow.txt"); engfunc(EngFunc_PrecacheModel,"sprites/snowball.spr"); g_iSprBlood = engfunc(EngFunc_PrecacheModel,"sprites/blood.spr"); g_iSprBloodSpray = engfunc(EngFunc_PrecacheModel,"sprites/bloodspray.spr"); } public plugin_init() { register_plugin("Knife Mode Snowball","0.2 alpha","s1lent"); #if !defined SNOW_KNIFE register_clcmd("lastinv","Cmd_Lastinv"); register_clcmd(WEAPON_NAME_PRIMARY,"Cmd_WeaponSelect"); #endif register_clcmd(WEAPON_NAME_SECONDARY,"Cmd_WeaponSelectEx"); #if defined SNOW_MODE_ONLY RegisterHam(Ham_Spawn,"player","CBasePlayer__Spawn_Pre"); RegisterHam(Ham_Spawn,"player","CBasePlayer__Spawn_Post",1); #endif RegisterHam(Ham_Touch,"info_target","CBaseEntity__Touch",1); RegisterHam(Ham_Item_PostFrame,WEAPON_NAME_PRIMARY,"CBasePlayerItem__PostFrame"); RegisterHam(Ham_Item_Deploy,WEAPON_NAME_PRIMARY,"CBasePlayerItem__Deploy",1); RegisterHam(Ham_Item_AddToPlayer,WEAPON_NAME_PRIMARY,"CBasePlayerItem__AddToPlayer",1); g_msgidWeaponList = get_user_msgid("WeaponList"); g_msgidWeapPickup = get_user_msgid("WeapPickup"); } #if defined SNOW_MODE_ONLY public CBasePlayer__Spawn_Pre(id) { if(pev_valid(id) != PDATA_SAFE) { return HAM_IGNORED; } set_pdata_int(id,m_fHasSurvivedLastRound,1); return HAM_IGNORED; } public CBasePlayer__Spawn_Post(id) { if(!is_user_alive(id)) { return HAM_IGNORED; } fm_give_item(id,"weapon_knife"); return HAM_IGNORED; } #endif #if !defined SNOW_KNIFE public client_command(id) { new szCmd[32]; read_argv(0,szCmd,charsmax(szCmd)); if(!equal(szCmd,"weapon_",7) || !strcmp(szCmd,WEAPON_NAME_PRIMARY) || !strcmp(szCmd,WEAPON_NAME_SECONDARY)) { return 0; } return g_iLastWeapons[id] = 0; } #endif public CBaseEntity__Touch(ent,id) { #if !defined SNOW_KNIFE if(pev(ent,pev_impulse) != UID_SNOW_FLY) { return HAM_IGNORED; } #endif if(pev_valid(id) != PDATA_SAFE || !is_user_alive(id)) { util__EffectSnow(ent); return HAM_IGNORED; } new Float:flDamage; pev(ent,pev_dmg,flDamage); new iAttacker = pev(ent,pev_owner); if(flDamage <= 0.0 || iAttacker < 1) { return HAM_IGNORED; } #if !defined TEAMMATES_KILL if(get_pdata_int(iAttacker,m_iTeam) != get_pdata_int(id,m_iTeam)) { #endif new iHitgroup; new pTracehandle; new Float:vecStart[3],Float:vecEnd[3],Float:vecVelocity[3],Float:vecForward[3],Float :flFraction; pev(ent,pev_origin,vecStart); pev(ent,pev_velocity,vecVelocity); global_get(glb_v_forward,vecForward); vecEnd[0] = vecStart[0] + vecForward[0]; vecEnd[1] = vecStart[1] + vecForward[1]; vecEnd[2] = vecStart[2] + vecForward[2]; engfunc(EngFunc_TraceLine,vecStart,vecEnd,IGNORE_MISSILE|IGNORE_MONSTERS|IGNORE_ GLASS,iAttacker,pTracehandle); get_tr2(pTracehandle,TR_flFraction,flFraction); if(flFraction != 1.0) { iHitgroup = get_tr2(pTracehandle,TR_iHitgroup); set_pdata_int(id,m_LastHitGroup,iHitgroup); } ExecuteHam(Ham_TakeDamage,id,ent,iAttacker,flDamage,DMG_DROWN); #if !defined TEAMMATES_KILL } #endif util__EffectSnow(ent); return HAM_IGNORED; } #if !defined SNOW_KNIFE public Cmd_Lastinv(id) { if(~g_iLastWeapons[id] & (CSW_KNIFE|CSW_SNOW)) { return g_iLastWeapons[id] = 0; } new pItem = util__FindKnifeSlot(id); if(!pItem || get_pdata_cbase(id,m_pActiveItem) != pItem || get_pdata_cbase(id,m_pLastItem) != pItem) { return g_iLastWeapons[id] = 0; } set_pev(pItem,pev_impulse,(pev(pItem,pev_impulse) == UID_SNOW_MODE) ? 0 : UID_SNOW_MODE); ExecuteHamB(Ham_Item_Deploy,pItem); return 1; } #endif public CBasePlayerItem__AddToPlayer(ent,id) { if(pev_valid(id) != PDATA_SAFE) { return HAM_IGNORED; } #if !defined SNOW_KNIFE set_pev(id,pev_weapons,pev(id,pev_weapons)|(1<<CSW_SNOW)); util__SendItemPickup(id,CSW_SNOW); #endif #if defined SNOW_MODE_ONLY util__SendItemPickup(id,CSW_KNIFE); #endif #if !defined SNOW_KNIFE util__SendWeaponList(id,WEAPON_NAME_PRIMARY,CSW_KNIFE); util__SendWeaponList(id,WEAPON_NAME_SECONDARY,CSW_SNOW); #else util__SendWeaponList(id,WEAPON_NAME_SECONDARY,CSW_KNIFE); #endif return HAM_IGNORED; } #if !defined SNOW_KNIFE public Cmd_WeaponSelect(id) { if(pev_valid(id) != PDATA_SAFE) { return 0; } new pItem = util__FindKnifeSlot(id); if(!pItem || pev(pItem,pev_impulse) != UID_SNOW_MODE) { return 0; } set_pev(pItem,pev_impulse,0); if(g_iLastWeapons[id] & CSW_SNOW) set_pdata_cbase(id,m_pLastItem,pItem); g_iLastWeapons[id] |= CSW_KNIFE; set_pdata_cbase(id,m_pActiveItem,pItem); ExecuteHamB(Ham_Item_Deploy,pItem); return 0; } #endif public Cmd_WeaponSelectEx(id) { if(pev_valid(id) != PDATA_SAFE) { return 0; } new pItem = util__FindKnifeSlot(id); #if !defined SNOW_KNIFE if(!pItem || (pev(pItem,pev_impulse) == UID_SNOW_MODE && get_pdata_cbase(id,m_pActiveItem) == pItem)) { return 0; } set_pev(pItem,pev_impulse,UID_SNOW_MODE); if(g_iLastWeapons[id] & CSW_KNIFE) set_pdata_cbase(id,m_pLastItem,pItem); g_iLastWeapons[id] |= CSW_SNOW; #else if(!pItem || get_pdata_cbase(id,m_pActiveItem) == pItem) { return 0; } #endif set_pdata_cbase(id,m_pActiveItem,pItem); ExecuteHamB(Ham_Item_Deploy,pItem); return 0; } public CBasePlayerItem__PostFrame(ent) { #if !defined SNOW_KNIFE if(pev(ent,pev_impulse) != UID_SNOW_MODE) { return HAM_IGNORED; } #endif static Float:flWaitPower[MAX_CLIENTS + 1],Float:flCurrentTime,iButton,id; id = get_pdata_cbase(ent,m_pPlayer,4); if(pev_valid(id) != PDATA_SAFE) { return HAM_IGNORED; } iButton = pev(id,pev_button); flCurrentTime = get_gametime(); if(((iButton & IN_ATTACK && get_pdata_float(ent,m_flNextPrimaryAttack,4) <= flCurrentTime) || (iButton & IN_ATTACK2 && get_pdata_float(ent,m_flNextSecondaryAttack,4) <= flCurrentTime)) && !get_pdata_float(ent,m_flStartThrow,4)) { g_iPower[id] = 0; util__SendAnim(id,AS_PULLPIN); set_pdata_float(ent,m_flReleaseThrow,0.0,4); set_pdata_float(ent,m_flStartThrow,get_gametime(),4); set_pdata_float(ent,m_flTimeWeaponIdle,get_gametime() + 0.5,4); } else if(~iButton & IN_ATTACK2) { if(!get_pdata_float(ent,m_flReleaseThrow,4) && get_pdata_float(ent,m_flStartThrow,4)) set_pdata_float(ent,m_flReleaseThrow,get_gametime(),4); if(get_pdata_float(ent,m_flTimeWeaponIdle,4) > get_gametime()) return HAM_SUPERCEDE; if(get_pdata_float(ent,m_flStartThrow,4)) { new Float:flVel; new Float:vecStart[3]; new Float:vecThrow[3]; new Float:vecVAngle[3]; new Float:vecUp[3]; new Float:vecForward[3]; new Float:vecViewOfs[3]; new Float:vecAngThrow[3]; new Float:vecVelocity[3]; new Float:vecPunchangle[3]; pev(id,pev_origin,vecStart); pev(id,pev_v_angle,vecVAngle); pev(id,pev_view_ofs,vecViewOfs); pev(id,pev_velocity,vecVelocity); pev(id,pev_punchangle,vecPunchangle); vecAngThrow[0] = vecVAngle[0] + vecPunchangle[0]; vecAngThrow[1] = vecVAngle[1] + vecPunchangle[1]; vecAngThrow[2] = vecVAngle[2] + vecPunchangle[2]; g_iPower[id] = clamp(g_iPower[id],MIN_POWER,MAX_POWER); if(vecAngThrow[0] < 0.0) vecAngThrow[0] = -10.0 + vecAngThrow[0] * ((90.0 - 10.0) / 90.0); else vecAngThrow[0] = -10.0 + vecAngThrow[0] * ((90.0 + 10.0) / 90.0); flVel = (90.0 - vecAngThrow[0]) * (g_iPower[id] / 2); if(flVel > 750.0 && g_iPower[id] <= MIN_POWER) flVel = 750.0; engfunc(EngFunc_MakeVectors,vecAngThrow); global_get(glb_v_up,vecUp); global_get(glb_v_forward,vecForward); vecStart[0] = vecStart[0] + vecViewOfs[0] + vecForward[0] * 16.0 + vecUp[0] * (g_iPower[id] > MIN_POWER ? 5.0 : 1.0); vecStart[1] = vecStart[1] + vecViewOfs[1] + vecForward[1] * 16.0 + vecUp[1] * (g_iPower[id] > MIN_POWER ? 5.0 : 1.0); vecStart[2] = vecStart[2] + vecViewOfs[2] + vecForward[2] * 16.0 + vecUp[2] * (g_iPower[id] > MIN_POWER ? 5.0 : 1.0); vecThrow[0] = vecForward[0] * flVel - vecUp[0] * random_float(45.0,90.0) + vecVelocity[0]; vecThrow[1] = vecForward[1] * flVel - vecUp[1] * random_float(45.0,90.0) + vecVelocity[1]; vecThrow[2] = vecForward[2] * flVel - vecUp[2] * random_float(45.0,90.0) + vecVelocity[2]; util__SendAnim(id,AS_THROW); util__SendAnimationShoot(id); util__ShootContact(id,vecStart,vecThrow); set_pdata_float(ent,m_flStartThrow,0.0,4); set_pdata_float(ent,m_flNextPrimaryAttack,get_gametime() + 2.0,4); set_pdata_float(ent,m_flNextSecondaryAttack,get_gametime() + 2.0,4); set_pdata_float(ent,m_flTimeWeaponIdle,get_gametime() + 0.75,4); return HAM_SUPERCEDE; } else if(get_pdata_float(ent,m_flReleaseThrow,4) > 0.0) { util__SendAnim(id,AS_DRAW); set_pdata_float(ent,m_flReleaseThrow,-1.0,4); set_pdata_float(ent,m_flTimeWeaponIdle,get_gametime() + random_float(10.0,15.0),4); return HAM_SUPERCEDE; } util__SendAnim(id,AS_IDLE); set_pdata_float(ent,m_flTimeWeaponIdle,get_gametime() + random_float(10.0,15.0),4); return HAM_SUPERCEDE; } if(flCurrentTime > flWaitPower[id]) { flWaitPower[id] = flCurrentTime + FREQUENCY_POWER; if(iButton & IN_ATTACK2 && get_pdata_float(ent,m_flStartThrow,4)) g_iPower[id]++; } return HAM_SUPERCEDE; } public CBasePlayerItem__Deploy(ent) { new Float:flCurrentTime,id; flCurrentTime = get_gametime(); id = get_pdata_cbase(ent,41,4); set_pdata_float(ent,m_flNextAttack,flCurrentTime + 0.75,4); set_pdata_float(ent,m_flTimeWeaponIdle,flCurrentTime + 1.5,4); #if !defined SNOW_KNIFE if(pev(ent,pev_impulse) == UID_SNOW_MODE) { #endif set_pev(id,pev_viewmodel2,SNOW_V_MODEL); set_pev(id,pev_weaponmodel2,SNOW_P_MODEL); set_pdata_string(id,m_szAnimExtention * 4,"grenade",-1,5 * 4); #if !defined SNOW_KNIFE } else { set_pdata_float(ent,m_flNextPrimaryAttack,-1.0,4); set_pdata_float(ent,m_flNextSecondaryAttack,-1.0,4); } #endif util__SendAnim(id,AS_DRAW); return HAM_IGNORED; } stock util__FindKnifeSlot(id) { const iSlot = 3; new pItem = get_pdata_cbase(id,m_rgpPlayerItems_CBasePlayer + iSlot); if(pev_valid(pItem) != PDATA_SAFE) { return 0; } return pItem; } stock util__SendAnim(id,WEAPON_ANIM:anim) { set_pev(id,pev_weaponanim,anim); engfunc(EngFunc_MessageBegin,MSG_ONE,SVC_WEAPONANIM,{0.0,0.0,0.0},id); write_byte(_:anim); write_byte(0); message_end(); } stock util__SendItemPickup(id,weapon) { engfunc(EngFunc_MessageBegin,MSG_ONE_UNRELIABLE,g_msgidWeapPickup,{0.0,0.0,0.0}, id); write_byte(weapon); message_end(); } stock util__SendWeaponList(id,const szWeaponName[32],weaponID) { engfunc(EngFunc_MessageBegin,MSG_ONE_UNRELIABLE,g_msgidWeaponList,{0.0,0.0,0.0}, id); write_string(szWeaponName); write_byte(-1); write_byte(-1); write_byte(-1); write_byte(-1); write_byte(2); write_byte((weaponID == CSW_SNOW) ? 20 : 1); write_byte(weaponID); write_byte(0); message_end() } stock util__snowSpawn() { new ent; static szAllocString; if(szAllocString || (szAllocString = engfunc(EngFunc_AllocString,"info_target"))) { ent = engfunc(EngFunc_CreateNamedEntity,szAllocString); } if(pev_valid(ent) != PDATA_SAFE) { return -1; } set_pev(ent,pev_classname,"snow"); set_pev(ent,pev_solid,SOLID_BBOX); #if !defined SNOW_KNIFE set_pev(ent,pev_impulse,UID_SNOW_FLY); #endif set_pev(ent,pev_movetype,MOVETYPE_TOSS); engfunc(EngFunc_SetModel,ent,SNOW_W_MODEL); engfunc(EngFunc_SetSize,ent,{0.0,0.0,0.0},{0.0,0.0,0.0}); return ent; } stock util__ShootContact(id,Float:vecStart[3],Float:vecVelocity[3]) { new Float:flRet[3]; new ent = util__snowSpawn(); if(ent == -1) { return 0; } vector_to_angle(vecVelocity,flRet); set_pev(ent,pev_owner,id); set_pev(ent,pev_gravity,0.5); set_pev(ent,pev_angles,flRet); set_pev(ent,pev_dmg,g_iPower[id] * MULTIPLY_POWER); set_pev(ent,pev_velocity,vecVelocity); set_pev(ent,pev_nextthink,get_gametime() + 0.1); set_pev(ent,pev_avelocity,random_float(-100.0,-500.0)); engfunc(EngFunc_SetOrigin,ent,vecStart); return ent; } stock util__EffectSnow(ent) { new Float:vecStart[3]; pev(ent,pev_origin,vecStart); message_begin(MSG_BROADCAST,SVC_TEMPENTITY); write_byte(TE_BLOODSPRITE); engfunc(EngFunc_WriteCoord,vecStart[0]); engfunc(EngFunc_WriteCoord,vecStart[1]); engfunc(EngFunc_WriteCoord,vecStart[2]); write_short(g_iSprBloodSpray); write_short(g_iSprBlood); write_byte(9); write_byte(15); message_end(); set_pev(ent,pev_flags,FL_KILLME); } // thanks to KORD_12.7 | SetAnimation // link: <noindex><a rel="nofollow" href="http://c-s.net.ua/url?u=http%3A%2F%2Faghl.ru%2Fforum%2Fviewtopic.php%3Ff%3D20%26amp%3Bt%3D1493%23p17852" target="_blank">http://aghl.ru/forum/viewtopic.php?f=20&t=1493#p17852</a></noindex> stock util__SendAnimationShoot(id) { new iAnimDesired,Float:flFrameRate,Float:flGroundSpeed,bool:bLoops; if((iAnimDesired = lookup_sequence(id,"ref_shoot_grenade",flFrameRate,bLoops,flGroundSpeed)) == -1) { iAnimDesired = 0; } new Float:flCurrentTime = get_gametime(); set_pev(id,pev_frame,0.0); set_pev(id,pev_framerate,1.0); set_pev(id,pev_animtime,flCurrentTime); set_pev(id,pev_sequence,iAnimDesired); set_pdata_int(id,m_fSequenceLoops,bLoops,4); set_pdata_int(id,m_fSequenceFinished,0,4); set_pdata_float(id,m_flFrameRate,flFrameRate,4); set_pdata_float(id,m_flGroundSpeed,flGroundSpeed,4); set_pdata_float(id,m_flLastEventCheck,flCurrentTime,4); set_pdata_int(id,m_Activity,ACT_RANGE_ATTACK1); set_pdata_int(id,m_IdealActivity,ACT_RANGE_ATTACK1); set_pdata_float(id,m_flLastAttackTime,flCurrentTime); } Было так как ты и написал. Так после розминки на кнопке 3 пропадает нож. Вот исходник розминки. Код:
#include <amxmodx> #include <cstrike> #include <fun> #include <fakemeta> #include <hamsandwich> #include <dhudmessage> #define PLUGIN_NAME "Auto Restart KNIFE" #define PLUGIN_VERSION "1.6" #define PLUGIN_AUTHOR "Leo_[BH] & Fintok!" const m_iMenu = 205 const m_iJoiningState = 121 const MENU_CHOOSEAPPEARANCE = 3 const JOIN_CHOOSEAPPEARANCE = 4 new Timer, SecondsCvar, szMapName[32] public plugin_init() { register_plugin(PLUGIN_NAME , PLUGIN_VERSION, PLUGIN_AUTHOR) register_dictionary("auto_rr.txt") SecondsCvar = register_cvar("auto_rr_time", "45") RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1) RegisterHam(Ham_Killed, "player", "fw_PlayerKilled_Post", 1) register_clcmd("menuselect", "clcmd_MenuSelect_JoinClass") register_clcmd("joinclass", "clcmd_MenuSelect_JoinClass") register_event("CurWeapon", "ev_CurWeapon", "be", "1=1", "2!29") get_mapname(szMapName, charsmax(szMapName)) Timer = get_pcvar_num(SecondsCvar) set_task(1.0, "start_rr_timer", .flags="a", .repeat=get_pcvar_num(SecondsCvar)) server_cmd("amx_pausecfg pause vampire.amxx") // Приостановить работу определенного плагина server_cmd("amx_pausecfg enable snezhki.amxx") // Возобновить работу определенного плагина } public start_rr_timer() { set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.08, 0, 0.0, 0.01) show_dhudmessage(0, "%L", LANG_PLAYER, "RR_TIME", Timer) if(Timer == 1) { server_cmd("sv_restartround 1") set_task(3.0, "rr_end") server_cmd("amx_pausecfg enable vampire.amxx") // Возобновить работу определенного плагина server_cmd("amx_pausecfg pause snezhki.amxx") // Приостановить работу определенного плагина } Timer -= 1 } public rr_end() { set_dhudmessage(0, 128, 0, -1.0, 0.78, 2, 6.0, 3.0, 0.1, 1.5, false) show_dhudmessage(0, "%L", LANG_PLAYER, "RR_GG") } public fw_PlayerSpawn_Post(id) { if(!Timer || !is_user_alive(id)) return if(!((containi(szMapName, "1hp") != -1) || (containi(szMapName, "35hp") != -1))) set_user_health(id, 35) cs_set_user_money(id, 0) } public fw_PlayerKilled_Post(id) { if(!Timer) return set_task(1.0, "playerRespawn", id) } public playerRespawn(id) { switch(cs_get_user_team(id)) { case CS_TEAM_T, CS_TEAM_CT: { if(!is_user_alive(id)) ExecuteHam(Ham_CS_RoundRespawn, id) } } } public clcmd_MenuSelect_JoinClass(id) { if(!Timer) return PLUGIN_CONTINUE if(get_pdata_int(id, m_iMenu) == MENU_CHOOSEAPPEARANCE && get_pdata_int(id, m_iJoiningState) == JOIN_CHOOSEAPPEARANCE) { new command[11], arg[32] read_argv(0, command, charsmax(command)) read_argv(1, arg, charsmax(arg)) engclient_cmd(id, command, arg) ExecuteHam(Ham_Player_PreThink, id) if(!is_user_alive(id)) ExecuteHamB(Ham_Spawn, id) return PLUGIN_HANDLED } return PLUGIN_CONTINUE } public ev_CurWeapon(id) { if(!Timer) return engclient_cmd(id, "weapon_knife") }
|