IMI POATE MODIFICA SI MIE CAREVA PLUGINU ASTA
- | Afiseaza codul
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <cstrike> #include <fun> #include <hamsandwich> #include <fakemeta> #include <engine> #include <colorchat> #pragma semicolon 1 const MAX_PLAYERS = 32; static Author[] = "eNd."; static Plugin[] = "Furien VIP"; static TAG[] = "[ViP]"; enum _: g_iCvars { cvar_furien_messages, cvar_furien_bind, cvar_furien_flags, cvar_ap_value, cvar_hp_value, cvar_lifesteal_value, cvar_damage_value, cvar_money_value, cvar_limita }; new \ g_AllCvars [ g_iCvars ] , g_iLimita [ MAX_PLAYERS + 1 ] , g_iWeapon [ MAX_PLAYERS + 1 ][4] , g_iPowerT [ MAX_PLAYERS + 1 ][3] , g_iPowerCT [ MAX_PLAYERS + 1 ][3] ; new const Ak47Models[][] = { "models/p_golden_ak47.mdl", "models/v_golden_ak47.mdl" }; new const DeagleModels[][] = { "models/p_golden_deagle.mdl", "models/v_golden_deagle.mdl" }; new const KatanaModels[][] = { "models/p_katana.mdl", "models/v_katana.mdl" }; new const KSoundList[][] = { "katana/katana_deploy1.wav", "katana/katana1.wav", "katana/katana2.wav", "katana/katana2.wav", "katana/katana_hwall.wav", "katana/katana_slash1.wav" , "katana/katana_slash1.wav", "katana/katana_stab.wav" }; new const szPickSound[] = { "items/9mmclip1.wav" }; public plugin_init() { register_plugin(Plugin, "0.2.beta", Author); register_clcmd("say", "hook_say"); register_clcmd("say_team", "hook_say"); register_forward(FM_EmitSound, "sound_emit"); register_forward(FM_AddToFullPack, "Fwd_AddToFullPack", 1); register_forward(FM_PlayerPreThink, "Fwd_PlayerPreThink"); register_event("CurWeapon", "CurWeapon", "be", "1=1"); register_event("NVGToggle", "NVGToggle", "be"); register_event("ScreenFade", "ScreenFade", "b", "7=255"); RegisterHam(Ham_TakeDamage, "player", "PlayerDamage"); RegisterHam(Ham_Spawn, "player", "Ham_PlayerSpawn", 1); } public hook_say(id) { static iArg[192]; read_args(iArg, sizeof(iArg) - 1); remove_quotes(iArg); if(szFlags(id) & get_pcvar_flags(g_AllCvars[cvar_furien_flags]) ) if( (containi(iArg, "vipmenu") != -1) || (containi(iArg, "vm") != -1) || (containi(iArg, "furienvip") != -1)) { replace( iArg , sizeof( iArg ) - 1, "/", "" ); set_task( 0.1 , "VipMenu" , id); } return 0; } new g_Kamikaze; public plugin_precache() { g_AllCvars[ cvar_furien_messages ] = register_cvar("furien_messages", "1"); g_AllCvars[ cvar_furien_bind ] = register_cvar("furien_bind", "1"); g_AllCvars[ cvar_furien_flags ] = register_cvar("furien_flags", "a"); g_AllCvars[ cvar_hp_value ] = register_cvar("furien_health", "150"); g_AllCvars[ cvar_ap_value ] = register_cvar("furien_armor", "150"); g_AllCvars[ cvar_lifesteal_value ] = register_cvar("furien_stealhp", "10"); g_AllCvars[ cvar_damage_value ] = register_cvar("furien_damage", "15"); g_AllCvars[ cvar_money_value ] = register_cvar("furien_money", "16000"); g_AllCvars[ cvar_limita ] = register_cvar("furien_limita", "1"); static i; for(i = 0; i <= charsmax(KSoundList); i++) precache_sound(KSoundList); for(i = 0; i < sizeof(KatanaModels); i++) precache_model(KatanaModels); for(i = 0; i < sizeof(Ak47Models); i++) precache_model(Ak47Models); for(i = 0; i < sizeof(DeagleModels); i++) precache_model(DeagleModels); precache_sound(szPickSound); } public client_putinserver(id) { if(get_pcvar_num(g_AllCvars[cvar_furien_messages])) set_task(1.0, "client_putinserver_vip", id); if(get_pcvar_num(g_AllCvars[cvar_furien_bind])) set_task(1.5, "client_set_binds", id); return 1; } public client_disconnect(id) { if(get_pcvar_num(g_AllCvars[cvar_furien_messages])) set_task(1.0, "client_disconnect_vip", id); return 1; } public client_set_bind(id) { if(szFlags(id) & get_pcvar_flags(g_AllCvars[cvar_furien_flags]) ) { client_cmd(id, "bind p say /furienvip"); ColorChat(id, GREEN, "%s^x03 %s^x01 ai fost bindat apasa^x03 p ^x01", TAG, szName(id)); } return 1; } public client_putinserver_vip(id) { if(szFlags(id) & get_pcvar_flags(g_AllCvars[cvar_furien_flags]) ) ColorChat(id, GREEN, "%s^x03 %s^x01 a intrat pe^x03 %s ^x01", TAG, szName(id), szHost()); return 1; } public client_disconnect_vip(id) { if(szFlags(id) & get_pcvar_flags(g_AllCvars[cvar_furien_flags]) ) ColorChat(id, GREEN, "%s^x03 %s^x01 a iesit de pe^x03 %s ^x01", TAG, szName(id), szHost()); return 1; } new const oldknife_sounds[][] = { "weapons/knife_deploy1.wav", "weapons/knife_hit1.wav", "weapons/knife_hit2.wav", "weapons/knife_hit3.wav", "weapons/knife_hit4.wav", "weapons/knife_hitwall1.wav", "weapons/knife_slash1.wav", "weapons/knife_slash2.wav", "weapons/knife_stab.wav" }; public sound_emit(const id, const channel, const sample[]) { if(is_user_connected(id) && is_user_alive(id)) if(g_iWeapon[id][3]) { for(new i = 0; i < sizeof KSoundList; i++) { if(equal(sample, oldknife_sounds)) { emit_sound(id, channel, KSoundList, 1.0, ATTN_NORM, 0, PITCH_NORM); return FMRES_SUPERCEDE; } } } return FMRES_IGNORED; } public Fwd_PlayerPreThink(id) { if(g_iPowerT[id][2]) { new button = get_user_button(id); if(button & IN_USE ) explode_me(id); } return FMRES_IGNORED; } public Ham_PlayerSpawn(const id) { if(is_user_alive(id) && is_user_connected(id)) { g_iLimita[id] = 0; g_iWeapon[id][1] = 0; g_iWeapon[id][2] = 0; g_iPowerT[id][1] = 0; g_iWeapon[id][3] = 0; g_iPowerT[id][2] = 0; g_iPowerCT[id][1] = 0; g_iPowerCT[id][2] = 0; cs_set_user_nvg(id,false); } } public Fwd_AddToFullPack(es_handle, e, ent, host, hostflags, player, pSet) { if(player && is_user_alive(host)) { if(g_iPowerCT[1][host]) { static CsTeams:team; team = cs_get_user_team(ent); static CsTeams:teamhost; teamhost = cs_get_user_team(host); static color[3]; switch (team) { case CS_TEAM_CT: { color[0] = 0; color[1] = 0; color[2] = 255; } case CS_TEAM_T: { color[0] = 255; color[1] = 0; color[2] = 0; } } if(team != teamhost) { set_es(es_handle, ES_RenderFx, 19); set_es(es_handle, ES_RenderColor, color); set_es(es_handle, ES_RenderMode, 0); set_es(es_handle, ES_RenderAmt, 25); } } } return FMRES_IGNORED; } public NVGToggle(id) g_iPowerCT[1][id] = read_data(1); public ScreenFade(id){ if(g_iPowerCT[id][2] == 1 && is_user_alive(id)) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid( "ScreenFade" ), { 0, 0, 0 }, id ); write_short(0); write_short(0); write_short(0); write_byte(0); write_byte(0); write_byte(0); write_byte(0); message_end(); } return 0; } public CurWeapon(id) { new szWeapon = get_user_weapon( id ); if(is_user_alive(id)) { if(szWeapon == CSW_KNIFE && g_iWeapon[id][3]) { set_pev(id, pev_viewmodel2,KatanaModels[1]); set_pev(id, pev_weaponmodel2,KatanaModels[0]); } if(szWeapon == CSW_AK47 && g_iWeapon[id][1]) { set_pev(id, pev_viewmodel2,Ak47Models[1]); set_pev(id, pev_weaponmodel2,Ak47Models[0]); } if(szWeapon == CSW_DEAGLE && g_iWeapon[id][2]) { set_pev(id, pev_viewmodel2, DeagleModels[1]); set_pev(id, pev_weaponmodel2,DeagleModels[0]); } } } public PlayerDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) { new szWeapon = get_user_weapon(iAttacker); if(!is_user_alive(iAttacker) || is_user_bot(iAttacker)) return HAM_IGNORED; if(iInflictor == iAttacker) { new DVal = get_pcvar_num(g_AllCvars[cvar_damage_value]); if(g_iPowerT[iAttacker][1]) { new LsVal = get_pcvar_num(g_AllCvars[cvar_lifesteal_value]); set_user_health(iAttacker, get_user_health(iAttacker) + LsVal); set_user_health(iVictim, get_user_health(iVictim) - LsVal); } if(szWeapon == CSW_KNIFE && g_iWeapon[iAttacker][3]) SetHamParamFloat( 4, fDamage + DVal); if(szWeapon == CSW_AK47 && g_iWeapon[iAttacker][1]) SetHamParamFloat( 4, fDamage + DVal); else if(szWeapon == CSW_DEAGLE && g_iWeapon[iAttacker][2]) SetHamParamFloat( 4, fDamage + DVal); } return HAM_HANDLED; } public VipMenu(id) { if(!is_user_alive(id)) { ColorChat(id, GREEN, "%s^x03 %s^x01 esti mort..", TAG, szName(id)); return 1; } if(g_iLimita[id] < get_pcvar_num(g_AllCvars[cvar_limita])) switch(cs_get_user_team(id)) { case CS_TEAM_T: { new szText[555 char]; formatex(szText, charsmax(szText), "\dFurien VIP^n \r%s", szName(id)); new szMenu = menu_create(szText, "TSMenu_Submenu"); formatex(szText, charsmax(szText), "\d+ \y[\w%d\y] \rHP",get_pcvar_num(g_AllCvars[cvar_hp_value])); menu_additem(szMenu, szText, "1", 0); formatex(szText, charsmax(szText), "\d+ \y[\w%d\y] \rAP",get_pcvar_num(g_AllCvars[cvar_ap_value])); menu_additem(szMenu, szText, "2", 0); formatex(szText, charsmax(szText), "\dNade \yPACK"); menu_additem(szMenu, szText, "3", 0); formatex(szText, charsmax(szText), "\rKATANA!"); menu_additem(szMenu, szText, "4", 0); formatex(szText, charsmax(szText), "\dLife \rSteal \y[\w%d/Hit\y]",get_pcvar_num(g_AllCvars[cvar_lifesteal_value])); menu_additem(szMenu, szText, "5", 0); formatex(szText, charsmax(szText), "\dKamikaze"); menu_additem(szMenu, szText, "6", 0); menu_setprop(szMenu, MPROP_EXIT , MEXIT_ALL); menu_display(id, szMenu, 0); } case CS_TEAM_CT: { new szTexts[555 char]; formatex(szTexts, charsmax(szTexts), "\dFurien VIP^n \r%s", szName(id)); new szMenus = menu_create(szTexts, "CTMenu_Submenu"); formatex(szTexts, charsmax(szTexts), "\d+ \y[\w%d\y] \rHP",get_pcvar_num(g_AllCvars[cvar_hp_value])); menu_additem(szMenus, szTexts, "1", 0); formatex(szTexts, charsmax(szTexts), "\d+ \y[\w%d\y] \rAP",get_pcvar_num(g_AllCvars[cvar_ap_value])); menu_additem(szMenus, szTexts, "2", 0); formatex(szTexts, charsmax(szTexts), "\dAk47+Deagle\r[\yGOLD\r]"); menu_additem(szMenus, szTexts, "3", 0); formatex(szTexts, charsmax(szTexts), "\rThermal \dNightVision"); menu_additem(szMenus, szTexts, "4", 0); formatex(szTexts, charsmax(szTexts), "\dNo Flash"); menu_additem(szMenus, szTexts, "5", 0); formatex(szTexts, charsmax(szTexts), "\d+ \y[\w%d\y] \r$",get_pcvar_num(g_AllCvars[cvar_money_value])); menu_additem(szMenus, szTexts, "6", 0); menu_setprop(szMenus, MPROP_EXIT , MEXIT_ALL); menu_display(id, szMenus, 0); } } if(g_iLimita[id] == get_pcvar_num(g_AllCvars[cvar_limita])) { ColorChat(id, GREEN, "%s^x03 %s^x01 ai atins limita maxima(%d).", TAG, szName(id), get_pcvar_num(g_AllCvars[cvar_limita])); return 1; } return 1; } public CTMenu_Submenu(id, szMenus, item) { if( item == MENU_EXIT || get_user_team(id) == 1) { menu_destroy(szMenus); return 1; } new data[6], iName[64]; new access, callback; menu_item_getinfo(szMenus, item, access, data,5, iName, 63, callback); new key = str_to_num(data); switch(key) { case 1: { new HpVal = get_pcvar_num(g_AllCvars[cvar_hp_value]); g_iLimita[id] ++; set_user_health(id, get_user_health(id) + HpVal); ColorChat(id, GREEN, "%s^x03 %s^x01 ai ales^x03 +%d HP ^x01", TAG, szName(id), HpVal); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } case 2: { new ApVal = get_pcvar_num(g_AllCvars[cvar_ap_value]); g_iLimita[id] ++; set_user_armor(id, get_user_armor(id) + ApVal); ColorChat(id, GREEN, "%s^x03 %s^x01 ai ales^x03 +%d AP ^x01", TAG, szName(id), ApVal); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } case 3: { g_iLimita[id] ++; //strip_user_weapons(id); g_iWeapon[id][1] = 1; g_iWeapon[id][2] = 1; give_item(id, "weapon_knife"); give_item(id, "weapon_ak47"); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_AK47, 120); cs_set_user_bpammo(id, CSW_DEAGLE, 70); ColorChat(id, GREEN, "%s^x03 %s^x01 ai ales^x03 golden ak47+deagle ^x01", TAG, szName(id)); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } case 4: { g_iLimita[id] ++; g_iPowerCT[id][1] = 1; cs_set_user_nvg(id,true); ColorChat(id, GREEN, "%s^x03 %s^x01 ai ales^x03 nightvision thermal ^x01", TAG, szName(id)); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } case 5: { g_iLimita[id] ++; g_iPowerCT[id][2] = 1; ColorChat(id, GREEN, "%s^x03 %s^x01 ai ales^x03 anti-flash mask ^x01", TAG, szName(id)); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } case 6: { new MoneyVal = get_pcvar_num(g_AllCvars[cvar_money_value]); g_iLimita[id] ++; cs_set_user_money(id , min((cs_get_user_money(id) + MoneyVal), 16000)); ColorChat(id, GREEN, "%s^x03 %s^x01 ai ales^x03 +%d money ^x01", TAG, szName(id), MoneyVal); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } } return 1; } public TSMenu_Submenu(id, szMenu, item) { if( item == MENU_EXIT || get_user_team(id) != 1) { menu_destroy(szMenu); return 1; } new data[6], iName[64]; new access, callback; menu_item_getinfo(szMenu, item, access, data,5, iName, 63, callback); new key = str_to_num(data); switch(key) { case 1: { new HpVal = get_pcvar_num(g_AllCvars[cvar_hp_value]); g_iLimita[id] ++; set_user_health(id, get_user_health(id) + HpVal); ColorChat(id, GREEN, "%s^x03 %s^x01 ai ales^x03 +%d HP ^x01", TAG, szName(id), HpVal); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } case 2: { new ApVal = get_pcvar_num(g_AllCvars[cvar_ap_value]); g_iLimita[id] ++; set_user_armor(id, get_user_armor(id) + ApVal); ColorChat(id, GREEN, "%s^x03 %s^x01 ai ales^x03 +%d AP ^x01", TAG, szName(id), ApVal); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } case 3: { if(pev(id, pev_weapons) & (1<<CSW_HEGRENADE) || pev(id, pev_weapons) & (1<<CSW_FLASHBANG) || pev(id, pev_weapons) & (1<<CSW_SMOKEGRENADE)) { ColorChat(id, GREEN, "%s^x03 %s^x01 scapa intai de toate ^x03 grenade^x01", TAG, szName(id)); return 1; } else { g_iLimita[id] ++; give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); ColorChat(id, GREEN, "%s^x03 %s^x01 ai ales^x03 nade pack ^x01", TAG, szName(id)); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } } case 4: { g_iLimita[id] ++; //strip_user_weapons(id); g_iWeapon[id][3] = 1; give_item(id, "weapon_knife"); ColorChat(id, GREEN, "%s^x03 %s^x01 ai ales^x03 katana ^x01", TAG, szName(id)); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } case 5: { g_iLimita[id] ++; g_iPowerT[id][1] = 1; ColorChat(id, GREEN, "%s^x03 %s^x01 ai ales^x03 life steal ^x01", TAG, szName(id)); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } case 6: { g_iLimita[id] ++; g_iPowerT[id][2] = 1; ColorChat(id, GREEN, "%s^x03 %s^x01 ai ales kamikaze apasa pe ^x03 e ^x01", TAG, szName(id)); emit_sound(id, CHAN_ITEM, szPickSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); } } return 1; } public explode_me(id) { new Float:explosion[3]; pev(id, pev_origin, explosion); user_kill(id); g_iPowerT[id][2] = 0; // create explosion message_begin(MSG_BROADCAST, SVC_TEMPENTITY); write_byte(TE_EXPLOSION); write_coord(floatround(explosion[0])); write_coord(floatround(explosion[1])); write_coord(floatround(explosion[2])); write_short(g_Kamikaze); write_byte(30); write_byte(30); write_byte(0); message_end(); emit_sound(0, CHAN_ITEM, "weapons/explode3.wav", 1.0, ATTN_NORM, 0, PITCH_NORM); fm_radius_damage(id, explosion, 1000.0, 400.0, "grenade"); } stock fm_radius_damage(id, Float:orig[3], Float:dmg , Float:rad, wpnName[]="") { new szClassname[33], Float:Health; static Ent; Ent = -1; while((Ent = engfunc(EngFunc_FindEntityInSphere, Ent, orig, rad))) { pev(Ent,pev_classname,szClassname,32); if(equali(szClassname, "player") && is_user_connected(Ent) && is_user_alive(Ent) ) { pev(Ent, pev_health, Health); Health -= dmg; new szName[32], szName1[32]; get_user_name(Ent, szName, charsmax(szName)); get_user_name(id, szName1, charsmax(szName1)); if(Health <= 0.0) createKill(Ent, id, wpnName); else set_pev(Ent, pev_health, Health); } } } stock szFlags(id) { new sz_Flags = get_user_flags(id); return sz_Flags; } stock szHost() { new sz_Host[64]; get_cvar_string("hostname", sz_Host ,charsmax(sz_Host)); return sz_Host; } stock szName(id) { new sz_Name[33]; get_user_name(id, sz_Name, charsmax(sz_Name)); return sz_Name; } stock createKill(id, attacker, weaponDescription[]) { new szFrags, szFrags2; if(id != attacker) { szFrags = get_user_frags(attacker); set_user_frags(attacker, szFrags + 1); logKill(attacker, id, weaponDescription); //Kill the victim and block the messages set_msg_block(get_user_msgid("DeathMsg"),BLOCK_ONCE); set_msg_block(get_user_msgid("ScoreInfo"),BLOCK_ONCE); user_kill(id); //user_kill removes a frag, this gives it back szFrags2 = get_user_frags(id); set_user_frags(id, szFrags2 + 1); //Replaced HUD death message message_begin(MSG_ALL, get_user_msgid("DeathMsg"),{0,0,0},0); write_byte(attacker); write_byte(id); write_byte(0); write_string(weaponDescription); message_end(); //Update killers scorboard with new info message_begin(MSG_ALL, get_user_msgid("ScoreInfo")); write_byte(attacker); write_short(szFrags); write_short(get_user_deaths(attacker)); write_short(0); write_short(get_user_team(attacker)); message_end(); //Update victims scoreboard with correct info message_begin(MSG_ALL, get_user_msgid("ScoreInfo")); write_byte(id); write_short(szFrags2); write_short(get_user_deaths(id)); write_short(0); write_short(get_user_team(id)); message_end(); new szName[32], szName1[32]; get_user_name(id, szName, charsmax(szName)); get_user_name(attacker, szName1, charsmax(szName1)); } } // stock for log kill stock logKill(id, victim, weaponDescription[] ) { new namea[32],namev[32],authida[35],authidv[35],teama[16],teamv[16]; //Info On Attacker get_user_name(id,namea,charsmax(namea)); get_user_team(id,teama,15); get_user_authid(id,authida,34); //Info On Victim get_user_name(victim,namev,charsmax(namev)); get_user_team(victim,teamv,15); get_user_authid(victim,authidv,34); //Log This Kill if(id != victim) log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^"", namea,get_user_userid(id),authida,teama,namev,get_user_userid(victim),authidv,teamv, weaponDescription ); else log_message("^"%s<%d><%s><%s>^" committed suicide with ^"%s^"", namea,get_user_userid(id),authida,teama, weaponDescription ); }
1. Sa scoateti cvarul ala cu acces vip(de tot) si sa fie doar aia cu VIP_ACCES ADMIN_LEVEL_H
2. Sa adaugati ca la comanda /vips sa apara vipi online
3 Si sa scoateti toate alea cu p_model.mdl ca nu am nevoie de ele
MERSII