Dodam że na moim serwerze cod mod na klasy premium plugin działa.
Vipa posiadam z http://amxx.pl/vipgenerator/
Spoiler
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <nvault> #include <hamsandwich> #include <tutor> #define PLUGIN "Testuj Vipa" #define VERSION "1.0" #define AUTHOR "speedkill" #define Flaga ADMIN_LEVEL_H new use[33] = 0 new czas_gracza[33] new prefix[33] new g_vault new czas new zapis //By R3X getFormatedTime(iTime, szTime[], size) { new dni = iTime/86400 new hours = iTime%86400/3600 formatex(szTime, size, "%d Dni %d godzin i %d minut",dni, hours, iTime%3600/60) } public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) g_vault = nvault_open("24h_vip") RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1); tutorInit(); register_cvars() } public plugin_precache(){ tutorPrecache() } public register_cvars() { czas = register_cvar("amx_viptest_czas","5") zapis = register_cvar("amx_viptest_save","1") register_cvar("amx_viptest_prefix","[Premium]") } public plugin_cfg() { get_cvar_string("amx_viptest_prefix", prefix, 32) } public vip_test(id) { if(is_user_connected(id)) { if(get_user_flags(id) & Flaga || use[id] == 1) { } else { use[id] = 1 czas_gracza[id] = get_pcvar_num(czas)*86400 set_task(1.0,"sprawdz",id,_,_,"b") set_task(90.0,"timer",id,_,_,"b") set_user_flags(id, get_user_flags(id) | Flaga) save(id) tutorMake(id,TUTOR_BLUE,5.0,"Otrzymales darmowego vipa") } } } public sprawdz(id) { czas_gracza[id]-- if(czas_gracza[id] <= 0) { if(task_exists(id)) { remove_task(id) } remove_user_flags(id, Flaga) } } public client_disconnect(id) { if(task_exists(id)) { remove_task(id) } if(use[id] == 1) { save(id) } } public Odrodzenie(id) { vip_test(id) return PLUGIN_CONTINUE; } public client_connect(id) { use[id] = 0 czas_gracza[id] = 0 set_task(2.0,"load",id) } public save(id) { new name[64] switch(get_pcvar_num(zapis)) { case 1: { get_user_name(id,name,63) } case 2: { if(is_user_steam(id)) { get_user_authid(id, name, 63) } else { get_user_name(id,name,63) } } } new vaultkey[64],vaultdata[256] format(vaultkey,63,"%s-vip",name) format(vaultdata,255,"%d#%d",czas_gracza[id],use[id]) nvault_set(g_vault,vaultkey,vaultdata) } public load(id) { new name[64] switch(get_pcvar_num(zapis)) { case 1: { get_user_name(id,name,63) } case 2: { if(is_user_steam(id)) { get_user_authid(id, name, 63) } else { get_user_name(id,name,63) } } } new vaultkey[64],vaultdata[256] get_user_name(id,name,63) format(vaultkey,63,"%s-vip",name) format(vaultdata,255,"%d#%d",czas_gracza[id], use[id]) nvault_get(g_vault,vaultkey,vaultdata,255) replace_all(vaultdata, 255, "#", " ") new zmienna[33], zmienna1[33] parse(vaultdata, zmienna, 32, zmienna1, 32) czas_gracza[id] = str_to_num(zmienna) use[id] = str_to_num(zmienna1) if(czas_gracza[id] > 0) { set_task(120.0,"timer",id,_,_,"b") set_task(1.0,"sprawdz",id,_,_,"b") set_user_flags(id, get_user_flags(id) | Flaga) } } public timer(id) { new szTime[32] getFormatedTime(czas_gracza[id], szTime, 31) tutorMake(id,TUTOR_GREEN,5.0,"%s Do konca Darmowego vipa pozostalo : %s",prefix,szTime) } stock bool:is_user_steam(id) { new authid[32]; get_user_authid(id, authid, 31); return bool:(contain(authid, "STEAM_0:0:") != -1 || contain(authid, "STEAM_0:1:") != -1); }
Mój vip
Spoiler
#include <amxmodx> #include <colorchat> #include <cstrike> #include <engine> #include <fakemeta> #include <fun> #include <hamsandwich> forward amxbans_admin_connect(id); new Array:g_Array, bool:g_Vip[33], skoki[33], weapon_id; new const g_Langcmd[][]={"say /vips","say_team /vips","say /vipy","say_team /vipy"}; new const g_Prefix[] = "Vip Chat"; public plugin_init(){ register_plugin("VIP Ultimate", "10.0.0.2", "benio101 & speedkill"); RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1); register_forward(FM_CmdStart, "CmdStartPre"); register_message(get_user_msgid("ScoreAttrib"), "VipStatus"); g_Array=ArrayCreate(64,32); for(new i;i<sizeof g_Langcmd;i++){ register_clcmd(g_Langcmd[i], "ShowVips"); } register_clcmd("say /vip", "ShowMotd"); register_clcmd("say_team", "VipChat"); register_message(get_user_msgid("SayText"),"handleSayText"); } public client_authorized(id){ if(get_user_flags(id) & ADMIN_LEVEL_H){ client_authorized_vip(id); } } public client_authorized_vip(id){ g_Vip[id]=true; new g_Name[64]; get_user_name(id,g_Name,charsmax(g_Name)); new g_Size = ArraySize(g_Array); new szName[64]; for(new i = 0; i < g_Size; i++){ ArrayGetString(g_Array, i, szName, charsmax(szName)); if(equal(g_Name, szName)){ return 0; } } ArrayPushString(g_Array,g_Name); return PLUGIN_CONTINUE; } public client_disconnect(id){ if(g_Vip[id]){ client_disconnect_vip(id); } } public client_disconnect_vip(id){ g_Vip[id]=false; new Name[64]; get_user_name(id,Name,charsmax(Name)); new g_Size = ArraySize(g_Array); new g_Name[64]; for(new i = 0; i < g_Size; i++){ ArrayGetString(g_Array, i, g_Name, charsmax(g_Name)); if(equal(g_Name,Name)){ ArrayDeleteItem(g_Array,i); break; } } } public SpawnedEventPre(id){ if(g_Vip[id]){ if(is_user_alive(id)){ SpawnedEventPreVip(id); } } } public CmdStartPre(id, uc_handle){ if(g_Vip[id]){ if(is_user_alive(id)){ CmdStartPreVip(id, uc_handle); } } } public CmdStartPreVip(id, uc_handle){ new flags = pev(id, pev_flags); if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]>0){ --skoki[id]; new Float:velocity[3]; pev(id, pev_velocity,velocity); velocity[2] = random_float(265.0,285.0); set_pev(id,pev_velocity,velocity); } else if(flags & FL_ONGROUND && skoki[id]!=-1){ skoki[id] = 1; } } public SpawnedEventPreVip(id){ skoki[id]=1; give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); cs_set_user_bpammo(id, CSW_FLASHBANG,2); give_item(id, "weapon_smokegrenade"); give_item(id, "weapon_deagle"); give_item(id, "ammo_50ae"); weapon_id=find_ent_by_owner(-1, "weapon_deagle", id); if(weapon_id)cs_set_weapon_ammo(weapon_id, 7); cs_set_user_bpammo(id, CSW_DEAGLE, 35); new g_Model[64]; formatex(g_Model,charsmax(g_Model),"%s",get_user_team(id) == 1 ? "vip-tt-1" : "vip-ct-1"); cs_set_user_model(id,g_Model); } public VipStatus(){ new id=get_msg_arg_int(1); if(is_user_alive(id) && g_Vip[id]){ set_msg_arg_int(2, ARG_BYTE, get_msg_arg_int(2)|4); } } public ShowVips(id){ return PLUGIN_CONTINUE; } public client_infochanged(id){ if(g_Vip[id]){ new szName[64]; get_user_info(id,"name",szName,charsmax(szName)); new Name[64]; get_user_name(id,Name,charsmax(Name)); if(!equal(szName,Name)){ ArrayPushString(g_Array,szName); new g_Size=ArraySize(g_Array); new g_Name[64]; for(new i = 0; i < g_Size; i++){ ArrayGetString(g_Array, i, g_Name, charsmax(g_Name)); if(equal(g_Name,Name)){ ArrayDeleteItem(g_Array,i); break; } } } } } public plugin_end(){ ArrayDestroy(g_Array); } public ShowMotd(id){ show_motd(id, "vip.txt", "Informacje o vipie"); } public VipChat(id){ if(g_Vip[id]){ new g_Msg[256], g_Text[256]; read_args(g_Msg,charsmax(g_Msg)); remove_quotes(g_Msg); if(g_Msg[0] == '*' && g_Msg[1]){ new g_Name[64]; get_user_name(id,g_Name,charsmax(g_Name)); formatex(g_Text,charsmax(g_Text),"^x01(%s) ^x03%s : ^x04%s",g_Prefix, g_Name, g_Msg[1]); for(new i=1;i<33;i++){ if(is_user_connected(i) && g_Vip[i]) ColorChat(i, GREEN, "%s", g_Text); } return PLUGIN_HANDLED_MAIN; } } return PLUGIN_CONTINUE; } public handleSayText(msgId,msgDest,msgEnt){ new id = get_msg_arg_int(1); if(is_user_connected(id) && g_Vip[id]){ new szTmp[256],szTmp2[256]; get_msg_arg_string(2,szTmp, charsmax(szTmp)) new szPrefix[64] = "^x04[VIP]"; if(!equal(szTmp,"#Cstrike_Chat_All")){ add(szTmp2,charsmax(szTmp2),szPrefix); add(szTmp2,charsmax(szTmp2)," "); add(szTmp2,charsmax(szTmp2),szTmp); } else{ add(szTmp2,charsmax(szTmp2),szPrefix); add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2"); } set_msg_arg_string(2,szTmp2); } return PLUGIN_CONTINUE; } public plugin_precache(){ precache_model("models/player/vip-ct-1/vip-ct-1.mdl"); precache_model("models/player/vip-tt-1/vip-tt-1.mdl"); } public amxbans_admin_connect(id){ client_authorized(id); }
Użytkownik Kawon edytował ten post 08.03.2013 21:46