L 06/21/2015 - 20:03:40: Start of error session.
L 06/21/2015 - 20:03:40: Info (map "cs_estate") (file "addons/amxmodx/logs/error_20150621.log")
L 06/21/2015 - 20:03:40: Plugin called menu_display when item=MENU_EXIT
L 06/21/2015 - 20:03:40: [AMXX] Displaying debug trace (plugin "vip.amxx")
L 06/21/2015 - 20:03:40: [AMXX] Run time error 10: native error (native "menu_display")
L 06/21/2015 - 20:03:40: [AMXX] [0] classic_vip_v0.3.sma::ArmeVip (line 214)
L 06/21/2015 - 20:03:40: [AMXX] [1] classic_vip_v0.3.sma::ArmeVipGiver (line 295)
L 06/21/2015 - 20:03:42: Plugin called menu_display when item=MENU_EXIT
L 06/21/2015 - 20:03:42: [AMXX] Displaying debug trace (plugin "vip.amxx")
L 06/21/2015 - 20:03:42: [AMXX] Run time error 10: native error (native "menu_display")
L 06/21/2015 - 20:03:42: [AMXX] [0] classic_vip_v0.3.sma::ArmeVip (line 214)
L 06/21/2015 - 20:03:42: [AMXX] [1] classic_vip_v0.3.sma::ArmeVipGiver (line 301)
Sursa:
- SMA | Afiseaza codul
#include <amxmisc> #include <engine> #include <fun> #include <cstrike> #include <hamsandwich> #include <fakemeta_util> #define CLASSIC_VIP ADMIN_LEVEL_H // Flagul "t" #define WEAPON_SECRETCODE 4962 #define SCOREATTRIB_DEAD (1<<0) #define SCOREATTRIB_VIP (1<<2) //#pragma semicolon 1; new w_m4_gold[66] = "models/w_m4a1gold.mdl"; new w_ak_gold[66] = "models/w_golden_ak47.mdl" new w_de_gold[66] = "models/w_g_deagle.mdl"; new w_th_gold[66] = "models/w_thompson_gold.mdl"; new w_mp_gold[66] = "models/w_mp5g.mdl"; new VMdl[][] = { "models/v_golden_m4a1.mdl", "models/v_golden_ak47.mdl", "models/v_golden_deagle.mdl", "models/v_thompson_gold.mdl", "models/v_mp5g.mdl" } new PMdl[][] = { "models/p_golden_m4a1.mdl", "models/p_golden_ak47.mdl", "models/p_golden_deagle.mdl", "models/p_thompson_gold.mdl", "models/p_mp5g.mdl" } new const PARACHUTE[] = "models/parachute.mdl" const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE); 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); new Float:gPunchAngle[3] = { 0.0, 0.0, 0.0 }; new jumpnum[33] = 0; new bool:dojump[33] = false; new bool:has_parachute[33],para_ent[33], pDetach, pFallSpeed, pEnabled; new m_spriteTexture,cvar_goldbullets, maxplayers, gmsgSayText,pCvarSpawn,pcvarSpawnWeap,bullets[ 33 ]; new NoRec; new bool: gAkg[33],gM4a1g[33],gDglg[33],gThm[33],gmp5[33],alkaline[69]; new // CVAR : gSHealth,gSArmor,cvar_goldbullets_allWeap,g_bonus_kill, g_bonus_kill_hs, g_bonus_kill_knife, gShowVipC,gVipinScore; public plugin_init( ) { register_plugin( "Classic VIP", "v0.3", "alkaline aka lucy"); RegisterHam( Ham_Spawn, "player", "PlayerSpawn", true); RegisterHam( Ham_TakeDamage, "player", "Player_TakeDamage" ); register_event( "CurWeapon", "Weaponcr", "be", "1=1" ); register_event( "CurWeapon", "make_tracer", "be", "1=1", "3>0"); register_event( "DeathMsg", "Bonus", "a", "1>0"); register_event( "ResetHUD", "newSpawn", "be" ); register_event( "DeathMsg", "death_event", "a" ); register_message(get_user_msgid("ScoreAttrib"),"MessageScoreAttrib" ); register_forward(FM_SetModel, "fw_SetModel_m4a1"); register_forward(FM_SetModel, "fw_SetModel_ak47"); register_forward(FM_SetModel, "fw_SetModel_deagle"); register_forward(FM_SetModel, "fw_SetModel_thompson"); register_forward(FM_SetModel, "fw_SetModel_mp5"); register_clcmd( "say /arme", "ArmeVip", CLASSIC_VIP ); register_clcmd( "say_team /arme", "ArmeVip", CLASSIC_VIP ); register_clcmd( "say /vreauvip", "ShowMotd"); register_clcmd("say", "handle_say"); // Cvar pCvarSpawn = register_cvar("cv_spawn_menu", "1"); // apare menu la respawn pentru vipi ? 1 -da 0 nu pcvarSpawnWeap = register_cvar("cv_spawn_weap", "1"); // ramane arma la fiecare spawn ? 1-Da . 0-OFF gShowVipC = register_cvar("cv_show_vip_connect","1"); // Show Vip Connect/connected / disconnect gVipinScore = register_cvar("cv_show_vip_tabscore", "1"); // Show VIP in TabScore ? register_cvar("cv_maxjumps", "1" ); // Nr de sarituri 0 - Oprit cvar_goldbullets = register_cvar("cv_gold_bullets", "0") // Gloantele golden 1- ON | 0- OFF cvar_goldbullets_allWeap = register_cvar("cv_gold_bullets_all_weap", "1") // Gloantele golden la toate armele ? gSHealth = register_cvar("cv_spawn_health", "50"); // Hp la fiecare Spawn gSArmor = register_cvar("cv_spawn_armor", "50"); // AP la fiecare spawn g_bonus_kill = register_cvar("cv_b_kill", "5"); // Hp Bonus pe kill g_bonus_kill_hs = register_cvar("cv_b_kill_hs", "10"); // Headshot Hp Bonus pe kill g_bonus_kill_knife = register_cvar("cv_b_kill_knife", "15"); // knife Hp Bonus pe kill pEnabled = register_cvar( "cv_sv_parachute", "1" ); // parachuta activata pe server ? pFallSpeed = register_cvar( "cv_parachute_fallspeed", "45" ); //Fall speed pDetach = register_cvar( "cv_parachute_detach", "1" ); //Don't change // maxplayers = get_maxplayers(); gmsgSayText = get_user_msgid("SayText"); } public client_connect(id) { parachute_reset(id); user_connect(id); } public client_putinserver(id) { gAkg[id] = false; gM4a1g[id] = false; gDglg[id] = false; gThm[id] = false; gmp5[id] = false; jumpnum[id] = 0; dojump[id] = false; user_connected(id); } public client_disconnect(id) { gAkg[id] = false; gM4a1g[id] = false; gDglg[id] = false; gThm[id] = false; gmp5[id] = false; jumpnum[id] = 0; dojump[id] = false; parachute_reset( id ); user_disconnect(id); } public PlayerSpawn(id) { if(is_user_alive(id) ) if(get_user_flags(id) & CLASSIC_VIP) { //give_item(id, "weapon_deagle"); give_item(id, "weapon_knife"); give_item(id, "weapon_hegrenade") cs_set_user_bpammo(id,CSW_HEGRENADE,1); // give_item(id, "weapon_flashbang"); cs_set_user_bpammo(id,CSW_FLASHBANG,1) // give_item(id, "weapon_smokegrenade"); give_spawn_armor_health(id); switch(get_user_team(id)){ case 1,2: { switch(get_pcvar_num(pCvarSpawn)) { case 0: return 1; case 1: ArmeVip( id ); } } } } if(get_pcvar_num(pcvarSpawnWeap)==1){ gAkg[id] = true; gM4a1g[id] = true; gDglg[id] = true; gThm[id] = true; gmp5[id] = true; alkaline[id] = 0 NoRec=false; } return 1; } public ArmeVip( id ) { if(get_user_flags(id)&CLASSIC_VIP){ new menu = menu_create ( "\yGolden \rVIP \wMenu", "ArmeVipGiver" ); if(user_has_weapon(id,CSW_M4A1)) { menu_additem( menu, "\dM4A1 + Deagle GOLDEN X2 DMG\r-Allready Have", "1", 0); }else menu_additem( menu, "\wM4A1 + Deagle \yGOLDEN \r X2 DMG", "1", 0); if(user_has_weapon(id,CSW_AK47)) { menu_additem( menu, "\dAK47 + Deagle GOLDEN X2 DMG\r-Allready Have", "2", 0); }else menu_additem( menu, "\wAK47 + Deagle \yGOLDEN \r X2 DMG", "2", 0); if(user_has_weapon(id,CSW_P90)) { menu_additem( menu, "\dThompson + Deagle \yGOLDEN X2 DMG\r-Allready Have", "3", 0); }else menu_additem( menu, "\wThompson + Deagle \yGOLDEN \r X2 DMG", "3", 0); if(user_has_weapon(id,CSW_MP5NAVY)) { menu_additem( menu, "\dMP5 + Deagle GOLDEN X2 DMG\r-Allready Have^n", "4", 0); }else menu_additem( menu, "\wMP5 + Deagle \yGOLDEN \r X2 DMG^n", "4", 0); new szmenu[ 69 ]; formatex( szmenu, 68, "\wNo Recoil : %s ", ( alkaline[id] ? "\rDezactiveaza" : "\rActiveaza" ) ); menu_additem( menu, szmenu, "5" ); menu_setprop( menu, MPROP_EXIT, MEXIT_ALL ); menu_display( id, menu, 0 ); return 1; } return 1; } public ArmeVipGiver( id, menu, item ) { if( item == MENU_EXIT ) { return 1; } new data [ 6 ], szName [ 64 ]; new access, callback; menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback ); new key = str_to_num ( data ); switch(key) { case 1: { drop_weapons(id, 2); if(!user_has_weapon(id,CSW_M4A1)){ give_item(id, "weapon_m4a1"); cs_set_user_bpammo(id, CSW_M4A1, 90); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35) gM4a1g[id] = true; gDglg[id] = true; Color( id,"^4[VIP]^1Ai Primit M4A1 + Deagle ^3Golden ^4!"); } } case 2: { drop_weapons(id, 2); if(!user_has_weapon(id,CSW_AK47)){ give_item(id, "weapon_ak47"); cs_set_user_bpammo(id, CSW_AK47, 90); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); gAkg[id] = true; gDglg[id] = true; Color( id, "^4[VIP]^1Ai Primit AK47 + Deagle ^3Golden ^4!"); } } case 3: { drop_weapons(id, 2); if(!user_has_weapon(id,CSW_P90)){ give_item(id, "weapon_p90"); cs_set_user_bpammo(id, CSW_P90, 90); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); gThm[id] = true; gDglg[id] = true; Color( id, "^4[VIP]^1Ai Primit Thompson + Deagle ^3Golden ^4!"); } } case 4: { drop_weapons(id, 2); if(!user_has_weapon(id,CSW_MP5NAVY)){ give_item(id, "weapon_mp5navy"); cs_set_user_bpammo(id, CSW_MP5NAVY, 90); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); gmp5[id] = true; gDglg[id] = true; Color( id, "^4[VIP]^1Ai Primit MP5 + Deagle ^3Golden ^4!"); } } case 5: { for ( new id = 1; id <= maxplayers; id++ ) switch( alkaline[id]) { case 0: { alkaline[id] = 1 NoRec=true; ArmeVip(id); } case 1: { alkaline[id] = 0 NoRec=false; ArmeVip(id); } } } } return 1; } public Weaponcr( id ) { if(get_user_flags(id) & CLASSIC_VIP) { new weap = get_user_weapon( id ); if(gM4a1g[id]&& weap == CSW_M4A1 ) { set_pev( id, pev_viewmodel2, VMdl[ 0 ] ); set_pev( id, pev_weaponmodel2, PMdl[ 0 ] ); } if(gAkg[id]&& weap == CSW_AK47 ) { set_pev( id, pev_viewmodel2, VMdl[ 1 ] ); set_pev( id, pev_weaponmodel2, PMdl[ 1 ] ); } if(gDglg[id]&& weap == CSW_DEAGLE ) { set_pev( id, pev_viewmodel2, VMdl[ 2 ] ); set_pev( id, pev_weaponmodel2, PMdl[ 2 ] ); } if(gThm[id]&& weap == CSW_P90 ) { set_pev( id, pev_viewmodel2, VMdl[ 3 ] ); set_pev( id, pev_weaponmodel2, PMdl[ 3 ] ); } if(gmp5[id]&& weap == CSW_MP5NAVY ) { set_pev( id, pev_viewmodel2, VMdl[ 4 ] ); set_pev( id, pev_weaponmodel2, PMdl[ 4 ] ); } return 1; } return 1; } public fw_SetModel_m4a1(entity, model[]) { if(!pev_valid(entity)) return FMRES_IGNORED; static Classname[32]; pev(entity, pev_classname, Classname, sizeof(Classname)); if(!equal(Classname, "weaponbox")) return FMRES_IGNORED; static iOwner; iOwner = pev(entity, pev_owner); if(equal(model, "models/w_m4a1.mdl")) { static weapon; weapon = fm_find_ent_by_owner(-1, "weapon_m4a1", entity); if(!pev_valid(weapon)) return FMRES_IGNORED; if(gM4a1g[iOwner]) { set_pev(weapon, pev_impulse, WEAPON_SECRETCODE); engfunc(EngFunc_SetModel, entity, w_m4_gold); return FMRES_SUPERCEDE; } } return FMRES_IGNORED; } public fw_SetModel_ak47(entity, model[]) { if(!pev_valid(entity)) return FMRES_IGNORED; static Classname[32]; pev(entity, pev_classname, Classname, sizeof(Classname)); if(!equal(Classname, "weaponbox")) return FMRES_IGNORED; static iOwner; iOwner = pev(entity, pev_owner); if(equal(model, "models/w_ak47.mdl")) { static weapon; weapon = fm_find_ent_by_owner(-1, "weapon_ak47", entity); if(!pev_valid(weapon)) return FMRES_IGNORED; if(gAkg[iOwner]) { set_pev(weapon, pev_impulse, WEAPON_SECRETCODE); engfunc(EngFunc_SetModel, entity, w_ak_gold); return FMRES_SUPERCEDE; } } return FMRES_IGNORED; } public fw_SetModel_deagle(entity, model[]) { if(!pev_valid(entity)) return FMRES_IGNORED; static Classname[32]; pev(entity, pev_classname, Classname, sizeof(Classname)); if(!equal(Classname, "weaponbox")) return FMRES_IGNORED; static iOwner; iOwner = pev(entity, pev_owner); if(equal(model, "models/w_deagle.mdl")) { static weapon; weapon = fm_find_ent_by_owner(-1, "weapon_deagle", entity); if(!pev_valid(weapon)) return FMRES_IGNORED; if(gDglg[iOwner]) { set_pev(weapon, pev_impulse, WEAPON_SECRETCODE); engfunc(EngFunc_SetModel, entity, w_de_gold); return FMRES_SUPERCEDE; } } return FMRES_IGNORED; } public fw_SetModel_thompson(entity, model[]) { if(!pev_valid(entity)) return FMRES_IGNORED; static Classname[32]; pev(entity, pev_classname, Classname, sizeof(Classname)); if(!equal(Classname, "weaponbox")) return FMRES_IGNORED; static iOwner; iOwner = pev(entity, pev_owner); if(equal(model, "models/w_p90.mdl")) { static weapon; weapon = fm_find_ent_by_owner(-1, "weapon_p90", entity); if(!pev_valid(weapon)) return FMRES_IGNORED; if(gDglg[iOwner]) { set_pev(weapon, pev_impulse, WEAPON_SECRETCODE); engfunc(EngFunc_SetModel, entity, w_th_gold); return FMRES_SUPERCEDE; } } return FMRES_IGNORED; } public fw_SetModel_mp5(entity, model[]) { if(!pev_valid(entity)) return FMRES_IGNORED; static Classname[32]; pev(entity, pev_classname, Classname, sizeof(Classname)); if(!equal(Classname, "weaponbox")) return FMRES_IGNORED; static iOwner; iOwner = pev(entity, pev_owner); if(equal(model, "models/w_mp5navy.mdl")) { static weapon; weapon = fm_find_ent_by_owner(-1, "weapon_mp5navy", entity); if(!pev_valid(weapon)) return FMRES_IGNORED; if(gDglg[iOwner]) { set_pev(weapon, pev_impulse, WEAPON_SECRETCODE); engfunc(EngFunc_SetModel, entity, w_mp_gold); return FMRES_SUPERCEDE; } } return FMRES_IGNORED; } public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) { if(get_user_flags( iAttacker ) & CLASSIC_VIP) //new weap = get_user_weapon(iAttacker); if(gM4a1g[iAttacker]&& get_user_weapon(iAttacker) == CSW_M4A1 ) { SetHamParamFloat( 4, fDamage * 2.0); return HAM_HANDLED; } if(gAkg[iAttacker]&& get_user_weapon(iAttacker) == CSW_AK47 ) { SetHamParamFloat( 4, fDamage * 2.0); return HAM_HANDLED; } if(gDglg[iAttacker]&& get_user_weapon(iAttacker) == CSW_DEAGLE ) { SetHamParamFloat( 4, fDamage * 2.0); return HAM_HANDLED; } if(gThm[iAttacker]&& get_user_weapon(iAttacker) == CSW_P90 ) { SetHamParamFloat( 4, fDamage * 2.0); return HAM_HANDLED; } if(gmp5[iAttacker]&& get_user_weapon(iAttacker) == CSW_MP5NAVY ) { SetHamParamFloat( 4, fDamage * 2.0); return HAM_HANDLED; } return HAM_IGNORED; } public ShowMotd(id) { new iCfgDir[32], iFile[192]; get_configsdir(iCfgDir, charsmax(iCfgDir)); formatex(iFile, charsmax(iFile), "%s/vip.html", iCfgDir); show_motd(id, iFile); } public handle_say(id) { new said[192] read_args(said,192) if( ( containi(said, "vips") != -1 && containi(said, "vips") != -1 ) || contain(said, "/vips") != -1 ) set_task(0.1,"print_viplist",id) return PLUGIN_CONTINUE } public print_viplist(user) { new adminnames[33][32]; new message[256]; new id, count, x, len; static const COLORG[] = "^x04"; static const COLORD[] = "^x01"; static const COLORT[] = "^x03"; for(id = 1 ; id <= maxplayers ; id++) if(is_user_connected(id)) if(get_user_flags(id) & CLASSIC_VIP) get_user_name(id, adminnames[count++], 31); len = format(message, 255, "%s VIPI ONLINE: ",COLORG); if(count > 0) { for(x = 0 ; x < count ; x++) { len += format(message[len], 255-len, "^x03%s%s ", adminnames[x], x < (count-1) ? ", ":"", COLORT); if(len > 96 ) { print_message(user, message); len = format(message, 255, "%s ",COLORG); } } print_message(user, message); } else { len += format(message[len], 255-len, "^x01Nu sunt VIPI online.", COLORD); print_message(user, message); } } print_message(id, msg[]) { message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id); write_byte(id); write_string(msg); message_end(); } public give_spawn_armor_health(id){ set_user_health(id,get_user_health(id)+get_pcvar_num(gSHealth)); cs_set_user_armor( id, get_user_armor(id)+get_pcvar_num(gSArmor),CS_ARMOR_VESTHELM); } public client_PreThink(id) { if(get_user_flags(id)&CLASSIC_VIP) { if(!is_user_alive(id)) return PLUGIN_CONTINUE; if(get_cvar_num("mjstatus") && (!access(id,CLASSIC_VIP))) return PLUGIN_CONTINUE; new nbut = get_user_button(id); new obut = get_user_oldbutton(id); if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP)) { if(jumpnum[id] < get_cvar_num("cv_maxjumps")) { dojump[id] = true; jumpnum[id]++ return PLUGIN_CONTINUE; } } if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND)) { jumpnum[id] = 0; return PLUGIN_CONTINUE; } } client_parachute(id); return PLUGIN_CONTINUE; } public client_PostThink(id) { if(get_user_flags(id)&CLASSIC_VIP) { if(!is_user_alive(id)) return PLUGIN_CONTINUE if(get_cvar_num("mjstatus") && (!access(id,CLASSIC_VIP))) return PLUGIN_CONTINUE; if(dojump[id] == true) { new Float:velocity[3]; entity_get_vector(id,EV_VEC_velocity,velocity); velocity[2] = random_float(265.0,285.0); entity_set_vector(id,EV_VEC_velocity,velocity); dojump[id] = false; return PLUGIN_CONTINUE; } } return PLUGIN_CONTINUE; } public Bonus(id) { new att = read_data(1); new hs = read_data(3); if(hs) { set_user_health(att,get_user_health(att)+get_pcvar_num(g_bonus_kill_hs)); set_hudmessage(255, 0, 0, 0.07, 0.90, 0, 6.0, 3.0); show_hudmessage(att, "+%i HP",get_pcvar_num(g_bonus_kill_hs)); }else if(!hs) { set_user_health(att,get_user_health(att)+get_pcvar_num(g_bonus_kill)); set_hudmessage(255, 0, 0, 0.07, 0.90, 0, 6.0, 3.0); show_hudmessage(att, "+%i HP",get_pcvar_num(g_bonus_kill)); } if(get_user_weapon(att)==CSW_KNIFE) { set_user_health(att,get_user_health(att)+get_pcvar_num(g_bonus_kill_knife)); set_hudmessage(255, 0, 0, 0.07, 0.90, 0, 6.0, 3.0); show_hudmessage(att, "+%i HP",get_pcvar_num(g_bonus_kill_knife)); } } public plugin_precache( ) { register_cvar("mjstatus", "0" ); new lucy; for( lucy = 0; lucy < sizeof ( VMdl); lucy++ ) engfunc( EngFunc_PrecacheModel, VMdl[ lucy ] ); new alka; for( alka = 0; alka < sizeof ( PMdl); alka++ ) engfunc( EngFunc_PrecacheModel, PMdl[ alka ] ); precache_model(w_m4_gold); precache_model(w_ak_gold); precache_model(w_de_gold); precache_model(w_th_gold); precache_model(w_mp_gold); precache_model( PARACHUTE ); m_spriteTexture = precache_model("sprites/dot.spr"); } public make_tracer(id) { if(get_user_flags(id)&CLASSIC_VIP){ if(get_pcvar_num(cvar_goldbullets)) { new clip,ammo; new wpnid = get_user_weapon(id,clip,ammo); //new pteam[16]; //get_user_team(id, pteam, 15) if(get_pcvar_num(cvar_goldbullets_allWeap) &&(wpnid)) { if ((bullets[id] > clip) && (gM4a1g[id]&&gAkg[id]&&gDglg[id]) ) { new vec1[3], vec2[3]; get_user_origin(id, vec1, 1); // origin; your camera point. get_user_origin(id, vec2, 4); // termina; where your bullet goes (4 is cs-only) //BEAMENTPOINTS message_begin( MSG_BROADCAST,SVC_TEMPENTITY); write_byte (0); //TE_BEAMENTPOINTS 0 write_coord(vec1[0]); write_coord(vec1[1]); write_coord(vec1[2]); write_coord(vec2[0]); write_coord(vec2[1]); write_coord(vec2[2]); write_short( m_spriteTexture ); write_byte(1); // framestart write_byte(5); // framerate write_byte(2); // life write_byte(10); // width write_byte(0); // noise write_byte( 255 ); // r, g, b write_byte( 215 ); // r, g, b write_byte( 0 ); // r, g, b write_byte(200); // brightness write_byte(150); // speed message_end(); } bullets[id] = clip; } } } return 1; } public death_event( ) { new id = read_data( 2 ); parachute_reset( id ); } parachute_reset( id ) { if( para_ent[ id ] > 0 ) { if ( is_valid_ent( para_ent[ id ] ) ) { remove_entity( para_ent[ id ] ); } } } public newSpawn( id ) { if(para_ent[ id ] > 0 ) { remove_entity( para_ent[ id ] ); para_ent[ id ] = 0; } has_parachute[ id ] = true; } public client_parachute( id ) { if(get_user_flags(id)&CLASSIC_VIP) { if ( !get_pcvar_num( pEnabled ) ) return; if ( !is_user_alive( id ) || !has_parachute[ id ] ) return; new Float:fallspeed = get_pcvar_float( pFallSpeed ) * -1.0; new Float:frame; new button = get_user_button( id ); new oldbutton = get_user_oldbutton( id ); new flags = get_entity_flags( id ); if ( para_ent[ id ] > 0 && ( flags & FL_ONGROUND ) ) { if (get_pcvar_num( pDetach ) ) { if ( entity_get_int( para_ent[ id ], EV_INT_sequence ) != 2 ) { entity_set_int( para_ent[ id ], EV_INT_sequence, 2 ); //ZeniX df : 2 entity_set_int( para_ent[ id ], EV_INT_gaitsequence, 1 ); entity_set_float( para_ent[ id ], EV_FL_frame, 0.0 ); entity_set_float( para_ent[ id ], EV_FL_fuser1, 0.0 ); entity_set_float( para_ent[ id ], EV_FL_animtime, 0.0 ); entity_set_float( para_ent[ id ], EV_FL_framerate, 0.0 ); return; } frame = entity_get_float( para_ent[ id ], EV_FL_fuser1 ) + 2.0; entity_set_float( para_ent[ id ], EV_FL_fuser1, frame ); entity_set_float( para_ent[ id ], EV_FL_frame, frame ); if ( frame > 254.0 ) // 254.0 default { remove_entity( para_ent[ id ] ); para_ent[ id ] = 0; } } else { remove_entity( para_ent[ id ] ); para_ent[ id ] = 0; } return; } if ( button & IN_USE ) { new Float:velocity[ 3 ]; entity_get_vector( id, EV_VEC_velocity, velocity ); if ( velocity[ 2 ] < 0.0 ) { if( para_ent[ id ] <= 0 ) { para_ent[ id ] = create_entity( "info_target" ); if( para_ent[ id ] > 0 ) { entity_set_string( para_ent[ id ],EV_SZ_classname, "parachute" ); entity_set_edict( para_ent[ id ], EV_ENT_aiment, id ); entity_set_edict( para_ent[ id ], EV_ENT_owner, id ); entity_set_int( para_ent[ id ], EV_INT_movetype, MOVETYPE_FOLLOW ); entity_set_model( para_ent[ id ], PARACHUTE ); entity_set_int( para_ent[ id ], EV_INT_sequence, 0 ); entity_set_int( para_ent[ id ], EV_INT_gaitsequence, 1 ); // secventa de pers df : 1 entity_set_float( para_ent[ id ], EV_FL_frame, 0.0 ); // df : 0.0 entity_set_float( para_ent[ id ], EV_FL_fuser1, 0.0 ); } } if ( para_ent[id ] > 0 ) { entity_set_int( id, EV_INT_sequence, 3 ); entity_set_int( id, EV_INT_gaitsequence, 1 ); entity_set_float( id, EV_FL_frame, 1.0 ); entity_set_float( id, EV_FL_framerate, 1.0 ); velocity[ 2 ] = ( velocity[ 2 ] + 40.0 < fallspeed ) ? velocity[ 2 ] + 40.0 : fallspeed; entity_set_vector( id, EV_VEC_velocity, velocity ); if ( entity_get_int( para_ent[ id ], EV_INT_sequence ) == 0 ) { frame = entity_get_float( para_ent[ id ], EV_FL_fuser1 ) + 1.0; entity_set_float( para_ent[ id ], EV_FL_fuser1, frame ); entity_set_float( para_ent[ id ], EV_FL_frame, frame ); if ( frame > 100.0 ) // df 100.0 { entity_set_float( para_ent[ id ], EV_FL_animtime, 0.0 ); entity_set_float( para_ent[ id ], EV_FL_framerate, 0.4 ); // cadru rata df : 0.4 entity_set_int( para_ent[ id ], EV_INT_sequence, 1 ); entity_set_int( para_ent[ id ], EV_INT_gaitsequence, 1 ); // secventa de pers df : 1 entity_set_float( para_ent[ id ], EV_FL_frame, 0.0 ); entity_set_float( para_ent[ id ], EV_FL_fuser1, 0.0 ); } } } } else if ( para_ent[ id ] > 0 ) { remove_entity( para_ent[ id ] ); para_ent[ id ] = 0; } } else if ( ( oldbutton & IN_USE ) && para_ent[ id ] > 0 ) { remove_entity( para_ent[ id ] ); para_ent[ id ] = 0; } } }/* stock names(id){ new name[32]; get_user_name(id,name,sizeof(name)-1); return name; }*/ public user_connect(id) { if(get_pcvar_num(gShowVipC) && get_user_flags(id) & CLASSIC_VIP) { new name[100]; get_user_name(id,name,sizeof(name)-1); Color(0,"^4V.I.P ^3%s ^1se conecteaza...",name); } } public user_connected(id) { if(get_pcvar_num(gShowVipC) && get_user_flags(id) & CLASSIC_VIP) { new name[100]; get_user_name(id,name,sizeof(name)-1); Color(0,"^4V.I.P ^3%s ^1a intrat pe server.",name); } } public user_disconnect(id) { if(get_pcvar_num(gShowVipC) && get_user_flags(id) & CLASSIC_VIP) { new name[100]; get_user_name(id,name,sizeof(name)-1); Color(0,"^4V.I.P ^3%s ^1a iesit de pe server.",name); } } public MessageScoreAttrib(iMsgID, iDest, iReceiver) { if(get_pcvar_num(gVipinScore)){ new iPlayer = get_msg_arg_int( 1 ); if( is_user_connected( iPlayer ) &&( get_user_flags( iPlayer ) & CLASSIC_VIP ) ) { set_msg_arg_int( 2, ARG_BYTE, is_user_alive( iPlayer ) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD ); } } } public server_frame() { if(NoRec) { for ( new id = 1; id <= maxplayers; id++ ) { if ( is_user_alive(id) ) set_pev(id, pev_punchangle, gPunchAngle); } } //NoRec= false; } stock Color(const id, const input[], any:...) { new count = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!x04", "^4"); replace_all(msg, 190, "!x01", "^1"); replace_all(msg, 190, "!x03", "^3"); if(id) players[0] = id; else get_players(players, count, "ch"); { for(new i = 0; i < count; i++) { if(is_user_connected(players)) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players); write_byte(players); write_string(msg); 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; if (dropwhat == 2 && ((1<<weaponid) && PRIMARY_WEAPONS_BIT_SUM && SECONDARY_WEAPONS_BIT_SUM)) { static wname[32]; get_weaponname(weaponid, wname, sizeof wname - 1); engclient_cmd(id, "drop", wname); } } }
Link de unde am luat plugin-ul:
http://www.extreamcs.com/forum/pluginur ... 05053.html