PS : Daca tot il descarcati dati si voi un MULTUMESC :)
V0.3
Downlaod Resursele
- 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"); /* This plugin created by alkaline aka lucy */ 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); } } }
Detalii Versiunea 0.3
- Poze | Afiseaza codul
===========================================================================================================================
- VECHI | Afiseaza codul
UPDATE:V0.2 - NEW Actualizari (Jos) Download_Resurse + PLUGIN [sursa=sursa]#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 //new w_m4_gold[66] = "models/w_golden_m4a1.mdl"; new w_ak_gold[66] = "models/w_golden_ak47.mdl" //new w_de_gold[66] = "models/w_golden_deagle.mdl"; new VMdl[][] = { "models/v_golden_m4a1.mdl", "models/v_golden_ak47.mdl", "models/v_golden_deagle.mdl" } new PMdl[][] = { "models/p_golden_m4a1.mdl", "models/p_golden_ak47.mdl", "models/p_golden_deagle.mdl" } new const PARACHUTE[] = "models/parachute.mdl" 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 bool: gAkg[33],gM4a1g[33],gDglg[33]; new gSHealth,gSArmor, g_bonus_kill, g_bonus_kill_hs, g_bonus_kill_knife; public plugin_init( ) { register_plugin( "Classic VIP", "v0.1", "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_forward(FM_SetModel, "fw_SetModel_m4a1"); register_forward(FM_SetModel, "fw_SetModel_ak47"); // register_forward(FM_SetModel, "fw_SetModel_deagle"); 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("spawn_menu", "1"); // apare menu la respawn pentru vipi ? 1 -da 0 nu pcvarSpawnWeap = register_cvar("spawn_weap", "1"); // ramane arma la fiecare spawn ? 1-Da . 0-OFF register_cvar("cv_maxjumps", "1" ); // Nr de sarituri 0 - Oprit cvar_goldbullets = register_cvar("cv_gold_bullets", "0") // Gloantele golden 1- ON | 0- OFF 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 ); } public client_putinserver(id) { gAkg[id] = false; gM4a1g[id] = false; gDglg[id] = false; jumpnum[id] = 0; dojump[id] = false; } public client_disconnect(id) { gAkg[id] = false; gM4a1g[id] = false; gDglg[id] = false; jumpnum[id] = 0; dojump[id] = false; parachute_reset( 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; } return 1; } public ArmeVip( id ) { if(get_user_flags(id)&CLASSIC_VIP){ new menu = menu_create ( "\wARME \rVIP", "ArmeVipGiver" ); menu_additem( menu, "\wM4A1 + Deagle \yGOLDEN \r X2 DMG", "1", 0); menu_additem( menu, "\wAK47 + Deagle \yGOLDEN \r X2 DMG", "2", 0); 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: { 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,"^3Ai Primit M4A1 + Deagle ^1Golden ^3!"); } case 2: { 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, "^3Ai Primit AK47 + Deagle ^1Golden ^3!"); } } 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 ] ); } 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 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; } 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_dg_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 ((bullets[id] > clip) && (wpnid==CSW_M4A1)&&(wpnid==CSW_AK47)&&(wpnid==CSW_DEAGLE) && 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 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(); } } } }
- CVARURI | Afiseaza codul
Cvaru-ri : spawn_menu "1" // apare menu la respawn pentru vipi ? 1 -da 0 nu spawn_weap "1" // ramane arma la fiecare spawn ? 1-Da . 0-OFF cv_maxjumps "1" // Nr de sarituri 0 - Oprit cv_gold_bullets "0" // Gloantele golden 1- ON | 0- OFF cv_spawn_health "50" // Hp la fiecare Spawn cv_spawn_armor "50" // AP la fiecare spawn cv_b_kill "5" // Hp Bonus pe kill cv_b_kill_hs "10" // Headshot Hp Bonus pe kill cv_b_kill_knife "15" // knife Hp Bonus pe kill cv_sv_parachute "1" // parachuta activata pe server ?
VECHI
- VECHI | Afiseaza codul
[/color] Altele: Pluginul Nu are buguri + Testat, Functioneaza perfect Cu Ocazia aceasta am facut si la Aceasta Cerere Descarcare: Aveti Toate resursele DOWNLOAD Folositi Sursa de aici Aici sursa [sursa=classic_vip.sma]/* PLUGIN CREAT DE ZeniX aka lucy REALIZAT IN TOTALITATE + CVAR 2013 V 0.1 // CVAR bullets_gold "0" // CVAR sa apara linile golden cand tragi ;) 1- ON / 0- OFF bonus_status "1" // CVAR sa fie activat Pluginul BONUS 1- ON /0 - OFF bonus_maxhealth "255" // CVAR MAXIMUM de bonus cat sa aibe un player default 255 bonus_knife "0" // CVAR BONUS kill cutit kill 0 dezactivat / default 10 bonus_knifeheadshot "20" // CVAR BONUS kill cutit kill/headshot 0 dezactivat / default 20 bonus_kill "25" // BOnus kill bonus_hs", "55") // Bonus kill HS */ #include <amxmodx> #include <fun> #include <amxmisc> #include <cstrike> #include <colorchat> #include <hamsandwich> #include <fakemeta_util> #define PLUGIN "Classic VIP" #define VERSIUNE "0.1" #define CLASSIC_VIP ADMIN_LEVEL_H static const COLORG[] = "^x04" static const COLORD[] = "^x01" static const COLORT[] = "^x03" /* new v_Ak47_Gold [ ] = "models/v_golden_ak47.mdl" new p_Ak47_Gold [ ] = "models/p_golden_ak47.mdl" new v_M4a1_Gold [ ] = "models/v_golden_m4a1_UP.mdl" new p_M4a1_Gold [ ] = "models/p_golden_m4a1_UP.mdl" new v_Golden_Deagle [ ] = "models/v_golden_deagle.mdl" new p_Golden_Deagle [ ] = "models/p_golden_deagle.mdl" */ new b_Status, b_MaxHealth, b_Kill, b_Knife, b_Headshot, b_KnifeHeadshot new bullets[ 33 ], m_spriteTexture new cvar_goldbullets new maxplayers, gmsgSayText //, g_msgSayText new ViewModels [ ] [ ] = { "models/v_golden_m4a1.mdl", "models/v_golden_ak47.mdl", "models/v_golden_deagle.mdl" } new PlayersModels [ ] [ ] = { "models/p_golden_m4a1.mdl", "models/p_golden_ak47.mdl", "models/p_golden_deagle.mdl" } public plugin_init ( ) { register_plugin ( PLUGIN, VERSIUNE, "zenix aka lucylucy" ); register_clcmd ( "say /arme", "ApperNext", CLASSIC_VIP ); register_clcmd ( "say_team /arme", "ApperNext", -1 ); register_clcmd("say /vreauvip", "ShowMotd"); register_event( "CurWeapon", "bullets_gold", "be", "1=1", "3>0"); register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" ); register_event( "DeathMsg", "EventKillBonus", "a", "1>0" ); RegisterHam ( Ham_Spawn, "player", "ApperNext", 1 ); RegisterHam ( Ham_Spawn, "player", "Player_Spawn", 1); RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" ); maxplayers = get_maxplayers() gmsgSayText = get_user_msgid("SayText") register_clcmd("say", "handle_say") //register_logevent("round_start", 2, "1=Round_Start") // CVAR-uri .. La Greu ;) ZeNiX cvar_goldbullets = register_cvar("bullets_gold", "0"); // CVAR sa apara linile gol cand tragi ;) 1- ON / 0- OFF b_Status = register_cvar("bonus_status", "1"); // CVAR sa fie activat Pluginul BONUS 1- ON /0 - OFF b_MaxHealth = register_cvar("bonus_maxhealth", "255"); // CVAR MAXIMUM de bonus cat sa aibe un player default 255 b_Knife = register_cvar("bonus_knife", "0"); // CVAR BONUS kill cutit kill 0 dezactivat / default 10 b_KnifeHeadshot = register_cvar("bonus_knifeheadshot", "20"); // CVAR BONUS kill cutit kill/headshot 0 dezactivat / default 20 b_Kill = register_cvar("bonus_kill", "25"); // BOnus kill b_Headshot = register_cvar("bonus_hs", "55"); // Bonus kill HS } public plugin_precache ( ) { /* precache_model ( v_Ak47_Gold ) precache_model ( p_Ak47_Gold ) precache_model ( v_M4a1_Gold ) precache_model ( p_M4a1_Gold ) precache_model ( v_Golden_Deagle ) precache_model ( p_Golden_Deagle ) */ new lucy; for ( lucy = 0; lucy < sizeof ( ViewModels ); lucy++ ) engfunc ( EngFunc_PrecacheModel, ViewModels [ lucy ] ); new zenix; for ( zenix = 0; zenix < sizeof ( PlayersModels ); zenix++ ) engfunc ( EngFunc_PrecacheModel, PlayersModels [ zenix ] ); m_spriteTexture = precache_model("sprites/dot.spr") } public Player_Spawn(id) { new iPlayers [ 32 ], iNum, i; get_players ( iPlayers, iNum ); for ( i = 0; i < iNum; i++ ) { if( !is_user_alive ( iPlayers [ i ] ) ) continue; if(get_user_flags(id) & CLASSIC_VIP) { fm_strip_user_weapons ( iPlayers [ i ] ); set_pdata_int ( iPlayers [ i ], 116, 0 ); give_item(id, "weapon_deagle") give_item(id, "weapon_knife") fm_give_item(id, "weapon_hegrenade") fm_give_item(id, "weapon_hegrenade") give_item(id, "weapon_flashbang") give_item(id, "weapon_flashbang") give_item(id, "weapon_smokegrenade") } } } /* if(is_user_alive(id)) { new CsTeams:team = cs_get_user_team(id) switch(team) { case 0: { strip_user_weapons(id) give_item(id, "weapon_knife") give_item(id, "weapon_hegrenade") give_item(id, "weapon_hegrenade") give_item(id, "weapon_flashbang") give_item(id, "weapon_flashbang") give_item(id, "weapon_smokegrenade") } } } */ public ApperNext ( id ) { if ( get_user_team ( id ) == 1 && get_user_flags(id) & CLASSIC_VIP ) { set_task( 0.1, "ArmeVip", id ); } if ( get_user_team ( id ) == 2 && get_user_flags(id) & CLASSIC_VIP ) { set_task( 0.1, "ArmeVip", id ); } } public ArmeVip ( id, level, cid ) { new menu = menu_create ( "\rARME \yVIP", "ArmeVipGiver" ); menu_additem ( menu, "\wM4A1 + Deagle \yGOLDEN \r X2 DMG", "1", 0); menu_additem ( menu, "\wAK47 + Deagle \yGOLDEN \r X2 DMG", "2", 0); menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL ); menu_display ( id, menu, 0 ); 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: { fm_give_item(id, "weapon_m4a1"); fm_give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_M4A1, 90); cs_set_user_bpammo(id, CSW_DEAGLE, 35) ColorChat ( id, TEAM_COLOR, "Ai Primit M4A1 + Deagle Golden !"); } case 2: { fm_give_item(id, "weapon_ak47"); fm_give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_AK47, 90); cs_set_user_bpammo(id, CSW_DEAGLE, 35); ColorChat ( id, TEAM_COLOR, "Ai Primit AK47 + Deagle Golden !"); } } return 1; } public CurrentWeapon ( id ) { new szWeapon = get_user_weapon ( id ) ; if ( szWeapon == CSW_M4A1 && get_user_flags( id ) & CLASSIC_VIP ) { set_pev ( id, pev_viewmodel2, ViewModels [ 0 ] ); set_pev ( id, pev_weaponmodel2, PlayersModels [ 0 ] ); } if ( szWeapon == CSW_AK47 && get_user_flags( id ) & CLASSIC_VIP) { set_pev ( id, pev_viewmodel2, ViewModels [ 1 ] ); set_pev ( id, pev_weaponmodel2, PlayersModels [ 1 ] ); } if ( szWeapon == CSW_DEAGLE && get_user_flags( id ) & CLASSIC_VIP) { set_pev ( id, pev_viewmodel2, ViewModels [ 2 ] ); set_pev ( id, pev_weaponmodel2, PlayersModels [ 2 ] ); } return 1; } public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) { if ( get_user_weapon ( iAttacker ) == CSW_M4A1 && get_user_flags( iAttacker ) & CLASSIC_VIP ) { SetHamParamFloat( 4, fDamage * 2.0); return HAM_HANDLED; } if ( get_user_weapon ( iAttacker ) == CSW_AK47 && get_user_flags( iAttacker ) & CLASSIC_VIP ) { SetHamParamFloat( 4, fDamage * 2.0); return HAM_HANDLED; } if ( get_user_weapon ( iAttacker ) == CSW_DEAGLE && get_user_flags( iAttacker ) & CLASSIC_VIP ) { 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 client_authorized ( id ) { set_task(30.0, "PrintChat" ,id) } public PrintChat ( id ) { //client_print(id, print_chat, "\r[VIP] \wScrie in chat \r/vreauvip \wpentru Beneficile VIP.") ColorChat ( id, GREEN, "Scrie in chat /vreauvip pentru Beneficiile VIP !"); } */ public bullets_gold(id) { if (get_pcvar_num(cvar_goldbullets) && get_user_flags( id ) & CLASSIC_VIP ) { new clip,ammo new wpnid = get_user_weapon(id,clip,ammo) new pteam[16] get_user_team(id, pteam, 15) if ((bullets[id] > clip) && (wpnid == CSW_AK47, CSW_M4A1, CSW_DEAGLE && get_user_flags( id ) & CLASSIC_VIP) ) { 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 } } /* new killer = read_data(1); new victim = read_data(2); new headshot = read_data(3); */ public EventKillBonus() { new killer new victim new headshot new weapon = get_user_weapon(killer); new num; if(killer == victim || !get_pcvar_num(b_Status) || !is_user_connected(victim) || !is_user_alive(killer) && get_user_flags( killer ) & CLASSIC_VIP) return PLUGIN_HANDLED; if(headshot && weapon == CSW_KNIFE ) { num = get_pcvar_num(b_KnifeHeadshot) GiveHealth(killer, num) HudMessage(killer, "Ai primit +%ihp", num) } else if(headshot) { num = get_pcvar_num(b_Headshot) GiveHealth(killer, num) HudMessage(killer, "Ai primit +%ihp pentru HS", num) } else if(weapon == CSW_KNIFE) { num = get_pcvar_num(b_Knife) GiveHealth(killer, num) HudMessage(killer, "Ai primit +%ihp", num) } else { num = get_pcvar_num(b_Kill) GiveHealth(killer, num) HudMessage(killer, "Ai primit +%ihp pentru Kill", num) } return PLUGIN_CONTINUE; } GiveHealth(id, count) set_user_health(id, min( (get_user_health(id) + count), get_pcvar_num(b_MaxHealth) )) stock HudMessage(const id, const input[], any:...) { static msg[191]; vformat(msg, 190, input, 3); set_hudmessage(255, 255, 0, 0.27, 0.14, 0, 5.0, 5.0, 0.0, 0.0, -1); show_hudmessage(id, "%s^n%s", msg) } /* stock client_printcolor(id, const message[], any:...) { static buffer[512], argscount argscount = numargs() if (!id) { static players[32], num, player, i, i2 get_players(players, num , "ch") for (i = 0; i < num; i++) { player = players static changed[5], changedcount changedcount = 0 for (i2 = 2; i2 < argscount; i2++) { if (getarg(i2) == LANG_PLAYER) { setarg(i2, 0, player) changed[changedcount] = i2 changedcount++ } } vformat(buffer, charsmax(buffer), message, 3) replace_all(buffer, charsmax(buffer), "/g", "^4") replace_all(buffer, charsmax(buffer), "/y", "^1") message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player) write_byte(player) write_string(buffer) message_end() for (i2 = 0; i2 < changedcount; i2++) setarg(changed[i2], 0, LANG_PLAYER) } } else { vformat(buffer, charsmax(buffer), message, 3) replace_all(buffer, charsmax(buffer), "/g", "^4") replace_all(buffer, charsmax(buffer), "/y", "^1") message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, id) write_byte(id) write_string(buffer) message_end() } } */ 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 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() } /*';';';';';';';'';';';';';';';'';';';';';';';'';';';';';';';' ;' Plugin ;' ;' ;' ;' By 23:16 AM ;' ;' 2.07.2013 FINISH.. ;' ;' ZeniX aka lucy ;' ';';';';';';';'';';';';';';';'';';';';';';';'';';';';';';';';' */
Nume: ZeniX aka lucylucy (eu)
Versiune: 0.1
Link oficial: aici
Instalare:
1. Fisierul classic_vip.sma il puneti in addons/amxmodx/scripting
2. Fisierul classic_vip.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:
Code: Select all
classic_vip.amxx
Le aveti in Sursa + ce face fiecare
Module necesare :[/b]
Intrati in addons/amxmodx/configs/modules si stergeti ";" din fata Modulelor :
Code: Select all
fun
fakemeta
cstrike
hamsandwich
Imagini:
PS: Primul meu plugin mai "complicat", Multumesc scripterilor de aici Pentru ca tot de la ei am invatat .
[/Sursa]