KroNdd
Rank: Sef pe DarkRage Mesaje : 183 Locatia : Comarnic PH Varsta : 27 Reputatie : 1018
| Subiect: Plugin V.I.P (Clasic) + Meniu arme + Beneficii Sam Noi 26, 2016 11:54 am | |
| Descriere: Este plugin-ul de VIP de la fioriginal modificat de mine, am avut nevoie pe un server l-am modificat şi am decis să îl şi postez poate vă ajută. Am adăugat lucruri precum doar la vip arată cât dmg iau / primesc Nume: VIP Clasic Autor: Băieţii de la firoriginal Versiune: Beta Descarcare: .SMA > [Trebuie sa fiti inscris si conectat pentru a vedea acest link] - Cod:
-
#include <amxmodx> #include <cstrike> #include <amxmisc> #include <fun> #include <hamsandwich> #include <engine> #include <colorchat> #include <fakemeta>
#define VIP_LEVEL_ACCES ADMIN_LEVEL_F
#define DAMAGE_RECIEVED
#define SCOREATTRIB_NONE 0 #define SCOREATTRIB_DEAD ( 1 << 0 ) #define SCOREATTRIB_BOMB ( 1 << 1 ) #define SCOREATTRIB_VIP ( 1 << 2 )
#define REMOVE_FLAGS "r"
new const RMaps [ ] [ ] = { "35hp", "35hp_2", "31hp", "1hp", "100hp" };
new const g_szBeginning[ ] = "VIP's Online:" new g_szMessage[ 256 ];
new cvar_vip_maxap, cvar_vip_maxhp, cvar_vip_showC, cvar_vip_showH, cvar_vip_in_out, cvar_tag, cvar_start_hp, cvar_start_ap, cvar_start_money, cvar_vip_jump, cvar_hp_kill, cvar_ap_kill, jumpnum[33], bool: dojump[33], bool:use[33], SyncHudMessage;
//damange new g_MsgSync, maxplayers, mpd, mhb;
#if defined DAMAGE_RECIEVED new g_MsgSync2 #endif
public plugin_init() { register_plugin("VIP BETA", "0.1", "Fioriginal.ro + modificări eu"); RegisterHam(Ham_Spawn, "player", "Spawn", 1); // comenzi chat / consola
register_clcmd("say /vmenu", "vip_menu", -1); register_clcmd("say /vipmenu", "vip_menu", -1); register_clcmd("say /vm", "vip_menu", -1); register_clcmd("say /vip", "vip_info"); register_clcmd("say /wantvip", "vip_info"); register_clcmd("say", "handle_say"); register_clcmd("say_team", "handle_say"); register_event("ResetHUD", "resetModel", "b") register_event("DeathMsg", "eDeathMsg", "a"); register_event("HLTV", "Event_NewRound", "a", "1=0", "2=0"); register_message(get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib"); register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0") register_event("Damage","Damage","b") // cvar-uri
cvar_tag = register_cvar("amx_vip_tag", "VIP"); cvar_start_hp = register_cvar("amx_start_hp", "100"); cvar_start_ap = register_cvar("amx_start_ap", "0"); cvar_start_money = register_cvar("amx_start_money", "800"); cvar_vip_jump = register_cvar("amx_vip_jump", "1" ); cvar_hp_kill = register_cvar("amx_vip_addhp", "3"); cvar_ap_kill = register_cvar("amx_vip_addap", "10"); cvar_vip_in_out = register_cvar("amx_vip_in_out", "1"); cvar_vip_showC = register_cvar("amx_vip_show_chat", "1"); cvar_vip_showH = register_cvar("amx_vip_show_hud", "1"); cvar_vip_maxhp = register_cvar("amx_vip_maxhp", "180"); cvar_vip_maxap = register_cvar("amx_vip_maxap", "200");
set_task(120.0, "mesaj_info", _, _, _, "b"); set_task( 1.0, "TaskDisplayVips", _, _, _, "b", 0 ); SyncHudMessage = CreateHudSyncObj( ); //damange g_MsgSync = CreateHudSyncObj() #if defined DAMAGE_RECIEVED g_MsgSync2 = CreateHudSyncObj() #endif }
//damange public on_damage(id) { new attacker = get_user_attacker(id)
#if defined DAMAGE_RECIEVED // id should be connected if this message is sent, but lets check anyway if ( is_user_connected(id) && is_user_connected(attacker) ) if (get_user_flags(attacker) & ADMIN_LEVEL_H) { new damage = read_data(2)
set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1) ShowSyncHudMsg(id, g_MsgSync2, "%i^n", damage) #else if ( is_user_connected(attacker) && if (get_user_flags(attacker) & ADMIN_LEVEL_H) ) { new damage = read_data(2) #endif set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1) ShowSyncHudMsg(attacker, g_MsgSync, "%i^n", damage) } }
public Damage(id) { new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint) if(attacker<=maxplayers && is_user_alive(attacker) && attacker!=id) if (get_user_flags(attacker) & ADMIN_LEVEL_H) { new money = read_data(2) * get_pcvar_num(mpd) if(hitpoint==1) money += get_pcvar_num(mhb) cs_set_user_money(attacker,cs_get_user_money(attacker) + money) } }
public Event_NewRound() { arrayset(use, false, 33); }
public vip_menu(id) { new menu switch(cs_get_user_team(id)) { case CS_TEAM_CT: { menu = menu_create("\y[\rVIP\y] \wMeniu \yVIP", "menu_ammunition"); menu_additem(menu, "M4A1 + DEAGLE + GRENADES", "1", VIP_LEVEL_ACCES); menu_additem(menu, "AK47 + DEAGLE + GRENADES", "2", VIP_LEVEL_ACCES); } case CS_TEAM_T: { menu = menu_create("\y[\rVIP Classic\y] \wMeniu \yVIP", "menu_ammunition"); menu_additem(menu, "AK47 + DEAGLE + GRENADES", "1", VIP_LEVEL_ACCES); menu_additem(menu, "M4A1 + DEAGLE + GRENADES", "2", VIP_LEVEL_ACCES); } } menu_display(id, menu, 0) return PLUGIN_HANDLED; }
public plugin_precache() { precache_model("models/player/naruto/naruto.mdl") precache_model("models/player/naruto/narutoT.mdl") precache_model("models/player/Crysis/Crysis.mdl") precache_model("models/player/Crysis/CrysisT.mdl")
return PLUGIN_CONTINUE }
public resetModel(id, level, cid) { if (get_user_flags(id) & ADMIN_LEVEL_H) { new CsTeams:userTeam = cs_get_user_team(id) if (userTeam == CS_TEAM_T) { cs_set_user_model(id, "naruto") } else if(userTeam == CS_TEAM_CT) { cs_set_user_model(id, "Crysis") } else { cs_reset_user_model(id) } }
return PLUGIN_CONTINUE }
public menu_ammunition ( id, menu, item ) { new tag[32]; get_pcvar_string(cvar_tag, tag, charsmax(tag)); if(use[id]) { ColorChat(id, GREEN,"^3[%s] ^1Menu can be used one round time!", tag); return PLUGIN_HANDLED; } if(item == MENU_EXIT) { return PLUGIN_HANDLED; }
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);
if(cs_get_user_team(id) == CS_TEAM_CT) switch(key) { case 1: { strip_user_weapons(id) give_item(id, "weapon_knife"); give_item(id, "weapon_m4a1"); give_item(id, "weapon_deagle"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 1); cs_set_user_bpammo(id, CSW_HEGRENADE, 1); cs_set_user_bpammo(id, CSW_FLASHBANG, 2); cs_set_user_bpammo(id, CSW_M4A1, 90); cs_set_user_bpammo(id, CSW_DEAGLE, 35); ColorChat(id,GREEN,"^3[%s] ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenazi^1.",tag); } case 2: { strip_user_weapons(id) give_item(id, "weapon_knife"); give_item(id, "weapon_ak47"); give_item(id, "weapon_deagle"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 1); cs_set_user_bpammo(id, CSW_HEGRENADE, 1); cs_set_user_bpammo(id, CSW_FLASHBANG, 2); cs_set_user_bpammo(id, CSW_AK47, 90); cs_set_user_bpammo(id, CSW_DEAGLE, 35); ColorChat(id,GREEN,"^3[%s] ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenazi^1.",tag); } } if(cs_get_user_team(id) == CS_TEAM_T) switch(key) { case 1: { strip_user_weapons(id) give_item(id, "weapon_knife"); give_item(id, "weapon_ak47"); give_item(id, "weapon_deagle"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 1); cs_set_user_bpammo(id, CSW_HEGRENADE, 1); cs_set_user_bpammo(id, CSW_FLASHBANG, 2); cs_set_user_bpammo(id, CSW_AK47, 90); cs_set_user_bpammo(id, CSW_DEAGLE, 35); ColorChat(id,GREEN,"^3[%s] ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenazi^1.",tag); } } menu_destroy(menu); use[id] = true; return PLUGIN_HANDLED; }
public Spawn(id) { if(!is_user_alive(id)) return; new CsTeams:team = cs_get_user_team(id) if(get_user_flags(id) & VIP_LEVEL_ACCES) { switch(team) { case CS_TEAM_T: { set_user_health(id, get_pcvar_num(cvar_start_hp)); set_user_armor(id, get_pcvar_num(cvar_start_ap)); cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(cvar_start_money)); } case CS_TEAM_CT: { set_user_health(id, get_pcvar_num( cvar_start_hp )); set_user_armor(id, get_pcvar_num( cvar_start_ap )); cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(cvar_start_money)); } } } }
public client_putinserver(id) { set_task(2.0, "in", id); jumpnum[id] = 0; dojump[id] = false;
new MapName[32]; get_mapname(MapName, sizeof(MapName)); for (new i = 0; i < sizeof (RMaps); i ++) { if(equali (MapName, RMaps[i])) { remove_user_flags (id, read_flags(REMOVE_FLAGS)); } } }
public client_disconnect( id ) { set_task(2.0, "out", id);
jumpnum[id] = 0; dojump[id] = false; }
public client_PreThink( id ) { if(!is_user_alive(id)) return PLUGIN_CONTINUE;
new BUTON = get_user_button(id) new OLDBUTON = get_user_oldbutton(id) new JUMP_VIP = get_pcvar_num(cvar_vip_jump)
if((BUTON & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(OLDBUTON & IN_JUMP)) { if(((get_user_flags(id) & VIP_LEVEL_ACCES) && (jumpnum[id] < JUMP_VIP))) { dojump[id] = true jumpnum[id]++ } }
if((BUTON & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND)) { jumpnum[id] = 0 }
return PLUGIN_CONTINUE; }
public client_PostThink(id) { if(!is_user_alive(id)) 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; }
public eDeathMsg() { new id_Killer = read_data(1); new VIP_MAXHP = get_pcvar_num(cvar_vip_maxhp); new VIP_MAX_HP = get_user_health(id_Killer); new VIP_MAXAP = get_pcvar_num(cvar_vip_maxap); new VIP_MAX_AP = get_user_armor(id_Killer);
if(is_user_alive(id_Killer)) { if(get_user_flags(id_Killer) & VIP_LEVEL_ACCES ) { set_user_health(id_Killer, get_user_health(id_Killer) + get_pcvar_num(cvar_hp_kill)); set_user_armor(id_Killer, get_user_armor(id_Killer) + get_pcvar_num(cvar_ap_kill)); } }
if(VIP_MAX_HP >= VIP_MAXHP) { set_user_health(id_Killer, get_pcvar_num(cvar_vip_maxhp)); return PLUGIN_HANDLED; } if(VIP_MAX_AP >= VIP_MAXAP) { set_user_armor(id_Killer, get_pcvar_num(cvar_vip_maxap)); return PLUGIN_HANDLED; }
return PLUGIN_HANDLED; }
public in(id) { if(get_pcvar_num(cvar_vip_in_out)) { new tag[32], name[32];
get_pcvar_string(cvar_tag, tag, charsmax(tag)); get_user_name(id, name, charsmax(name));
if(get_user_flags(id) & VIP_LEVEL_ACCES) { ColorChat(0, GREEN, "^3[%s] ^1VIP: ^4%s ^1s-a conectat.", tag, name); } return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; }
public out(id) { if(get_pcvar_num(cvar_vip_in_out)) { new tag[32], name[32];
get_pcvar_string(cvar_tag, tag, charsmax(tag)); get_user_name(id, name, charsmax(name));
if(get_user_flags(id) & VIP_LEVEL_ACCES) { ColorChat(0, GREEN, "^3[%s] ^1VIP: ^4%s ^1s-a deconectat.", tag, name); } return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; }
public vip_info(id) { show_motd(id, "/addons/amxmodx/configs/vip_info.html"); }
public mesaj_info() { new tag[32]; get_pcvar_string(cvar_tag, tag, charsmax(tag)); ColorChat(0, GREEN, "^3[VIP] ^1Acest server foloseste VIP BETA by ^4Scooby-Doo [www.dementii.ro] !"); }
public TaskDisplayVips( ) { if(get_pcvar_num(cvar_vip_showH)) { static iPlayers[ 32 ]; static iPlayersNum; get_players( iPlayers, iPlayersNum, "ch" ); if( !iPlayersNum ) return 1; static iVipsConnected, szVipsNames[ 128 ], szName[ 32 ]; formatex( szVipsNames, sizeof ( szVipsNames ) -1, "" ); // Is this needed ? iVipsConnected = 0; static id, i; for( i = 0; i < iPlayersNum; i++ ) { id = iPlayers[ i ]; if( get_user_flags( id ) & VIP_LEVEL_ACCES ) { get_user_name( id, szName, sizeof ( szName ) -1 ); add( szVipsNames, sizeof ( szVipsNames ) -1, szName ); add( szVipsNames, sizeof ( szVipsNames ) -1, "^n" ); iVipsConnected++; } } formatex( g_szMessage, sizeof ( g_szMessage ) -1, "%s ( %i )^n%s", g_szBeginning, iVipsConnected, szVipsNames ); set_hudmessage( 25, 255, 25, 0.01, 0.25, 0, 0.0, 1.0, 0.1, 0.1, -1 ); ShowSyncHudMsg( 0, SyncHudMessage, g_szMessage ); } return PLUGIN_CONTINUE; }
public handle_say(id) { new said[192]; read_args(said,192); if(contain(said, "/vips") != -1) set_task(0.1,"print_adminlist",id); return PLUGIN_CONTINUE; }
public print_adminlist(user) { if(get_pcvar_num(cvar_vip_showC)) { new tag[32]; get_pcvar_string(cvar_tag, tag, charsmax(tag)); new adminnames[33][32]; new message[256]; new id, count, x, len;
for(id = 1 ; id <= get_maxplayers() ; id++) if(is_user_connected(id)) if(get_user_flags(id) & VIP_LEVEL_ACCES) get_user_name(id, adminnames[count++], charsmax(adminnames[ ])); len = format(message, 255, "^3[%s] ^1VIP-ii online sunt:^4 " ,tag); if(count > 0) { for(x = 0 ; x < count ; x++) { len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":""); if(len > 96) { print_message(user, message); len = format(message, 255, " "); } } print_message(user, message); } else { ColorChat(0, GREEN, "^3[%s] ^1Nu sunt ^4VIP^1-i online.", tag); } } return PLUGIN_CONTINUE; }
print_message(id, msg[]) { message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id); write_byte(id); write_string(msg); message_end(); }
public MessageScoreAttrib(iMsgID, iDest, iReceiver) { new iPlayer = get_msg_arg_int(1); if(is_user_connected( iPlayer ) && (get_user_flags( iPlayer ) & VIP_LEVEL_ACCES)) { set_msg_arg_int(2, ARG_BYTE, is_user_alive(iPlayer) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD); } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } */ Cvaruri: amx_start_hp = cu cat hp sa inceapa runda amx_start_ap = cu cata armura sa inceapa runda amx_start_money = cati bani sa primeasca VIP-ul la schimbarea hartii amx_vip_jump = cate sarituri sa aibe vip-ul amx_vip_addhp = cate hp sa primeasca pe kill amx_vip_addap = cata armura sa primeasca pe kill amx_vip_show_chat = daca sa arete vip-urile in chat amx_vip_show_hud = daca sa arete vip-urile in hud [ in tab ] amx_vip_maxhp = cat hp sa poate obtine vip-ul maxim amx_vip_maxap = cata armura sa poate avea vip-ul Comenzi publice: /vips > Arată vip-ii online /vip > Arată un motd cu ce doriţi dvs ( ca să funcţioneze acest motd creaţi un fişier numit vip.txt, folosiţi codul html pentru al aranja şi etc. şi puneţil în cstrike) /vmenu > Deschide un meniu de arme INFO: Nu este ceva special, nu sunt autor eu doar am adăugat câte ceva, aveţi .SMA în faţa ochilor aşa că descurcaţivă, în sma se află toate cvar-urile şi tot de ce aveţi nevoie. P.S(EDIT): Nu ofer suport, am renunţat la amxmodx(Cs) în favoarea CS:GO (din păcate.) |
|