- | Afiseaza codul
#include <amxmodx> #include <amxmisc> #include <fun> #include <hamsandwich> #include <cstrike> #include <fakemeta> #include <xs> #include <engine> #define FLAG ADMIN_IMMUNITY new const VIP[] = "DeathRunVip" new const VIP_MODEL[] = "models/player/DeathRunVip/DeathRunVip.mdl" new const MENU_POPUP[] = "misc/DeathRunVip/vip_menu_popup.wav" new const MENU_OK[] = "misc/DeathRunVip/vip_menu_ok.wav" new const VIP_CONNECT[] = "misc/DeathRunVip/vip_connect.wav" #define TASKID_SHOWHUD 2931 #define TASKID_MODEL 3810 new player_model[33][32] new Float: g_counter new bool: g_model[33] new g_hudsync new cvar_gravity new cvar_speed new SayTxT new gCylinderSprite; public plugin_precache() { precache_model(VIP_MODEL) precache_sound(VIP_CONNECT) precache_sound(MENU_POPUP) precache_sound(MENU_OK) gCylinderSprite = precache_model( "sprites/shockwave.spr" ); } public plugin_init() { register_plugin("Deathrun V.I.P", "1.0", "DoviuX") cvar_gravity = register_cvar("dr_vip_gravity", "500") cvar_speed = register_cvar("dr_vip_speed", "500") RegisterHam(Ham_Spawn, "player", "bacon_spawn", 1) register_forward(FM_SetClientKeyValue, "fw_SetClientKeyValue") register_forward(FM_ClientUserInfoChanged, "fw_ClientUserInfoChanged") g_hudsync = CreateHudSyncObj() SayTxT = get_user_msgid("SayText"); } public client_connect(client) { if(get_user_flags(client) & FLAG) { client_cmd(client, "spk %s", VIP_CONNECT) new name[32]; get_user_name(client, name, 31); set_hudmessage( 0, 255, 0, -1.0, 0.29, 0, 6.0, 12.0 ); show_hudmessage( 0, "Vip %s is connecting to the server!.", name); } } public bacon_spawn(id) { if (!is_user_alive(id)) return static CsTeams: team ; team = cs_get_user_team(id) if (team == CS_TEAM_T && (get_user_flags(id) & FLAG)) { set_task(2.0, "T_menu", id) new iOrigin[ 3 ]; get_user_origin( id, iOrigin ); Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 ); Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 ); Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 ); copy(player_model[id], 31, VIP) new currentmodel[32]; fm_get_user_model(id, currentmodel, sizeof currentmodel - 1); if(!equal(currentmodel, player_model[id])) { Task_Model(id + TASKID_MODEL) g_counter += 0.1; } if(!task_exists(TASKID_SHOWHUD + id)) set_task(0.2, "Task_ShowHUD", TASKID_SHOWHUD + id) set_user_rendering(id,kRenderFxGlowShell,255,0,0,kRenderNormal,25) } else if (team == CS_TEAM_CT && (get_user_flags(id) & FLAG)) { set_task(2.0, "CT_menu", id) new iOrigin[ 3 ]; get_user_origin( id, iOrigin ); Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 ); Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 ); Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 ); copy(player_model[id], 31, VIP) strip_user_weapons(id) give_item(id, "weapon_knife") new currentmodel[32]; fm_get_user_model(id, currentmodel, sizeof currentmodel - 1); if(!equal(currentmodel, player_model[id])) { Task_Model(id + TASKID_MODEL) g_counter += 0.1; } if(!task_exists(TASKID_SHOWHUD + id)) set_task(0.2, "Task_ShowHUD", TASKID_SHOWHUD + id) set_user_rendering(id,kRenderFxGlowShell,255,0,0,kRenderNormal,25) } } public T_menu(id) { if(!is_user_alive(id)) return PLUGIN_HANDLED client_cmd(id, "spk %s", MENU_POPUP) new gmenu = menu_create("\y~::*V.I.P Menu*::~" , "Vip_Handler"); menu_additem(gmenu ,"\r255 \wHealth", "1" , 0); menu_additem(gmenu ,"\r255 \wArmor", "2" , 0); menu_additem(gmenu ,"\wGravity", "3" , 0); menu_additem(gmenu ,"\wSpeed", "4" , 0); menu_additem(gmenu ,"\wDeagle with \r2 ammo", "5" , 0); menu_additem(gmenu ,"\wHegrenade", "6" , 0); menu_additem(gmenu ,"\wNightVision (\rFor dark maps\w)", "7" , 0); menu_setprop(gmenu , MPROP_EXIT , MEXIT_ALL); menu_display(id , gmenu , 0); return PLUGIN_CONTINUE } public CT_menu(id) { if(!is_user_alive(id)) return PLUGIN_HANDLED client_cmd(id, "spk %s", MENU_POPUP) new gmenu = menu_create("\y~::*V.I.P Menu*::~" , "VipCt_Handler"); menu_additem(gmenu ,"\r255 \wHealth", "1" , 0); menu_additem(gmenu ,"\r255 \wArmor", "2" , 0); menu_additem(gmenu ,"\wGravity", "3" , 0); menu_additem(gmenu ,"\wSpeed", "4" , 0); menu_additem(gmenu ,"\wHegrenade", "5" , 0); menu_additem(gmenu ,"\wNightVision (\rFor dark maps\w)", "6" , 0); menu_setprop(gmenu , MPROP_EXIT , MEXIT_ALL); menu_display(id , gmenu , 0); return PLUGIN_CONTINUE } public Vip_Handler(id, gmenu, item, player) { if (item == MENU_EXIT) { menu_destroy(gmenu) return PLUGIN_HANDLED } new data[6], iName[64] new access, callback menu_item_getinfo(gmenu, item, access, data, 5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: { client_cmd(id, "spk %s", MENU_OK) set_user_health(id, 255) client_printcolor(player, "/g[V.I.P]/y: You choosed /w255 /ghealth!") } case 2: { client_cmd(id, "spk %s", MENU_OK) set_user_armor(id, 255) client_printcolor(player, "/g[V.I.P]/y: You choosed /w255 /garmor!") } case 3: { client_cmd(id, "spk %s", MENU_OK) new Float: gravity gravity = get_pcvar_float(cvar_gravity) / 800 set_user_gravity(id, gravity) client_printcolor(player, "/g[V.I.P]/y: You choosed /ggravity!") } case 4: { new Float: speed speed = get_pcvar_float(cvar_speed) client_cmd(id, "spk %s", MENU_OK) set_user_maxspeed(id, speed) client_printcolor(player, "/g[V.I.P]/y: You choosed /gspeed!") } case 5: { give_item(id, "weapon_deagle") new weapon_id = find_ent_by_owner(-1, "weapon_deagle", id); if(weapon_id) { cs_set_weapon_ammo(weapon_id, 2); } client_cmd(id, "spk %s", MENU_OK) client_printcolor(player, "/g[V.I.P]/y: You choosed deagle with /g2 /ybullets!") } case 6: { give_item(id, "weapon_hegrenade") client_cmd(id, "spk %s", MENU_OK) client_printcolor(player, "/g[V.I.P]/y: You choosed /wexplosive /gHe /yGrenade!") } case 7: { cs_set_user_nvg(id) client_cmd(id, "spk %s", MENU_OK) client_printcolor(player, "/g[V.I.P]/y: You choosed nightvision!") } } menu_destroy(gmenu) return PLUGIN_HANDLED; } public VipCt_Handler(id, gmenu, item, player) { if (item == MENU_EXIT) { menu_destroy(gmenu) return PLUGIN_HANDLED } new data[6], iName[64] new access, callback menu_item_getinfo(gmenu, item, access, data, 5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: { client_cmd(id, "spk %s", MENU_OK) set_user_health(id, 255) client_printcolor(player, "/g[V.I.P]/y: You choosed /w255 /ghealth!") } case 2: { client_cmd(id, "spk %s", MENU_OK) set_user_armor(id, 255) client_printcolor(player, "/g[V.I.P]/y: You choosed /w255 /garmor!") } case 3: { client_cmd(id, "spk %s", MENU_OK) new Float: gravity gravity = get_pcvar_float(cvar_gravity) / 800 set_user_gravity(id, gravity) client_printcolor(player, "/g[V.I.P]/y: You choosed /ggravity!") } case 4: { new Float: speed speed = get_pcvar_float(cvar_speed) client_cmd(id, "spk %s", MENU_OK) set_user_maxspeed(id, speed) client_printcolor(player, "/g[V.I.P]/y: You choosed /gspeed!") } case 5: { give_item(id, "weapon_hegrenade") client_cmd(id, "spk %s", MENU_OK) client_printcolor(player, "/g[V.I.P]/y: You choosed /wexplosive /gHe /yGrenade!") } case 6: { cs_set_user_nvg(id) client_cmd(id, "spk %s", MENU_OK) client_printcolor(player, "/g[V.I.P]/y: You choosed nightvision!") } } menu_destroy(gmenu) return PLUGIN_HANDLED; } public Task_ShowHUD(task) { new id = task - TASKID_SHOWHUD if(!is_user_alive(id)) return PLUGIN_HANDLED static health, armour health = get_user_health(id) armour = get_user_armor(id) set_hudmessage(150, 150, 150, 0.40, 0.92, 0, 0.0, 0.3, 0.0, 0.0) ShowSyncHudMsg(id, g_hudsync , ".::*Health: %d -|V.I.P|- Armour: %d*::.", health, armour) set_task(0.1, "Task_ShowHUD", TASKID_SHOWHUD + id) return PLUGIN_CONTINUE } public client_PreThink(id) { if(is_user_alive(id)) { if(get_user_flags(id) & FLAG) { new oldbuttons = get_user_oldbutton(id); oldbuttons &= ~IN_JUMP; entity_set_int(id, EV_INT_oldbuttons, oldbuttons); } } } public Task_Model(task) { new id = task - TASKID_MODEL fm_set_user_model(id, player_model[id]) } stock Create_BeamCylinder( origin[ 3 ], addrad, sprite, startfrate, framerate, life, width, amplitude, red, green, blue, brightness, speed ) { message_begin( MSG_PVS, SVC_TEMPENTITY, origin ); write_byte( TE_BEAMCYLINDER ); write_coord( origin[ 0 ] ); write_coord( origin[ 1 ] ); write_coord( origin[ 2 ] ); write_coord( origin[ 0 ] ); write_coord( origin[ 1 ] ); write_coord( origin[ 2 ] + addrad ); write_short( sprite ); write_byte( startfrate ); write_byte( framerate ); write_byte(life ); write_byte( width ); write_byte( amplitude ); write_byte( red ); write_byte( green ); write_byte( blue ); write_byte( brightness ); write_byte( speed ); message_end(); } stock te_sprite(id, Float:origin[3], sprite, scale, brightness) { message_begin(MSG_ONE, SVC_TEMPENTITY, _, id) write_byte(TE_SPRITE) write_coord(floatround(origin[0])) write_coord(floatround(origin[1])) write_coord(floatround(origin[2])) write_short(sprite) write_byte(scale) write_byte(brightness) message_end() } stock normalize(Float:fIn[3], Float:fOut[3], Float:fMul) { new Float:fLen = xs_vec_len(fIn) xs_vec_copy(fIn, fOut) fOut[0] /= fLen, fOut[1] /= fLen, fOut[2] /= fLen fOut[0] *= fMul, fOut[1] *= fMul, fOut[2] *= fMul } public fw_SetClientKeyValue(id, infobuffer, key[], value[]) { if (g_model[id] && equal(key, "model")) return FMRES_SUPERCEDE return FMRES_IGNORED } public fw_ClientUserInfoChanged(id, infobuffer) { if (!g_model[id]) return FMRES_IGNORED new currentmodel[32]; fm_get_user_model(id, currentmodel, sizeof currentmodel - 1); if(!equal(currentmodel, player_model[id])) fm_set_user_model(id, player_model[id]) return FMRES_IGNORED } stock fm_set_user_model(player, modelname[]) { engfunc(EngFunc_SetClientKeyValue, player, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", modelname) g_model[player] = true } stock fm_get_user_model(player, model[], len) { engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", model, len) } stock fm_reset_user_model(player) { g_model[player] = false dllfunc(DLLFunc_ClientUserInfoChanged, player, engfunc(EngFunc_GetInfoKeyBuffer, player)) } stock client_printcolor(const id, const input[], any:...) { new count = 1, players[32]; static msg[191]; vformat(msg,190,input,3); replace_all(msg,190,"/g","^4");// green txt replace_all(msg,190,"/y","^1");// orange txt replace_all(msg,190,"/ctr","^3");// team txt replace_all(msg,190,"/w","^0");// team txt 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, SayTxT, _, players); write_byte(players); write_string(msg); message_end(); } }
Sa scoateti din acest plugin urmatoarele lucruri :
-Gravitatia
-Viteza
-Deagle
-Nightvision
Sa adaugati in meniul acela :
-Scut (sheild)
-MP5-Navy cu 30 de GL
VIP-ul sa aibe acces la amx_slay/slap si amx_nick
Sa aibe Slot rezervat si acces la chatul adminilor.
Mai am nevoie de Advanced Gag 2.1 [Buguri Fixate] dar sa fie colorat...
Sa arate de exemplu Admin[T]tre3fla;xgag jucatorul X
Numele jucatorului care ia gag sa-l arate in culoarea respectiva fiecarei echipe (CT albastru,T rosu,Spec Gri) si numele adminului cu verde.
mai am nevoie de un plugin care sa ii dea spawn teroristului numai cu cutitul obisnuit si sa-i blocheze comanda /knife si sa nu poata lua arme dupa jos (doar dupa nu jos,sa poata sa cumpere de la shopuri)
Daca imi puteti verifica si acest plugin.... Imi da Bad Load,este modificat de Rap^
- | Afiseaza codul
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #pragma semicolon 1 static const PLUGIN[ ] = "Bonus Menu"; static const VERSION[ ] = "1.0"; static const AUTHOR[ ] = "Rap"; new g_Menu; public plugin_init( ) { register_plugin(PLUGIN, VERSION, AUTHOR); register_event("HLTV", "eventNewRound", "a", "1=0", "2=0"); g_Menu = register_menuid("MENU"); register_menucmd(g_Menu, 1023, "MenuAction"); } public BonusMenu(id) ShowMenu(id); public eventNewRound( ) { new Players[32], iNum, player; get_players(Players, iNum, "ch"); for( new i = 0; i < iNum; i++ ) { player = Players; set_user_rendering(player, kRenderFxNone, 0, 0, 0, kRenderNormal, 0); set_user_gravity(player, 1.0); set_user_maxspeed(player, 250.0); if( cs_get_user_team(player) == CS_TEAM_T ) set_task( 3.0, "BonusMenu", player ); } } public ShowMenu(id) { new menuBody[512]; add(menuBody, 511, "\rMeniu Bonus Tero^n^n"); add(menuBody, 511, "\y1. \wMulta viata^n"); add(menuBody, 511, "\y2. \wArma, sa-i ciuruiesc^n"); add(menuBody, 511, "\y3. \wSa nu ma vada dusmanii^n"); add(menuBody, 511, "\y4. \wSa sar tot mai sus^n"); add(menuBody, 511, "\y5. \wSa fug ca Dracu' de Tamaie^n"); add(menuBody, 511, "\y6. \wAlba ca Zapada^n"); add(menuBody, 511, "\y7. \wGrenazi sa le dau smecta^n^n"); add(menuBody, 511, "\y0. \wIesire"); new KEYS = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<9 ); show_menu(id, KEYS, menuBody, -1, "MENU"); return PLUGIN_HANDLED; } public MenuAction(id, key) { switch(key) { case 0: { set_user_health(id, 8000); } case 1: { give_item(id, "weapon_mp5navy"); cs_set_user_bpammo(id, CSW_MAC10, 60); } case 2: { set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0); } case 3: { set_user_gravity(id, 0.75); } case 4: { set_user_maxspeed(id, 400.0); } case 5: { give_item(id, "weapon_flashbang"); cs_set_user_bpammo(id, CSW_FLASHBANG, 100); } case 6: { give_item(id, "weapon_hegrenade"); cs_set_user_bpammo(id, CSW_HEGRENADE, 100); } case 9: { return PLUGIN_HANDLED; } default: return PLUGIN_HANDLED; } return PLUGIN_HANDLED; }