kris128 írta: new g_Rang[MAX_GROUPS][] = { "Tulaj", "Helyettes", "Foadmin", "Admin", }; new g_RangFlag[MAX_GROUPS][] = { "abcdefghijklmnopqrstu", "bcdefghijklmnopqrstu", "bcf", "t" }; public plugin_init() { register_plugin("RangAdminChat", "0.5", "Ex3cuTioN"); register_clcmd("say","hook_say"); register_clcmd("say_team","hook_say2"); } public hook_say(id) { if(!is_user_admin(id) || is_user_bot(id)) { return PLUGIN_CONTINUE; } new nick[32]; get_user_name(id,nick,31); static chat[32]; read_args(chat, sizeof(chat) - 1); remove_quotes(chat); if(equali(chat,"")) { return PLUGIN_CONTINUE; } for(new i=0; i<MAX_GROUPS; i++) { if(get_user_flags(id) == read_flags(g_RangFlag[i])) { ColorChat(0,GREEN,"[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat); return PLUGIN_HANDLED; } } return PLUGIN_CONTINUE; } public hook_say2(id) { if(!is_user_admin(id) || is_user_bot(id)) { return PLUGIN_CONTINUE; } new nick[32]; get_user_name(id,nick,31); static chat[32]; read_args(chat, sizeof(chat) - 1); remove_quotes(chat); if(equali(chat,"")) { return PLUGIN_CONTINUE; } for(new i=0; i<MAX_GROUPS; i++) { if(get_user_flags(id) == read_flags(g_RangFlag[i])) { new players[32],num; get_players(players,num,"c"); for(new x=0; x<num; x++) { if(get_user_team(id) == get_user_team(players[x])) { switch(get_user_team(id)) { case 1: { ColorChat(players[x],RED,"(Terrorist)^x04[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat); } case 2: { ColorChat(players[x],BLUE,"(Counter)^x04[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat); } } } return PLUGIN_HANDLED; } } } return PLUGIN_CONTINUE; }
#include <amxmodx> #include <fun> #include <engine> #include <fakemeta> #include <hamsandwich> #include <fakemeta_util> #include <colorchat> #include <fvault> #define PLUGIN "Weapon Skin System [WSS]" #define VERSION "1.0" #define AUTHOR "6almasok" #define IsValidPlayers(%1,%2) ((1 <= %1 <= 32) && (1 <= %2 <= 32)) new oles[33],csomag[33], kredit[33],switchbutton[33],knife[33],getfrag[3][33] new ModelData[40][64], ModelNum, MaximumBtton new const File[] = "addons/amxmodx/configs/wss_models.ini" new const szVaultName[] = "wss_vault" new const prefix[] = "WSS" /*Rust Kills | Silver Kills | Gold Kills | Veteran Kills | Knife Kredit*/ new const need_kills[] = { 500, 1000, 2000, 4000, 500 } /*Pack Names*/ new const csomagmsg[6][] = { "Nincs","Rozsdás Csomag","EzĂĽst Csomag","Arany Csomag","Veterán Csomag","Speed Knife" } new const knifedisenable[2][] = { "Kikapcsolva", "Bekapcsolva" } new const menuszoveg[][][] = { {"Rozsdás Csomag \r[MEGSZEREZVE]", "\dRozsdás Csomag \r[%i/%i Ă–lĂ©s]"}, //0 {"EzĂĽst Csomag \r[MEGSZEREZVE]", "\dEzĂĽst Csomag \r[%i/%i Ă–lĂ©s]"}, //1 {"Arany Csomag \r[MEGSZEREZVE]", "\dArany Csomag \r[%i/%i Ă–lĂ©s]"}, //2 {"Veterán Csomag \r[MEGSZEREZVE]", "\dVeterán Csomag \r[%i/%i Ă–lĂ©s]"}, //3 {"Speed Knife \r[MEGSZEREZVE]^n", "\dSpeed Knife \r[%i/%i Ă–lĂ©s]^n"}, //4 {"\ySkin Csomagok \r[KIKAPCSOLVA]", "\ySkin Csomagok \r[BEKAPCSOLVA]"} //5 } new const chatszoveg[10][] = { "^4[%s]^1 FEJLĂ–VÉS!^3 %s ^1megölĂ©séért kaptál ^3+%i^1 ölĂ©st!", "^4[%s]^3 %s ^1megölĂ©séért kaptál ^3+%i^1 ölĂ©st!", "^4[%s]^3 %s ^1kapott ^3+1 ^1ölĂ©st ember lesebzĂ©sĂ©rt!", "^4[%s]^1 Találtál^3 +%i^1 kreditet a csomagbol!", "^4[%s]^1 Kiválasztottad a(z)^3 %s^1-ot!", "^4[%s]^1 Sajnos nincs elĂ©g ölĂ©sed!", "^4[%s]^1 Kikapcsoltad a Skin Csomagokat!", "^4[%s]^1 Bekapcsoltad a Skin Csomagokat!", "^4[%s]^1 A Szerveren Jelenleg a(z) ^3Weapon Skin System^1 fut. Megnyitáshoz Ărd be ^3/menu^1.", "^4[%s]^1 Sajnos nincs elĂ©g kredited!" } public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) /* Client Command */ register_clcmd("say /menu" , "fomenu") /* Events */ register_event("CurWeapon", "changeweapon", "be", "1=1") register_event("Damage", "sebzes_event", "be", "2!0", "3=0", "4!0") register_event("DeathMsg","Halal","a") /* Cvars */ register_cvar("wss_hudenable", "1"); register_cvar("wss_advertmp", "40.0"); register_cvar("kill_recived", "1"); register_cvar("hs_recived", "2"); register_cvar("found_kredit", "1"); /* Other */ register_forward(FM_Touch,"ForwardTouch" ); RegisterHam(Ham_Spawn, "player", "spawn_event", 1) set_task(1.0, "infohud", 0, _, _, "b") set_task(get_cvar_float("wss_advertmp"), "advertist", 0, "", 0, "b", 0) LoadModel(); } public advertist(){ ColorChat(0, GREEN, chatszoveg[8],prefix); return PLUGIN_HANDLED; } public plugin_precache() { new Len, btton[196], Data[64], Letoltes[40][64]; MaximumBtton = file_size(File, 1); for(new Num = 0; Num < MaximumBtton; Num++){ read_file(File, Num, btton, 196, Len); parse(btton, Data, 63); remove_quotes(btton); if(btton[0] == ';') { continue; } remove_quotes(Data); format(Letoltes[Num], 63, "%s", Data); precache_model(Letoltes[Num]); } precache_model("models/wss/pack/kredit.mdl"); } public LoadModel() { new Len, btton[196], Data[64]; MaximumBtton = file_size(File, 1); for(new Num; Num < MaximumBtton; Num++){ ModelNum++; read_file(File, Num, btton, 196, Len); parse(btton, Data, 63); remove_quotes(btton); if(btton[0] == ';') { continue; } remove_quotes(Data); format(ModelData[ModelNum], 63, "%s", Data); } } public changeweapon(id) { if(!is_user_alive(id) || !is_user_connected(id) || id < 1 || id > 32 || switchbutton[id] == 1) return new fegyver = get_user_weapon(id) if(csomag[id] == 1){ if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[1]) //Rozsdas ak if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[2]) //Rozsdas awp if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[3]) //Rozsdas desi if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[4]) //Rozsdas m4 } else if(csomag[id] == 2){ if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[5]) //ezust ak if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[6]) //ezust awp if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[7]) //ezust desi if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[8]) //ezust m4 } else if(csomag[id] == 3){ if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[9]) //arany ak if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[10]) //arany awp if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[11]) //arany desi if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[12]) //arany m4 } else if(csomag[id] == 4){ if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[13]) //veteran ak if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[14]) //veteran awp if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[15]) //veteran desi if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[16]) //veteran m4 } if(knife[id] == 1 && fegyver == CSW_KNIFE){ set_user_maxspeed(id, Float:320.0) set_pev(id, pev_viewmodel2, ModelData[17]) //knife } } public spawn_event(id){ getfrag[0][id] = 0; getfrag[1][id] = 0; getfrag[2][id] = 0; } public sebzes_event(id) { new tamado = get_user_attacker(id); if(id == tamado || !IsValidPlayers(id, tamado )) return; getfrag[1][tamado] += read_data(2); if(!getfrag[2][id] && getfrag[1][tamado] >= 50) { getfrag[0][tamado] = id; getfrag[2][id] = tamado; } } public Halal() { new attacker = read_data(1) new victim = read_data(2) new nev[32] get_user_name(victim, nev, charsmax(nev)) if(attacker == victim || attacker == 0) return PLUGIN_HANDLED if(read_data( 3 )){ oles[attacker] += get_cvar_num("hs_recived"); ColorChat(attacker, GREEN, chatszoveg[0] ,prefix ,nev, get_cvar_num("hs_recived")) } else{ oles[attacker] += get_cvar_num("kill_recived"); ColorChat(attacker, GREEN, chatszoveg[1],prefix, nev, get_cvar_num("kill_recived")) } if(getfrag[2][victim] && getfrag[2][victim] != attacker){ new fragetkap = getfrag[2][victim]; new fragetkapneve[32]; getfrag[0][fragetkap] = 0; getfrag[1][fragetkap] = 0; getfrag[2][victim] = 0; get_user_name(fragetkap, fragetkapneve, charsmax(fragetkapneve)); oles[fragetkap]++ ColorChat(0, GREEN, chatszoveg[2],prefix ,fragetkapneve); } switch(random_num(1,3)){ case 1: dropdobas() } return PLUGIN_HANDLED; } public dropdobas() { new victim = read_data( 2 ); static Float:origin[ 3 ]; pev( victim, pev_origin, origin ); new ent = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) ); origin[ 2 ] -= 36; engfunc( EngFunc_SetOrigin, ent, origin ); if( !pev_valid( ent ) ) { return PLUGIN_HANDLED; } set_pev( ent, pev_classname, "kredit" ); engfunc( EngFunc_SetModel, ent, "models/wss/pack/kredit.mdl" ); dllfunc( DLLFunc_Spawn, ent ); set_pev( ent, pev_solid, SOLID_BBOX ); set_pev( ent, pev_movetype, MOVETYPE_NONE ); engfunc( EngFunc_SetSize, ent, Float:{ -23.160000, -13.660000, -0.050000 }, Float:{ 11.470000, 12.780000, 6.720000 } ); engfunc( EngFunc_DropToFloor, ent ); return PLUGIN_HANDLED; } public ForwardTouch( ent, id ) { if(pev_valid(ent)) { new classname[ 32 ]; pev( ent, pev_classname, classname, charsmax( classname ) ); if( !equal( classname, "kredit") ) { return FMRES_IGNORED; } kredit[id] += get_cvar_num("found_kredit"); ColorChat(id, GREEN, chatszoveg[3],prefix, get_cvar_num("found_kredit")); engfunc( EngFunc_RemoveEntity, ent ); } return FMRES_IGNORED } public logevent_round_start() { new hkt = FM_NULLENT; while ( ( hkt = fm_find_ent_by_class( hkt, "kredit") ) ) { engfunc( EngFunc_RemoveEntity, hkt ); } } public fomenu(id) { new String[96] format(String, charsmax(String), "\r[Weapon Skin System] \wFĹ‘menĂĽ^n\yĂ–lĂ©sek: \d%i \w|\y Kreditek: \d%i", oles[id],kredit[id]) new menu = menu_create(String, "fomenu_MyMenu"); menu_additem(menu, "Fegyver Skin Csomagok", "0"); menu_additem(menu, "JátĂ©kos InfĂłk", "1"); menu_additem(menu, "Pack InformáciĂłk", "2"); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_setprop(menu, MPROP_EXITNAME, "\rKilĂ©pĂ©s"); menu_display(id, menu, 0); return PLUGIN_HANDLED; } public fomenu_MyMenu(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } new command[6], name[64], access, callback; menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback); switch(item) { case 0: fegymenu(id) case 1: playerinfo(id) case 2: show_motd(id, "addons/amxmodx/configs/wssinfo.txt", "[WSS] Infok") } menu_destroy(menu); return PLUGIN_HANDLED; } public playerinfo(id) { new some[256], menu static players[32],szTemp[10],pnum get_players(players,pnum,"ch"); formatex(some,255,"\r[Weapon Skin System] \wJátĂ©kos \d|\w Ă–lĂ©s \d|\w Kredit"); menu = menu_create(some,"pinfo_Handler"); for (new i; i < pnum; i++) { formatex(some,256,"%s \r(\yĂ–lĂ©se: \w%i \d| \yKreditje: \w%i\r)",get_player_name(players[i]), oles[players[i]],kredit[players[i]]); num_to_str(players[i],szTemp,charsmax(szTemp)); menu_additem(menu, some, szTemp); } menu_setprop(menu, MPROP_EXIT, MEXIT_ALL ); menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s"); menu_display(id, menu); return PLUGIN_HANDLED; } public pinfo_Handler(id,menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return; } playerinfo(id) } public fegymenu(id) { new String[96] format(String, charsmax(String), "\r[Weapon Skin System] \wSkin csomagok^n\yKiválasztott Csomag: \d[%s]", csomagmsg[csomag[id]]) new menu = menu_create(String, "fegymenu_handler" ) format(String, charsmax(String), oles[id] >= need_kills[0] ? (menuszoveg[0][0]):(menuszoveg[0][1]), oles[id], need_kills[0]); menu_additem(menu, String, "0" ); formatex(String, charsmax(String), oles[id] >= need_kills[1] ? (menuszoveg[1][0]):(menuszoveg[1][1]), oles[id], need_kills[1]); menu_additem(menu, String, "1"); formatex(String, charsmax(String), oles[id] >= need_kills[2] ? (menuszoveg[2][0]):(menuszoveg[2][1]), oles[id], need_kills[2]); menu_additem(menu, String, "2"); format(String, charsmax(String), oles[id] >= need_kills[3] ? (menuszoveg[3][0]):(menuszoveg[3][1]), oles[id], need_kills[3]); menu_additem(menu, String, "3"); formatex(String, charsmax(String), kredit[id] >= need_kills[4] ? (menuszoveg[4][0]):(menuszoveg[4][1]), kredit[id], need_kills[4]); menu_additem(menu, String, "4"); menu_additem(menu, switchbutton[id] == 1 ? (menuszoveg[5][0]):(menuszoveg[5][1]), "5"); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_setprop(menu, MPROP_BACKNAME, "Vissza"); menu_setprop(menu, MPROP_NEXTNAME, "ElĹ‘re"); menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s"); menu_display(id, menu, 0); return PLUGIN_HANDLED; } public fegymenu_handler(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; } new command[6], name[64], access, callback; menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback); switch(item) { case 0: { if(oles[id] >= need_kills[0]) { csomag[id] = 1 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]); } else { ColorChat(id, GREEN, chatszoveg[5],prefix); } } case 1: { if(oles[id] >= need_kills[1]) { csomag[id] = 2 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]); } else { ColorChat(id, GREEN, chatszoveg[5],prefix); } } case 2: { if(oles[id] >= need_kills[2]) { csomag[id] = 3 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]); } else { ColorChat(id, GREEN, chatszoveg[5],prefix); } } case 3: { if(oles[id] >= need_kills[3]) { csomag[id] = 4 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]); } else { ColorChat(id, GREEN, chatszoveg[5],prefix); } } case 4: { if(kredit[id] >= need_kills[4]) { knife[id] = 1 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[5]); } else { ColorChat(id, GREEN, chatszoveg[9],prefix); } } case 5: { if(switchbutton[id] == 0){ switchbutton[id] = 1 csomag[id] = 0 knife[id] = 0 ColorChat(id, GREEN, chatszoveg[6],prefix); } else { switchbutton[id] = 0 ColorChat(id, GREEN, chatszoveg[7],prefix); } } case 6: { ColorChat(id, GREEN, chatszoveg[5],prefix); } } fegymenu(id) return PLUGIN_HANDLED; } public infohud() { if(!get_cvar_num("wss_hudenable")) return PLUGIN_HANDLED static id for(id = 1; id <= get_maxplayers(); id++) { if(is_user_alive(id)){ set_hudmessage(0, 127, 255, 0.01, 0.20, 0, 6.0, 1.0) show_hudmessage(id, "[Ă–lĂ©s: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[id],kredit[id],csomagmsg[csomag[id]], knifedisenable[knife[id]]) } else{ new target = entity_get_int(id, EV_INT_iuser2); if(!target) return PLUGIN_CONTINUE; set_hudmessage(255, 255, 255, 0.01, 0.20, 0, 6.0, 1.0) show_hudmessage(id, "[Ă–lĂ©s: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[target],kredit[target],csomagmsg[csomag[target]], knifedisenable[knife[target]]) } } return PLUGIN_CONTINUE; } stock get_player_name(id){ static szName[32]; get_user_name(id,szName,31); return szName; } public client_disconnect(id){ if(is_user_bot(id)) return; save(id); } public client_putinserver( id ) { if(is_user_bot(id)) return; oles[id] = 0; kredit[id] = 0; csomag[id] = 0; switchbutton[id] = 0; load(id); } load(id) { new szAuthid[32], szData[32]; get_user_name( id, szAuthid, charsmax(szAuthid)); new s1[16],s2[16],s3[16],s4[16] fvault_get_data( szVaultName, szAuthid, szData, 31 ); parse( szData, s1, 15, s2, 15 , s3 , 15, s4 ,15); oles[id] = str_to_num(s1); kredit[id] = str_to_num(s2); csomag[id] = str_to_num(s3); switchbutton[id] = str_to_num(s4); } save(id) { new szAuthid[ 32 ], szData[ 32 ]; get_user_name( id, szAuthid, charsmax(szAuthid)); formatex( szData, 31, "%i %i %i %i", oles[id], kredit[id], csomag[id], switchbutton[id]); fvault_set_data( szVaultName, szAuthid, szData ); }
Tessék.
#include <amxmodx> #include <fun> #include <engine> #include <fakemeta> #include <hamsandwich> #include <fakemeta_util> #include <colorchat> #include <fvault> #define PLUGIN "Weapon Skin System [WSS]" #define VERSION "1.0" #define AUTHOR "6almasok" #define IsValidPlayers(%1,%2) ((1 <= %1 <= 32) && (1 <= %2 <= 32)) new g_Rang[MAX_GROUPS][] = { "Tulaj", "Helyettes", "Foadmin", "Admin", }; new g_RangFlag[MAX_GROUPS][] = { "abcdefghijklmnopqrstu", "bcdefghijklmnopqrstu", "bcf", "t" }; new oles[33],csomag[33], kredit[33],switchbutton[33],knife[33],getfrag[3][33] new ModelData[40][64], ModelNum, MaximumBtton new const File[] = "addons/amxmodx/configs/wss_models.ini" new const szVaultName[] = "wss_vault" new const prefix[] = "WSS" /*Rust Kills | Silver Kills | Gold Kills | Veteran Kills | Knife Kredit*/ new const need_kills[] = { 500, 1000, 2000, 4000, 500 } /*Pack Names*/ new const csomagmsg[6][] = { "Nincs","Rozsdás Csomag","EzĂĽst Csomag","Arany Csomag","Veterán Csomag","Speed Knife" } new const knifedisenable[2][] = { "Kikapcsolva", "Bekapcsolva" } new const menuszoveg[][][] = { {"Rozsdás Csomag \r[MEGSZEREZVE]", "\dRozsdás Csomag \r[%i/%i Ă–lĂ©s]"}, //0 {"EzĂĽst Csomag \r[MEGSZEREZVE]", "\dEzĂĽst Csomag \r[%i/%i Ă–lĂ©s]"}, //1 {"Arany Csomag \r[MEGSZEREZVE]", "\dArany Csomag \r[%i/%i Ă–lĂ©s]"}, //2 {"Veterán Csomag \r[MEGSZEREZVE]", "\dVeterán Csomag \r[%i/%i Ă–lĂ©s]"}, //3 {"Speed Knife \r[MEGSZEREZVE]^n", "\dSpeed Knife \r[%i/%i Ă–lĂ©s]^n"}, //4 {"\ySkin Csomagok \r[KIKAPCSOLVA]", "\ySkin Csomagok \r[BEKAPCSOLVA]"} //5 } new const chatszoveg[10][] = { "^4[%s]^1 FEJLĂ–VÉS!^3 %s ^1megölĂ©séért kaptál ^3+%i^1 ölĂ©st!", "^4[%s]^3 %s ^1megölĂ©séért kaptál ^3+%i^1 ölĂ©st!", "^4[%s]^3 %s ^1kapott ^3+1 ^1ölĂ©st ember lesebzĂ©sĂ©rt!", "^4[%s]^1 Találtál^3 +%i^1 kreditet a csomagbol!", "^4[%s]^1 Kiválasztottad a(z)^3 %s^1-ot!", "^4[%s]^1 Sajnos nincs elĂ©g ölĂ©sed!", "^4[%s]^1 Kikapcsoltad a Skin Csomagokat!", "^4[%s]^1 Bekapcsoltad a Skin Csomagokat!", "^4[%s]^1 A Szerveren Jelenleg a(z) ^3Weapon Skin System^1 fut. Megnyitáshoz Ä‚Ârd be ^3/menu^1.", "^4[%s]^1 Sajnos nincs elĂ©g kredited!" } public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) /* Client Command */ register_clcmd("say /menu" , "fomenu") register_clcmd("say","hook_say"); register_clcmd("say_team","hook_say2"); /* Events */ register_event("CurWeapon", "changeweapon", "be", "1=1") register_event("Damage", "sebzes_event", "be", "2!0", "3=0", "4!0") register_event("DeathMsg","Halal","a") /* Cvars */ register_cvar("wss_hudenable", "1"); register_cvar("wss_advertmp", "40.0"); register_cvar("kill_recived", "1"); register_cvar("hs_recived", "2"); register_cvar("found_kredit", "1"); /* Other */ register_forward(FM_Touch,"ForwardTouch" ); RegisterHam(Ham_Spawn, "player", "spawn_event", 1) set_task(1.0, "infohud", 0, _, _, "b") set_task(get_cvar_float("wss_advertmp"), "advertist", 0, "", 0, "b", 0) LoadModel(); } public advertist(){ ColorChat(0, GREEN, chatszoveg[8],prefix); return PLUGIN_HANDLED; } public plugin_precache() { new Len, btton[196], Data[64], Letoltes[40][64]; MaximumBtton = file_size(File, 1); for(new Num = 0; Num < MaximumBtton; Num++){ read_file(File, Num, btton, 196, Len); parse(btton, Data, 63); remove_quotes(btton); if(btton[0] == ';') { continue; } remove_quotes(Data); format(Letoltes[Num], 63, "%s", Data); precache_model(Letoltes[Num]); } precache_model("models/wss/pack/kredit.mdl"); } public LoadModel() { new Len, btton[196], Data[64]; MaximumBtton = file_size(File, 1); for(new Num; Num < MaximumBtton; Num++){ ModelNum++; read_file(File, Num, btton, 196, Len); parse(btton, Data, 63); remove_quotes(btton); if(btton[0] == ';') { continue; } remove_quotes(Data); format(ModelData[ModelNum], 63, "%s", Data); } } public changeweapon(id) { if(!is_user_alive(id) || !is_user_connected(id) || id < 1 || id > 32 || switchbutton[id] == 1) return new fegyver = get_user_weapon(id) if(csomag[id] == 1){ if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[1]) //Rozsdas ak if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[2]) //Rozsdas awp if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[3]) //Rozsdas desi if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[4]) //Rozsdas m4 } else if(csomag[id] == 2){ if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[5]) //ezust ak if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[6]) //ezust awp if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[7]) //ezust desi if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[8]) //ezust m4 } else if(csomag[id] == 3){ if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[9]) //arany ak if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[10]) //arany awp if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[11]) //arany desi if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[12]) //arany m4 } else if(csomag[id] == 4){ if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[13]) //veteran ak if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[14]) //veteran awp if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[15]) //veteran desi if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[16]) //veteran m4 } if(knife[id] == 1 && fegyver == CSW_KNIFE){ set_user_maxspeed(id, Float:320.0) set_pev(id, pev_viewmodel2, ModelData[17]) //knife } } public spawn_event(id){ getfrag[0][id] = 0; getfrag[1][id] = 0; getfrag[2][id] = 0; } public sebzes_event(id) { new tamado = get_user_attacker(id); if(id == tamado || !IsValidPlayers(id, tamado )) return; getfrag[1][tamado] += read_data(2); if(!getfrag[2][id] && getfrag[1][tamado] >= 50) { getfrag[0][tamado] = id; getfrag[2][id] = tamado; } } public Halal() { new attacker = read_data(1) new victim = read_data(2) new nev[32] get_user_name(victim, nev, charsmax(nev)) if(attacker == victim || attacker == 0) return PLUGIN_HANDLED if(read_data( 3 )){ oles[attacker] += get_cvar_num("hs_recived"); ColorChat(attacker, GREEN, chatszoveg[0] ,prefix ,nev, get_cvar_num("hs_recived")) } else{ oles[attacker] += get_cvar_num("kill_recived"); ColorChat(attacker, GREEN, chatszoveg[1],prefix, nev, get_cvar_num("kill_recived")) } if(getfrag[2][victim] && getfrag[2][victim] != attacker){ new fragetkap = getfrag[2][victim]; new fragetkapneve[32]; getfrag[0][fragetkap] = 0; getfrag[1][fragetkap] = 0; getfrag[2][victim] = 0; get_user_name(fragetkap, fragetkapneve, charsmax(fragetkapneve)); oles[fragetkap]++ ColorChat(0, GREEN, chatszoveg[2],prefix ,fragetkapneve); } switch(random_num(1,3)){ case 1: dropdobas() } return PLUGIN_HANDLED; } public dropdobas() { new victim = read_data( 2 ); static Float:origin[ 3 ]; pev( victim, pev_origin, origin ); new ent = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) ); origin[ 2 ] -= 36; engfunc( EngFunc_SetOrigin, ent, origin ); if( !pev_valid( ent ) ) { return PLUGIN_HANDLED; } set_pev( ent, pev_classname, "kredit" ); engfunc( EngFunc_SetModel, ent, "models/wss/pack/kredit.mdl" ); dllfunc( DLLFunc_Spawn, ent ); set_pev( ent, pev_solid, SOLID_BBOX ); set_pev( ent, pev_movetype, MOVETYPE_NONE ); engfunc( EngFunc_SetSize, ent, Float:{ -23.160000, -13.660000, -0.050000 }, Float:{ 11.470000, 12.780000, 6.720000 } ); engfunc( EngFunc_DropToFloor, ent ); return PLUGIN_HANDLED; } public ForwardTouch( ent, id ) { if(pev_valid(ent)) { new classname[ 32 ]; pev( ent, pev_classname, classname, charsmax( classname ) ); if( !equal( classname, "kredit") ) { return FMRES_IGNORED; } kredit[id] += get_cvar_num("found_kredit"); ColorChat(id, GREEN, chatszoveg[3],prefix, get_cvar_num("found_kredit")); engfunc( EngFunc_RemoveEntity, ent ); } return FMRES_IGNORED } public logevent_round_start() { new hkt = FM_NULLENT; while ( ( hkt = fm_find_ent_by_class( hkt, "kredit") ) ) { engfunc( EngFunc_RemoveEntity, hkt ); } } public fomenu(id) { new String[96] format(String, charsmax(String), "\r[Weapon Skin System] \wFÄąâ€menĂĽ^n\yĂ–lĂ©sek: \d%i \w|\y Kreditek: \d%i", oles[id],kredit[id]) new menu = menu_create(String, "fomenu_MyMenu"); menu_additem(menu, "Fegyver Skin Csomagok", "0"); menu_additem(menu, "JátĂ©kos InfĂłk", "1"); menu_additem(menu, "Pack InformáciĂłk", "2"); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_setprop(menu, MPROP_EXITNAME, "\rKilĂ©pĂ©s"); menu_display(id, menu, 0); return PLUGIN_HANDLED; } public fomenu_MyMenu(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } new command[6], name[64], access, callback; menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback); switch(item) { case 0: fegymenu(id) case 1: playerinfo(id) case 2: show_motd(id, "addons/amxmodx/configs/wssinfo.txt", "[WSS] Infok") } menu_destroy(menu); return PLUGIN_HANDLED; } public playerinfo(id) { new some[256], menu static players[32],szTemp[10],pnum get_players(players,pnum,"ch"); formatex(some,255,"\r[Weapon Skin System] \wJátĂ©kos \d|\w Ă–lĂ©s \d|\w Kredit"); menu = menu_create(some,"pinfo_Handler"); for (new i; i < pnum; i++) { formatex(some,256,"%s \r(\yĂ–lĂ©se: \w%i \d| \yKreditje: \w%i\r)",get_player_name(players[i]), oles[players[i]],kredit[players[i]]); num_to_str(players[i],szTemp,charsmax(szTemp)); menu_additem(menu, some, szTemp); } menu_setprop(menu, MPROP_EXIT, MEXIT_ALL ); menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s"); menu_display(id, menu); return PLUGIN_HANDLED; } public pinfo_Handler(id,menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return; } playerinfo(id) } public fegymenu(id) { new String[96] format(String, charsmax(String), "\r[Weapon Skin System] \wSkin csomagok^n\yKiválasztott Csomag: \d[%s]", csomagmsg[csomag[id]]) new menu = menu_create(String, "fegymenu_handler" ) format(String, charsmax(String), oles[id] >= need_kills[0] ? (menuszoveg[0][0]):(menuszoveg[0][1]), oles[id], need_kills[0]); menu_additem(menu, String, "0" ); formatex(String, charsmax(String), oles[id] >= need_kills[1] ? (menuszoveg[1][0]):(menuszoveg[1][1]), oles[id], need_kills[1]); menu_additem(menu, String, "1"); formatex(String, charsmax(String), oles[id] >= need_kills[2] ? (menuszoveg[2][0]):(menuszoveg[2][1]), oles[id], need_kills[2]); menu_additem(menu, String, "2"); format(String, charsmax(String), oles[id] >= need_kills[3] ? (menuszoveg[3][0]):(menuszoveg[3][1]), oles[id], need_kills[3]); menu_additem(menu, String, "3"); formatex(String, charsmax(String), kredit[id] >= need_kills[4] ? (menuszoveg[4][0]):(menuszoveg[4][1]), kredit[id], need_kills[4]); menu_additem(menu, String, "4"); menu_additem(menu, switchbutton[id] == 1 ? (menuszoveg[5][0]):(menuszoveg[5][1]), "5"); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_setprop(menu, MPROP_BACKNAME, "Vissza"); menu_setprop(menu, MPROP_NEXTNAME, "ElÄąâ€re"); menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s"); menu_display(id, menu, 0); return PLUGIN_HANDLED; } public fegymenu_handler(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; } new command[6], name[64], access, callback; menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback); switch(item) { case 0: { if(oles[id] >= need_kills[0]) { csomag[id] = 1 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]); } else { ColorChat(id, GREEN, chatszoveg[5],prefix); } } case 1: { if(oles[id] >= need_kills[1]) { csomag[id] = 2 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]); } else { ColorChat(id, GREEN, chatszoveg[5],prefix); } } case 2: { if(oles[id] >= need_kills[2]) { csomag[id] = 3 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]); } else { ColorChat(id, GREEN, chatszoveg[5],prefix); } } case 3: { if(oles[id] >= need_kills[3]) { csomag[id] = 4 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]); } else { ColorChat(id, GREEN, chatszoveg[5],prefix); } } case 4: { if(kredit[id] >= need_kills[4]) { knife[id] = 1 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[5]); } else { ColorChat(id, GREEN, chatszoveg[9],prefix); } } case 5: { if(switchbutton[id] == 0){ switchbutton[id] = 1 csomag[id] = 0 knife[id] = 0 ColorChat(id, GREEN, chatszoveg[6],prefix); } else { switchbutton[id] = 0 ColorChat(id, GREEN, chatszoveg[7],prefix); } } case 6: { ColorChat(id, GREEN, chatszoveg[5],prefix); } } fegymenu(id) return PLUGIN_HANDLED; } public infohud() { if(!get_cvar_num("wss_hudenable")) return PLUGIN_HANDLED static id for(id = 1; id <= get_maxplayers(); id++) { if(is_user_alive(id)){ set_hudmessage(0, 127, 255, 0.01, 0.20, 0, 6.0, 1.0) show_hudmessage(id, "[Ă–lĂ©s: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[id],kredit[id],csomagmsg[csomag[id]], knifedisenable[knife[id]]) } else{ new target = entity_get_int(id, EV_INT_iuser2); if(!target) return PLUGIN_CONTINUE; set_hudmessage(255, 255, 255, 0.01, 0.20, 0, 6.0, 1.0) show_hudmessage(id, "[Ă–lĂ©s: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[target],kredit[target],csomagmsg[csomag[target]], knifedisenable[knife[target]]) } } return PLUGIN_CONTINUE; } stock get_player_name(id){ static szName[32]; get_user_name(id,szName,31); return szName; } public client_disconnect(id){ if(is_user_bot(id)) return; save(id); } public client_putinserver( id ) { if(is_user_bot(id)) return; oles[id] = 0; kredit[id] = 0; csomag[id] = 0; switchbutton[id] = 0; load(id); } load(id) { new szAuthid[32], szData[32]; get_user_name( id, szAuthid, charsmax(szAuthid)); new s1[16],s2[16],s3[16],s4[16] fvault_get_data( szVaultName, szAuthid, szData, 31 ); parse( szData, s1, 15, s2, 15 , s3 , 15, s4 ,15); oles[id] = str_to_num(s1); kredit[id] = str_to_num(s2); csomag[id] = str_to_num(s3); switchbutton[id] = str_to_num(s4); } save(id) { new szAuthid[ 32 ], szData[ 32 ]; get_user_name( id, szAuthid, charsmax(szAuthid)); formatex( szData, 31, "%i %i %i %i", oles[id], kredit[id], csomag[id], switchbutton[id]); fvault_set_data( szVaultName, szAuthid, szData ); } public hook_say(id) { if(!is_user_admin(id) || is_user_bot(id)) { return PLUGIN_CONTINUE; } new nick[32]; get_user_name(id,nick,31); static chat[32]; read_args(chat, sizeof(chat) - 1); remove_quotes(chat); if(equali(chat,"")) { return PLUGIN_CONTINUE; } for(new i=0; i<MAX_GROUPS; i++) { if(get_user_flags(id) == read_flags(g_RangFlag[i])) { ColorChat(0,GREEN,"[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat); return PLUGIN_HANDLED; } } return PLUGIN_CONTINUE; } public hook_say2(id) { if(!is_user_admin(id) || is_user_bot(id)) { return PLUGIN_CONTINUE; } new nick[32]; get_user_name(id,nick,31); static chat[32]; read_args(chat, sizeof(chat) - 1); remove_quotes(chat); if(equali(chat,"")) { return PLUGIN_CONTINUE; } for(new i=0; i<MAX_GROUPS; i++) { if(get_user_flags(id) == read_flags(g_RangFlag[i])) { new players[32],num; get_players(players,num,"c"); for(new x=0; x<num; x++) { if(get_user_team(id) == get_user_team(players[x])) { switch(get_user_team(id)) { case 1: { ColorChat(players[x],RED,"(Terrorist)^x04[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat); } case 2: { ColorChat(players[x],BLUE,"(Counter)^x04[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat); } } } return PLUGIN_HANDLED; } } } return PLUGIN_CONTINUE; }
|