hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 11:38



Jelenlévő felhasználók

Jelenleg 229 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 228 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 7 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: 2 plugin össze írás + kredit
HozzászólásElküldve: 2016.11.12. 18:02 
Offline
Jómunkásember

Csatlakozott: 2016.06.20. 10:23
Hozzászólások: 489
Megköszönt másnak: 47 alkalommal
Megköszönték neki: 15 alkalommal
Sziasztok!
össze kellene írni a kettőt, és hogy amikor fel veszi a csomagot, akkor adjon +10 kreditet!
előreis köszi!
Segítőnek jár a plusz!! :D
Forrás:
  1. #include <amxmodx>
  2. #include <engine>
  3. #include <fakemeta>
  4. #include <fun>
  5. #include <amxmisc>
  6. #include <colorchat>
  7. #include <nvault>
  8.  
  9. new felszedett[33]
  10. new dobozszam
  11. new cvar
  12. new counter = 0
  13. new bool:megvan
  14. new bool:generalva
  15. new g_vault
  16. new eltunes
  17. new const ET_model[][] = {
  18.     "models/cyan.mdl",
  19.     "models/zold.mdl",
  20.     "models/narancs.mdl",
  21.     "models/pink.mdl",
  22.     "models/minden.mdl",
  23.     "models/voros.mdl",
  24.     "models/sarga.mdl"
  25. }
  26.  
  27.  
  28.  
  29. public plugin_precache()
  30. {
  31.     precache_model("models/cyan.mdl")
  32.     precache_model("models/zold.mdl")
  33.     precache_model("models/narancs.mdl")
  34.     precache_model("models/pink.mdl")
  35.     precache_model("models/minden.mdl")
  36.     precache_model("models/voros.mdl")
  37.     precache_model("models/sarga.mdl")
  38.    
  39.    
  40.    
  41. }
  42.  
  43. public plugin_init()
  44. {
  45.     register_plugin("Karacsonyi dobozok", "1.0", "qKKKJ")
  46.     set_task(30.0, "keszit",_,_,_,"b")
  47.     set_task(1.0, "szamlalo",_,_,_,"b")
  48.     register_touch("nyeremendoboz","player","remove")
  49.     set_task(random_float(30.0,60.0), "hirdetes",_,_,_,"b")
  50.     cvar = register_cvar("sv_maxdoboz", "1")
  51.     eltunes = register_cvar("sv_eltunes", "30")
  52.     g_vault = nvault_open("dobozok")
  53. }
  54.  
  55. public szamlalo(id)
  56. {
  57.     if(generalva == true) {
  58.         counter++
  59.     }
  60.     if(megvan == true) {
  61.         counter = 0
  62.     }
  63.     if(counter > get_pcvar_num(eltunes) && generalva == true)
  64.     {
  65.         new target = find_ent_by_class(target, "nyeremendoboz")
  66.         engfunc(EngFunc_RemoveEntity, target)
  67.         dobozszam--
  68.         counter = 0
  69.         generalva = false
  70.         switch(random_num(1,5)) {
  71.             case 1: {
  72.                 ColorChat(0, RED, "Ezt a dobozt sajnos nem sikerult megtalalnotok :(")
  73.             }
  74.             case 2: {
  75.                 ColorChat(0, GREEN, "Ezt a dobozt sajnos nem sikerult megtalalnotok :(")
  76.             }
  77.             case 3: {
  78.                 ColorChat(0, BLUE, "Ezt a dobozt sajnos nem sikerult megtalalnotok :(")
  79.             }
  80.             case 4: {
  81.                 ColorChat(0, GREY, "Ezt a dobozt sajnos nem sikerult megtalalnotok :(")
  82.             }
  83.             case 5: {
  84.                 ColorChat(0, NORMAL, "Ezt a dobozt sajnos nem sikerult megtalalnotok :(")
  85.             }
  86.            
  87.         }
  88.        
  89.     }
  90. }
  91.  
  92. public keszit(id)
  93. {
  94.     if(dobozszam < get_pcvar_num(cvar)) {  
  95.         new inifile[192], map[32]
  96.         get_mapname(map, 31)
  97.         formatex(inifile, charsmax(inifile), "addons/amxmodx/configs/csdm/%s.spawns.cfg", map)
  98.         new Float:origin[3]
  99.         new elsopoz[8], masodikpoz[8], harmadikpoz[8]
  100.         new lines = file_size(inifile, 1)
  101.         if(lines > 0)
  102.         {
  103.             new randomLine = random(lines);
  104.             new lineBuffer[256], len;
  105.             read_file(inifile, randomLine, lineBuffer, charsmax(lineBuffer), len)
  106.             parse(lineBuffer, elsopoz, 7, masodikpoz, 7, harmadikpoz, 7)
  107.            
  108.             origin[0] = str_to_float(elsopoz)
  109.             origin[1] = str_to_float(masodikpoz)
  110.             origin[2] = str_to_float(harmadikpoz)
  111.         }
  112.        
  113.    
  114.         new ent = create_entity("info_target")
  115.         set_pev(ent, pev_classname, "nyeremendoboz")
  116.         entity_set_model(ent, ET_model[random(sizeof(ET_model))])
  117.        
  118.         set_pev(ent,pev_solid, SOLID_BBOX)
  119.         set_pev(ent, pev_movetype, MOVETYPE_TOSS)
  120.         engfunc(EngFunc_SetOrigin, ent, origin)
  121.         engfunc(EngFunc_SetSize, ent, Float:{-10.0,-10.0,0.0}, Float:{10.0,10.0,25.0})
  122.         engfunc(EngFunc_DropToFloor, ent)
  123.         fm_set_rendering(ent, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 16);
  124.         switch(random_num(1,5)) {
  125.             case 1: {
  126.                 ColorChat(0, RED, "Uj doboz jelent meg keressetek!!!!!!!")
  127.             }
  128.             case 2: {
  129.                 ColorChat(0, GREEN, "Uj doboz jelent meg keressetek!!!!!!!")
  130.             }
  131.             case 3: {
  132.                 ColorChat(0, BLUE, "Uj doboz jelent meg keressetek!!!!!!!")
  133.             }
  134.             case 4: {
  135.                 ColorChat(0, GREY, "Uj doboz jelent meg keressetek!!!!!!!")
  136.             }
  137.             case 5: {
  138.                 ColorChat(0, NORMAL, "Uj doboz jelent meg keressetek!!!!!!!")
  139.             }
  140.            
  141.         }
  142.         dobozszam++
  143.         megvan = false
  144.         generalva = true
  145.     }
  146.     return PLUGIN_CONTINUE
  147. }
  148. public client_PreThink(id)
  149. {
  150.     set_hudmessage(127, 255, 170, 0.0, 0.19, 0, 6.0, 1.0)
  151.     show_hudmessage(id, "Megtalalt dobozok: %d", felszedett[id])
  152.    
  153. }
  154.  
  155. public hirdetes()
  156. {
  157.     ColorChat(0, GREEN, "A Nyeremenyjatek plugint ^3qKKKJ;> ^4keszitette!")
  158. }
  159.  
  160. public remove(ent, id)
  161. {
  162.     if(is_user_alive(id)) {
  163.        
  164.        
  165.         felszedett[id]++
  166.         dobozszam--
  167.         new nev[32]
  168.         get_user_name(id, nev, 31)
  169.         switch(random_num(1,5)) {
  170.             case 1: {
  171.                 ColorChat(0, RED, "%s megtalalt egy ajandek dobozt gratulalunk!", nev)
  172.             }
  173.             case 2: {
  174.                 ColorChat(0, GREEN, "%s megtalalt egy ajandek dobozt gratulalunk!", nev)
  175.             }
  176.             case 3: {
  177.                 ColorChat(0, BLUE, "%s megtalalt egy ajandek dobozt gratulalunk!", nev)
  178.             }
  179.             case 4: {
  180.                 ColorChat(0, GREY, "%s megtalalt egy ajandek dobozt gratulalunk!", nev)
  181.             }
  182.             case 5: {
  183.                 ColorChat(0, NORMAL, "%s megtalalt egy ajandek dobozt gratulalunk!", nev)
  184.             }
  185.         }
  186.         engfunc(EngFunc_RemoveEntity, ent)
  187.         megvan = true
  188.         generalva = false
  189.     }
  190.     return PLUGIN_HANDLED
  191. }
  192. stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
  193. {
  194.     static Float:color[3]
  195.     color[0] = float(r)
  196.     color[1] = float(g)
  197.     color[2] = float(b)
  198.    
  199.     set_pev(entity, pev_renderfx, fx)
  200.     set_pev(entity, pev_rendercolor, color)
  201.     set_pev(entity, pev_rendermode, render)
  202.     set_pev(entity, pev_renderamt, float(amount))
  203. }
  204. public client_connect(id)
  205. {
  206.     betoltes(id)
  207. }
  208. public client_disconnect(id)
  209. {
  210.     mentes(id)
  211. }
  212. public mentes(id)
  213. {
  214.     new name[32]
  215.     get_user_name(id, name, 31)
  216.  
  217.     new vaultkey[64],vaultdata[256]
  218.     format(vaultkey,63,"%s_dobozok", name)
  219.     format(vaultdata,255,"%i",felszedett[id])
  220.  
  221.  
  222.     nvault_set(g_vault,vaultkey,vaultdata)
  223.     return PLUGIN_CONTINUE
  224. }
  225. public betoltes(id)
  226. {
  227.     new name[32]
  228.     get_user_name(id, name, 31)
  229.     new vaultkey[64],vaultdata[256]
  230.     format(vaultkey,63,"%s_dobozok", name)
  231.     format(vaultdata,255,"%i",felszedett[id])
  232.     nvault_get(g_vault,vaultkey,vaultdata,255)
  233.     replace_all(vaultdata, 255, "#", " ")
  234.     new szedett[32]
  235.     parse(vaultdata, szedett, 31)
  236.     felszedett[id] = str_to_num(szedett)
  237.     return PLUGIN_CONTINUE
  238. }


és ebbe kellene bele írni.

  1. #include <amxmodx>
  2. #include <fun>
  3. #include <engine>
  4. #include <fakemeta>
  5. #include <hamsandwich>
  6. #include <fakemeta_util>
  7. #include <colorchat>
  8. #include <fvault>
  9.  
  10. #include <dhudmessage>
  11.  
  12. #define PLUGIN "[WSS]"
  13. #define VERSION "1.0"
  14. #define AUTHOR "6almasok"
  15.  
  16. #define IsValidPlayers(%1,%2) ((1 <= %1 <= 32) && (1 <= %2 <= 32))
  17.  
  18. new oles[33],csomag[33], kredit[33],switchbutton[33],knife[33],getfrag[3][33]
  19. new ModelData[40][64], ModelNum, MaximumBtton
  20.  
  21. new const File[] = "addons/amxmodx/configs/asd.ini"
  22. new const szVaultName[] = "hjk_vault"
  23. new const prefix[] = "NEW* -BfS"
  24. new const keszito[] = "Vasarlas Menu By Kingston. -BfS."
  25.  
  26. /*Rust Kills | Silver Kills | Gold Kills | Veteran Kills | Knife Kredit*/
  27. new const need_kills[] = { 500, 1000, 2000, 4000, 4700, 5000, 6000, 6500, 7000, 500 }
  28.  
  29. /*Pack Names*/
  30. new const csomagmsg[11][] = { "Nincs","Rozsdás Csomag","Ezüst Csomag","Arany Csomag","Veterán Csomag","Galaxy Csomag","Metal Csomag","Star Csomag","Tuz Csomag","Ultra Csomag","Speed Knife" }
  31.  
  32. new const knifedisenable[2][] = { "Kikapcsolva", "Bekapcsolva" }
  33.  
  34. new const menuszoveg[][][] = {
  35.     {"Rozsdás Csomag \r[MEGSZEREZVE]", "\dRozsdás Csomag \r[%i/%i Pontok]"}, //0
  36.     {"EzĂĽst Csomag \r[MEGSZEREZVE]", "\dEzĂĽst Csomag \r[%i/%i Pontok]"}, //1
  37.     {"Arany Csomag \r[MEGSZEREZVE]", "\dArany Csomag \r[%i/%i Pontok]"}, //2
  38.     {"Veterán Csomag \r[MEGSZEREZVE]", "\dVeterán Csomag \r[%i/%i Pontok]"}, //3
  39.     {"Galaxy Csomag \r[MEGSZEREZVE]", "\dGalaxy Csomag \r[%i/%i Pontok]"}, //4
  40.     {"Metal Csomag \r[MEGSZEREZVE]", "\dMetal Csomag \r[%i/%i Pontok]"}, //5
  41.     {"Star Csomag \r[MEGSZEREZVE]", "\dStar Csomag \r[%i/%i Pontok]"}, //6
  42.     {"Tuz Csomag \r[MEGSZEREZVE]", "\dTuz Csomag \r[%i/%i Pontok]"}, //6
  43.     {"Ultra Csomag \r[MEGSZEREZVE]", "\dUltra Csomag \r[%i/%i Pontok]"}, //7
  44.     {"Speed Knife \r[MEGSZEREZVE]^n", "\dSpeed Knife \r[%i/%i Kredit]^n"}, //8
  45.     {"\ySkin Csomagok \r[KIKAPCSOLVA]", "\ySkin Csomagok \r[BEKAPCSOLVA]"} //9
  46. }
  47. new const chatszoveg[10][] =
  48. {
  49.     "^4[%s]^1 FEJLĂ–VÉS!^3 %s ^1megölĂ©sĂ©Ă©rt kaptál ^3+%i^1 Pontot!",
  50.     "^4[%s]^3 %s ^1megölĂ©sĂ©Ă©rt kaptál ^3+%i^1 Pontot!",
  51.     "^4[%s]^3 %s ^1kapott ^3+1 ^1Pontot ember lesebzĂ©sĂ©rt!",
  52.     "^4[%s]^1 Találtál^3 +%i^1 kreditet a csomagbol!",
  53.     "^4[%s]^1 Kiválasztottad a(z)^3 %s^1-ot!",
  54.     "^4[%s]^1 Sajnos nincs elĂ©g Pontod!",
  55.     "^4[%s]^1 Kikapcsoltad a Skin Csomagokat!",
  56.     "^4[%s]^1 Bekapcsoltad a Skin Csomagokat!",
  57.     "^4[%s]^1 A Szerveren Jelenleg a(z) ^3Skin rendszer^1 fut. Megnyitáshoz Ă­rd be ^3/menu^1.",
  58.     "^4[%s]^1 Sajnos nincs elĂ©g kredited!"
  59. }
  60. public plugin_init() {
  61.     register_plugin(PLUGIN, VERSION, AUTHOR)
  62.    
  63.     /* Client Command */
  64.     register_clcmd("say /menu" , "fomenu")
  65.    
  66.     register_impulse(201, "fomenu")
  67.     /* Events */
  68.     register_event("CurWeapon", "changeweapon", "be", "1=1")
  69.     register_event("Damage", "sebzes_event", "be", "2!0", "3=0", "4!0")
  70.     register_event("DeathMsg","Halal","a")
  71.    
  72.     /* Cvars */
  73.     register_cvar("wss_hudenable", "1");
  74.     register_cvar("wss_advertmp", "40.0");
  75.     register_cvar("kill_recived", "1");
  76.     register_cvar("hs_recived", "2");
  77.     register_cvar("found_kredit", "1");
  78.    
  79.     /* Other */
  80.     register_forward(FM_Touch,"ForwardTouch" );
  81.     RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
  82.     set_task(1.0, "infohud", 0, _, _, "b")
  83.     set_task(get_cvar_float("wss_advertmp"), "advertist", 0, "", 0, "b", 0)
  84.  
  85.     LoadModel();
  86. }
  87. public advertist(){
  88.     ColorChat(0, GREEN, chatszoveg[8],prefix);
  89.     return PLUGIN_HANDLED;
  90. }
  91. public plugin_precache() {
  92.    
  93.     new Len, btton[196], Data[64], Letoltes[40][64];
  94.     MaximumBtton = file_size(File, 1);
  95.    
  96.     for(new Num = 0; Num < MaximumBtton; Num++){
  97.         read_file(File, Num, btton, 196, Len);
  98.         parse(btton, Data, 63);
  99.         remove_quotes(btton);
  100.         if(btton[0] == ';')
  101.         {
  102.             continue;
  103.         }
  104.         remove_quotes(Data);
  105.         format(Letoltes[Num], 63, "%s", Data);
  106.         precache_model(Letoltes[Num]);
  107.     }
  108.     precache_model("models/d2_bfs/pack/kredit.mdl");
  109. }
  110. public LoadModel()
  111. {
  112.     new Len, btton[196], Data[64];
  113.     MaximumBtton = file_size(File, 1);
  114.     for(new Num; Num < MaximumBtton; Num++){
  115.         ModelNum++;
  116.         read_file(File, Num, btton, 196, Len);
  117.         parse(btton, Data, 63);
  118.         remove_quotes(btton);
  119.         if(btton[0] == ';')
  120.         {
  121.             continue;
  122.         }
  123.         remove_quotes(Data);
  124.         format(ModelData[ModelNum], 63, "%s", Data);
  125.     }
  126. }
  127. public changeweapon(id)
  128. {
  129.     if(!is_user_alive(id) || !is_user_connected(id) || id < 1 || id > 32 || switchbutton[id] == 1)
  130.     return
  131.    
  132.     new fegyver = get_user_weapon(id)
  133.    
  134.     if(csomag[id] == 1){
  135.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[1]) //Rozsdas ak
  136.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[2]) //Rozsdas awp
  137.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[3]) //Rozsdas desi
  138.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[4]) //Rozsdas m4
  139.     }
  140.     else if(csomag[id] == 2){
  141.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[5]) //ezust ak
  142.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[6]) //ezust awp
  143.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[7]) //ezust desi
  144.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[8]) //ezust m4
  145.     }
  146.     else if(csomag[id] == 3){
  147.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[9]) //arany ak
  148.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[10]) //arany awp
  149.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[11]) //arany desi
  150.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[12]) //arany m4
  151.     }
  152.     else if(csomag[id] == 4){
  153.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[13]) //veteran ak
  154.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[14]) //veteran awp
  155.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[15]) //veteran desi
  156.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[16]) //veteran m4
  157.     }
  158.     else if(csomag[id] == 5){
  159.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[17]) //Galaxy ak
  160.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[18]) //Galaxy awp
  161.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[19]) //Galaxy desi
  162.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[20]) //Galaxy m4
  163.     }
  164.     else if(csomag[id] == 6){
  165.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[21]) //Metal ak
  166.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[22]) //Metal awp
  167.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[23]) //Metal desi
  168.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[24]) //Metal m4
  169.     }
  170.     else if(csomag[id] == 7){
  171.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[25]) //Star ak
  172.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[26]) //Star awp
  173.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[27]) //Star desi
  174.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[28]) //Star m4
  175.     }
  176.     else if(csomag[id] == 8){
  177.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[29]) //Star ak
  178.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[30]) //Star awp
  179.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[31]) //Star desi
  180.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[32]) //Star m4
  181.     }
  182.     else if(csomag[id] == 9){
  183.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[33]) //Ultra ak
  184.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[34]) //Ultra awp
  185.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[35]) //Ultra desi
  186.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[36]) //Ultra m4
  187.     }
  188.     if(knife[id] == 1 && fegyver == CSW_KNIFE){
  189.        
  190.         set_user_maxspeed(id, Float:320.0)
  191.         set_pev(id, pev_viewmodel2, ModelData[37]) //knife
  192.     }
  193.  
  194. }
  195. public spawn_event(id){
  196.     getfrag[0][id] = 0;
  197.     getfrag[1][id] = 0;
  198.     getfrag[2][id] = 0;
  199. }
  200. public sebzes_event(id)
  201. {
  202.     new tamado = get_user_attacker(id);
  203.     if(id == tamado  || !IsValidPlayers(id, tamado )) return;
  204.     getfrag[1][tamado] += read_data(2);
  205.  
  206.     if(!getfrag[2][id] && getfrag[1][tamado] >= 50)
  207.     {
  208.         getfrag[0][tamado] = id;
  209.         getfrag[2][id] = tamado;
  210.     }
  211. }
  212. public Halal() {
  213.    
  214.     new attacker = read_data(1)
  215.     new victim = read_data(2)
  216.    
  217.     new nev[32]
  218.     get_user_name(victim, nev, charsmax(nev))
  219.    
  220.     if(attacker == victim || attacker == 0)
  221.         return PLUGIN_HANDLED
  222.    
  223.     if(read_data( 3 )){
  224.         oles[attacker] += get_cvar_num("hs_recived");
  225.         ColorChat(attacker, GREEN, chatszoveg[0] ,prefix ,nev, get_cvar_num("hs_recived"))
  226.     }
  227.     else{
  228.         oles[attacker] += get_cvar_num("kill_recived");
  229.         ColorChat(attacker, GREEN, chatszoveg[1],prefix, nev, get_cvar_num("kill_recived"))
  230.     }
  231.     if(getfrag[2][victim] && getfrag[2][victim] != attacker){
  232.         new fragetkap = getfrag[2][victim];
  233.         new fragetkapneve[32];
  234.         getfrag[0][fragetkap] = 0;
  235.         getfrag[1][fragetkap] = 0;
  236.         getfrag[2][victim] = 0;
  237.         get_user_name(fragetkap, fragetkapneve, charsmax(fragetkapneve));
  238.         oles[fragetkap]++
  239.         ColorChat(0, GREEN, chatszoveg[2],prefix ,fragetkapneve);
  240.     }
  241.     switch(random_num(1,3)){
  242.         case 1: dropdobas()
  243.     }
  244.     return PLUGIN_HANDLED;
  245. }
  246. public dropdobas()
  247. {  
  248.     new victim = read_data( 2 );
  249.  
  250.     static Float:origin[ 3 ];
  251.     pev( victim, pev_origin, origin );
  252.  
  253.     new ent = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
  254.     origin[ 2 ] -= 36;
  255.     engfunc( EngFunc_SetOrigin, ent, origin );
  256.  
  257.     if( !pev_valid( ent ) )
  258.     {
  259.         return PLUGIN_HANDLED;
  260.     }
  261.    
  262.     set_pev( ent, pev_classname, "kredit" );
  263.     engfunc( EngFunc_SetModel, ent, "models/d2_bfs/pack/kredit.mdl" );
  264.     dllfunc( DLLFunc_Spawn, ent );
  265.     set_pev( ent, pev_solid, SOLID_BBOX );
  266.     set_pev( ent, pev_movetype, MOVETYPE_NONE );
  267.     engfunc( EngFunc_SetSize, ent, Float:{ -23.160000, -13.660000, -0.050000 }, Float:{ 11.470000, 12.780000, 6.720000 } );
  268.     engfunc( EngFunc_DropToFloor, ent );
  269.  
  270.     return PLUGIN_HANDLED;
  271. }
  272. public ForwardTouch( ent, id )
  273. {
  274.     if(pev_valid(ent))
  275.     {
  276.     new classname[ 32 ];
  277.     pev( ent, pev_classname, classname, charsmax( classname ) );
  278.  
  279.     if( !equal( classname, "kredit") )
  280.     {
  281.         return FMRES_IGNORED;
  282.     }
  283.  
  284.     kredit[id] += get_cvar_num("found_kredit");
  285.     ColorChat(id, GREEN, chatszoveg[3],prefix, get_cvar_num("found_kredit"));
  286.    
  287.     engfunc( EngFunc_RemoveEntity, ent );
  288.     }
  289.     return FMRES_IGNORED
  290. }
  291. public logevent_round_start()
  292. {
  293.     new hkt = FM_NULLENT;
  294.     while ( ( hkt = fm_find_ent_by_class( hkt, "kredit") ) )
  295.     {
  296.         engfunc( EngFunc_RemoveEntity, hkt );
  297.     }  
  298. }
  299. public fomenu(id)
  300. {
  301.     new String[96]
  302.     format(String, charsmax(String), "\r[NEW* -BfS] \wFĹ‘menĂĽ^n\yĂ–lĂ©sek: \d%i \w|\y Kreditek: \d%i", oles[id],kredit[id])
  303.     new menu = menu_create(String, "fomenu_MyMenu");
  304.  
  305.     menu_additem(menu, "Fegyver Skin Csomagok", "0");
  306.     menu_additem(menu, "JátĂ©kos InfĂłk", "1");
  307.     menu_additem(menu, "Pack InformáciĂłk", "2");
  308.     menu_additem(menu, "Vasarlas^n^n\y", "3");
  309.  
  310.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  311.     menu_setprop(menu, MPROP_EXITNAME, "\rKilĂ©pĂ©s");
  312.  
  313.     menu_display(id, menu, 0);
  314.  
  315.     return PLUGIN_HANDLED;
  316. }
  317.  
  318. public Bevaltas(id)
  319. {
  320.     new cim[121];
  321.     format(cim, charsmax(cim), "[New -BfS>>] \wOnly Dust2 \r- \dVasarlas^n\yKrediteid: \d%i^n\yPontok: \d%i^n\y%s", kredit[id],oles[id],keszito);
  322.     new menu = menu_create(cim, "Bevaltas_h");
  323.    
  324.     menu_additem(menu, "\w250 \yDB \wPontok \r- \d(200 Kredit)", "1", 0);
  325.     menu_additem(menu, "\w1000 \yDB \wPontok \r- \d(500 Kredit)", "2", 0);
  326.    
  327.     menu_display(id, menu, 0);
  328. }
  329. public Bevaltas_h(id, menu, item){
  330.     if(item == MENU_EXIT)
  331.     {
  332.         menu_destroy(menu);
  333.         return;
  334.     }
  335.    
  336.     new data[9], szName[64];
  337.     new access, callback;
  338.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  339.     new key = str_to_num(data);
  340.    
  341.     switch(key)
  342.     {
  343.         case 1:
  344.         {
  345.             if(kredit[id] >= 200)
  346.             {
  347.                 oles[id] += 250;
  348.                 kredit[id] -= 200;
  349.             }
  350.             else ColorChat(id, GREEN, "%s ^1Nincs elĂ©g ^4KREDITED.", prefix);
  351.         }
  352.         case 2:
  353.         {
  354.             if(kredit[id] >= 500)
  355.             {
  356.                 oles[id] += 1000;
  357.                 kredit[id] -= 500;
  358.             }
  359.             else ColorChat(id, GREEN, "%s ^1Nincs elĂ©g ^4KREDITED.", prefix);
  360.         }
  361.     }
  362. }
  363.  
  364. public fomenu_MyMenu(id, menu, item)
  365. {
  366.     if(item == MENU_EXIT)
  367.     {
  368.         menu_destroy(menu);
  369.         return PLUGIN_HANDLED;
  370.     }
  371.  
  372.     new command[6], name[64], access, callback;
  373.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  374.  
  375.     switch(item)
  376.     {
  377.         case 0: fegymenu(id)
  378.         case 1: playerinfo(id)
  379.         case 2: show_motd(id, "addons/amxmodx/configs/wssinfo.txt", "[NEW* -BfS] Infok")
  380.         case 3: Bevaltas(id)
  381.     }
  382.  
  383.     menu_destroy(menu);
  384.  
  385.     return PLUGIN_HANDLED;
  386. }
  387. public playerinfo(id)
  388. {  
  389.     new some[256], menu
  390.     static players[32],szTemp[10],pnum
  391.     get_players(players,pnum,"ch");
  392.  
  393.     formatex(some,255,"\r[NEW* -BfS] \wJátĂ©kos \d|\w Pont \d|\w Kredit");
  394.     menu = menu_create(some,"pinfo_Handler");
  395.  
  396.     for (new i; i < pnum; i++)
  397.     {
  398.         formatex(some,256,"%s \r(\yPontja: \w%i \d| \yKreditje: \w%i\r)",get_player_name(players[i]), oles[players[i]],kredit[players[i]]);
  399.         num_to_str(players[i],szTemp,charsmax(szTemp));
  400.         menu_additem(menu, some, szTemp);
  401.     }
  402.  
  403.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
  404.     menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");
  405.     menu_display(id, menu);
  406.     return PLUGIN_HANDLED;
  407. }
  408. public pinfo_Handler(id,menu, item)
  409. {
  410.     if(item == MENU_EXIT)
  411.     {
  412.         menu_destroy(menu);
  413.         return;
  414.     }
  415.  
  416.     playerinfo(id)
  417. }
  418. public fegymenu(id)
  419. {
  420.     new String[96]
  421.     format(String, charsmax(String), "\r[NEW* -BfS] \wSkin csomagok^n\yKiválasztott Csomag: \d[%s]", csomagmsg[csomag[id]])
  422.     new menu = menu_create(String, "fegymenu_handler" )
  423.  
  424.     format(String, charsmax(String), oles[id] >= need_kills[0] ? (menuszoveg[0][0]):(menuszoveg[0][1]), oles[id], need_kills[0]);
  425.     menu_additem(menu, String, "0" );
  426.     formatex(String, charsmax(String), oles[id] >= need_kills[1] ? (menuszoveg[1][0]):(menuszoveg[1][1]), oles[id], need_kills[1]);
  427.     menu_additem(menu, String, "1");
  428.     formatex(String, charsmax(String), oles[id] >= need_kills[2] ? (menuszoveg[2][0]):(menuszoveg[2][1]), oles[id], need_kills[2]);
  429.     menu_additem(menu, String, "2");
  430.     format(String, charsmax(String), oles[id] >= need_kills[3] ? (menuszoveg[3][0]):(menuszoveg[3][1]), oles[id], need_kills[3]);
  431.     menu_additem(menu, String, "3");
  432.     format(String, charsmax(String), oles[id] >= need_kills[4] ? (menuszoveg[4][0]):(menuszoveg[4][1]), oles[id], need_kills[4]);
  433.     menu_additem(menu, String, "4");
  434.     format(String, charsmax(String), oles[id] >= need_kills[5] ? (menuszoveg[5][0]):(menuszoveg[5][1]), oles[id], need_kills[5]);
  435.     menu_additem(menu, String, "5");
  436.     format(String, charsmax(String), oles[id] >= need_kills[6] ? (menuszoveg[6][0]):(menuszoveg[6][1]), oles[id], need_kills[6]);
  437.     menu_additem(menu, String, "6");
  438.     format(String, charsmax(String), oles[id] >= need_kills[7] ? (menuszoveg[7][0]):(menuszoveg[7][1]), oles[id], need_kills[7]);
  439.     menu_additem(menu, String, "7");
  440.     format(String, charsmax(String), oles[id] >= need_kills[8] ? (menuszoveg[8][0]):(menuszoveg[8][1]), oles[id], need_kills[8]);
  441.     menu_additem(menu, String, "8");
  442.     formatex(String, charsmax(String), kredit[id] >= need_kills[9] ? (menuszoveg[9][0]):(menuszoveg[9][1]), kredit[id], need_kills[9]);
  443.     menu_additem(menu, String, "9");
  444.     menu_additem(menu, switchbutton[id] == 1 ? (menuszoveg[10][0]):(menuszoveg[10][1]), "9");
  445.  
  446.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  447.     menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  448.     menu_setprop(menu, MPROP_NEXTNAME, "ElĹ‘re");
  449.     menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");
  450.  
  451.     menu_display(id, menu, 0);
  452.     return PLUGIN_HANDLED;
  453. }
  454. public fegymenu_handler(id, menu, item)
  455. {
  456.     if(item == MENU_EXIT)
  457.     {
  458.         menu_destroy(menu)
  459.         return PLUGIN_HANDLED;
  460.     }
  461.  
  462.     new command[6], name[64], access, callback;
  463.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  464.  
  465.     switch(item)
  466.     {
  467.         case 0: {
  468.             if(oles[id] >= need_kills[0]) {
  469.             csomag[id] = 1
  470.             ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  471.             }
  472.             else  {
  473.             ColorChat(id, GREEN, chatszoveg[5],prefix);
  474.             }
  475.         }
  476.         case 1: {
  477.             if(oles[id] >= need_kills[1]) {
  478.             csomag[id] = 2
  479.             ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  480.             }
  481.             else  {
  482.             ColorChat(id, GREEN, chatszoveg[5],prefix);
  483.             }
  484.         }
  485.         case 2: {
  486.             if(oles[id] >= need_kills[2]) {
  487.             csomag[id] = 3
  488.             ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  489.             }
  490.             else  {
  491.             ColorChat(id, GREEN, chatszoveg[5],prefix);
  492.             }
  493.         }
  494.         case 3: {
  495.             if(oles[id] >= need_kills[3]) {
  496.             csomag[id] = 4
  497.             ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  498.             }
  499.             else  {
  500.             ColorChat(id, GREEN, chatszoveg[5],prefix);
  501.             }
  502.         }
  503.         case 4: {
  504.             if(oles[id] >= need_kills[4]) {
  505.             csomag[id] = 5
  506.             ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  507.             }
  508.             else  {
  509.             ColorChat(id, GREEN, chatszoveg[5],prefix);
  510.             }
  511.         }
  512.         case 5: {
  513.             if(oles[id] >= need_kills[5]) {
  514.             csomag[id] = 6
  515.             ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  516.             }
  517.             else  {
  518.             ColorChat(id, GREEN, chatszoveg[5],prefix);
  519.             }
  520.         }
  521.         case 6: {
  522.             if(oles[id] >= need_kills[6]) {
  523.             csomag[id] = 7
  524.             ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  525.             }
  526.             else  {
  527.             ColorChat(id, GREEN, chatszoveg[5],prefix);
  528.             }
  529.         }
  530.         case 7: {
  531.             if(oles[id] >= need_kills[7]) {
  532.             csomag[id] = 8
  533.             ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  534.             }
  535.             else  {
  536.             ColorChat(id, GREEN, chatszoveg[5],prefix);
  537.             }
  538.         }
  539.         case 8: {
  540.             if(oles[id] >= need_kills[8]) {
  541.             csomag[id] = 9
  542.             ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  543.             }
  544.             else  {
  545.             ColorChat(id, GREEN, chatszoveg[5],prefix);
  546.             }
  547.         }
  548.         case 9: {
  549.             if(kredit[id] >= need_kills[9]) {
  550.             knife[id] = 1
  551.             ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[10]);
  552.             }
  553.             else  {
  554.             ColorChat(id, GREEN, chatszoveg[9],prefix);
  555.             }
  556.         }
  557.         case 10: {
  558.             if(switchbutton[id] == 0){
  559.             switchbutton[id] = 1
  560.             csomag[id] = 0
  561.             knife[id] = 0
  562.             ColorChat(id, GREEN, chatszoveg[6],prefix);
  563.             }
  564.             else {
  565.             switchbutton[id] = 0
  566.             ColorChat(id, GREEN, chatszoveg[7],prefix);
  567.             }
  568.         }
  569.         case 11: {
  570.             ColorChat(id, GREEN, chatszoveg[5],prefix);
  571.         }
  572.     }
  573.  
  574.     fegymenu(id)
  575.     return PLUGIN_HANDLED;
  576. }
  577. public infohud() {
  578.    
  579.     if(!get_cvar_num("wss_hudenable")) return PLUGIN_HANDLED
  580.    
  581.     static id
  582.     for(id = 1; id <= get_maxplayers(); id++)
  583.     {
  584.         if(is_user_alive(id)){
  585.             set_hudmessage(0, 127, 255, 0.01, 0.20, 0, 6.0, 1.0)
  586.             show_hudmessage(id, "[Pont: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[id],kredit[id],csomagmsg[csomag[id]], knifedisenable[knife[id]])
  587.         }
  588.         else{
  589.             new target = entity_get_int(id, EV_INT_iuser2);
  590.            
  591.             if(!target)
  592.             return PLUGIN_CONTINUE;
  593.                
  594.             set_hudmessage(255, 255, 255, 0.01, 0.20, 0, 6.0, 1.0)
  595.             show_hudmessage(id, "[Pont: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[target],kredit[target],csomagmsg[csomag[target]], knifedisenable[knife[target]])
  596.         }
  597.     }
  598.     return PLUGIN_CONTINUE;
  599. }
  600. stock get_player_name(id){
  601.     static szName[32];
  602.     get_user_name(id,szName,31);
  603.     return szName;
  604. }
  605. public client_disconnect(id){
  606.     if(is_user_bot(id)) return;
  607.    
  608.     save(id);
  609. }
  610. public client_putinserver( id ) {
  611.     if(is_user_bot(id)) return;
  612.    
  613.     oles[id] = 0;
  614.     kredit[id] = 0;
  615.     csomag[id] = 0;
  616.     switchbutton[id] = 0;
  617.     load(id);
  618. }
  619. load(id) {
  620.     new szAuthid[32], szData[32];
  621.     get_user_name( id, szAuthid, charsmax(szAuthid));
  622.     new s1[16],s2[16],s3[16],s4[16]
  623.     fvault_get_data( szVaultName, szAuthid, szData, 31 );
  624.     parse( szData, s1, 15, s2, 15 , s3 , 15, s4 ,15);
  625.     oles[id] = str_to_num(s1);
  626.     kredit[id] = str_to_num(s2);
  627.     csomag[id] = str_to_num(s3);
  628.     switchbutton[id] = str_to_num(s4);
  629. }
  630. save(id) {
  631.     new szAuthid[ 32 ], szData[ 32 ];
  632.     get_user_name( id, szAuthid, charsmax(szAuthid));
  633.    
  634.     formatex( szData, 31, "%i %i %i %i", oles[id], kredit[id], csomag[id], switchbutton[id]);
  635.     fvault_set_data( szVaultName, szAuthid, szData );
  636. }

_________________
BfS* #Team ~Global Offensive IP: 217.144.54.193:27148

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: 2 plugin össze írás + kredit
HozzászólásElküldve: 2016.11.12. 18:15 
Offline
Félisten
Avatar

Csatlakozott: 2016.03.06. 14:20
Hozzászólások: 964
Megköszönt másnak: 102 alkalommal
Megköszönték neki: 134 alkalommal
Próba szerencse! :)

  1. #include <amxmodx>
  2. #include <fun>
  3. #include <engine>
  4. #include <fakemeta>
  5. #include <hamsandwich>
  6. #include <fakemeta_util>
  7. #include <colorchat>
  8. #include <fvault>
  9. #include <nvault>
  10.  
  11. #include <dhudmessage>
  12.  
  13. #define PLUGIN "[WSS]"
  14. #define VERSION "1.0"
  15. #define AUTHOR "6almasok"
  16.  
  17. #define IsValidPlayers(%1,%2) ((1 <= %1 <= 32) && (1 <= %2 <= 32))
  18.  
  19. new oles[33],csomag[33], kredit[33],switchbutton[33],knife[33],getfrag[3][33]
  20. new ModelData[40][64], ModelNum, MaximumBtton
  21.  
  22. new felszedett[33],dobozszam,cvar,counter = 0, bool:megvan, bool:generalva,g_vault, eltunes
  23.  
  24. new const File[] = "addons/amxmodx/configs/asd.ini"
  25. new const szVaultName[] = "hjk_vault"
  26. new const prefix[] = "NEW* -BfS"
  27. new const keszito[] = "Vasarlas Menu By Kingston. -BfS."
  28.  
  29. /*Rust Kills | Silver Kills | Gold Kills | Veteran Kills | Knife Kredit*/
  30. new const need_kills[] = { 500, 1000, 2000, 4000, 4700, 5000, 6000, 6500, 7000, 500 }
  31.  
  32. /*Pack Names*/
  33. new const csomagmsg[11][] = { "Nincs","Rozsdás Csomag","Ezüst Csomag","Arany Csomag","Veterán Csomag","Galaxy Csomag","Metal Csomag","Star Csomag","Tuz Csomag","Ultra Csomag","Speed Knife" }
  34.  
  35. new const knifedisenable[2][] = { "Kikapcsolva", "Bekapcsolva" }
  36.  
  37. new const menuszoveg[][][] = {
  38.     {"Rozsdás Csomag \r[MEGSZEREZVE]", "\dRozsdás Csomag \r[%i/%i Pontok]"}, //0
  39.     {"EzĂĽst Csomag \r[MEGSZEREZVE]", "\dEzĂĽst Csomag \r[%i/%i Pontok]"}, //1
  40.     {"Arany Csomag \r[MEGSZEREZVE]", "\dArany Csomag \r[%i/%i Pontok]"}, //2
  41.     {"Veterán Csomag \r[MEGSZEREZVE]", "\dVeterán Csomag \r[%i/%i Pontok]"}, //3
  42.     {"Galaxy Csomag \r[MEGSZEREZVE]", "\dGalaxy Csomag \r[%i/%i Pontok]"}, //4
  43.     {"Metal Csomag \r[MEGSZEREZVE]", "\dMetal Csomag \r[%i/%i Pontok]"}, //5
  44.     {"Star Csomag \r[MEGSZEREZVE]", "\dStar Csomag \r[%i/%i Pontok]"}, //6
  45.     {"Tuz Csomag \r[MEGSZEREZVE]", "\dTuz Csomag \r[%i/%i Pontok]"}, //6
  46.     {"Ultra Csomag \r[MEGSZEREZVE]", "\dUltra Csomag \r[%i/%i Pontok]"}, //7
  47.     {"Speed Knife \r[MEGSZEREZVE]^n", "\dSpeed Knife \r[%i/%i Kredit]^n"}, //8
  48.     {"\ySkin Csomagok \r[KIKAPCSOLVA]", "\ySkin Csomagok \r[BEKAPCSOLVA]"} //9
  49. }
  50. new const chatszoveg[10][] =
  51. {
  52. "^4[%s]^1 FEJLÖVÉS!^3 %s ^1megöléséért kaptál ^3+%i^1 Pontot!",
  53. "^4[%s]^3 %s ^1megöléséért kaptál ^3+%i^1 Pontot!",
  54. "^4[%s]^3 %s ^1kapott ^3+1 ^1Pontot ember lesebzésért!",
  55. "^4[%s]^1 Találtál^3 +%i^1 kreditet a csomagbol!",
  56. "^4[%s]^1 Kiválasztottad a(z)^3 %s^1-ot!",
  57. "^4[%s]^1 Sajnos nincs elég Pontod!",
  58. "^4[%s]^1 Kikapcsoltad a Skin Csomagokat!",
  59. "^4[%s]^1 Bekapcsoltad a Skin Csomagokat!",
  60. "^4[%s]^1 A Szerveren Jelenleg a(z) ^3Skin rendszer^1 fut. Megnyitáshoz írd be ^3/menu^1.",
  61. "^4[%s]^1 Sajnos nincs elég kredited!"
  62. }
  63. new const ET_model[][] = {
  64.     "models/cyan.mdl",
  65.     "models/zold.mdl",
  66.     "models/narancs.mdl",
  67.     "models/pink.mdl",
  68.     "models/minden.mdl",
  69.     "models/voros.mdl",
  70.     "models/sarga.mdl"
  71. }
  72.  
  73. public plugin_init() {
  74. register_plugin(PLUGIN, VERSION, AUTHOR)
  75.  
  76.  
  77. /* Client Command */
  78. register_clcmd("say /menu" , "fomenu")
  79.  
  80. register_impulse(201, "fomenu")
  81. /* Events */
  82. register_event("CurWeapon", "changeweapon", "be", "1=1")
  83. register_event("Damage", "sebzes_event", "be", "2!0", "3=0", "4!0")
  84. register_event("DeathMsg","Halal","a")
  85.  
  86. /* Cvars */
  87. register_cvar("wss_hudenable", "1");
  88. register_cvar("wss_advertmp", "40.0");
  89. register_cvar("kill_recived", "1");
  90. register_cvar("hs_recived", "2");
  91. register_cvar("found_kredit", "1");
  92.  
  93. /* Other */
  94. register_forward(FM_Touch,"ForwardTouch" );
  95. RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
  96. register_touch("nyeremendoboz","player","remove")
  97. set_task(1.0, "infohud", 0, _, _, "b")
  98. set_task(get_cvar_float("wss_advertmp"), "advertist", 0, "", 0, "b", 0)
  99. set_task(30.0, "keszit",_,_,_,"b")
  100. set_task(1.0, "szamlalo",_,_,_,"b")
  101. set_task(random_float(30.0,60.0), "hirdetes",_,_,_,"b")
  102.  
  103. cvar = register_cvar("sv_maxdoboz", "1")
  104. eltunes = register_cvar("sv_eltunes", "30")
  105. g_vault = nvault_open("dobozok")
  106.  
  107. LoadModel();
  108. }
  109. public advertist(){
  110. ColorChat(0, GREEN, chatszoveg[8],prefix);
  111. return PLUGIN_HANDLED;
  112. }
  113. public plugin_precache() {
  114.  
  115. new Len, btton[196], Data[64], Letoltes[40][64];
  116. MaximumBtton = file_size(File, 1);
  117.  
  118. for(new Num = 0; Num < MaximumBtton; Num++){
  119.     read_file(File, Num, btton, 196, Len);
  120.     parse(btton, Data, 63);
  121.     remove_quotes(btton);
  122.     if(btton[0] == ';')
  123.     {
  124.         continue;
  125.     }
  126.     remove_quotes(Data);
  127.     format(Letoltes[Num], 63, "%s", Data);
  128.     precache_model(Letoltes[Num]);
  129. }
  130. precache_model("models/d2_bfs/pack/kredit.mdl");
  131. precache_model("models/cyan.mdl")
  132. precache_model("models/zold.mdl")
  133. precache_model("models/narancs.mdl")
  134. precache_model("models/pink.mdl")
  135. precache_model("models/minden.mdl")
  136. precache_model("models/voros.mdl")
  137. precache_model("models/sarga.mdl")
  138. }
  139. public LoadModel()
  140. {
  141. new Len, btton[196], Data[64];
  142. MaximumBtton = file_size(File, 1);
  143. for(new Num; Num < MaximumBtton; Num++){
  144.     ModelNum++;
  145.     read_file(File, Num, btton, 196, Len);
  146.     parse(btton, Data, 63);
  147.     remove_quotes(btton);
  148.     if(btton[0] == ';')
  149.     {
  150.         continue;
  151.     }
  152.     remove_quotes(Data);
  153.     format(ModelData[ModelNum], 63, "%s", Data);
  154. }
  155. }
  156. public changeweapon(id)
  157. {
  158. if(!is_user_alive(id) || !is_user_connected(id) || id < 1 || id > 32 || switchbutton[id] == 1)
  159.     return
  160.    
  161.     new fegyver = get_user_weapon(id)
  162.    
  163.     if(csomag[id] == 1){
  164.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[1]) //Rozsdas ak
  165.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[2]) //Rozsdas awp
  166.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[3]) //Rozsdas desi
  167.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[4]) //Rozsdas m4
  168.     }
  169.     else if(csomag[id] == 2){
  170.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[5]) //ezust ak
  171.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[6]) //ezust awp
  172.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[7]) //ezust desi
  173.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[8]) //ezust m4
  174.     }
  175.     else if(csomag[id] == 3){
  176.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[9]) //arany ak
  177.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[10]) //arany awp
  178.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[11]) //arany desi
  179.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[12]) //arany m4
  180.     }
  181.     else if(csomag[id] == 4){
  182.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[13]) //veteran ak
  183.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[14]) //veteran awp
  184.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[15]) //veteran desi
  185.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[16]) //veteran m4
  186.     }
  187.     else if(csomag[id] == 5){
  188.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[17]) //Galaxy ak
  189.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[18]) //Galaxy awp
  190.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[19]) //Galaxy desi
  191.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[20]) //Galaxy m4
  192.     }
  193.     else if(csomag[id] == 6){
  194.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[21]) //Metal ak
  195.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[22]) //Metal awp
  196.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[23]) //Metal desi
  197.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[24]) //Metal m4
  198.     }
  199.     else if(csomag[id] == 7){
  200.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[25]) //Star ak
  201.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[26]) //Star awp
  202.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[27]) //Star desi
  203.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[28]) //Star m4
  204.     }
  205.     else if(csomag[id] == 8){
  206.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[29]) //Star ak
  207.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[30]) //Star awp
  208.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[31]) //Star desi
  209.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[32]) //Star m4
  210.     }
  211.     else if(csomag[id] == 9){
  212.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[33]) //Ultra ak
  213.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[34]) //Ultra awp
  214.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[35]) //Ultra desi
  215.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[36]) //Ultra m4
  216.     }
  217.     if(knife[id] == 1 && fegyver == CSW_KNIFE){
  218.        
  219.         set_user_maxspeed(id, Float:320.0)
  220.         set_pev(id, pev_viewmodel2, ModelData[37]) //knife
  221.     }
  222.    
  223. }
  224. public spawn_event(id){
  225.     getfrag[0][id] = 0;
  226.     getfrag[1][id] = 0;
  227.     getfrag[2][id] = 0;
  228. }
  229. public sebzes_event(id)
  230. {
  231.     new tamado = get_user_attacker(id);
  232.     if(id == tamado  || !IsValidPlayers(id, tamado )) return;
  233.     getfrag[1][tamado] += read_data(2);
  234.    
  235.     if(!getfrag[2][id] && getfrag[1][tamado] >= 50)
  236.     {
  237.         getfrag[0][tamado] = id;
  238.         getfrag[2][id] = tamado;
  239.     }
  240. }
  241. public Halal() {
  242.    
  243.     new attacker = read_data(1)
  244.     new victim = read_data(2)
  245.    
  246.     new nev[32]
  247.     get_user_name(victim, nev, charsmax(nev))
  248.    
  249.     if(attacker == victim || attacker == 0)
  250.         return PLUGIN_HANDLED
  251.    
  252.     if(read_data( 3 )){
  253.         oles[attacker] += get_cvar_num("hs_recived");
  254.         ColorChat(attacker, GREEN, chatszoveg[0] ,prefix ,nev, get_cvar_num("hs_recived"))
  255.     }
  256.     else{
  257.         oles[attacker] += get_cvar_num("kill_recived");
  258.         ColorChat(attacker, GREEN, chatszoveg[1],prefix, nev, get_cvar_num("kill_recived"))
  259.     }
  260.     if(getfrag[2][victim] && getfrag[2][victim] != attacker){
  261.         new fragetkap = getfrag[2][victim];
  262.         new fragetkapneve[32];
  263.         getfrag[0][fragetkap] = 0;
  264.         getfrag[1][fragetkap] = 0;
  265.         getfrag[2][victim] = 0;
  266.         get_user_name(fragetkap, fragetkapneve, charsmax(fragetkapneve));
  267.         oles[fragetkap]++
  268.         ColorChat(0, GREEN, chatszoveg[2],prefix ,fragetkapneve);
  269.     }
  270.     switch(random_num(1,3)){
  271.         case 1: dropdobas()
  272.         }
  273.     return PLUGIN_HANDLED;
  274. }
  275. public dropdobas()
  276. {  
  277.     new victim = read_data( 2 );
  278.    
  279.     static Float:origin[ 3 ];
  280.     pev( victim, pev_origin, origin );
  281.    
  282.     new ent = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
  283.     origin[ 2 ] -= 36;
  284.     engfunc( EngFunc_SetOrigin, ent, origin );
  285.    
  286.     if( !pev_valid( ent ) )
  287.     {
  288.         return PLUGIN_HANDLED;
  289.     }
  290.    
  291.     set_pev( ent, pev_classname, "kredit" );
  292.     engfunc( EngFunc_SetModel, ent, "models/d2_bfs/pack/kredit.mdl" );
  293.     dllfunc( DLLFunc_Spawn, ent );
  294.     set_pev( ent, pev_solid, SOLID_BBOX );
  295.     set_pev( ent, pev_movetype, MOVETYPE_NONE );
  296.     engfunc( EngFunc_SetSize, ent, Float:{ -23.160000, -13.660000, -0.050000 }, Float:{ 11.470000, 12.780000, 6.720000 } );
  297.     engfunc( EngFunc_DropToFloor, ent );
  298.    
  299.     return PLUGIN_HANDLED;
  300. }
  301. public ForwardTouch( ent, id )
  302. {
  303.     if(pev_valid(ent))
  304.     {
  305.         new classname[ 32 ];
  306.         pev( ent, pev_classname, classname, charsmax( classname ) );
  307.        
  308.         if( !equal( classname, "kredit") )
  309.         {
  310.             return FMRES_IGNORED;
  311.         }
  312.        
  313.         kredit[id] += get_cvar_num("found_kredit");
  314.         ColorChat(id, GREEN, chatszoveg[3],prefix, get_cvar_num("found_kredit"));
  315.        
  316.         engfunc( EngFunc_RemoveEntity, ent );
  317.     }
  318.     return FMRES_IGNORED
  319. }
  320. public logevent_round_start()
  321. {
  322.     new hkt = FM_NULLENT;
  323.     while ( ( hkt = fm_find_ent_by_class( hkt, "kredit") ) )
  324.     {
  325.         engfunc( EngFunc_RemoveEntity, hkt );
  326.     }  
  327. }
  328. public fomenu(id)
  329. {
  330.     new String[96]
  331.     format(String, charsmax(String), "\r[NEW* -BfS] \wFĹ‘menĂĽ^n\yĂ–lĂ©sek: \d%i \w|\y Kreditek: \d%i", oles[id],kredit[id])
  332.     new menu = menu_create(String, "fomenu_MyMenu");
  333.    
  334.     menu_additem(menu, "Fegyver Skin Csomagok", "0");
  335.     menu_additem(menu, "JátĂ©kos InfĂłk", "1");
  336.     menu_additem(menu, "Pack InformáciĂłk", "2");
  337.     menu_additem(menu, "Vasarlas^n^n\y", "3");
  338.    
  339.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  340.     menu_setprop(menu, MPROP_EXITNAME, "\rKilĂ©pĂ©s");
  341.    
  342.     menu_display(id, menu, 0);
  343.    
  344.     return PLUGIN_HANDLED;
  345. }
  346.  
  347. public Bevaltas(id)
  348. {
  349.     new cim[121];
  350.     format(cim, charsmax(cim), "[New -BfS>>] \wOnly Dust2 \r- \dVasarlas^n\yKrediteid: \d%i^n\yPontok: \d%i^n\y%s", kredit[id],oles[id],keszito);
  351.     new menu = menu_create(cim, "Bevaltas_h");
  352.    
  353.     menu_additem(menu, "\w250 \yDB \wPontok \r- \d(200 Kredit)", "1", 0);
  354.     menu_additem(menu, "\w1000 \yDB \wPontok \r- \d(500 Kredit)", "2", 0);
  355.    
  356.     menu_display(id, menu, 0);
  357. }
  358. public Bevaltas_h(id, menu, item){
  359.     if(item == MENU_EXIT)
  360.     {
  361.         menu_destroy(menu);
  362.         return;
  363.     }
  364.    
  365.     new data[9], szName[64];
  366.     new access, callback;
  367.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  368.     new key = str_to_num(data);
  369.    
  370.     switch(key)
  371.     {
  372.         case 1:
  373.         {
  374.             if(kredit[id] >= 200)
  375.             {
  376.                 oles[id] += 250;
  377.                 kredit[id] -= 200;
  378.             }
  379.             else ColorChat(id, GREEN, "%s ^1Nincs elĂ©g ^4KREDITED.", prefix);
  380.         }
  381.         case 2:
  382.         {
  383.             if(kredit[id] >= 500)
  384.             {
  385.                 oles[id] += 1000;
  386.                 kredit[id] -= 500;
  387.             }
  388.             else ColorChat(id, GREEN, "%s ^1Nincs elĂ©g ^4KREDITED.", prefix);
  389.         }
  390.     }
  391. }
  392.  
  393. public fomenu_MyMenu(id, menu, item)
  394. {
  395.     if(item == MENU_EXIT)
  396.     {
  397.         menu_destroy(menu);
  398.         return PLUGIN_HANDLED;
  399.     }
  400.    
  401.     new command[6], name[64], access, callback;
  402.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  403.    
  404.     switch(item)
  405.     {
  406.         case 0: fegymenu(id)
  407.             case 1: playerinfo(id)
  408.             case 2: show_motd(id, "addons/amxmodx/configs/wssinfo.txt", "[NEW* -BfS] Infok")
  409.             case 3: Bevaltas(id)
  410.         }
  411.    
  412.     menu_destroy(menu);
  413.    
  414.     return PLUGIN_HANDLED;
  415. }
  416. public playerinfo(id)
  417. {  
  418.     new some[256], menu
  419.     static players[32],szTemp[10],pnum
  420.     get_players(players,pnum,"ch");
  421.    
  422.     formatex(some,255,"\r[NEW* -BfS] \wJátĂ©kos \d|\w Pont \d|\w Kredit");
  423.     menu = menu_create(some,"pinfo_Handler");
  424.    
  425.     for (new i; i < pnum; i++)
  426.     {
  427.         formatex(some,256,"%s \r(\yPontja: \w%i \d| \yKreditje: \w%i\r)",get_player_name(players[i]), oles[players[i]],kredit[players[i]]);
  428.         num_to_str(players[i],szTemp,charsmax(szTemp));
  429.         menu_additem(menu, some, szTemp);
  430.     }
  431.    
  432.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
  433.     menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");
  434.     menu_display(id, menu);
  435.     return PLUGIN_HANDLED;
  436. }
  437. public pinfo_Handler(id,menu, item)
  438. {
  439.     if(item == MENU_EXIT)
  440.     {
  441.         menu_destroy(menu);
  442.         return;
  443.     }
  444.    
  445.     playerinfo(id)
  446. }
  447. public fegymenu(id)
  448. {
  449.     new String[96]
  450.     format(String, charsmax(String), "\r[NEW* -BfS] \wSkin csomagok^n\yKiválasztott Csomag: \d[%s]", csomagmsg[csomag[id]])
  451.     new menu = menu_create(String, "fegymenu_handler" )
  452.    
  453.     format(String, charsmax(String), oles[id] >= need_kills[0] ? (menuszoveg[0][0]):(menuszoveg[0][1]), oles[id], need_kills[0]);
  454.     menu_additem(menu, String, "0" );
  455.     formatex(String, charsmax(String), oles[id] >= need_kills[1] ? (menuszoveg[1][0]):(menuszoveg[1][1]), oles[id], need_kills[1]);
  456.     menu_additem(menu, String, "1");
  457.     formatex(String, charsmax(String), oles[id] >= need_kills[2] ? (menuszoveg[2][0]):(menuszoveg[2][1]), oles[id], need_kills[2]);
  458.     menu_additem(menu, String, "2");
  459.     format(String, charsmax(String), oles[id] >= need_kills[3] ? (menuszoveg[3][0]):(menuszoveg[3][1]), oles[id], need_kills[3]);
  460.     menu_additem(menu, String, "3");
  461.     format(String, charsmax(String), oles[id] >= need_kills[4] ? (menuszoveg[4][0]):(menuszoveg[4][1]), oles[id], need_kills[4]);
  462.     menu_additem(menu, String, "4");
  463.     format(String, charsmax(String), oles[id] >= need_kills[5] ? (menuszoveg[5][0]):(menuszoveg[5][1]), oles[id], need_kills[5]);
  464.     menu_additem(menu, String, "5");
  465.     format(String, charsmax(String), oles[id] >= need_kills[6] ? (menuszoveg[6][0]):(menuszoveg[6][1]), oles[id], need_kills[6]);
  466.     menu_additem(menu, String, "6");
  467.     format(String, charsmax(String), oles[id] >= need_kills[7] ? (menuszoveg[7][0]):(menuszoveg[7][1]), oles[id], need_kills[7]);
  468.     menu_additem(menu, String, "7");
  469.     format(String, charsmax(String), oles[id] >= need_kills[8] ? (menuszoveg[8][0]):(menuszoveg[8][1]), oles[id], need_kills[8]);
  470.     menu_additem(menu, String, "8");
  471.     formatex(String, charsmax(String), kredit[id] >= need_kills[9] ? (menuszoveg[9][0]):(menuszoveg[9][1]), kredit[id], need_kills[9]);
  472.     menu_additem(menu, String, "9");
  473.     menu_additem(menu, switchbutton[id] == 1 ? (menuszoveg[10][0]):(menuszoveg[10][1]), "9");
  474.    
  475.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  476.     menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  477.     menu_setprop(menu, MPROP_NEXTNAME, "ElĹ‘re");
  478.     menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");
  479.    
  480.     menu_display(id, menu, 0);
  481.     return PLUGIN_HANDLED;
  482. }
  483. public fegymenu_handler(id, menu, item)
  484. {
  485.     if(item == MENU_EXIT)
  486.     {
  487.         menu_destroy(menu)
  488.         return PLUGIN_HANDLED;
  489.     }
  490.    
  491.     new command[6], name[64], access, callback;
  492.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  493.    
  494.     switch(item)
  495.     {
  496.         case 0: {
  497.             if(oles[id] >= need_kills[0]) {
  498.                 csomag[id] = 1
  499.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  500.             }
  501.             else  {
  502.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  503.             }
  504.         }
  505.         case 1: {
  506.             if(oles[id] >= need_kills[1]) {
  507.                 csomag[id] = 2
  508.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  509.             }
  510.             else  {
  511.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  512.             }
  513.         }
  514.         case 2: {
  515.             if(oles[id] >= need_kills[2]) {
  516.                 csomag[id] = 3
  517.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  518.             }
  519.             else  {
  520.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  521.             }
  522.         }
  523.         case 3: {
  524.             if(oles[id] >= need_kills[3]) {
  525.                 csomag[id] = 4
  526.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  527.             }
  528.             else  {
  529.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  530.             }
  531.         }
  532.         case 4: {
  533.             if(oles[id] >= need_kills[4]) {
  534.                 csomag[id] = 5
  535.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  536.             }
  537.             else  {
  538.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  539.             }
  540.         }
  541.         case 5: {
  542.             if(oles[id] >= need_kills[5]) {
  543.                 csomag[id] = 6
  544.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  545.             }
  546.             else  {
  547.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  548.             }
  549.         }
  550.         case 6: {
  551.             if(oles[id] >= need_kills[6]) {
  552.                 csomag[id] = 7
  553.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  554.             }
  555.             else  {
  556.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  557.             }
  558.         }
  559.         case 7: {
  560.             if(oles[id] >= need_kills[7]) {
  561.                 csomag[id] = 8
  562.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  563.             }
  564.             else  {
  565.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  566.             }
  567.         }
  568.         case 8: {
  569.             if(oles[id] >= need_kills[8]) {
  570.                 csomag[id] = 9
  571.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  572.             }
  573.             else  {
  574.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  575.             }
  576.         }
  577.         case 9: {
  578.             if(kredit[id] >= need_kills[9]) {
  579.                 knife[id] = 1
  580.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[10]);
  581.             }
  582.             else  {
  583.                 ColorChat(id, GREEN, chatszoveg[9],prefix);
  584.             }
  585.         }
  586.         case 10: {
  587.             if(switchbutton[id] == 0){
  588.                 switchbutton[id] = 1
  589.                     csomag[id] = 0
  590.                 knife[id] = 0
  591.                 ColorChat(id, GREEN, chatszoveg[6],prefix);
  592.             }
  593.             else {
  594.                 switchbutton[id] = 0
  595.                     ColorChat(id, GREEN, chatszoveg[7],prefix);
  596.             }
  597.         }
  598.         case 11: {
  599.             ColorChat(id, GREEN, chatszoveg[5],prefix);
  600.         }
  601.     }
  602.    
  603.     fegymenu(id)
  604.     return PLUGIN_HANDLED;
  605. }
  606. public infohud() {
  607.    
  608.     if(!get_cvar_num("wss_hudenable")) return PLUGIN_HANDLED
  609.    
  610.     static id
  611.     for(id = 1; id <= get_maxplayers(); id++)
  612.     {
  613.         if(is_user_alive(id)){
  614.             set_hudmessage(0, 127, 255, 0.01, 0.20, 0, 6.0, 1.0)
  615.             show_hudmessage(id, "[Pont: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[id],kredit[id],csomagmsg[csomag[id]], knifedisenable[knife[id]])
  616.         }
  617.         else{
  618.             new target = entity_get_int(id, EV_INT_iuser2);
  619.            
  620.             if(!target)
  621.                 return PLUGIN_CONTINUE;
  622.            
  623.             set_hudmessage(255, 255, 255, 0.01, 0.20, 0, 6.0, 1.0)
  624.             show_hudmessage(id, "[Pont: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[target],kredit[target],csomagmsg[csomag[target]], knifedisenable[knife[target]])
  625.         }
  626.     }
  627.     return PLUGIN_CONTINUE;
  628. }
  629. stock get_player_name(id){
  630.     static szName[32];
  631.     get_user_name(id,szName,31);
  632.     return szName;
  633. }
  634. public client_disconnect(id)
  635. {
  636.     if(is_user_bot(id)) return;
  637.     mentes(id)
  638.     save(id);
  639. }
  640. public client_putinserver( id ) {
  641.     if(is_user_bot(id)) return;
  642.    
  643.     oles[id] = 0;
  644.     kredit[id] = 0;
  645.     csomag[id] = 0;
  646.     switchbutton[id] = 0;
  647.         load(id);
  648. }
  649. public client_connect(id)
  650. {
  651.     betoltes(id)
  652.     load(id)
  653. }
  654. public mentes(id)
  655. {
  656.     new name[32]
  657.     get_user_name(id, name, 31)
  658.    
  659.     new vaultkey[64],vaultdata[256]
  660.     format(vaultkey,63,"%s_dobozok", name)
  661.     format(vaultdata,255,"%i",felszedett[id])
  662.    
  663.    
  664.     nvault_set(g_vault,vaultkey,vaultdata)
  665.     return PLUGIN_CONTINUE
  666. }
  667. public betoltes(id)
  668. {
  669.     new name[32]
  670.     get_user_name(id, name, 31)
  671.     new vaultkey[64],vaultdata[256]
  672.     format(vaultkey,63,"%s_dobozok", name)
  673.     format(vaultdata,255,"%i",felszedett[id])
  674.     nvault_get(g_vault,vaultkey,vaultdata,255)
  675.     replace_all(vaultdata, 255, "#", " ")
  676.     new szedett[32]
  677.     parse(vaultdata, szedett, 31)
  678.     felszedett[id] = str_to_num(szedett)
  679.     return PLUGIN_CONTINUE
  680. }
  681. load(id) {
  682.     new szAuthid[32], szData[32];
  683.     get_user_name( id, szAuthid, charsmax(szAuthid));
  684.     new s1[16],s2[16],s3[16],s4[16]
  685.     fvault_get_data( szVaultName, szAuthid, szData, 31 );
  686.     parse( szData, s1, 15, s2, 15 , s3 , 15, s4 ,15);
  687.     oles[id] = str_to_num(s1);
  688.     kredit[id] = str_to_num(s2);
  689.     csomag[id] = str_to_num(s3);
  690.     switchbutton[id] = str_to_num(s4);
  691.     }
  692. save(id) {
  693.     new szAuthid[ 32 ], szData[ 32 ];
  694.     get_user_name( id, szAuthid, charsmax(szAuthid));
  695.    
  696.     formatex( szData, 31, "%i %i %i %i", oles[id], kredit[id], csomag[id], switchbutton[id]);
  697.     fvault_set_data( szVaultName, szAuthid, szData );
  698. }
  699. ///// BELE ÍRVA : ////////////
  700. public szamlalo(id)
  701. {
  702.     if(generalva == true) {
  703.         counter++
  704.     }
  705.     if(megvan == true) {
  706.         counter = 0
  707.     }
  708.     if(counter > get_pcvar_num(eltunes) && generalva == true)
  709.     {
  710.         new target = find_ent_by_class(target, "nyeremendoboz")
  711.         engfunc(EngFunc_RemoveEntity, target)
  712.         dobozszam--
  713.         counter = 0
  714.         generalva = false
  715.         switch(random_num(1,2)) {
  716.             case 1: {
  717.                 ColorChat(0, RED, "Ezt a dobozt sajnos nem sikerult megtalalnotok :(")
  718.             }
  719.             case 2: {
  720.                 ColorChat(0, GREEN, "Ezt a dobozt sajnos nem sikerult megtalalnotok :(")
  721.             }
  722.            
  723.         }
  724.        
  725.     }
  726. }
  727.  
  728. public keszit(id)
  729. {
  730.     if(dobozszam < get_pcvar_num(cvar)) {  
  731.         new inifile[192], map[32]
  732.         get_mapname(map, 31)
  733.         formatex(inifile, charsmax(inifile), "addons/amxmodx/configs/csdm/%s.spawns.cfg", map)
  734.         new Float:origin[3]
  735.         new elsopoz[8], masodikpoz[8], harmadikpoz[8]
  736.         new lines = file_size(inifile, 1)
  737.         if(lines > 0)
  738.         {
  739.             new randomLine = random(lines);
  740.             new lineBuffer[256], len;
  741.             read_file(inifile, randomLine, lineBuffer, charsmax(lineBuffer), len);
  742.             parse(lineBuffer, elsopoz, 7, masodikpoz, 7, harmadikpoz, 7)
  743.            
  744.             origin[0] = str_to_float(elsopoz)
  745.             origin[1] = str_to_float(masodikpoz)
  746.             origin[2] = str_to_float(harmadikpoz)
  747.         }
  748.        
  749.        
  750.         new ent = create_entity("info_target")
  751.         set_pev(ent, pev_classname, "nyeremendoboz")
  752.         entity_set_model(ent, ET_model[random(sizeof(ET_model))])
  753.        
  754.         set_pev(ent,pev_solid, SOLID_BBOX)
  755.         set_pev(ent, pev_movetype, MOVETYPE_TOSS)
  756.         engfunc(EngFunc_SetOrigin, ent, origin)
  757.         engfunc(EngFunc_SetSize, ent, Float:{-10.0,-10.0,0.0}, Float:{10.0,10.0,25.0})
  758.         engfunc(EngFunc_DropToFloor, ent)
  759.         fm_set_rendering(ent, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 16);
  760.         switch(random_num(1,2)) {
  761.             case 1: {
  762.                 ColorChat(0, RED, "Uj doboz jelent meg keressetek!!!!!!!")
  763.             }
  764.             case 2: {
  765.                 ColorChat(0, GREEN, "Uj doboz jelent meg keressetek!!!!!!!")
  766.             }
  767.            
  768.         }
  769.         dobozszam++
  770.         megvan = false
  771.         generalva = true
  772.     }
  773.     return PLUGIN_CONTINUE
  774. }
  775. public client_PreThink(id)
  776. {
  777.     set_hudmessage(127, 255, 170, 0.0, 0.19, 0, 6.0, 1.0)
  778.     show_hudmessage(id, "Megtalalt dobozok: %d", felszedett[id])
  779.    
  780. }
  781.  
  782. public hirdetes()
  783. {
  784.     ColorChat(0, GREEN, "A Nyeremenyjatek plugint ^3qKKKJ;> ^4keszitette!")
  785. }
  786.  
  787. public remove(ent, id)
  788. {
  789.     if(is_user_alive(id)) {
  790.        
  791.        
  792.         felszedett[id]++
  793.         dobozszam--
  794.         new nev[32]
  795.         get_user_name(id, nev, 31)
  796.         switch(random_num(1,2)) {
  797.             case 1: {
  798.                 ColorChat(0, RED, "%s talalt +15 kreditet!", nev)
  799.                 kredit[id] += 15
  800.             }
  801.             case 2: {
  802.                 ColorChat(0, GREEN, "%s nem talalt lofaszt sem!", nev)
  803.             }
  804.            
  805.         }
  806.         engfunc(EngFunc_RemoveEntity, ent)
  807.         megvan = true
  808.         generalva = false
  809.     }
  810.     return PLUGIN_HANDLED
  811. }
  812. stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
  813. {
  814.     static Float:color[3]
  815.     color[0] = float(r)
  816.     color[1] = float(g)
  817.     color[2] = float(b)
  818.    
  819.     set_pev(entity, pev_renderfx, fx)
  820.     set_pev(entity, pev_rendercolor, color)
  821.     set_pev(entity, pev_rendermode, render)
  822.     set_pev(entity, pev_renderamt, float(amount))
  823. }

_________________
 ! Moderátori megjegyzés (kiki):
Kérlek csekkold az aláírásra vonatkozó szabályokat!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: 2 plugin össze írás + kredit
HozzászólásElküldve: 2016.11.13. 16:12 
Offline
Jómunkásember

Csatlakozott: 2016.06.20. 10:23
Hozzászólások: 489
Megköszönt másnak: 47 alkalommal
Megköszönték neki: 15 alkalommal
Be errorozott.
The Peace írta:
Próba szerencse! :)

  1. #include <amxmodx>
  2. #include <fun>
  3. #include <engine>
  4. #include <fakemeta>
  5. #include <hamsandwich>
  6. #include <fakemeta_util>
  7. #include <colorchat>
  8. #include <fvault>
  9. #include <nvault>
  10.  
  11. #include <dhudmessage>
  12.  
  13. #define PLUGIN "[WSS]"
  14. #define VERSION "1.0"
  15. #define AUTHOR "6almasok"
  16.  
  17. #define IsValidPlayers(%1,%2) ((1 <= %1 <= 32) && (1 <= %2 <= 32))
  18.  
  19. new oles[33],csomag[33], kredit[33],switchbutton[33],knife[33],getfrag[3][33]
  20. new ModelData[40][64], ModelNum, MaximumBtton
  21.  
  22. new felszedett[33],dobozszam,cvar,counter = 0, bool:megvan, bool:generalva,g_vault, eltunes
  23.  
  24. new const File[] = "addons/amxmodx/configs/asd.ini"
  25. new const szVaultName[] = "hjk_vault"
  26. new const prefix[] = "NEW* -BfS"
  27. new const keszito[] = "Vasarlas Menu By Kingston. -BfS."
  28.  
  29. /*Rust Kills | Silver Kills | Gold Kills | Veteran Kills | Knife Kredit*/
  30. new const need_kills[] = { 500, 1000, 2000, 4000, 4700, 5000, 6000, 6500, 7000, 500 }
  31.  
  32. /*Pack Names*/
  33. new const csomagmsg[11][] = { "Nincs","Rozsdás Csomag","Ezüst Csomag","Arany Csomag","Veterán Csomag","Galaxy Csomag","Metal Csomag","Star Csomag","Tuz Csomag","Ultra Csomag","Speed Knife" }
  34.  
  35. new const knifedisenable[2][] = { "Kikapcsolva", "Bekapcsolva" }
  36.  
  37. new const menuszoveg[][][] = {
  38.     {"Rozsdás Csomag \r[MEGSZEREZVE]", "\dRozsdás Csomag \r[%i/%i Pontok]"}, //0
  39.     {"EzĂĽst Csomag \r[MEGSZEREZVE]", "\dEzĂĽst Csomag \r[%i/%i Pontok]"}, //1
  40.     {"Arany Csomag \r[MEGSZEREZVE]", "\dArany Csomag \r[%i/%i Pontok]"}, //2
  41.     {"Veterán Csomag \r[MEGSZEREZVE]", "\dVeterán Csomag \r[%i/%i Pontok]"}, //3
  42.     {"Galaxy Csomag \r[MEGSZEREZVE]", "\dGalaxy Csomag \r[%i/%i Pontok]"}, //4
  43.     {"Metal Csomag \r[MEGSZEREZVE]", "\dMetal Csomag \r[%i/%i Pontok]"}, //5
  44.     {"Star Csomag \r[MEGSZEREZVE]", "\dStar Csomag \r[%i/%i Pontok]"}, //6
  45.     {"Tuz Csomag \r[MEGSZEREZVE]", "\dTuz Csomag \r[%i/%i Pontok]"}, //6
  46.     {"Ultra Csomag \r[MEGSZEREZVE]", "\dUltra Csomag \r[%i/%i Pontok]"}, //7
  47.     {"Speed Knife \r[MEGSZEREZVE]^n", "\dSpeed Knife \r[%i/%i Kredit]^n"}, //8
  48.     {"\ySkin Csomagok \r[KIKAPCSOLVA]", "\ySkin Csomagok \r[BEKAPCSOLVA]"} //9
  49. }
  50. new const chatszoveg[10][] =
  51. {
  52. "^4[%s]^1 FEJLÖVÉS!^3 %s ^1megöléséért kaptál ^3+%i^1 Pontot!",
  53. "^4[%s]^3 %s ^1megöléséért kaptál ^3+%i^1 Pontot!",
  54. "^4[%s]^3 %s ^1kapott ^3+1 ^1Pontot ember lesebzésért!",
  55. "^4[%s]^1 Találtál^3 +%i^1 kreditet a csomagbol!",
  56. "^4[%s]^1 Kiválasztottad a(z)^3 %s^1-ot!",
  57. "^4[%s]^1 Sajnos nincs elég Pontod!",
  58. "^4[%s]^1 Kikapcsoltad a Skin Csomagokat!",
  59. "^4[%s]^1 Bekapcsoltad a Skin Csomagokat!",
  60. "^4[%s]^1 A Szerveren Jelenleg a(z) ^3Skin rendszer^1 fut. Megnyitáshoz írd be ^3/menu^1.",
  61. "^4[%s]^1 Sajnos nincs elég kredited!"
  62. }
  63. new const ET_model[][] = {
  64.     "models/cyan.mdl",
  65.     "models/zold.mdl",
  66.     "models/narancs.mdl",
  67.     "models/pink.mdl",
  68.     "models/minden.mdl",
  69.     "models/voros.mdl",
  70.     "models/sarga.mdl"
  71. }
  72.  
  73. public plugin_init() {
  74. register_plugin(PLUGIN, VERSION, AUTHOR)
  75.  
  76.  
  77. /* Client Command */
  78. register_clcmd("say /menu" , "fomenu")
  79.  
  80. register_impulse(201, "fomenu")
  81. /* Events */
  82. register_event("CurWeapon", "changeweapon", "be", "1=1")
  83. register_event("Damage", "sebzes_event", "be", "2!0", "3=0", "4!0")
  84. register_event("DeathMsg","Halal","a")
  85.  
  86. /* Cvars */
  87. register_cvar("wss_hudenable", "1");
  88. register_cvar("wss_advertmp", "40.0");
  89. register_cvar("kill_recived", "1");
  90. register_cvar("hs_recived", "2");
  91. register_cvar("found_kredit", "1");
  92.  
  93. /* Other */
  94. register_forward(FM_Touch,"ForwardTouch" );
  95. RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
  96. register_touch("nyeremendoboz","player","remove")
  97. set_task(1.0, "infohud", 0, _, _, "b")
  98. set_task(get_cvar_float("wss_advertmp"), "advertist", 0, "", 0, "b", 0)
  99. set_task(30.0, "keszit",_,_,_,"b")
  100. set_task(1.0, "szamlalo",_,_,_,"b")
  101. set_task(random_float(30.0,60.0), "hirdetes",_,_,_,"b")
  102.  
  103. cvar = register_cvar("sv_maxdoboz", "1")
  104. eltunes = register_cvar("sv_eltunes", "30")
  105. g_vault = nvault_open("dobozok")
  106.  
  107. LoadModel();
  108. }
  109. public advertist(){
  110. ColorChat(0, GREEN, chatszoveg[8],prefix);
  111. return PLUGIN_HANDLED;
  112. }
  113. public plugin_precache() {
  114.  
  115. new Len, btton[196], Data[64], Letoltes[40][64];
  116. MaximumBtton = file_size(File, 1);
  117.  
  118. for(new Num = 0; Num < MaximumBtton; Num++){
  119.     read_file(File, Num, btton, 196, Len);
  120.     parse(btton, Data, 63);
  121.     remove_quotes(btton);
  122.     if(btton[0] == ';')
  123.     {
  124.         continue;
  125.     }
  126.     remove_quotes(Data);
  127.     format(Letoltes[Num], 63, "%s", Data);
  128.     precache_model(Letoltes[Num]);
  129. }
  130. precache_model("models/d2_bfs/pack/kredit.mdl");
  131. precache_model("models/cyan.mdl")
  132. precache_model("models/zold.mdl")
  133. precache_model("models/narancs.mdl")
  134. precache_model("models/pink.mdl")
  135. precache_model("models/minden.mdl")
  136. precache_model("models/voros.mdl")
  137. precache_model("models/sarga.mdl")
  138. }
  139. public LoadModel()
  140. {
  141. new Len, btton[196], Data[64];
  142. MaximumBtton = file_size(File, 1);
  143. for(new Num; Num < MaximumBtton; Num++){
  144.     ModelNum++;
  145.     read_file(File, Num, btton, 196, Len);
  146.     parse(btton, Data, 63);
  147.     remove_quotes(btton);
  148.     if(btton[0] == ';')
  149.     {
  150.         continue;
  151.     }
  152.     remove_quotes(Data);
  153.     format(ModelData[ModelNum], 63, "%s", Data);
  154. }
  155. }
  156. public changeweapon(id)
  157. {
  158. if(!is_user_alive(id) || !is_user_connected(id) || id < 1 || id > 32 || switchbutton[id] == 1)
  159.     return
  160.    
  161.     new fegyver = get_user_weapon(id)
  162.    
  163.     if(csomag[id] == 1){
  164.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[1]) //Rozsdas ak
  165.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[2]) //Rozsdas awp
  166.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[3]) //Rozsdas desi
  167.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[4]) //Rozsdas m4
  168.     }
  169.     else if(csomag[id] == 2){
  170.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[5]) //ezust ak
  171.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[6]) //ezust awp
  172.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[7]) //ezust desi
  173.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[8]) //ezust m4
  174.     }
  175.     else if(csomag[id] == 3){
  176.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[9]) //arany ak
  177.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[10]) //arany awp
  178.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[11]) //arany desi
  179.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[12]) //arany m4
  180.     }
  181.     else if(csomag[id] == 4){
  182.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[13]) //veteran ak
  183.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[14]) //veteran awp
  184.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[15]) //veteran desi
  185.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[16]) //veteran m4
  186.     }
  187.     else if(csomag[id] == 5){
  188.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[17]) //Galaxy ak
  189.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[18]) //Galaxy awp
  190.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[19]) //Galaxy desi
  191.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[20]) //Galaxy m4
  192.     }
  193.     else if(csomag[id] == 6){
  194.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[21]) //Metal ak
  195.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[22]) //Metal awp
  196.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[23]) //Metal desi
  197.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[24]) //Metal m4
  198.     }
  199.     else if(csomag[id] == 7){
  200.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[25]) //Star ak
  201.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[26]) //Star awp
  202.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[27]) //Star desi
  203.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[28]) //Star m4
  204.     }
  205.     else if(csomag[id] == 8){
  206.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[29]) //Star ak
  207.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[30]) //Star awp
  208.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[31]) //Star desi
  209.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[32]) //Star m4
  210.     }
  211.     else if(csomag[id] == 9){
  212.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[33]) //Ultra ak
  213.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[34]) //Ultra awp
  214.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[35]) //Ultra desi
  215.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[36]) //Ultra m4
  216.     }
  217.     if(knife[id] == 1 && fegyver == CSW_KNIFE){
  218.        
  219.         set_user_maxspeed(id, Float:320.0)
  220.         set_pev(id, pev_viewmodel2, ModelData[37]) //knife
  221.     }
  222.    
  223. }
  224. public spawn_event(id){
  225.     getfrag[0][id] = 0;
  226.     getfrag[1][id] = 0;
  227.     getfrag[2][id] = 0;
  228. }
  229. public sebzes_event(id)
  230. {
  231.     new tamado = get_user_attacker(id);
  232.     if(id == tamado  || !IsValidPlayers(id, tamado )) return;
  233.     getfrag[1][tamado] += read_data(2);
  234.    
  235.     if(!getfrag[2][id] && getfrag[1][tamado] >= 50)
  236.     {
  237.         getfrag[0][tamado] = id;
  238.         getfrag[2][id] = tamado;
  239.     }
  240. }
  241. public Halal() {
  242.    
  243.     new attacker = read_data(1)
  244.     new victim = read_data(2)
  245.    
  246.     new nev[32]
  247.     get_user_name(victim, nev, charsmax(nev))
  248.    
  249.     if(attacker == victim || attacker == 0)
  250.         return PLUGIN_HANDLED
  251.    
  252.     if(read_data( 3 )){
  253.         oles[attacker] += get_cvar_num("hs_recived");
  254.         ColorChat(attacker, GREEN, chatszoveg[0] ,prefix ,nev, get_cvar_num("hs_recived"))
  255.     }
  256.     else{
  257.         oles[attacker] += get_cvar_num("kill_recived");
  258.         ColorChat(attacker, GREEN, chatszoveg[1],prefix, nev, get_cvar_num("kill_recived"))
  259.     }
  260.     if(getfrag[2][victim] && getfrag[2][victim] != attacker){
  261.         new fragetkap = getfrag[2][victim];
  262.         new fragetkapneve[32];
  263.         getfrag[0][fragetkap] = 0;
  264.         getfrag[1][fragetkap] = 0;
  265.         getfrag[2][victim] = 0;
  266.         get_user_name(fragetkap, fragetkapneve, charsmax(fragetkapneve));
  267.         oles[fragetkap]++
  268.         ColorChat(0, GREEN, chatszoveg[2],prefix ,fragetkapneve);
  269.     }
  270.     switch(random_num(1,3)){
  271.         case 1: dropdobas()
  272.         }
  273.     return PLUGIN_HANDLED;
  274. }
  275. public dropdobas()
  276. {  
  277.     new victim = read_data( 2 );
  278.    
  279.     static Float:origin[ 3 ];
  280.     pev( victim, pev_origin, origin );
  281.    
  282.     new ent = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
  283.     origin[ 2 ] -= 36;
  284.     engfunc( EngFunc_SetOrigin, ent, origin );
  285.    
  286.     if( !pev_valid( ent ) )
  287.     {
  288.         return PLUGIN_HANDLED;
  289.     }
  290.    
  291.     set_pev( ent, pev_classname, "kredit" );
  292.     engfunc( EngFunc_SetModel, ent, "models/d2_bfs/pack/kredit.mdl" );
  293.     dllfunc( DLLFunc_Spawn, ent );
  294.     set_pev( ent, pev_solid, SOLID_BBOX );
  295.     set_pev( ent, pev_movetype, MOVETYPE_NONE );
  296.     engfunc( EngFunc_SetSize, ent, Float:{ -23.160000, -13.660000, -0.050000 }, Float:{ 11.470000, 12.780000, 6.720000 } );
  297.     engfunc( EngFunc_DropToFloor, ent );
  298.    
  299.     return PLUGIN_HANDLED;
  300. }
  301. public ForwardTouch( ent, id )
  302. {
  303.     if(pev_valid(ent))
  304.     {
  305.         new classname[ 32 ];
  306.         pev( ent, pev_classname, classname, charsmax( classname ) );
  307.        
  308.         if( !equal( classname, "kredit") )
  309.         {
  310.             return FMRES_IGNORED;
  311.         }
  312.        
  313.         kredit[id] += get_cvar_num("found_kredit");
  314.         ColorChat(id, GREEN, chatszoveg[3],prefix, get_cvar_num("found_kredit"));
  315.        
  316.         engfunc( EngFunc_RemoveEntity, ent );
  317.     }
  318.     return FMRES_IGNORED
  319. }
  320. public logevent_round_start()
  321. {
  322.     new hkt = FM_NULLENT;
  323.     while ( ( hkt = fm_find_ent_by_class( hkt, "kredit") ) )
  324.     {
  325.         engfunc( EngFunc_RemoveEntity, hkt );
  326.     }  
  327. }
  328. public fomenu(id)
  329. {
  330.     new String[96]
  331.     format(String, charsmax(String), "\r[NEW* -BfS] \wFĹ‘menĂĽ^n\yĂ–lĂ©sek: \d%i \w|\y Kreditek: \d%i", oles[id],kredit[id])
  332.     new menu = menu_create(String, "fomenu_MyMenu");
  333.    
  334.     menu_additem(menu, "Fegyver Skin Csomagok", "0");
  335.     menu_additem(menu, "JátĂ©kos InfĂłk", "1");
  336.     menu_additem(menu, "Pack InformáciĂłk", "2");
  337.     menu_additem(menu, "Vasarlas^n^n\y", "3");
  338.    
  339.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  340.     menu_setprop(menu, MPROP_EXITNAME, "\rKilĂ©pĂ©s");
  341.    
  342.     menu_display(id, menu, 0);
  343.    
  344.     return PLUGIN_HANDLED;
  345. }
  346.  
  347. public Bevaltas(id)
  348. {
  349.     new cim[121];
  350.     format(cim, charsmax(cim), "[New -BfS>>] \wOnly Dust2 \r- \dVasarlas^n\yKrediteid: \d%i^n\yPontok: \d%i^n\y%s", kredit[id],oles[id],keszito);
  351.     new menu = menu_create(cim, "Bevaltas_h");
  352.    
  353.     menu_additem(menu, "\w250 \yDB \wPontok \r- \d(200 Kredit)", "1", 0);
  354.     menu_additem(menu, "\w1000 \yDB \wPontok \r- \d(500 Kredit)", "2", 0);
  355.    
  356.     menu_display(id, menu, 0);
  357. }
  358. public Bevaltas_h(id, menu, item){
  359.     if(item == MENU_EXIT)
  360.     {
  361.         menu_destroy(menu);
  362.         return;
  363.     }
  364.    
  365.     new data[9], szName[64];
  366.     new access, callback;
  367.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  368.     new key = str_to_num(data);
  369.    
  370.     switch(key)
  371.     {
  372.         case 1:
  373.         {
  374.             if(kredit[id] >= 200)
  375.             {
  376.                 oles[id] += 250;
  377.                 kredit[id] -= 200;
  378.             }
  379.             else ColorChat(id, GREEN, "%s ^1Nincs elĂ©g ^4KREDITED.", prefix);
  380.         }
  381.         case 2:
  382.         {
  383.             if(kredit[id] >= 500)
  384.             {
  385.                 oles[id] += 1000;
  386.                 kredit[id] -= 500;
  387.             }
  388.             else ColorChat(id, GREEN, "%s ^1Nincs elĂ©g ^4KREDITED.", prefix);
  389.         }
  390.     }
  391. }
  392.  
  393. public fomenu_MyMenu(id, menu, item)
  394. {
  395.     if(item == MENU_EXIT)
  396.     {
  397.         menu_destroy(menu);
  398.         return PLUGIN_HANDLED;
  399.     }
  400.    
  401.     new command[6], name[64], access, callback;
  402.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  403.    
  404.     switch(item)
  405.     {
  406.         case 0: fegymenu(id)
  407.             case 1: playerinfo(id)
  408.             case 2: show_motd(id, "addons/amxmodx/configs/wssinfo.txt", "[NEW* -BfS] Infok")
  409.             case 3: Bevaltas(id)
  410.         }
  411.    
  412.     menu_destroy(menu);
  413.    
  414.     return PLUGIN_HANDLED;
  415. }
  416. public playerinfo(id)
  417. {  
  418.     new some[256], menu
  419.     static players[32],szTemp[10],pnum
  420.     get_players(players,pnum,"ch");
  421.    
  422.     formatex(some,255,"\r[NEW* -BfS] \wJátĂ©kos \d|\w Pont \d|\w Kredit");
  423.     menu = menu_create(some,"pinfo_Handler");
  424.    
  425.     for (new i; i < pnum; i++)
  426.     {
  427.         formatex(some,256,"%s \r(\yPontja: \w%i \d| \yKreditje: \w%i\r)",get_player_name(players[i]), oles[players[i]],kredit[players[i]]);
  428.         num_to_str(players[i],szTemp,charsmax(szTemp));
  429.         menu_additem(menu, some, szTemp);
  430.     }
  431.    
  432.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
  433.     menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");
  434.     menu_display(id, menu);
  435.     return PLUGIN_HANDLED;
  436. }
  437. public pinfo_Handler(id,menu, item)
  438. {
  439.     if(item == MENU_EXIT)
  440.     {
  441.         menu_destroy(menu);
  442.         return;
  443.     }
  444.    
  445.     playerinfo(id)
  446. }
  447. public fegymenu(id)
  448. {
  449.     new String[96]
  450.     format(String, charsmax(String), "\r[NEW* -BfS] \wSkin csomagok^n\yKiválasztott Csomag: \d[%s]", csomagmsg[csomag[id]])
  451.     new menu = menu_create(String, "fegymenu_handler" )
  452.    
  453.     format(String, charsmax(String), oles[id] >= need_kills[0] ? (menuszoveg[0][0]):(menuszoveg[0][1]), oles[id], need_kills[0]);
  454.     menu_additem(menu, String, "0" );
  455.     formatex(String, charsmax(String), oles[id] >= need_kills[1] ? (menuszoveg[1][0]):(menuszoveg[1][1]), oles[id], need_kills[1]);
  456.     menu_additem(menu, String, "1");
  457.     formatex(String, charsmax(String), oles[id] >= need_kills[2] ? (menuszoveg[2][0]):(menuszoveg[2][1]), oles[id], need_kills[2]);
  458.     menu_additem(menu, String, "2");
  459.     format(String, charsmax(String), oles[id] >= need_kills[3] ? (menuszoveg[3][0]):(menuszoveg[3][1]), oles[id], need_kills[3]);
  460.     menu_additem(menu, String, "3");
  461.     format(String, charsmax(String), oles[id] >= need_kills[4] ? (menuszoveg[4][0]):(menuszoveg[4][1]), oles[id], need_kills[4]);
  462.     menu_additem(menu, String, "4");
  463.     format(String, charsmax(String), oles[id] >= need_kills[5] ? (menuszoveg[5][0]):(menuszoveg[5][1]), oles[id], need_kills[5]);
  464.     menu_additem(menu, String, "5");
  465.     format(String, charsmax(String), oles[id] >= need_kills[6] ? (menuszoveg[6][0]):(menuszoveg[6][1]), oles[id], need_kills[6]);
  466.     menu_additem(menu, String, "6");
  467.     format(String, charsmax(String), oles[id] >= need_kills[7] ? (menuszoveg[7][0]):(menuszoveg[7][1]), oles[id], need_kills[7]);
  468.     menu_additem(menu, String, "7");
  469.     format(String, charsmax(String), oles[id] >= need_kills[8] ? (menuszoveg[8][0]):(menuszoveg[8][1]), oles[id], need_kills[8]);
  470.     menu_additem(menu, String, "8");
  471.     formatex(String, charsmax(String), kredit[id] >= need_kills[9] ? (menuszoveg[9][0]):(menuszoveg[9][1]), kredit[id], need_kills[9]);
  472.     menu_additem(menu, String, "9");
  473.     menu_additem(menu, switchbutton[id] == 1 ? (menuszoveg[10][0]):(menuszoveg[10][1]), "9");
  474.    
  475.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  476.     menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  477.     menu_setprop(menu, MPROP_NEXTNAME, "ElĹ‘re");
  478.     menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");
  479.    
  480.     menu_display(id, menu, 0);
  481.     return PLUGIN_HANDLED;
  482. }
  483. public fegymenu_handler(id, menu, item)
  484. {
  485.     if(item == MENU_EXIT)
  486.     {
  487.         menu_destroy(menu)
  488.         return PLUGIN_HANDLED;
  489.     }
  490.    
  491.     new command[6], name[64], access, callback;
  492.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  493.    
  494.     switch(item)
  495.     {
  496.         case 0: {
  497.             if(oles[id] >= need_kills[0]) {
  498.                 csomag[id] = 1
  499.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  500.             }
  501.             else  {
  502.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  503.             }
  504.         }
  505.         case 1: {
  506.             if(oles[id] >= need_kills[1]) {
  507.                 csomag[id] = 2
  508.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  509.             }
  510.             else  {
  511.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  512.             }
  513.         }
  514.         case 2: {
  515.             if(oles[id] >= need_kills[2]) {
  516.                 csomag[id] = 3
  517.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  518.             }
  519.             else  {
  520.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  521.             }
  522.         }
  523.         case 3: {
  524.             if(oles[id] >= need_kills[3]) {
  525.                 csomag[id] = 4
  526.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  527.             }
  528.             else  {
  529.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  530.             }
  531.         }
  532.         case 4: {
  533.             if(oles[id] >= need_kills[4]) {
  534.                 csomag[id] = 5
  535.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  536.             }
  537.             else  {
  538.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  539.             }
  540.         }
  541.         case 5: {
  542.             if(oles[id] >= need_kills[5]) {
  543.                 csomag[id] = 6
  544.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  545.             }
  546.             else  {
  547.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  548.             }
  549.         }
  550.         case 6: {
  551.             if(oles[id] >= need_kills[6]) {
  552.                 csomag[id] = 7
  553.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  554.             }
  555.             else  {
  556.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  557.             }
  558.         }
  559.         case 7: {
  560.             if(oles[id] >= need_kills[7]) {
  561.                 csomag[id] = 8
  562.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  563.             }
  564.             else  {
  565.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  566.             }
  567.         }
  568.         case 8: {
  569.             if(oles[id] >= need_kills[8]) {
  570.                 csomag[id] = 9
  571.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  572.             }
  573.             else  {
  574.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  575.             }
  576.         }
  577.         case 9: {
  578.             if(kredit[id] >= need_kills[9]) {
  579.                 knife[id] = 1
  580.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[10]);
  581.             }
  582.             else  {
  583.                 ColorChat(id, GREEN, chatszoveg[9],prefix);
  584.             }
  585.         }
  586.         case 10: {
  587.             if(switchbutton[id] == 0){
  588.                 switchbutton[id] = 1
  589.                     csomag[id] = 0
  590.                 knife[id] = 0
  591.                 ColorChat(id, GREEN, chatszoveg[6],prefix);
  592.             }
  593.             else {
  594.                 switchbutton[id] = 0
  595.                     ColorChat(id, GREEN, chatszoveg[7],prefix);
  596.             }
  597.         }
  598.         case 11: {
  599.             ColorChat(id, GREEN, chatszoveg[5],prefix);
  600.         }
  601.     }
  602.    
  603.     fegymenu(id)
  604.     return PLUGIN_HANDLED;
  605. }
  606. public infohud() {
  607.    
  608.     if(!get_cvar_num("wss_hudenable")) return PLUGIN_HANDLED
  609.    
  610.     static id
  611.     for(id = 1; id <= get_maxplayers(); id++)
  612.     {
  613.         if(is_user_alive(id)){
  614.             set_hudmessage(0, 127, 255, 0.01, 0.20, 0, 6.0, 1.0)
  615.             show_hudmessage(id, "[Pont: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[id],kredit[id],csomagmsg[csomag[id]], knifedisenable[knife[id]])
  616.         }
  617.         else{
  618.             new target = entity_get_int(id, EV_INT_iuser2);
  619.            
  620.             if(!target)
  621.                 return PLUGIN_CONTINUE;
  622.            
  623.             set_hudmessage(255, 255, 255, 0.01, 0.20, 0, 6.0, 1.0)
  624.             show_hudmessage(id, "[Pont: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[target],kredit[target],csomagmsg[csomag[target]], knifedisenable[knife[target]])
  625.         }
  626.     }
  627.     return PLUGIN_CONTINUE;
  628. }
  629. stock get_player_name(id){
  630.     static szName[32];
  631.     get_user_name(id,szName,31);
  632.     return szName;
  633. }
  634. public client_disconnect(id)
  635. {
  636.     if(is_user_bot(id)) return;
  637.     mentes(id)
  638.     save(id);
  639. }
  640. public client_putinserver( id ) {
  641.     if(is_user_bot(id)) return;
  642.    
  643.     oles[id] = 0;
  644.     kredit[id] = 0;
  645.     csomag[id] = 0;
  646.     switchbutton[id] = 0;
  647.         load(id);
  648. }
  649. public client_connect(id)
  650. {
  651.     betoltes(id)
  652.     load(id)
  653. }
  654. public mentes(id)
  655. {
  656.     new name[32]
  657.     get_user_name(id, name, 31)
  658.    
  659.     new vaultkey[64],vaultdata[256]
  660.     format(vaultkey,63,"%s_dobozok", name)
  661.     format(vaultdata,255,"%i",felszedett[id])
  662.    
  663.    
  664.     nvault_set(g_vault,vaultkey,vaultdata)
  665.     return PLUGIN_CONTINUE
  666. }
  667. public betoltes(id)
  668. {
  669.     new name[32]
  670.     get_user_name(id, name, 31)
  671.     new vaultkey[64],vaultdata[256]
  672.     format(vaultkey,63,"%s_dobozok", name)
  673.     format(vaultdata,255,"%i",felszedett[id])
  674.     nvault_get(g_vault,vaultkey,vaultdata,255)
  675.     replace_all(vaultdata, 255, "#", " ")
  676.     new szedett[32]
  677.     parse(vaultdata, szedett, 31)
  678.     felszedett[id] = str_to_num(szedett)
  679.     return PLUGIN_CONTINUE
  680. }
  681. load(id) {
  682.     new szAuthid[32], szData[32];
  683.     get_user_name( id, szAuthid, charsmax(szAuthid));
  684.     new s1[16],s2[16],s3[16],s4[16]
  685.     fvault_get_data( szVaultName, szAuthid, szData, 31 );
  686.     parse( szData, s1, 15, s2, 15 , s3 , 15, s4 ,15);
  687.     oles[id] = str_to_num(s1);
  688.     kredit[id] = str_to_num(s2);
  689.     csomag[id] = str_to_num(s3);
  690.     switchbutton[id] = str_to_num(s4);
  691.     }
  692. save(id) {
  693.     new szAuthid[ 32 ], szData[ 32 ];
  694.     get_user_name( id, szAuthid, charsmax(szAuthid));
  695.    
  696.     formatex( szData, 31, "%i %i %i %i", oles[id], kredit[id], csomag[id], switchbutton[id]);
  697.     fvault_set_data( szVaultName, szAuthid, szData );
  698. }
  699. ///// BELE ÍRVA : ////////////
  700. public szamlalo(id)
  701. {
  702.     if(generalva == true) {
  703.         counter++
  704.     }
  705.     if(megvan == true) {
  706.         counter = 0
  707.     }
  708.     if(counter > get_pcvar_num(eltunes) && generalva == true)
  709.     {
  710.         new target = find_ent_by_class(target, "nyeremendoboz")
  711.         engfunc(EngFunc_RemoveEntity, target)
  712.         dobozszam--
  713.         counter = 0
  714.         generalva = false
  715.         switch(random_num(1,2)) {
  716.             case 1: {
  717.                 ColorChat(0, RED, "Ezt a dobozt sajnos nem sikerult megtalalnotok :(")
  718.             }
  719.             case 2: {
  720.                 ColorChat(0, GREEN, "Ezt a dobozt sajnos nem sikerult megtalalnotok :(")
  721.             }
  722.            
  723.         }
  724.        
  725.     }
  726. }
  727.  
  728. public keszit(id)
  729. {
  730.     if(dobozszam < get_pcvar_num(cvar)) {  
  731.         new inifile[192], map[32]
  732.         get_mapname(map, 31)
  733.         formatex(inifile, charsmax(inifile), "addons/amxmodx/configs/csdm/%s.spawns.cfg", map)
  734.         new Float:origin[3]
  735.         new elsopoz[8], masodikpoz[8], harmadikpoz[8]
  736.         new lines = file_size(inifile, 1)
  737.         if(lines > 0)
  738.         {
  739.             new randomLine = random(lines);
  740.             new lineBuffer[256], len;
  741.             read_file(inifile, randomLine, lineBuffer, charsmax(lineBuffer), len);
  742.             parse(lineBuffer, elsopoz, 7, masodikpoz, 7, harmadikpoz, 7)
  743.            
  744.             origin[0] = str_to_float(elsopoz)
  745.             origin[1] = str_to_float(masodikpoz)
  746.             origin[2] = str_to_float(harmadikpoz)
  747.         }
  748.        
  749.        
  750.         new ent = create_entity("info_target")
  751.         set_pev(ent, pev_classname, "nyeremendoboz")
  752.         entity_set_model(ent, ET_model[random(sizeof(ET_model))])
  753.        
  754.         set_pev(ent,pev_solid, SOLID_BBOX)
  755.         set_pev(ent, pev_movetype, MOVETYPE_TOSS)
  756.         engfunc(EngFunc_SetOrigin, ent, origin)
  757.         engfunc(EngFunc_SetSize, ent, Float:{-10.0,-10.0,0.0}, Float:{10.0,10.0,25.0})
  758.         engfunc(EngFunc_DropToFloor, ent)
  759.         fm_set_rendering(ent, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 16);
  760.         switch(random_num(1,2)) {
  761.             case 1: {
  762.                 ColorChat(0, RED, "Uj doboz jelent meg keressetek!!!!!!!")
  763.             }
  764.             case 2: {
  765.                 ColorChat(0, GREEN, "Uj doboz jelent meg keressetek!!!!!!!")
  766.             }
  767.            
  768.         }
  769.         dobozszam++
  770.         megvan = false
  771.         generalva = true
  772.     }
  773.     return PLUGIN_CONTINUE
  774. }
  775. public client_PreThink(id)
  776. {
  777.     set_hudmessage(127, 255, 170, 0.0, 0.19, 0, 6.0, 1.0)
  778.     show_hudmessage(id, "Megtalalt dobozok: %d", felszedett[id])
  779.    
  780. }
  781.  
  782. public hirdetes()
  783. {
  784.     ColorChat(0, GREEN, "A Nyeremenyjatek plugint ^3qKKKJ;> ^4keszitette!")
  785. }
  786.  
  787. public remove(ent, id)
  788. {
  789.     if(is_user_alive(id)) {
  790.        
  791.        
  792.         felszedett[id]++
  793.         dobozszam--
  794.         new nev[32]
  795.         get_user_name(id, nev, 31)
  796.         switch(random_num(1,2)) {
  797.             case 1: {
  798.                 ColorChat(0, RED, "%s talalt +15 kreditet!", nev)
  799.                 kredit[id] += 15
  800.             }
  801.             case 2: {
  802.                 ColorChat(0, GREEN, "%s nem talalt lofaszt sem!", nev)
  803.             }
  804.            
  805.         }
  806.         engfunc(EngFunc_RemoveEntity, ent)
  807.         megvan = true
  808.         generalva = false
  809.     }
  810.     return PLUGIN_HANDLED
  811. }
  812. stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
  813. {
  814.     static Float:color[3]
  815.     color[0] = float(r)
  816.     color[1] = float(g)
  817.     color[2] = float(b)
  818.    
  819.     set_pev(entity, pev_renderfx, fx)
  820.     set_pev(entity, pev_rendercolor, color)
  821.     set_pev(entity, pev_rendermode, render)
  822.     set_pev(entity, pev_renderamt, float(amount))
  823. }

_________________
BfS* #Team ~Global Offensive IP: 217.144.54.193:27148

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: 2 plugin össze írás + kredit
HozzászólásElküldve: 2016.11.13. 20:13 
Offline
Félisten
Avatar

Csatlakozott: 2016.03.06. 14:20
Hozzászólások: 964
Megköszönt másnak: 102 alkalommal
Megköszönték neki: 134 alkalommal
ÍgY?:

  1. #include <amxmodx>
  2. #include <fun>
  3. #include <engine>
  4. #include <fakemeta>
  5. #include <hamsandwich>
  6. #include <fakemeta_util>
  7. #include <colorchat>
  8. #include <fvault>
  9. #include <nvault>
  10.  
  11. #include <dhudmessage>
  12.  
  13. #define PLUGIN "[WSS]"
  14. #define VERSION "1.0"
  15. #define AUTHOR "6almasok"
  16.  
  17. #define IsValidPlayers(%1,%2) ((1 <= %1 <= 32) && (1 <= %2 <= 32))
  18.  
  19. new oles[33],csomag[33], kredit[33],switchbutton[33],knife[33],getfrag[3][33]
  20. new ModelData[40][64], ModelNum, MaximumBtton
  21.  
  22. new felszedett[33],dobozszam,cvar,counter = 0, bool:megvan, bool:generalva,g_vault, eltunes
  23.  
  24. new const File[] = "addons/amxmodx/configs/asd.ini"
  25. new const szVaultName[] = "hjk_vault"
  26. new const prefix[] = "NEW* -BfS"
  27. new const keszito[] = "Vasarlas Menu By Kingston. -BfS."
  28.  
  29. /*Rust Kills | Silver Kills | Gold Kills | Veteran Kills | Knife Kredit*/
  30. new const need_kills[] = { 500, 1000, 2000, 4000, 4700, 5000, 6000, 6500, 7000, 500 }
  31.  
  32. /*Pack Names*/
  33. new const csomagmsg[11][] = { "Nincs","Rozsdás Csomag","Ezüst Csomag","Arany Csomag","Veterán Csomag","Galaxy Csomag","Metal Csomag","Star Csomag","Tuz Csomag","Ultra Csomag","Speed Knife" }
  34.  
  35. new const knifedisenable[2][] = { "Kikapcsolva", "Bekapcsolva" }
  36.  
  37. new const menuszoveg[][][] = {
  38.     {"Rozsdás Csomag \r[MEGSZEREZVE]", "\dRozsdás Csomag \r[%i/%i Pontok]"}, //0
  39.     {"EzĂĽst Csomag \r[MEGSZEREZVE]", "\dEzĂĽst Csomag \r[%i/%i Pontok]"}, //1
  40.     {"Arany Csomag \r[MEGSZEREZVE]", "\dArany Csomag \r[%i/%i Pontok]"}, //2
  41.     {"Veterán Csomag \r[MEGSZEREZVE]", "\dVeterán Csomag \r[%i/%i Pontok]"}, //3
  42.     {"Galaxy Csomag \r[MEGSZEREZVE]", "\dGalaxy Csomag \r[%i/%i Pontok]"}, //4
  43.     {"Metal Csomag \r[MEGSZEREZVE]", "\dMetal Csomag \r[%i/%i Pontok]"}, //5
  44.     {"Star Csomag \r[MEGSZEREZVE]", "\dStar Csomag \r[%i/%i Pontok]"}, //6
  45.     {"Tuz Csomag \r[MEGSZEREZVE]", "\dTuz Csomag \r[%i/%i Pontok]"}, //6
  46.     {"Ultra Csomag \r[MEGSZEREZVE]", "\dUltra Csomag \r[%i/%i Pontok]"}, //7
  47.     {"Speed Knife \r[MEGSZEREZVE]^n", "\dSpeed Knife \r[%i/%i Kredit]^n"}, //8
  48.     {"\ySkin Csomagok \r[KIKAPCSOLVA]", "\ySkin Csomagok \r[BEKAPCSOLVA]"} //9
  49. }
  50. new const chatszoveg[10][] =
  51. {
  52. "^4[%s]^1 FEJLÖVÉS!^3 %s ^1megöléséért kaptál ^3+%i^1 Pontot!",
  53. "^4[%s]^3 %s ^1megöléséért kaptál ^3+%i^1 Pontot!",
  54. "^4[%s]^3 %s ^1kapott ^3+1 ^1Pontot ember lesebzésért!",
  55. "^4[%s]^1 Találtál^3 +%i^1 kreditet a csomagbol!",
  56. "^4[%s]^1 Kiválasztottad a(z)^3 %s^1-ot!",
  57. "^4[%s]^1 Sajnos nincs elég Pontod!",
  58. "^4[%s]^1 Kikapcsoltad a Skin Csomagokat!",
  59. "^4[%s]^1 Bekapcsoltad a Skin Csomagokat!",
  60. "^4[%s]^1 A Szerveren Jelenleg a(z) ^3Skin rendszer^1 fut. Megnyitáshoz írd be ^3/menu^1.",
  61. "^4[%s]^1 Sajnos nincs elég kredited!"
  62. }
  63. new const ET_model[][] = {
  64. "models/cyan.mdl",
  65. "models/zold.mdl",
  66. "models/narancs.mdl",
  67. "models/pink.mdl",
  68. "models/minden.mdl",
  69. "models/voros.mdl",
  70. "models/sarga.mdl"
  71. }
  72.  
  73. public plugin_init() {
  74. register_plugin(PLUGIN, VERSION, AUTHOR)
  75.  
  76.  
  77. /* Client Command */
  78. register_clcmd("say /menu" , "fomenu")
  79.  
  80. register_impulse(201, "fomenu")
  81. /* Events */
  82. register_event("CurWeapon", "changeweapon", "be", "1=1")
  83. register_event("Damage", "sebzes_event", "be", "2!0", "3=0", "4!0")
  84. register_event("DeathMsg","Halal","a")
  85.  
  86. /* Cvars */
  87. register_cvar("wss_hudenable", "1");
  88. register_cvar("wss_advertmp", "40.0");
  89. register_cvar("kill_recived", "1");
  90. register_cvar("hs_recived", "2");
  91. register_cvar("found_kredit", "1");
  92.  
  93. /* Other */
  94. register_forward(FM_Touch,"ForwardTouch" );
  95. RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
  96. register_touch("nyeremendoboz","player","remove")
  97. set_task(1.0, "infohud", 0, _, _, "b")
  98. set_task(get_cvar_float("wss_advertmp"), "advertist", 0, "", 0, "b", 0)
  99. set_task(30.0, "keszit",_,_,_,"b")
  100. set_task(1.0, "szamlalo",_,_,_,"b")
  101. set_task(random_float(30.0,60.0), "hirdetes",_,_,_,"b")
  102.  
  103. cvar = register_cvar("sv_maxdoboz", "1")
  104. eltunes = register_cvar("sv_eltunes", "30")
  105. g_vault = nvault_open("dobozok")
  106.  
  107. LoadModel();
  108. }
  109. public advertist(){
  110. ColorChat(0, GREEN, chatszoveg[8],prefix);
  111. return PLUGIN_HANDLED;
  112. }
  113. public plugin_precache() {
  114.  
  115. new Len, btton[196], Data[64], Letoltes[40][64];
  116. MaximumBtton = file_size(File, 1);
  117.  
  118. for(new Num = 0; Num < MaximumBtton; Num++){
  119.     read_file(File, Num, btton, 196, Len);
  120.     parse(btton, Data, 63);
  121.     remove_quotes(btton);
  122.     if(btton[0] == ';')
  123.     {
  124.         continue;
  125.     }
  126.     remove_quotes(Data);
  127.     format(Letoltes[Num], 63, "%s", Data);
  128.     precache_model(Letoltes[Num]);
  129. }
  130. precache_model("models/d2_bfs/pack/kredit.mdl");
  131. precache_model("models/cyan.mdl")
  132. precache_model("models/zold.mdl")
  133. precache_model("models/narancs.mdl")
  134. precache_model("models/pink.mdl")
  135. precache_model("models/minden.mdl")
  136. precache_model("models/voros.mdl")
  137. precache_model("models/sarga.mdl")
  138. }
  139. public LoadModel()
  140. {
  141. new Len, btton[196], Data[64];
  142. MaximumBtton = file_size(File, 1);
  143. for(new Num; Num < MaximumBtton; Num++){
  144.     ModelNum++;
  145.     read_file(File, Num, btton, 196, Len);
  146.     parse(btton, Data, 63);
  147.     remove_quotes(btton);
  148.     if(btton[0] == ';')
  149.     {
  150.         continue;
  151.     }
  152.     remove_quotes(Data);
  153.     format(ModelData[ModelNum], 63, "%s", Data);
  154. }
  155. }
  156. public changeweapon(id)
  157. {
  158. if(!is_user_alive(id) || !is_user_connected(id) || id < 1 || id > 32 || switchbutton[id] == 1)
  159.     return
  160.    
  161.     new fegyver = get_user_weapon(id)
  162.    
  163.     if(csomag[id] == 1){
  164.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[1]) //Rozsdas ak
  165.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[2]) //Rozsdas awp
  166.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[3]) //Rozsdas desi
  167.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[4]) //Rozsdas m4
  168.     }
  169.     else if(csomag[id] == 2){
  170.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[5]) //ezust ak
  171.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[6]) //ezust awp
  172.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[7]) //ezust desi
  173.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[8]) //ezust m4
  174.     }
  175.     else if(csomag[id] == 3){
  176.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[9]) //arany ak
  177.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[10]) //arany awp
  178.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[11]) //arany desi
  179.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[12]) //arany m4
  180.     }
  181.     else if(csomag[id] == 4){
  182.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[13]) //veteran ak
  183.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[14]) //veteran awp
  184.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[15]) //veteran desi
  185.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[16]) //veteran m4
  186.     }
  187.     else if(csomag[id] == 5){
  188.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[17]) //Galaxy ak
  189.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[18]) //Galaxy awp
  190.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[19]) //Galaxy desi
  191.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[20]) //Galaxy m4
  192.     }
  193.     else if(csomag[id] == 6){
  194.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[21]) //Metal ak
  195.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[22]) //Metal awp
  196.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[23]) //Metal desi
  197.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[24]) //Metal m4
  198.     }
  199.     else if(csomag[id] == 7){
  200.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[25]) //Star ak
  201.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[26]) //Star awp
  202.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[27]) //Star desi
  203.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[28]) //Star m4
  204.     }
  205.     else if(csomag[id] == 8){
  206.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[29]) //Star ak
  207.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[30]) //Star awp
  208.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[31]) //Star desi
  209.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[32]) //Star m4
  210.     }
  211.     else if(csomag[id] == 9){
  212.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[33]) //Ultra ak
  213.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[34]) //Ultra awp
  214.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[35]) //Ultra desi
  215.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[36]) //Ultra m4
  216.     }
  217.     if(knife[id] == 1 && fegyver == CSW_KNIFE){
  218.        
  219.         set_user_maxspeed(id, Float:320.0)
  220.         set_pev(id, pev_viewmodel2, ModelData[37]) //knife
  221.     }
  222.    
  223. }
  224. public spawn_event(id){
  225.     getfrag[0][id] = 0;
  226.     getfrag[1][id] = 0;
  227.     getfrag[2][id] = 0;
  228. }
  229. public sebzes_event(id)
  230. {
  231.     new tamado = get_user_attacker(id);
  232.     if(id == tamado  || !IsValidPlayers(id, tamado )) return;
  233.     getfrag[1][tamado] += read_data(2);
  234.    
  235.     if(!getfrag[2][id] && getfrag[1][tamado] >= 50)
  236.     {
  237.         getfrag[0][tamado] = id;
  238.         getfrag[2][id] = tamado;
  239.     }
  240. }
  241. public Halal() {
  242.    
  243.     new attacker = read_data(1)
  244.     new victim = read_data(2)
  245.    
  246.     new nev[32]
  247.     get_user_name(victim, nev, charsmax(nev))
  248.    
  249.     if(attacker == victim || attacker == 0)
  250.         return PLUGIN_HANDLED
  251.    
  252.     if(read_data( 3 )){
  253.         oles[attacker] += get_cvar_num("hs_recived");
  254.         ColorChat(attacker, GREEN, chatszoveg[0] ,prefix ,nev, get_cvar_num("hs_recived"))
  255.     }
  256.     else{
  257.         oles[attacker] += get_cvar_num("kill_recived");
  258.         ColorChat(attacker, GREEN, chatszoveg[1],prefix, nev, get_cvar_num("kill_recived"))
  259.     }
  260.     if(getfrag[2][victim] && getfrag[2][victim] != attacker){
  261.         new fragetkap = getfrag[2][victim];
  262.         new fragetkapneve[32];
  263.         getfrag[0][fragetkap] = 0;
  264.         getfrag[1][fragetkap] = 0;
  265.         getfrag[2][victim] = 0;
  266.         get_user_name(fragetkap, fragetkapneve, charsmax(fragetkapneve));
  267.         oles[fragetkap]++
  268.         ColorChat(0, GREEN, chatszoveg[2],prefix ,fragetkapneve);
  269.     }
  270.     switch(random_num(1,3)){
  271.         case 1: dropdobas()
  272.         }
  273.     return PLUGIN_HANDLED;
  274. }
  275. public dropdobas()
  276. {  
  277.     new victim = read_data( 2 );
  278.    
  279.     static Float:origin[ 3 ];
  280.     pev( victim, pev_origin, origin );
  281.    
  282.     new ent = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
  283.     origin[ 2 ] -= 36;
  284.     engfunc( EngFunc_SetOrigin, ent, origin );
  285.    
  286.     if( !pev_valid( ent ) )
  287.     {
  288.         return PLUGIN_HANDLED;
  289.     }
  290.    
  291.     set_pev( ent, pev_classname, "kredit" );
  292.     engfunc( EngFunc_SetModel, ent, "models/d2_bfs/pack/kredit.mdl" );
  293.     dllfunc( DLLFunc_Spawn, ent );
  294.     set_pev( ent, pev_solid, SOLID_BBOX );
  295.     set_pev( ent, pev_movetype, MOVETYPE_NONE );
  296.     engfunc( EngFunc_SetSize, ent, Float:{ -23.160000, -13.660000, -0.050000 }, Float:{ 11.470000, 12.780000, 6.720000 } );
  297.     engfunc( EngFunc_DropToFloor, ent );
  298.    
  299.     return PLUGIN_HANDLED;
  300. }
  301. public ForwardTouch( ent, id )
  302. {
  303.     if(pev_valid(ent))
  304.     {
  305.         new classname[ 32 ];
  306.         pev( ent, pev_classname, classname, charsmax( classname ) );
  307.        
  308.         if( !equal( classname, "kredit") )
  309.         {
  310.             return FMRES_IGNORED;
  311.         }
  312.        
  313.         kredit[id] += get_cvar_num("found_kredit");
  314.         ColorChat(id, GREEN, chatszoveg[3],prefix, get_cvar_num("found_kredit"));
  315.        
  316.         engfunc( EngFunc_RemoveEntity, ent );
  317.     }
  318.     return FMRES_IGNORED
  319. }
  320. public logevent_round_start()
  321. {
  322.     new hkt = FM_NULLENT;
  323.     while ( ( hkt = fm_find_ent_by_class( hkt, "kredit") ) )
  324.     {
  325.         engfunc( EngFunc_RemoveEntity, hkt );
  326.     }  
  327. }
  328. public fomenu(id)
  329. {
  330.     new String[96]
  331.     format(String, charsmax(String), "\r[NEW* -BfS] \wFĹ‘menĂĽ^n\yĂ–lĂ©sek: \d%i \w|\y Kreditek: \d%i", oles[id],kredit[id])
  332.     new menu = menu_create(String, "fomenu_MyMenu");
  333.    
  334.     menu_additem(menu, "Fegyver Skin Csomagok", "0");
  335.     menu_additem(menu, "JátĂ©kos InfĂłk", "1");
  336.     menu_additem(menu, "Pack InformáciĂłk", "2");
  337.     menu_additem(menu, "Vasarlas^n^n\y", "3");
  338.    
  339.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  340.     menu_setprop(menu, MPROP_EXITNAME, "\rKilĂ©pĂ©s");
  341.    
  342.     menu_display(id, menu, 0);
  343.    
  344.     return PLUGIN_HANDLED;
  345. }
  346.  
  347. public Bevaltas(id)
  348. {
  349.     new cim[121];
  350.     format(cim, charsmax(cim), "[New -BfS>>] \wOnly Dust2 \r- \dVasarlas^n\yKrediteid: \d%i^n\yPontok: \d%i^n\y%s", kredit[id],oles[id],keszito);
  351.     new menu = menu_create(cim, "Bevaltas_h");
  352.    
  353.     menu_additem(menu, "\w250 \yDB \wPontok \r- \d(200 Kredit)", "1", 0);
  354.     menu_additem(menu, "\w1000 \yDB \wPontok \r- \d(500 Kredit)", "2", 0);
  355.    
  356.     menu_display(id, menu, 0);
  357. }
  358. public Bevaltas_h(id, menu, item){
  359.     if(item == MENU_EXIT)
  360.     {
  361.         menu_destroy(menu);
  362.         return;
  363.     }
  364.    
  365.     new data[9], szName[64];
  366.     new access, callback;
  367.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  368.     new key = str_to_num(data);
  369.    
  370.     switch(key)
  371.     {
  372.         case 1:
  373.         {
  374.             if(kredit[id] >= 200)
  375.             {
  376.                 oles[id] += 250;
  377.                 kredit[id] -= 200;
  378.             }
  379.             else ColorChat(id, GREEN, "%s ^1Nincs elĂ©g ^4KREDITED.", prefix);
  380.         }
  381.         case 2:
  382.         {
  383.             if(kredit[id] >= 500)
  384.             {
  385.                 oles[id] += 1000;
  386.                 kredit[id] -= 500;
  387.             }
  388.             else ColorChat(id, GREEN, "%s ^1Nincs elĂ©g ^4KREDITED.", prefix);
  389.         }
  390.     }
  391. }
  392.  
  393. public fomenu_MyMenu(id, menu, item)
  394. {
  395.     if(item == MENU_EXIT)
  396.     {
  397.         menu_destroy(menu);
  398.         return PLUGIN_HANDLED;
  399.     }
  400.    
  401.     new command[6], name[64], access, callback;
  402.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  403.    
  404.     switch(item)
  405.     {
  406.         case 0: fegymenu(id)
  407.             case 1: playerinfo(id)
  408.             case 2: show_motd(id, "addons/amxmodx/configs/wssinfo.txt", "[NEW* -BfS] Infok")
  409.             case 3: Bevaltas(id)
  410.         }
  411.    
  412.     menu_destroy(menu);
  413.    
  414.     return PLUGIN_HANDLED;
  415. }
  416. public playerinfo(id)
  417. {  
  418.     new some[256], menu
  419.     static players[32],szTemp[10],pnum
  420.     get_players(players,pnum,"ch");
  421.    
  422.     formatex(some,255,"\r[NEW* -BfS] \wJátĂ©kos \d|\w Pont \d|\w Kredit");
  423.     menu = menu_create(some,"pinfo_Handler");
  424.    
  425.     for (new i; i < pnum; i++)
  426.     {
  427.         formatex(some,256,"%s \r(\yPontja: \w%i \d| \yKreditje: \w%i\r)",get_player_name(players[i]), oles[players[i]],kredit[players[i]]);
  428.         num_to_str(players[i],szTemp,charsmax(szTemp));
  429.         menu_additem(menu, some, szTemp);
  430.     }
  431.    
  432.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
  433.     menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");
  434.     menu_display(id, menu);
  435.     return PLUGIN_HANDLED;
  436. }
  437. public pinfo_Handler(id,menu, item)
  438. {
  439.     if(item == MENU_EXIT)
  440.     {
  441.         menu_destroy(menu);
  442.         return;
  443.     }
  444.    
  445.     playerinfo(id)
  446. }
  447. public fegymenu(id)
  448. {
  449.     new String[96]
  450.     format(String, charsmax(String), "\r[NEW* -BfS] \wSkin csomagok^n\yKiválasztott Csomag: \d[%s]", csomagmsg[csomag[id]])
  451.     new menu = menu_create(String, "fegymenu_handler" )
  452.    
  453.     format(String, charsmax(String), oles[id] >= need_kills[0] ? (menuszoveg[0][0]):(menuszoveg[0][1]), oles[id], need_kills[0]);
  454.     menu_additem(menu, String, "0" );
  455.     formatex(String, charsmax(String), oles[id] >= need_kills[1] ? (menuszoveg[1][0]):(menuszoveg[1][1]), oles[id], need_kills[1]);
  456.     menu_additem(menu, String, "1");
  457.     formatex(String, charsmax(String), oles[id] >= need_kills[2] ? (menuszoveg[2][0]):(menuszoveg[2][1]), oles[id], need_kills[2]);
  458.     menu_additem(menu, String, "2");
  459.     format(String, charsmax(String), oles[id] >= need_kills[3] ? (menuszoveg[3][0]):(menuszoveg[3][1]), oles[id], need_kills[3]);
  460.     menu_additem(menu, String, "3");
  461.     format(String, charsmax(String), oles[id] >= need_kills[4] ? (menuszoveg[4][0]):(menuszoveg[4][1]), oles[id], need_kills[4]);
  462.     menu_additem(menu, String, "4");
  463.     format(String, charsmax(String), oles[id] >= need_kills[5] ? (menuszoveg[5][0]):(menuszoveg[5][1]), oles[id], need_kills[5]);
  464.     menu_additem(menu, String, "5");
  465.     format(String, charsmax(String), oles[id] >= need_kills[6] ? (menuszoveg[6][0]):(menuszoveg[6][1]), oles[id], need_kills[6]);
  466.     menu_additem(menu, String, "6");
  467.     format(String, charsmax(String), oles[id] >= need_kills[7] ? (menuszoveg[7][0]):(menuszoveg[7][1]), oles[id], need_kills[7]);
  468.     menu_additem(menu, String, "7");
  469.     format(String, charsmax(String), oles[id] >= need_kills[8] ? (menuszoveg[8][0]):(menuszoveg[8][1]), oles[id], need_kills[8]);
  470.     menu_additem(menu, String, "8");
  471.     formatex(String, charsmax(String), kredit[id] >= need_kills[9] ? (menuszoveg[9][0]):(menuszoveg[9][1]), kredit[id], need_kills[9]);
  472.     menu_additem(menu, String, "9");
  473.     menu_additem(menu, switchbutton[id] == 1 ? (menuszoveg[10][0]):(menuszoveg[10][1]), "9");
  474.    
  475.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  476.     menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  477.     menu_setprop(menu, MPROP_NEXTNAME, "ElĹ‘re");
  478.     menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");
  479.    
  480.     menu_display(id, menu, 0);
  481.     return PLUGIN_HANDLED;
  482. }
  483. public fegymenu_handler(id, menu, item)
  484. {
  485.     if(item == MENU_EXIT)
  486.     {
  487.         menu_destroy(menu)
  488.         return PLUGIN_HANDLED;
  489.     }
  490.    
  491.     new command[6], name[64], access, callback;
  492.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  493.    
  494.     switch(item)
  495.     {
  496.         case 0: {
  497.             if(oles[id] >= need_kills[0]) {
  498.                 csomag[id] = 1
  499.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  500.             }
  501.             else  {
  502.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  503.             }
  504.         }
  505.         case 1: {
  506.             if(oles[id] >= need_kills[1]) {
  507.                 csomag[id] = 2
  508.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  509.             }
  510.             else  {
  511.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  512.             }
  513.         }
  514.         case 2: {
  515.             if(oles[id] >= need_kills[2]) {
  516.                 csomag[id] = 3
  517.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  518.             }
  519.             else  {
  520.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  521.             }
  522.         }
  523.         case 3: {
  524.             if(oles[id] >= need_kills[3]) {
  525.                 csomag[id] = 4
  526.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  527.             }
  528.             else  {
  529.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  530.             }
  531.         }
  532.         case 4: {
  533.             if(oles[id] >= need_kills[4]) {
  534.                 csomag[id] = 5
  535.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  536.             }
  537.             else  {
  538.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  539.             }
  540.         }
  541.         case 5: {
  542.             if(oles[id] >= need_kills[5]) {
  543.                 csomag[id] = 6
  544.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  545.             }
  546.             else  {
  547.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  548.             }
  549.         }
  550.         case 6: {
  551.             if(oles[id] >= need_kills[6]) {
  552.                 csomag[id] = 7
  553.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  554.             }
  555.             else  {
  556.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  557.             }
  558.         }
  559.         case 7: {
  560.             if(oles[id] >= need_kills[7]) {
  561.                 csomag[id] = 8
  562.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  563.             }
  564.             else  {
  565.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  566.             }
  567.         }
  568.         case 8: {
  569.             if(oles[id] >= need_kills[8]) {
  570.                 csomag[id] = 9
  571.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  572.             }
  573.             else  {
  574.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  575.             }
  576.         }
  577.         case 9: {
  578.             if(kredit[id] >= need_kills[9]) {
  579.                 knife[id] = 1
  580.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[10]);
  581.             }
  582.             else  {
  583.                 ColorChat(id, GREEN, chatszoveg[9],prefix);
  584.             }
  585.         }
  586.         case 10: {
  587.             if(switchbutton[id] == 0){
  588.                 switchbutton[id] = 1
  589.                     csomag[id] = 0
  590.                 knife[id] = 0
  591.                 ColorChat(id, GREEN, chatszoveg[6],prefix);
  592.             }
  593.             else {
  594.                 switchbutton[id] = 0
  595.                     ColorChat(id, GREEN, chatszoveg[7],prefix);
  596.             }
  597.         }
  598.         case 11: {
  599.             ColorChat(id, GREEN, chatszoveg[5],prefix);
  600.         }
  601.     }
  602.    
  603.     fegymenu(id)
  604.     return PLUGIN_HANDLED;
  605. }
  606. public infohud() {
  607.    
  608.     if(!get_cvar_num("wss_hudenable")) return PLUGIN_HANDLED
  609.    
  610.     static id
  611.     for(id = 1; id <= get_maxplayers(); id++)
  612.     {
  613.         if(is_user_alive(id)){
  614.             set_hudmessage(0, 127, 255, 0.01, 0.20, 0, 6.0, 1.0)
  615.             show_hudmessage(id, "[Pont: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[id],kredit[id],csomagmsg[csomag[id]], knifedisenable[knife[id]])
  616.         }
  617.         else{
  618.             new target = entity_get_int(id, EV_INT_iuser2);
  619.            
  620.             if(!target)
  621.                 return PLUGIN_CONTINUE;
  622.            
  623.             set_hudmessage(255, 255, 255, 0.01, 0.20, 0, 6.0, 1.0)
  624.             show_hudmessage(id, "[Pont: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[target],kredit[target],csomagmsg[csomag[target]], knifedisenable[knife[target]])
  625.         }
  626.     }
  627.     return PLUGIN_CONTINUE;
  628. }
  629. stock get_player_name(id){
  630.     static szName[32];
  631.     get_user_name(id,szName,31);
  632.     return szName;
  633. }
  634. public client_disconnect(id)
  635. {
  636.     if(is_user_bot(id)) return;
  637.     mentes(id)
  638.     save(id);
  639. }
  640. public client_putinserver( id ) {
  641.     if(is_user_bot(id)) return;
  642.    
  643.     oles[id] = 0;
  644.     kredit[id] = 0;
  645.     csomag[id] = 0;
  646.     switchbutton[id] = 0;
  647.         load(id);
  648. }
  649. public client_connect(id)
  650. {
  651.     betoltes(id)
  652.     load(id)
  653. }
  654. public mentes(id)
  655. {
  656.     new name[32]
  657.     get_user_name(id, name, 31)
  658.    
  659.     new vaultkey[64],vaultdata[256]
  660.     format(vaultkey,63,"%s_dobozok", name)
  661.     format(vaultdata,255,"%i",felszedett[id])
  662.    
  663.    
  664.     nvault_set(g_vault,vaultkey,vaultdata)
  665.     return PLUGIN_CONTINUE
  666. }
  667. public betoltes(id)
  668. {
  669.     new name[32]
  670.     get_user_name(id, name, 31)
  671.     new vaultkey[64],vaultdata[256]
  672.     format(vaultkey,63,"%s_dobozok", name)
  673.     format(vaultdata,255,"%i",felszedett[id])
  674.     nvault_get(g_vault,vaultkey,vaultdata,255)
  675.     replace_all(vaultdata, 255, "#", " ")
  676.     new szedett[32]
  677.     parse(vaultdata, szedett, 31)
  678.     felszedett[id] = str_to_num(szedett)
  679.     return PLUGIN_CONTINUE
  680. }
  681. load(id) {
  682.     new szAuthid[32], szData[32];
  683.     get_user_name( id, szAuthid, charsmax(szAuthid));
  684.     new s1[16],s2[16],s3[16],s4[16]
  685.     fvault_get_data( szVaultName, szAuthid, szData, 31 );
  686.     parse( szData, s1, 15, s2, 15 , s3 , 15, s4 ,15);
  687.     oles[id] = str_to_num(s1);
  688.     kredit[id] = str_to_num(s2);
  689.     csomag[id] = str_to_num(s3);
  690.     switchbutton[id] = str_to_num(s4);
  691.     }
  692. save(id) {
  693.     new szAuthid[ 32 ], szData[ 32 ];
  694.     get_user_name( id, szAuthid, charsmax(szAuthid));
  695.    
  696.     formatex( szData, 31, "%i %i %i %i", oles[id], kredit[id], csomag[id], switchbutton[id]);
  697.     fvault_set_data( szVaultName, szAuthid, szData );
  698. }
  699. ///// BELE ÍRVA : ////////////
  700. public szamlalo(id)
  701. {
  702.     if(generalva == true) {
  703.         counter++
  704.     }
  705.     if(megvan == true) {
  706.         counter = 0
  707.     }
  708.     if(counter > get_pcvar_num(eltunes) && generalva == true)
  709.     {
  710.         new target = find_ent_by_class(target, "nyeremendoboz")
  711.         engfunc(EngFunc_RemoveEntity, target)
  712.         dobozszam--
  713.         counter = 0
  714.         generalva = false
  715.         switch(random_num(1,2)) {
  716.             case 1: {
  717.                 ColorChat(0, RED, "Ezt a dobozt sajnos nem sikerult megtalalnotok :(")
  718.             }
  719.             case 2: {
  720.                 ColorChat(0, GREEN, "Ezt a dobozt sajnos nem sikerult megtalalnotok :(")
  721.             }
  722.            
  723.         }
  724.        
  725.     }
  726. }
  727.  
  728. public keszit(id)
  729. {
  730.     if(dobozszam < get_pcvar_num(cvar)) {  
  731.         new inifile[192], map[32]
  732.         get_mapname(map, 31)
  733.         formatex(inifile, charsmax(inifile), "addons/amxmodx/configs/csdm/%s.spawns.cfg", map)
  734.         new Float:origin[3]
  735.         new elsopoz[8], masodikpoz[8], harmadikpoz[8]
  736.         new lines = file_size(inifile, 1)
  737.         if(lines > 0)
  738.         {
  739.             new randomLine = random(lines);
  740.             new lineBuffer[256], len;
  741.             read_file(inifile, randomLine, lineBuffer, charsmax(lineBuffer), len);
  742.             parse(lineBuffer, elsopoz, 7, masodikpoz, 7, harmadikpoz, 7)
  743.            
  744.             origin[0] = str_to_float(elsopoz)
  745.             origin[1] = str_to_float(masodikpoz)
  746.             origin[2] = str_to_float(harmadikpoz)
  747.         }
  748.        
  749.        
  750.         new ent = create_entity("info_target")
  751.         set_pev(ent, pev_classname, "nyeremendoboz")
  752.         entity_set_model(ent, ET_model[random(sizeof(ET_model))])
  753.        
  754.         set_pev(ent,pev_solid, SOLID_BBOX)
  755.         set_pev(ent, pev_movetype, MOVETYPE_TOSS)
  756.         engfunc(EngFunc_SetOrigin, ent, origin)
  757.         engfunc(EngFunc_SetSize, ent, Float:{-10.0,-10.0,0.0}, Float:{10.0,10.0,25.0})
  758.         engfunc(EngFunc_DropToFloor, ent)
  759.         fm_set_rendering(ent, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 16);
  760.         switch(random_num(1,2)) {
  761.             case 1: {
  762.                 ColorChat(0, RED, "Uj doboz jelent meg keressetek!!!!!!!")
  763.             }
  764.             case 2: {
  765.                 ColorChat(0, GREEN, "Uj doboz jelent meg keressetek!!!!!!!")
  766.             }
  767.            
  768.         }
  769.         dobozszam++
  770.         megvan = false
  771.         generalva = true
  772.     }
  773.     return PLUGIN_CONTINUE
  774. }
  775. public client_PreThink(id)
  776. {
  777.     set_hudmessage(127, 255, 170, 0.0, 0.19, 0, 6.0, 1.0)
  778.     show_hudmessage(id, "Megtalalt dobozok: %d", felszedett[id])
  779.    
  780. }
  781.  
  782. public hirdetes()
  783. {
  784.     ColorChat(0, GREEN, "A Nyeremenyjatek plugint ^3qKKKJ;> ^4keszitette!")
  785. }
  786.  
  787. public remove(ent, id)
  788. {
  789.     if(is_user_alive(id)) {
  790.        
  791.        
  792.         felszedett[id]++
  793.         dobozszam--
  794.         new nev[32]
  795.         get_user_name(id, nev, 31)
  796.         switch(random_num(1,2)) {
  797.             case 1: {
  798.                 ColorChat(0, RED, "%s talalt +15 kreditet!", nev)
  799.                 kredit[id] += 15
  800.             }
  801.             case 2: {
  802.                 ColorChat(0, GREEN, "%s nem talalt lofaszt sem!", nev)
  803.             }
  804.            
  805.         }
  806.         engfunc(EngFunc_RemoveEntity, ent)
  807.         megvan = true
  808.         generalva = false
  809.     }
  810.     return PLUGIN_HANDLED
  811. }

_________________
 ! Moderátori megjegyzés (kiki):
Kérlek csekkold az aláírásra vonatkozó szabályokat!

Ők köszönték meg The Peace nek ezt a hozzászólást: adriansr14 (2016.11.16. 19:16)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: 2 plugin össze írás + kredit
HozzászólásElküldve: 2016.11.13. 21:07 
Offline
Jómunkásember

Csatlakozott: 2016.06.20. 10:23
Hozzászólások: 489
Megköszönt másnak: 47 alkalommal
Megköszönték neki: 15 alkalommal
Így jó csak nem tetszik ezek a warningok.
  1. Welcome to the AMX Mod X 1.8.1-300 Compiler.
  2. Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team
  3.  
  4. Warning: Loose indentation on line 161
  5. Warning: Loose indentation on line 589
  6. Warning: Loose indentation on line 590
  7. Warning: Loose indentation on line 595
  8. Warning: Loose indentation on line 647
  9. Header size:           2656 bytes
  10. Code size:            37552 bytes
  11. Data size:            28624 bytes
  12. Stack/heap size:      16384 bytes; max. usage is unknown, due to recursion
  13. Total requirements:   85216 bytes
  14.  
  15. 5 Warnings.
  16. Done.


De köszi! Le tesztelem hogy fut-e.

The Peace írta:
ÍgY?:

  1. #include <amxmodx>
  2. #include <fun>
  3. #include <engine>
  4. #include <fakemeta>
  5. #include <hamsandwich>
  6. #include <fakemeta_util>
  7. #include <colorchat>
  8. #include <fvault>
  9. #include <nvault>
  10.  
  11. #include <dhudmessage>
  12.  
  13. #define PLUGIN "[WSS]"
  14. #define VERSION "1.0"
  15. #define AUTHOR "6almasok"
  16.  
  17. #define IsValidPlayers(%1,%2) ((1 <= %1 <= 32) && (1 <= %2 <= 32))
  18.  
  19. new oles[33],csomag[33], kredit[33],switchbutton[33],knife[33],getfrag[3][33]
  20. new ModelData[40][64], ModelNum, MaximumBtton
  21.  
  22. new felszedett[33],dobozszam,cvar,counter = 0, bool:megvan, bool:generalva,g_vault, eltunes
  23.  
  24. new const File[] = "addons/amxmodx/configs/asd.ini"
  25. new const szVaultName[] = "hjk_vault"
  26. new const prefix[] = "NEW* -BfS"
  27. new const keszito[] = "Vasarlas Menu By Kingston. -BfS."
  28.  
  29. /*Rust Kills | Silver Kills | Gold Kills | Veteran Kills | Knife Kredit*/
  30. new const need_kills[] = { 500, 1000, 2000, 4000, 4700, 5000, 6000, 6500, 7000, 500 }
  31.  
  32. /*Pack Names*/
  33. new const csomagmsg[11][] = { "Nincs","Rozsdás Csomag","Ezüst Csomag","Arany Csomag","Veterán Csomag","Galaxy Csomag","Metal Csomag","Star Csomag","Tuz Csomag","Ultra Csomag","Speed Knife" }
  34.  
  35. new const knifedisenable[2][] = { "Kikapcsolva", "Bekapcsolva" }
  36.  
  37. new const menuszoveg[][][] = {
  38.     {"Rozsdás Csomag \r[MEGSZEREZVE]", "\dRozsdás Csomag \r[%i/%i Pontok]"}, //0
  39.     {"EzĂĽst Csomag \r[MEGSZEREZVE]", "\dEzĂĽst Csomag \r[%i/%i Pontok]"}, //1
  40.     {"Arany Csomag \r[MEGSZEREZVE]", "\dArany Csomag \r[%i/%i Pontok]"}, //2
  41.     {"Veterán Csomag \r[MEGSZEREZVE]", "\dVeterán Csomag \r[%i/%i Pontok]"}, //3
  42.     {"Galaxy Csomag \r[MEGSZEREZVE]", "\dGalaxy Csomag \r[%i/%i Pontok]"}, //4
  43.     {"Metal Csomag \r[MEGSZEREZVE]", "\dMetal Csomag \r[%i/%i Pontok]"}, //5
  44.     {"Star Csomag \r[MEGSZEREZVE]", "\dStar Csomag \r[%i/%i Pontok]"}, //6
  45.     {"Tuz Csomag \r[MEGSZEREZVE]", "\dTuz Csomag \r[%i/%i Pontok]"}, //6
  46.     {"Ultra Csomag \r[MEGSZEREZVE]", "\dUltra Csomag \r[%i/%i Pontok]"}, //7
  47.     {"Speed Knife \r[MEGSZEREZVE]^n", "\dSpeed Knife \r[%i/%i Kredit]^n"}, //8
  48.     {"\ySkin Csomagok \r[KIKAPCSOLVA]", "\ySkin Csomagok \r[BEKAPCSOLVA]"} //9
  49. }
  50. new const chatszoveg[10][] =
  51. {
  52. "^4[%s]^1 FEJLÖVÉS!^3 %s ^1megöléséért kaptál ^3+%i^1 Pontot!",
  53. "^4[%s]^3 %s ^1megöléséért kaptál ^3+%i^1 Pontot!",
  54. "^4[%s]^3 %s ^1kapott ^3+1 ^1Pontot ember lesebzésért!",
  55. "^4[%s]^1 Találtál^3 +%i^1 kreditet a csomagbol!",
  56. "^4[%s]^1 Kiválasztottad a(z)^3 %s^1-ot!",
  57. "^4[%s]^1 Sajnos nincs elég Pontod!",
  58. "^4[%s]^1 Kikapcsoltad a Skin Csomagokat!",
  59. "^4[%s]^1 Bekapcsoltad a Skin Csomagokat!",
  60. "^4[%s]^1 A Szerveren Jelenleg a(z) ^3Skin rendszer^1 fut. Megnyitáshoz írd be ^3/menu^1.",
  61. "^4[%s]^1 Sajnos nincs elég kredited!"
  62. }
  63. new const ET_model[][] = {
  64. "models/cyan.mdl",
  65. "models/zold.mdl",
  66. "models/narancs.mdl",
  67. "models/pink.mdl",
  68. "models/minden.mdl",
  69. "models/voros.mdl",
  70. "models/sarga.mdl"
  71. }
  72.  
  73. public plugin_init() {
  74. register_plugin(PLUGIN, VERSION, AUTHOR)
  75.  
  76.  
  77. /* Client Command */
  78. register_clcmd("say /menu" , "fomenu")
  79.  
  80. register_impulse(201, "fomenu")
  81. /* Events */
  82. register_event("CurWeapon", "changeweapon", "be", "1=1")
  83. register_event("Damage", "sebzes_event", "be", "2!0", "3=0", "4!0")
  84. register_event("DeathMsg","Halal","a")
  85.  
  86. /* Cvars */
  87. register_cvar("wss_hudenable", "1");
  88. register_cvar("wss_advertmp", "40.0");
  89. register_cvar("kill_recived", "1");
  90. register_cvar("hs_recived", "2");
  91. register_cvar("found_kredit", "1");
  92.  
  93. /* Other */
  94. register_forward(FM_Touch,"ForwardTouch" );
  95. RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
  96. register_touch("nyeremendoboz","player","remove")
  97. set_task(1.0, "infohud", 0, _, _, "b")
  98. set_task(get_cvar_float("wss_advertmp"), "advertist", 0, "", 0, "b", 0)
  99. set_task(30.0, "keszit",_,_,_,"b")
  100. set_task(1.0, "szamlalo",_,_,_,"b")
  101. set_task(random_float(30.0,60.0), "hirdetes",_,_,_,"b")
  102.  
  103. cvar = register_cvar("sv_maxdoboz", "1")
  104. eltunes = register_cvar("sv_eltunes", "30")
  105. g_vault = nvault_open("dobozok")
  106.  
  107. LoadModel();
  108. }
  109. public advertist(){
  110. ColorChat(0, GREEN, chatszoveg[8],prefix);
  111. return PLUGIN_HANDLED;
  112. }
  113. public plugin_precache() {
  114.  
  115. new Len, btton[196], Data[64], Letoltes[40][64];
  116. MaximumBtton = file_size(File, 1);
  117.  
  118. for(new Num = 0; Num < MaximumBtton; Num++){
  119.     read_file(File, Num, btton, 196, Len);
  120.     parse(btton, Data, 63);
  121.     remove_quotes(btton);
  122.     if(btton[0] == ';')
  123.     {
  124.         continue;
  125.     }
  126.     remove_quotes(Data);
  127.     format(Letoltes[Num], 63, "%s", Data);
  128.     precache_model(Letoltes[Num]);
  129. }
  130. precache_model("models/d2_bfs/pack/kredit.mdl");
  131. precache_model("models/cyan.mdl")
  132. precache_model("models/zold.mdl")
  133. precache_model("models/narancs.mdl")
  134. precache_model("models/pink.mdl")
  135. precache_model("models/minden.mdl")
  136. precache_model("models/voros.mdl")
  137. precache_model("models/sarga.mdl")
  138. }
  139. public LoadModel()
  140. {
  141. new Len, btton[196], Data[64];
  142. MaximumBtton = file_size(File, 1);
  143. for(new Num; Num < MaximumBtton; Num++){
  144.     ModelNum++;
  145.     read_file(File, Num, btton, 196, Len);
  146.     parse(btton, Data, 63);
  147.     remove_quotes(btton);
  148.     if(btton[0] == ';')
  149.     {
  150.         continue;
  151.     }
  152.     remove_quotes(Data);
  153.     format(ModelData[ModelNum], 63, "%s", Data);
  154. }
  155. }
  156. public changeweapon(id)
  157. {
  158. if(!is_user_alive(id) || !is_user_connected(id) || id < 1 || id > 32 || switchbutton[id] == 1)
  159.     return
  160.    
  161.     new fegyver = get_user_weapon(id)
  162.    
  163.     if(csomag[id] == 1){
  164.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[1]) //Rozsdas ak
  165.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[2]) //Rozsdas awp
  166.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[3]) //Rozsdas desi
  167.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[4]) //Rozsdas m4
  168.     }
  169.     else if(csomag[id] == 2){
  170.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[5]) //ezust ak
  171.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[6]) //ezust awp
  172.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[7]) //ezust desi
  173.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[8]) //ezust m4
  174.     }
  175.     else if(csomag[id] == 3){
  176.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[9]) //arany ak
  177.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[10]) //arany awp
  178.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[11]) //arany desi
  179.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[12]) //arany m4
  180.     }
  181.     else if(csomag[id] == 4){
  182.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[13]) //veteran ak
  183.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[14]) //veteran awp
  184.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[15]) //veteran desi
  185.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[16]) //veteran m4
  186.     }
  187.     else if(csomag[id] == 5){
  188.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[17]) //Galaxy ak
  189.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[18]) //Galaxy awp
  190.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[19]) //Galaxy desi
  191.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[20]) //Galaxy m4
  192.     }
  193.     else if(csomag[id] == 6){
  194.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[21]) //Metal ak
  195.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[22]) //Metal awp
  196.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[23]) //Metal desi
  197.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[24]) //Metal m4
  198.     }
  199.     else if(csomag[id] == 7){
  200.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[25]) //Star ak
  201.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[26]) //Star awp
  202.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[27]) //Star desi
  203.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[28]) //Star m4
  204.     }
  205.     else if(csomag[id] == 8){
  206.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[29]) //Star ak
  207.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[30]) //Star awp
  208.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[31]) //Star desi
  209.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[32]) //Star m4
  210.     }
  211.     else if(csomag[id] == 9){
  212.         if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[33]) //Ultra ak
  213.         if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[34]) //Ultra awp
  214.         if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[35]) //Ultra desi
  215.         if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[36]) //Ultra m4
  216.     }
  217.     if(knife[id] == 1 && fegyver == CSW_KNIFE){
  218.        
  219.         set_user_maxspeed(id, Float:320.0)
  220.         set_pev(id, pev_viewmodel2, ModelData[37]) //knife
  221.     }
  222.    
  223. }
  224. public spawn_event(id){
  225.     getfrag[0][id] = 0;
  226.     getfrag[1][id] = 0;
  227.     getfrag[2][id] = 0;
  228. }
  229. public sebzes_event(id)
  230. {
  231.     new tamado = get_user_attacker(id);
  232.     if(id == tamado  || !IsValidPlayers(id, tamado )) return;
  233.     getfrag[1][tamado] += read_data(2);
  234.    
  235.     if(!getfrag[2][id] && getfrag[1][tamado] >= 50)
  236.     {
  237.         getfrag[0][tamado] = id;
  238.         getfrag[2][id] = tamado;
  239.     }
  240. }
  241. public Halal() {
  242.    
  243.     new attacker = read_data(1)
  244.     new victim = read_data(2)
  245.    
  246.     new nev[32]
  247.     get_user_name(victim, nev, charsmax(nev))
  248.    
  249.     if(attacker == victim || attacker == 0)
  250.         return PLUGIN_HANDLED
  251.    
  252.     if(read_data( 3 )){
  253.         oles[attacker] += get_cvar_num("hs_recived");
  254.         ColorChat(attacker, GREEN, chatszoveg[0] ,prefix ,nev, get_cvar_num("hs_recived"))
  255.     }
  256.     else{
  257.         oles[attacker] += get_cvar_num("kill_recived");
  258.         ColorChat(attacker, GREEN, chatszoveg[1],prefix, nev, get_cvar_num("kill_recived"))
  259.     }
  260.     if(getfrag[2][victim] && getfrag[2][victim] != attacker){
  261.         new fragetkap = getfrag[2][victim];
  262.         new fragetkapneve[32];
  263.         getfrag[0][fragetkap] = 0;
  264.         getfrag[1][fragetkap] = 0;
  265.         getfrag[2][victim] = 0;
  266.         get_user_name(fragetkap, fragetkapneve, charsmax(fragetkapneve));
  267.         oles[fragetkap]++
  268.         ColorChat(0, GREEN, chatszoveg[2],prefix ,fragetkapneve);
  269.     }
  270.     switch(random_num(1,3)){
  271.         case 1: dropdobas()
  272.         }
  273.     return PLUGIN_HANDLED;
  274. }
  275. public dropdobas()
  276. {  
  277.     new victim = read_data( 2 );
  278.    
  279.     static Float:origin[ 3 ];
  280.     pev( victim, pev_origin, origin );
  281.    
  282.     new ent = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
  283.     origin[ 2 ] -= 36;
  284.     engfunc( EngFunc_SetOrigin, ent, origin );
  285.    
  286.     if( !pev_valid( ent ) )
  287.     {
  288.         return PLUGIN_HANDLED;
  289.     }
  290.    
  291.     set_pev( ent, pev_classname, "kredit" );
  292.     engfunc( EngFunc_SetModel, ent, "models/d2_bfs/pack/kredit.mdl" );
  293.     dllfunc( DLLFunc_Spawn, ent );
  294.     set_pev( ent, pev_solid, SOLID_BBOX );
  295.     set_pev( ent, pev_movetype, MOVETYPE_NONE );
  296.     engfunc( EngFunc_SetSize, ent, Float:{ -23.160000, -13.660000, -0.050000 }, Float:{ 11.470000, 12.780000, 6.720000 } );
  297.     engfunc( EngFunc_DropToFloor, ent );
  298.    
  299.     return PLUGIN_HANDLED;
  300. }
  301. public ForwardTouch( ent, id )
  302. {
  303.     if(pev_valid(ent))
  304.     {
  305.         new classname[ 32 ];
  306.         pev( ent, pev_classname, classname, charsmax( classname ) );
  307.        
  308.         if( !equal( classname, "kredit") )
  309.         {
  310.             return FMRES_IGNORED;
  311.         }
  312.        
  313.         kredit[id] += get_cvar_num("found_kredit");
  314.         ColorChat(id, GREEN, chatszoveg[3],prefix, get_cvar_num("found_kredit"));
  315.        
  316.         engfunc( EngFunc_RemoveEntity, ent );
  317.     }
  318.     return FMRES_IGNORED
  319. }
  320. public logevent_round_start()
  321. {
  322.     new hkt = FM_NULLENT;
  323.     while ( ( hkt = fm_find_ent_by_class( hkt, "kredit") ) )
  324.     {
  325.         engfunc( EngFunc_RemoveEntity, hkt );
  326.     }  
  327. }
  328. public fomenu(id)
  329. {
  330.     new String[96]
  331.     format(String, charsmax(String), "\r[NEW* -BfS] \wFĹ‘menĂĽ^n\yĂ–lĂ©sek: \d%i \w|\y Kreditek: \d%i", oles[id],kredit[id])
  332.     new menu = menu_create(String, "fomenu_MyMenu");
  333.    
  334.     menu_additem(menu, "Fegyver Skin Csomagok", "0");
  335.     menu_additem(menu, "JátĂ©kos InfĂłk", "1");
  336.     menu_additem(menu, "Pack InformáciĂłk", "2");
  337.     menu_additem(menu, "Vasarlas^n^n\y", "3");
  338.    
  339.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  340.     menu_setprop(menu, MPROP_EXITNAME, "\rKilĂ©pĂ©s");
  341.    
  342.     menu_display(id, menu, 0);
  343.    
  344.     return PLUGIN_HANDLED;
  345. }
  346.  
  347. public Bevaltas(id)
  348. {
  349.     new cim[121];
  350.     format(cim, charsmax(cim), "[New -BfS>>] \wOnly Dust2 \r- \dVasarlas^n\yKrediteid: \d%i^n\yPontok: \d%i^n\y%s", kredit[id],oles[id],keszito);
  351.     new menu = menu_create(cim, "Bevaltas_h");
  352.    
  353.     menu_additem(menu, "\w250 \yDB \wPontok \r- \d(200 Kredit)", "1", 0);
  354.     menu_additem(menu, "\w1000 \yDB \wPontok \r- \d(500 Kredit)", "2", 0);
  355.    
  356.     menu_display(id, menu, 0);
  357. }
  358. public Bevaltas_h(id, menu, item){
  359.     if(item == MENU_EXIT)
  360.     {
  361.         menu_destroy(menu);
  362.         return;
  363.     }
  364.    
  365.     new data[9], szName[64];
  366.     new access, callback;
  367.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  368.     new key = str_to_num(data);
  369.    
  370.     switch(key)
  371.     {
  372.         case 1:
  373.         {
  374.             if(kredit[id] >= 200)
  375.             {
  376.                 oles[id] += 250;
  377.                 kredit[id] -= 200;
  378.             }
  379.             else ColorChat(id, GREEN, "%s ^1Nincs elĂ©g ^4KREDITED.", prefix);
  380.         }
  381.         case 2:
  382.         {
  383.             if(kredit[id] >= 500)
  384.             {
  385.                 oles[id] += 1000;
  386.                 kredit[id] -= 500;
  387.             }
  388.             else ColorChat(id, GREEN, "%s ^1Nincs elĂ©g ^4KREDITED.", prefix);
  389.         }
  390.     }
  391. }
  392.  
  393. public fomenu_MyMenu(id, menu, item)
  394. {
  395.     if(item == MENU_EXIT)
  396.     {
  397.         menu_destroy(menu);
  398.         return PLUGIN_HANDLED;
  399.     }
  400.    
  401.     new command[6], name[64], access, callback;
  402.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  403.    
  404.     switch(item)
  405.     {
  406.         case 0: fegymenu(id)
  407.             case 1: playerinfo(id)
  408.             case 2: show_motd(id, "addons/amxmodx/configs/wssinfo.txt", "[NEW* -BfS] Infok")
  409.             case 3: Bevaltas(id)
  410.         }
  411.    
  412.     menu_destroy(menu);
  413.    
  414.     return PLUGIN_HANDLED;
  415. }
  416. public playerinfo(id)
  417. {  
  418.     new some[256], menu
  419.     static players[32],szTemp[10],pnum
  420.     get_players(players,pnum,"ch");
  421.    
  422.     formatex(some,255,"\r[NEW* -BfS] \wJátĂ©kos \d|\w Pont \d|\w Kredit");
  423.     menu = menu_create(some,"pinfo_Handler");
  424.    
  425.     for (new i; i < pnum; i++)
  426.     {
  427.         formatex(some,256,"%s \r(\yPontja: \w%i \d| \yKreditje: \w%i\r)",get_player_name(players[i]), oles[players[i]],kredit[players[i]]);
  428.         num_to_str(players[i],szTemp,charsmax(szTemp));
  429.         menu_additem(menu, some, szTemp);
  430.     }
  431.    
  432.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
  433.     menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");
  434.     menu_display(id, menu);
  435.     return PLUGIN_HANDLED;
  436. }
  437. public pinfo_Handler(id,menu, item)
  438. {
  439.     if(item == MENU_EXIT)
  440.     {
  441.         menu_destroy(menu);
  442.         return;
  443.     }
  444.    
  445.     playerinfo(id)
  446. }
  447. public fegymenu(id)
  448. {
  449.     new String[96]
  450.     format(String, charsmax(String), "\r[NEW* -BfS] \wSkin csomagok^n\yKiválasztott Csomag: \d[%s]", csomagmsg[csomag[id]])
  451.     new menu = menu_create(String, "fegymenu_handler" )
  452.    
  453.     format(String, charsmax(String), oles[id] >= need_kills[0] ? (menuszoveg[0][0]):(menuszoveg[0][1]), oles[id], need_kills[0]);
  454.     menu_additem(menu, String, "0" );
  455.     formatex(String, charsmax(String), oles[id] >= need_kills[1] ? (menuszoveg[1][0]):(menuszoveg[1][1]), oles[id], need_kills[1]);
  456.     menu_additem(menu, String, "1");
  457.     formatex(String, charsmax(String), oles[id] >= need_kills[2] ? (menuszoveg[2][0]):(menuszoveg[2][1]), oles[id], need_kills[2]);
  458.     menu_additem(menu, String, "2");
  459.     format(String, charsmax(String), oles[id] >= need_kills[3] ? (menuszoveg[3][0]):(menuszoveg[3][1]), oles[id], need_kills[3]);
  460.     menu_additem(menu, String, "3");
  461.     format(String, charsmax(String), oles[id] >= need_kills[4] ? (menuszoveg[4][0]):(menuszoveg[4][1]), oles[id], need_kills[4]);
  462.     menu_additem(menu, String, "4");
  463.     format(String, charsmax(String), oles[id] >= need_kills[5] ? (menuszoveg[5][0]):(menuszoveg[5][1]), oles[id], need_kills[5]);
  464.     menu_additem(menu, String, "5");
  465.     format(String, charsmax(String), oles[id] >= need_kills[6] ? (menuszoveg[6][0]):(menuszoveg[6][1]), oles[id], need_kills[6]);
  466.     menu_additem(menu, String, "6");
  467.     format(String, charsmax(String), oles[id] >= need_kills[7] ? (menuszoveg[7][0]):(menuszoveg[7][1]), oles[id], need_kills[7]);
  468.     menu_additem(menu, String, "7");
  469.     format(String, charsmax(String), oles[id] >= need_kills[8] ? (menuszoveg[8][0]):(menuszoveg[8][1]), oles[id], need_kills[8]);
  470.     menu_additem(menu, String, "8");
  471.     formatex(String, charsmax(String), kredit[id] >= need_kills[9] ? (menuszoveg[9][0]):(menuszoveg[9][1]), kredit[id], need_kills[9]);
  472.     menu_additem(menu, String, "9");
  473.     menu_additem(menu, switchbutton[id] == 1 ? (menuszoveg[10][0]):(menuszoveg[10][1]), "9");
  474.    
  475.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  476.     menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  477.     menu_setprop(menu, MPROP_NEXTNAME, "ElĹ‘re");
  478.     menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");
  479.    
  480.     menu_display(id, menu, 0);
  481.     return PLUGIN_HANDLED;
  482. }
  483. public fegymenu_handler(id, menu, item)
  484. {
  485.     if(item == MENU_EXIT)
  486.     {
  487.         menu_destroy(menu)
  488.         return PLUGIN_HANDLED;
  489.     }
  490.    
  491.     new command[6], name[64], access, callback;
  492.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  493.    
  494.     switch(item)
  495.     {
  496.         case 0: {
  497.             if(oles[id] >= need_kills[0]) {
  498.                 csomag[id] = 1
  499.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  500.             }
  501.             else  {
  502.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  503.             }
  504.         }
  505.         case 1: {
  506.             if(oles[id] >= need_kills[1]) {
  507.                 csomag[id] = 2
  508.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  509.             }
  510.             else  {
  511.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  512.             }
  513.         }
  514.         case 2: {
  515.             if(oles[id] >= need_kills[2]) {
  516.                 csomag[id] = 3
  517.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  518.             }
  519.             else  {
  520.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  521.             }
  522.         }
  523.         case 3: {
  524.             if(oles[id] >= need_kills[3]) {
  525.                 csomag[id] = 4
  526.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  527.             }
  528.             else  {
  529.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  530.             }
  531.         }
  532.         case 4: {
  533.             if(oles[id] >= need_kills[4]) {
  534.                 csomag[id] = 5
  535.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  536.             }
  537.             else  {
  538.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  539.             }
  540.         }
  541.         case 5: {
  542.             if(oles[id] >= need_kills[5]) {
  543.                 csomag[id] = 6
  544.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  545.             }
  546.             else  {
  547.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  548.             }
  549.         }
  550.         case 6: {
  551.             if(oles[id] >= need_kills[6]) {
  552.                 csomag[id] = 7
  553.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  554.             }
  555.             else  {
  556.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  557.             }
  558.         }
  559.         case 7: {
  560.             if(oles[id] >= need_kills[7]) {
  561.                 csomag[id] = 8
  562.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  563.             }
  564.             else  {
  565.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  566.             }
  567.         }
  568.         case 8: {
  569.             if(oles[id] >= need_kills[8]) {
  570.                 csomag[id] = 9
  571.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  572.             }
  573.             else  {
  574.                 ColorChat(id, GREEN, chatszoveg[5],prefix);
  575.             }
  576.         }
  577.         case 9: {
  578.             if(kredit[id] >= need_kills[9]) {
  579.                 knife[id] = 1
  580.                 ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[10]);
  581.             }
  582.             else  {
  583.                 ColorChat(id, GREEN, chatszoveg[9],prefix);
  584.             }
  585.         }
  586.         case 10: {
  587.             if(switchbutton[id] == 0){
  588.                 switchbutton[id] = 1
  589.                     csomag[id] = 0
  590.                 knife[id] = 0
  591.                 ColorChat(id, GREEN, chatszoveg[6],prefix);
  592.             }
  593.             else {
  594.                 switchbutton[id] = 0
  595.                     ColorChat(id, GREEN, chatszoveg[7],prefix);
  596.             }
  597.         }
  598.         case 11: {
  599.             ColorChat(id, GREEN, chatszoveg[5],prefix);
  600.         }
  601.     }
  602.    
  603.     fegymenu(id)
  604.     return PLUGIN_HANDLED;
  605. }
  606. public infohud() {
  607.    
  608.     if(!get_cvar_num("wss_hudenable")) return PLUGIN_HANDLED
  609.    
  610.     static id
  611.     for(id = 1; id <= get_maxplayers(); id++)
  612.     {
  613.         if(is_user_alive(id)){
  614.             set_hudmessage(0, 127, 255, 0.01, 0.20, 0, 6.0, 1.0)
  615.             show_hudmessage(id, "[Pont: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[id],kredit[id],csomagmsg[csomag[id]], knifedisenable[knife[id]])
  616.         }
  617.         else{
  618.             new target = entity_get_int(id, EV_INT_iuser2);
  619.            
  620.             if(!target)
  621.                 return PLUGIN_CONTINUE;
  622.            
  623.             set_hudmessage(255, 255, 255, 0.01, 0.20, 0, 6.0, 1.0)
  624.             show_hudmessage(id, "[Pont: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[target],kredit[target],csomagmsg[csomag[target]], knifedisenable[knife[target]])
  625.         }
  626.     }
  627.     return PLUGIN_CONTINUE;
  628. }
  629. stock get_player_name(id){
  630.     static szName[32];
  631.     get_user_name(id,szName,31);
  632.     return szName;
  633. }
  634. public client_disconnect(id)
  635. {
  636.     if(is_user_bot(id)) return;
  637.     mentes(id)
  638.     save(id);
  639. }
  640. public client_putinserver( id ) {
  641.     if(is_user_bot(id)) return;
  642.    
  643.     oles[id] = 0;
  644.     kredit[id] = 0;
  645.     csomag[id] = 0;
  646.     switchbutton[id] = 0;
  647.         load(id);
  648. }
  649. public client_connect(id)
  650. {
  651.     betoltes(id)
  652.     load(id)
  653. }
  654. public mentes(id)
  655. {
  656.     new name[32]
  657.     get_user_name(id, name, 31)
  658.    
  659.     new vaultkey[64],vaultdata[256]
  660.     format(vaultkey,63,"%s_dobozok", name)
  661.     format(vaultdata,255,"%i",felszedett[id])
  662.    
  663.    
  664.     nvault_set(g_vault,vaultkey,vaultdata)
  665.     return PLUGIN_CONTINUE
  666. }
  667. public betoltes(id)
  668. {
  669.     new name[32]
  670.     get_user_name(id, name, 31)
  671.     new vaultkey[64],vaultdata[256]
  672.     format(vaultkey,63,"%s_dobozok", name)
  673.     format(vaultdata,255,"%i",felszedett[id])
  674.     nvault_get(g_vault,vaultkey,vaultdata,255)
  675.     replace_all(vaultdata, 255, "#", " ")
  676.     new szedett[32]
  677.     parse(vaultdata, szedett, 31)
  678.     felszedett[id] = str_to_num(szedett)
  679.     return PLUGIN_CONTINUE
  680. }
  681. load(id) {
  682.     new szAuthid[32], szData[32];
  683.     get_user_name( id, szAuthid, charsmax(szAuthid));
  684.     new s1[16],s2[16],s3[16],s4[16]
  685.     fvault_get_data( szVaultName, szAuthid, szData, 31 );
  686.     parse( szData, s1, 15, s2, 15 , s3 , 15, s4 ,15);
  687.     oles[id] = str_to_num(s1);
  688.     kredit[id] = str_to_num(s2);
  689.     csomag[id] = str_to_num(s3);
  690.     switchbutton[id] = str_to_num(s4);
  691.     }
  692. save(id) {
  693.     new szAuthid[ 32 ], szData[ 32 ];
  694.     get_user_name( id, szAuthid, charsmax(szAuthid));
  695.    
  696.     formatex( szData, 31, "%i %i %i %i", oles[id], kredit[id], csomag[id], switchbutton[id]);
  697.     fvault_set_data( szVaultName, szAuthid, szData );
  698. }
  699. ///// BELE ÍRVA : ////////////
  700. public szamlalo(id)
  701. {
  702.     if(generalva == true) {
  703.         counter++
  704.     }
  705.     if(megvan == true) {
  706.         counter = 0
  707.     }
  708.     if(counter > get_pcvar_num(eltunes) && generalva == true)
  709.     {
  710.         new target = find_ent_by_class(target, "nyeremendoboz")
  711.         engfunc(EngFunc_RemoveEntity, target)
  712.         dobozszam--
  713.         counter = 0
  714.         generalva = false
  715.         switch(random_num(1,2)) {
  716.             case 1: {
  717.                 ColorChat(0, RED, "Ezt a dobozt sajnos nem sikerult megtalalnotok :(")
  718.             }
  719.             case 2: {
  720.                 ColorChat(0, GREEN, "Ezt a dobozt sajnos nem sikerult megtalalnotok :(")
  721.             }
  722.            
  723.         }
  724.        
  725.     }
  726. }
  727.  
  728. public keszit(id)
  729. {
  730.     if(dobozszam < get_pcvar_num(cvar)) {  
  731.         new inifile[192], map[32]
  732.         get_mapname(map, 31)
  733.         formatex(inifile, charsmax(inifile), "addons/amxmodx/configs/csdm/%s.spawns.cfg", map)
  734.         new Float:origin[3]
  735.         new elsopoz[8], masodikpoz[8], harmadikpoz[8]
  736.         new lines = file_size(inifile, 1)
  737.         if(lines > 0)
  738.         {
  739.             new randomLine = random(lines);
  740.             new lineBuffer[256], len;
  741.             read_file(inifile, randomLine, lineBuffer, charsmax(lineBuffer), len);
  742.             parse(lineBuffer, elsopoz, 7, masodikpoz, 7, harmadikpoz, 7)
  743.            
  744.             origin[0] = str_to_float(elsopoz)
  745.             origin[1] = str_to_float(masodikpoz)
  746.             origin[2] = str_to_float(harmadikpoz)
  747.         }
  748.        
  749.        
  750.         new ent = create_entity("info_target")
  751.         set_pev(ent, pev_classname, "nyeremendoboz")
  752.         entity_set_model(ent, ET_model[random(sizeof(ET_model))])
  753.        
  754.         set_pev(ent,pev_solid, SOLID_BBOX)
  755.         set_pev(ent, pev_movetype, MOVETYPE_TOSS)
  756.         engfunc(EngFunc_SetOrigin, ent, origin)
  757.         engfunc(EngFunc_SetSize, ent, Float:{-10.0,-10.0,0.0}, Float:{10.0,10.0,25.0})
  758.         engfunc(EngFunc_DropToFloor, ent)
  759.         fm_set_rendering(ent, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 16);
  760.         switch(random_num(1,2)) {
  761.             case 1: {
  762.                 ColorChat(0, RED, "Uj doboz jelent meg keressetek!!!!!!!")
  763.             }
  764.             case 2: {
  765.                 ColorChat(0, GREEN, "Uj doboz jelent meg keressetek!!!!!!!")
  766.             }
  767.            
  768.         }
  769.         dobozszam++
  770.         megvan = false
  771.         generalva = true
  772.     }
  773.     return PLUGIN_CONTINUE
  774. }
  775. public client_PreThink(id)
  776. {
  777.     set_hudmessage(127, 255, 170, 0.0, 0.19, 0, 6.0, 1.0)
  778.     show_hudmessage(id, "Megtalalt dobozok: %d", felszedett[id])
  779.    
  780. }
  781.  
  782. public hirdetes()
  783. {
  784.     ColorChat(0, GREEN, "A Nyeremenyjatek plugint ^3qKKKJ;> ^4keszitette!")
  785. }
  786.  
  787. public remove(ent, id)
  788. {
  789.     if(is_user_alive(id)) {
  790.        
  791.        
  792.         felszedett[id]++
  793.         dobozszam--
  794.         new nev[32]
  795.         get_user_name(id, nev, 31)
  796.         switch(random_num(1,2)) {
  797.             case 1: {
  798.                 ColorChat(0, RED, "%s talalt +15 kreditet!", nev)
  799.                 kredit[id] += 15
  800.             }
  801.             case 2: {
  802.                 ColorChat(0, GREEN, "%s nem talalt lofaszt sem!", nev)
  803.             }
  804.            
  805.         }
  806.         engfunc(EngFunc_RemoveEntity, ent)
  807.         megvan = true
  808.         generalva = false
  809.     }
  810.     return PLUGIN_HANDLED
  811. }

_________________
BfS* #Team ~Global Offensive IP: 217.144.54.193:27148

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: 2 plugin össze írás + kredit
HozzászólásElküldve: 2016.11.13. 21:26 
Offline
Félisten
Avatar

Csatlakozott: 2016.03.06. 14:20
Hozzászólások: 964
Megköszönt másnak: 102 alkalommal
Megköszönték neki: 134 alkalommal
Eltolódási hiba. :D

_________________
 ! Moderátori megjegyzés (kiki):
Kérlek csekkold az aláírásra vonatkozó szabályokat!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: 2 plugin össze írás + kredit
HozzászólásElküldve: 2016.11.14. 07:53 
Offline
Őskövület
Avatar

Csatlakozott: 2011.12.28. 00:35
Hozzászólások: 2736
Megköszönt másnak: 56 alkalommal
Megköszönték neki: 275 alkalommal
Tessék most már nincs annyi hiba :)

  1. #include <amxmodx>
  2. #include <fun>
  3. #include <engine>
  4. #include <fakemeta>
  5. #include <hamsandwich>
  6. #include <fakemeta_util>
  7. #include <colorchat>
  8. #include <fvault>
  9. #include <nvault>
  10.  
  11. #include <dhudmessage>
  12.  
  13. #define PLUGIN "[WSS]"
  14. #define VERSION "1.0"
  15. #define AUTHOR "6almasok"
  16.  
  17. #define IsValidPlayers(%1,%2) ((1 <= %1 <= 32) && (1 <= %2 <= 32))
  18.  
  19. new oles[33],csomag[33], kredit[33],switchbutton[33],knife[33],getfrag[3][33]
  20. new ModelData[40][64], ModelNum, MaximumBtton
  21.  
  22. new felszedett[33],dobozszam,cvar,counter = 0, bool:megvan, bool:generalva,g_vault, eltunes
  23.  
  24. new const File[] = "addons/amxmodx/configs/asd.ini"
  25. new const szVaultName[] = "hjk_vault"
  26. new const prefix[] = "NEW* -BfS"
  27. new const keszito[] = "Vasarlas Menu By Kingston. -BfS."
  28.  
  29. /*Rust Kills | Silver Kills | Gold Kills | Veteran Kills | Knife Kredit*/
  30. new const need_kills[] = { 500, 1000, 2000, 4000, 4700, 5000, 6000, 6500, 7000, 500 }
  31.  
  32. /*Pack Names*/
  33. new const csomagmsg[11][] = { "Nincs","Rozsdás Csomag","Ezüst Csomag","Arany Csomag","Veterán Csomag","Galaxy Csomag","Metal Csomag","Star Csomag","Tuz Csomag","Ultra Csomag","Speed Knife" }
  34.  
  35. new const knifedisenable[2][] = { "Kikapcsolva", "Bekapcsolva" }
  36.  
  37. new const menuszoveg[][][] = {
  38.     {"Rozsdás Csomag \r[MEGSZEREZVE]", "\dRozsdás Csomag \r[%i/%i Pontok]"}, //0
  39.     {"EzĂĽst Csomag \r[MEGSZEREZVE]", "\dEzĂĽst Csomag \r[%i/%i Pontok]"}, //1
  40.     {"Arany Csomag \r[MEGSZEREZVE]", "\dArany Csomag \r[%i/%i Pontok]"}, //2
  41.     {"Veterán Csomag \r[MEGSZEREZVE]", "\dVeterán Csomag \r[%i/%i Pontok]"}, //3
  42.     {"Galaxy Csomag \r[MEGSZEREZVE]", "\dGalaxy Csomag \r[%i/%i Pontok]"}, //4
  43.     {"Metal Csomag \r[MEGSZEREZVE]", "\dMetal Csomag \r[%i/%i Pontok]"}, //5
  44.     {"Star Csomag \r[MEGSZEREZVE]", "\dStar Csomag \r[%i/%i Pontok]"}, //6
  45.     {"Tuz Csomag \r[MEGSZEREZVE]", "\dTuz Csomag \r[%i/%i Pontok]"}, //6
  46.     {"Ultra Csomag \r[MEGSZEREZVE]", "\dUltra Csomag \r[%i/%i Pontok]"}, //7
  47.     {"Speed Knife \r[MEGSZEREZVE]^n", "\dSpeed Knife \r[%i/%i Kredit]^n"}, //8
  48.     {"\ySkin Csomagok \r[KIKAPCSOLVA]", "\ySkin Csomagok \r[BEKAPCSOLVA]"} //9
  49. }
  50. new const chatszoveg[10][] =
  51. {
  52. "^4[%s]^1 FEJLÖVÉS!^3 %s ^1megöléséért kaptál ^3+%i^1 Pontot!",
  53. "^4[%s]^3 %s ^1megöléséért kaptál ^3+%i^1 Pontot!",
  54. "^4[%s]^3 %s ^1kapott ^3+1 ^1Pontot ember lesebzésért!",
  55. "^4[%s]^1 Találtál^3 +%i^1 kreditet a csomagbol!",
  56. "^4[%s]^1 Kiválasztottad a(z)^3 %s^1-ot!",
  57. "^4[%s]^1 Sajnos nincs elég Pontod!",
  58. "^4[%s]^1 Kikapcsoltad a Skin Csomagokat!",
  59. "^4[%s]^1 Bekapcsoltad a Skin Csomagokat!",
  60. "^4[%s]^1 A Szerveren Jelenleg a(z) ^3Skin rendszer^1 fut. Megnyitáshoz írd be ^3/menu^1.",
  61. "^4[%s]^1 Sajnos nincs elég kredited!"
  62. }
  63. new const ET_model[][] = {
  64. "models/cyan.mdl",
  65. "models/zold.mdl",
  66. "models/narancs.mdl",
  67. "models/pink.mdl",
  68. "models/minden.mdl",
  69. "models/voros.mdl",
  70. "models/sarga.mdl"
  71. }
  72.  
  73. public plugin_init() {
  74. register_plugin(PLUGIN, VERSION, AUTHOR)
  75.  
  76.  
  77. /* Client Command */
  78. register_clcmd("say /menu" , "fomenu")
  79.  
  80. register_impulse(201, "fomenu")
  81. /* Events */
  82. register_event("CurWeapon", "changeweapon", "be", "1=1")
  83. register_event("Damage", "sebzes_event", "be", "2!0", "3=0", "4!0")
  84. register_event("DeathMsg","Halal","a")
  85.  
  86. /* Cvars */
  87. register_cvar("wss_hudenable", "1");
  88. register_cvar("wss_advertmp", "40.0");
  89. register_cvar("kill_recived", "1");
  90. register_cvar("hs_recived", "2");
  91. register_cvar("found_kredit", "1");
  92.  
  93. /* Other */
  94. register_forward(FM_Touch,"ForwardTouch" );
  95. RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
  96. register_touch("nyeremendoboz","player","remove")
  97. set_task(1.0, "infohud", 0, _, _, "b")
  98. set_task(get_cvar_float("wss_advertmp"), "advertist", 0, "", 0, "b", 0)
  99. set_task(30.0, "keszit",_,_,_,"b")
  100. set_task(1.0, "szamlalo",_,_,_,"b")
  101. set_task(random_float(30.0,60.0), "hirdetes",_,_,_,"b")
  102.  
  103. cvar = register_cvar("sv_maxdoboz", "1")
  104. eltunes = register_cvar("sv_eltunes", "30")
  105. g_vault = nvault_open("dobozok")
  106.  
  107. LoadModel();
  108. }
  109. public advertist(){
  110. ColorChat(0, GREEN, chatszoveg[8],prefix);
  111. return PLUGIN_HANDLED;
  112. }
  113. public plugin_precache() {
  114.  
  115. new Len, btton[196], Data[64], Letoltes[40][64];
  116. MaximumBtton = file_size(File, 1);
  117.  
  118. for(new Num = 0; Num < MaximumBtton; Num++){
  119.     read_file(File, Num, btton, 196, Len);
  120.     parse(btton, Data, 63);
  121.     remove_quotes(btton);
  122.     if(btton[0] == ';')
  123.     {
  124.         continue;
  125.     }
  126.     remove_quotes(Data);
  127.     format(Letoltes[Num], 63, "%s", Data);
  128.     precache_model(Letoltes[Num]);
  129. }
  130. precache_model("models/d2_bfs/pack/kredit.mdl");
  131. precache_model("models/cyan.mdl")
  132. precache_model("models/zold.mdl")
  133. precache_model("models/narancs.mdl")
  134. precache_model("models/pink.mdl")
  135. precache_model("models/minden.mdl")
  136. precache_model("models/voros.mdl")
  137. precache_model("models/sarga.mdl")
  138. }
  139. public LoadModel()
  140. {
  141. new Len, btton[196], Data[64];
  142. MaximumBtton = file_size(File, 1);
  143. for(new Num; Num < MaximumBtton; Num++){
  144.     ModelNum++;
  145.     read_file(File, Num, btton, 196, Len);
  146.     parse(btton, Data, 63);
  147.     remove_quotes(btton);
  148.     if(btton[0] == ';')
  149.     {
  150.         continue;
  151.     }
  152.     remove_quotes(Data);
  153.     format(ModelData[ModelNum], 63, "%s", Data);
  154. }
  155. }
  156. public changeweapon(id)
  157. {
  158.     if(!is_user_alive(id) || !is_user_connected(id) || id < 1 || id > 32 || switchbutton[id] == 1)
  159.     return
  160.    
  161.     new fegyver = get_user_weapon(id)
  162.    
  163.     if(csomag[id] == 1){
  164.          if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[1]) //Rozsdas ak
  165.          if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[2]) //Rozsdas awp
  166.          if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[3]) //Rozsdas desi
  167.          if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[4]) //Rozsdas m4
  168.     }
  169.     else if(csomag[id] == 2){
  170.          if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[5]) //ezust ak
  171.          if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[6]) //ezust awp
  172.          if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[7]) //ezust desi
  173.          if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[8]) //ezust m4
  174.     }
  175.     else if(csomag[id] == 3){
  176.          if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[9]) //arany ak
  177.          if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[10]) //arany awp
  178.          if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[11]) //arany desi
  179.          if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[12]) //arany m4
  180.     }
  181.     else if(csomag[id] == 4){
  182.          if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[13]) //veteran ak
  183.          if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[14]) //veteran awp
  184.          if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[15]) //veteran desi
  185.          if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[16]) //veteran m4
  186.     }
  187.     else if(csomag[id] == 5){
  188.          if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[17]) //Galaxy ak
  189.          if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[18]) //Galaxy awp
  190.          if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[19]) //Galaxy desi
  191.          if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[20]) //Galaxy m4
  192.     }
  193.     else if(csomag[id] == 6){
  194.          if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[21]) //Metal ak
  195.          if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[22]) //Metal awp
  196.          if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[23]) //Metal desi
  197.          if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[24]) //Metal m4
  198.     }
  199.     else if(csomag[id] == 7){
  200.     if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[25]) //Star ak
  201.     if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[26]) //Star awp
  202.     if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[27]) //Star desi
  203.     if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[28]) //Star m4
  204.     }
  205.     else if(csomag[id] == 8){
  206.          if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[29]) //Star ak
  207.          if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[30]) //Star awp
  208.          if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[31]) //Star desi
  209.          if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[32]) //Star m4
  210.     }
  211.     else if(csomag[id] == 9){
  212.          if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[33]) //Ultra ak
  213.          if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[34]) //Ultra awp
  214.          if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[35]) //Ultra desi
  215.          if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[36]) //Ultra m4
  216.     }
  217.     if(knife[id] == 1 && fegyver == CSW_KNIFE){
  218.        
  219.          set_user_maxspeed(id, Float:320.0)
  220.          set_pev(id, pev_viewmodel2, ModelData[37]) //knife
  221.     }
  222.    
  223. }
  224. public spawn_event(id){
  225.     getfrag[0][id] = 0;
  226.     getfrag[1][id] = 0;
  227.     getfrag[2][id] = 0;
  228. }
  229. public sebzes_event(id)
  230. {
  231.     new tamado = get_user_attacker(id);
  232.     if(id == tamado  || !IsValidPlayers(id, tamado )) return;
  233.     getfrag[1][tamado] += read_data(2);
  234.    
  235.     if(!getfrag[2][id] && getfrag[1][tamado] >= 50)
  236.     {
  237.         getfrag[0][tamado] = id;
  238.         getfrag[2][id] = tamado;
  239.     }
  240. }
  241. public Halal() {
  242.    
  243.     new attacker = read_data(1)
  244.     new victim = read_data(2)
  245.    
  246.     new nev[32]
  247.     get_user_name(victim, nev, charsmax(nev))
  248.    
  249.     if(attacker == victim || attacker == 0)
  250.         return PLUGIN_HANDLED
  251.    
  252.     if(read_data( 3 )){
  253.         oles[attacker] += get_cvar_num("hs_recived");
  254.         ColorChat(attacker, GREEN, chatszoveg[0] ,prefix ,nev, get_cvar_num("hs_recived"))
  255.     }
  256.     else{
  257.         oles[attacker] += get_cvar_num("kill_recived");
  258.         ColorChat(attacker, GREEN, chatszoveg[1],prefix, nev, get_cvar_num("kill_recived"))
  259.     }
  260.     if(getfrag[2][victim] && getfrag[2][victim] != attacker){
  261.         new fragetkap = getfrag[2][victim];
  262.         new fragetkapneve[32];
  263.         getfrag[0][fragetkap] = 0;
  264.         getfrag[1][fragetkap] = 0;
  265.         getfrag[2][victim] = 0;
  266.         get_user_name(fragetkap, fragetkapneve, charsmax(fragetkapneve));
  267.         oles[fragetkap]++
  268.         ColorChat(0, GREEN, chatszoveg[2],prefix ,fragetkapneve);
  269.     }
  270.     switch(random_num(1,3)){
  271.         case 1: dropdobas()
  272.         }
  273.     return PLUGIN_HANDLED;
  274. }
  275. public dropdobas()
  276. {  
  277.     new victim = read_data( 2 );
  278.    
  279.     static Float:origin[ 3 ];
  280.     pev( victim, pev_origin, origin );
  281.    
  282.     new ent = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
  283.     origin[ 2 ] -= 36;
  284.     engfunc( EngFunc_SetOrigin, ent, origin );
  285.    
  286.     if( !pev_valid( ent ) )
  287.     {
  288.         return PLUGIN_HANDLED;
  289.     }
  290.    
  291.     set_pev( ent, pev_classname, "kredit" );
  292.     engfunc( EngFunc_SetModel, ent, "models/d2_bfs/pack/kredit.mdl" );
  293.     dllfunc( DLLFunc_Spawn, ent );
  294.     set_pev( ent, pev_solid, SOLID_BBOX );
  295.     set_pev( ent, pev_movetype, MOVETYPE_NONE );
  296.     engfunc( EngFunc_SetSize, ent, Float:{ -23.160000, -13.660000, -0.050000 }, Float:{ 11.470000, 12.780000, 6.720000 } );
  297.     engfunc( EngFunc_DropToFloor, ent );
  298.    
  299.     return PLUGIN_HANDLED;
  300. }
  301. public ForwardTouch( ent, id )
  302. {
  303.     if(pev_valid(ent))
  304.     {
  305.         new classname[ 32 ];
  306.         pev( ent, pev_classname, classname, charsmax( classname ) );
  307.        
  308.         if( !equal( classname, "kredit") )
  309.         {
  310.             return FMRES_IGNORED;
  311.         }
  312.        
  313.         kredit[id] += get_cvar_num("found_kredit");
  314.         ColorChat(id, GREEN, chatszoveg[3],prefix, get_cvar_num("found_kredit"));
  315.        
  316.         engfunc( EngFunc_RemoveEntity, ent );
  317.     }
  318.     return FMRES_IGNORED
  319. }
  320. public logevent_round_start()
  321. {
  322.     new hkt = FM_NULLENT;
  323.     while ( ( hkt = fm_find_ent_by_class( hkt, "kredit") ) )
  324.     {
  325.         engfunc( EngFunc_RemoveEntity, hkt );
  326.     }  
  327. }
  328. public fomenu(id)
  329. {
  330.     new String[96]
  331.     format(String, charsmax(String), "\r[NEW* -BfS] \wFĹ‘menĂĽ^n\yĂ–lĂ©sek: \d%i \w|\y Kreditek: \d%i", oles[id],kredit[id])
  332.     new menu = menu_create(String, "fomenu_MyMenu");
  333.    
  334.     menu_additem(menu, "Fegyver Skin Csomagok", "0");
  335.     menu_additem(menu, "JátĂ©kos InfĂłk", "1");
  336.     menu_additem(menu, "Pack InformáciĂłk", "2");
  337.     menu_additem(menu, "Vasarlas^n^n\y", "3");
  338.    
  339.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  340.     menu_setprop(menu, MPROP_EXITNAME, "\rKilĂ©pĂ©s");
  341.    
  342.     menu_display(id, menu, 0);
  343.    
  344.     return PLUGIN_HANDLED;
  345. }
  346.  
  347. public Bevaltas(id)
  348. {
  349.     new cim[121];
  350.     format(cim, charsmax(cim), "[New -BfS>>] \wOnly Dust2 \r- \dVasarlas^n\yKrediteid: \d%i^n\yPontok: \d%i^n\y%s", kredit[id],oles[id],keszito);
  351.     new menu = menu_create(cim, "Bevaltas_h");
  352.    
  353.     menu_additem(menu, "\w250 \yDB \wPontok \r- \d(200 Kredit)", "1", 0);
  354.     menu_additem(menu, "\w1000 \yDB \wPontok \r- \d(500 Kredit)", "2", 0);
  355.    
  356.     menu_display(id, menu, 0);
  357. }
  358. public Bevaltas_h(id, menu, item){
  359.     if(item == MENU_EXIT)
  360.     {
  361.         menu_destroy(menu);
  362.         return;
  363.     }
  364.    
  365.     new data[9], szName[64];
  366.     new access, callback;
  367.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  368.     new key = str_to_num(data);
  369.    
  370.     switch(key)
  371.     {
  372.         case 1:
  373.         {
  374.             if(kredit[id] >= 200)
  375.             {
  376.                 oles[id] += 250;
  377.                 kredit[id] -= 200;
  378.             }
  379.             else ColorChat(id, GREEN, "%s ^1Nincs elĂ©g ^4KREDITED.", prefix);
  380.         }
  381.         case 2:
  382.         {
  383.             if(kredit[id] >= 500)
  384.             {
  385.                 oles[id] += 1000;
  386.                 kredit[id] -= 500;
  387.             }
  388.             else ColorChat(id, GREEN, "%s ^1Nincs elĂ©g ^4KREDITED.", prefix);
  389.         }
  390.     }
  391. }
  392.  
  393. public fomenu_MyMenu(id, menu, item)
  394. {
  395.     if(item == MENU_EXIT)
  396.     {
  397.         menu_destroy(menu);
  398.         return PLUGIN_HANDLED;
  399.     }
  400.    
  401.     new command[6], name[64], access, callback;
  402.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  403.    
  404.     switch(item)
  405.     {
  406.         case 0: fegymenu(id)
  407.             case 1: playerinfo(id)
  408.             case 2: show_motd(id, "addons/amxmodx/configs/wssinfo.txt", "[NEW* -BfS] Infok")
  409.             case 3: Bevaltas(id)
  410.         }
  411.    
  412.     menu_destroy(menu);
  413.    
  414.     return PLUGIN_HANDLED;
  415. }
  416. public playerinfo(id)
  417. {  
  418.     new some[256], menu
  419.     static players[32],szTemp[10],pnum
  420.     get_players(players,pnum,"ch");
  421.    
  422.     formatex(some,255,"\r[NEW* -BfS] \wJátĂ©kos \d|\w Pont \d|\w Kredit");
  423.     menu = menu_create(some,"pinfo_Handler");
  424.    
  425.     for (new i; i < pnum; i++)
  426.     {
  427.         formatex(some,256,"%s \r(\yPontja: \w%i \d| \yKreditje: \w%i\r)",get_player_name(players[i]), oles[players[i]],kredit[players[i]]);
  428.         num_to_str(players[i],szTemp,charsmax(szTemp));
  429.         menu_additem(menu, some, szTemp);
  430.     }
  431.    
  432.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
  433.     menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");
  434.     menu_display(id, menu);
  435.     return PLUGIN_HANDLED;
  436. }
  437. public pinfo_Handler(id,menu, item)
  438. {
  439.     if(item == MENU_EXIT)
  440.     {
  441.         menu_destroy(menu);
  442.         return;
  443.     }
  444.    
  445.     playerinfo(id)
  446. }
  447. public fegymenu(id)
  448. {
  449.     new String[96]
  450.     format(String, charsmax(String), "\r[NEW* -BfS] \wSkin csomagok^n\yKiválasztott Csomag: \d[%s]", csomagmsg[csomag[id]])
  451.     new menu = menu_create(String, "fegymenu_handler" )
  452.    
  453.     format(String, charsmax(String), oles[id] >= need_kills[0] ? (menuszoveg[0][0]):(menuszoveg[0][1]), oles[id], need_kills[0]);
  454.     menu_additem(menu, String, "0" );
  455.     formatex(String, charsmax(String), oles[id] >= need_kills[1] ? (menuszoveg[1][0]):(menuszoveg[1][1]), oles[id], need_kills[1]);
  456.     menu_additem(menu, String, "1");
  457.     formatex(String, charsmax(String), oles[id] >= need_kills[2] ? (menuszoveg[2][0]):(menuszoveg[2][1]), oles[id], need_kills[2]);
  458.     menu_additem(menu, String, "2");
  459.     format(String, charsmax(String), oles[id] >= need_kills[3] ? (menuszoveg[3][0]):(menuszoveg[3][1]), oles[id], need_kills[3]);
  460.     menu_additem(menu, String, "3");
  461.     format(String, charsmax(String), oles[id] >= need_kills[4] ? (menuszoveg[4][0]):(menuszoveg[4][1]), oles[id], need_kills[4]);
  462.     menu_additem(menu, String, "4");
  463.     format(String, charsmax(String), oles[id] >= need_kills[5] ? (menuszoveg[5][0]):(menuszoveg[5][1]), oles[id], need_kills[5]);
  464.     menu_additem(menu, String, "5");
  465.     format(String, charsmax(String), oles[id] >= need_kills[6] ? (menuszoveg[6][0]):(menuszoveg[6][1]), oles[id], need_kills[6]);
  466.     menu_additem(menu, String, "6");
  467.     format(String, charsmax(String), oles[id] >= need_kills[7] ? (menuszoveg[7][0]):(menuszoveg[7][1]), oles[id], need_kills[7]);
  468.     menu_additem(menu, String, "7");
  469.     format(String, charsmax(String), oles[id] >= need_kills[8] ? (menuszoveg[8][0]):(menuszoveg[8][1]), oles[id], need_kills[8]);
  470.     menu_additem(menu, String, "8");
  471.     formatex(String, charsmax(String), kredit[id] >= need_kills[9] ? (menuszoveg[9][0]):(menuszoveg[9][1]), kredit[id], need_kills[9]);
  472.     menu_additem(menu, String, "9");
  473.     menu_additem(menu, switchbutton[id] == 1 ? (menuszoveg[10][0]):(menuszoveg[10][1]), "9");
  474.    
  475.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  476.     menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  477.     menu_setprop(menu, MPROP_NEXTNAME, "ElĹ‘re");
  478.     menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");
  479.    
  480.     menu_display(id, menu, 0);
  481.     return PLUGIN_HANDLED;
  482. }
  483. public fegymenu_handler(id, menu, item)
  484. {
  485.     if(item == MENU_EXIT)
  486.     {
  487.         menu_destroy(menu)
  488.         return PLUGIN_HANDLED;
  489.     }
  490.    
  491.     new command[6], name[64], access, callback;
  492.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  493.    
  494.     switch(item)
  495.     {
  496.     case 0: {
  497.        
  498.         if(oles[id] >= need_kills[0]) {
  499.         csomag[id] = 1
  500.         ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  501.         }
  502.         else  {
  503.         ColorChat(id, GREEN, chatszoveg[5],prefix);
  504.         }
  505.     }
  506.     case 1: {
  507.        
  508.         if(oles[id] >= need_kills[1]) {
  509.         csomag[id] = 2
  510.         ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  511.         }
  512.         else  {
  513.         ColorChat(id, GREEN, chatszoveg[5],prefix);
  514.         }
  515.     }
  516.     case 2: {
  517.         if(oles[id] >= need_kills[2]) {
  518.         csomag[id] = 3
  519.         ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  520.         }
  521.         else  {
  522.         ColorChat(id, GREEN, chatszoveg[5],prefix);
  523.         }
  524.     }
  525.     case 3: {
  526.         if(oles[id] >= need_kills[3]) {
  527.         csomag[id] = 4
  528.         ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  529.         }
  530.         else  {
  531.         ColorChat(id, GREEN, chatszoveg[5],prefix);
  532.         }
  533.     }
  534.     case 4: {
  535.         if(oles[id] >= need_kills[4]) {
  536.         csomag[id] = 5
  537.         ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  538.         }
  539.         else  {
  540.         ColorChat(id, GREEN, chatszoveg[5],prefix);
  541.         }
  542.     }
  543.     case 5: {
  544.         if(oles[id] >= need_kills[5]) {
  545.         csomag[id] = 6
  546.         ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  547.         }
  548.         else  {
  549.         ColorChat(id, GREEN, chatszoveg[5],prefix);
  550.         }
  551.     }
  552.     case 6: {
  553.         if(oles[id] >= need_kills[6]) {
  554.         csomag[id] = 7
  555.         ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  556.         }
  557.         else  {
  558.         ColorChat(id, GREEN, chatszoveg[5],prefix);
  559.         }
  560.     }
  561.     case 7: {
  562.         if(oles[id] >= need_kills[7]) {
  563.         csomag[id] = 8
  564.         ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  565.         }
  566.         else  {
  567.         ColorChat(id, GREEN, chatszoveg[5],prefix);
  568.         }
  569.     }
  570.     case 8: {
  571.         if(oles[id] >= need_kills[8]) {
  572.         csomag[id] = 9
  573.         ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
  574.         }
  575.         else  {
  576.         ColorChat(id, GREEN, chatszoveg[5],prefix);
  577.         }
  578.     }
  579.     case 9: {
  580.         if(kredit[id] >= need_kills[9]) {
  581.         knife[id] = 1
  582.         ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[10]);
  583.         }
  584.         else  {
  585.         ColorChat(id, GREEN, chatszoveg[9],prefix);
  586.         }
  587.     }
  588.     case 10: {
  589.         if(switchbutton[id] == 0){
  590.         switchbutton[id] = 1
  591.         csomag[id] = 0
  592.         knife[id] = 0
  593.         ColorChat(id, GREEN, chatszoveg[6],prefix);
  594.         }
  595.         else {
  596.         switchbutton[id] = 0
  597.         ColorChat(id, GREEN, chatszoveg[7],prefix);
  598.         }
  599.     }
  600.     case 11: {
  601.         ColorChat(id, GREEN, chatszoveg[5],prefix);
  602.         }
  603.     }
  604.     fegymenu(id)
  605.     return PLUGIN_HANDLED;
  606. }
  607. public infohud() {
  608.    
  609.     if(!get_cvar_num("wss_hudenable")) return PLUGIN_HANDLED
  610.    
  611.     static id
  612.     for(id = 1; id <= get_maxplayers(); id++)
  613.     {
  614.         if(is_user_alive(id)){
  615.             set_hudmessage(0, 127, 255, 0.01, 0.20, 0, 6.0, 1.0)
  616.             show_hudmessage(id, "[Pont: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[id],kredit[id],csomagmsg[csomag[id]], knifedisenable[knife[id]])
  617.         }
  618.         else{
  619.             new target = entity_get_int(id, EV_INT_iuser2);
  620.            
  621.             if(!target)
  622.                 return PLUGIN_CONTINUE;
  623.            
  624.             set_hudmessage(255, 255, 255, 0.01, 0.20, 0, 6.0, 1.0)
  625.             show_hudmessage(id, "[Pont: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[target],kredit[target],csomagmsg[csomag[target]], knifedisenable[knife[target]])
  626.         }
  627.     }
  628.     return PLUGIN_CONTINUE;
  629. }
  630. stock get_player_name(id){
  631.     static szName[32];
  632.     get_user_name(id,szName,31);
  633.     return szName;
  634. }
  635. public client_disconnect(id)
  636. {
  637.     if(is_user_bot(id)) return;
  638.     mentes(id)
  639.     save(id);
  640. }
  641. public client_putinserver( id ) {
  642.     if(is_user_bot(id)) return;
  643.    
  644.     oles[id] = 0;
  645.     kredit[id] = 0;
  646.     csomag[id] = 0;
  647.     switchbutton[id] = 0;
  648.     load(id);
  649. }
  650. public client_connect(id)
  651. {
  652.     betoltes(id)
  653.     load(id)
  654. }
  655. public mentes(id)
  656. {
  657.     new name[32]
  658.     get_user_name(id, name, 31)
  659.    
  660.     new vaultkey[64],vaultdata[256]
  661.     format(vaultkey,63,"%s_dobozok", name)
  662.     format(vaultdata,255,"%i",felszedett[id])
  663.    
  664.    
  665.     nvault_set(g_vault,vaultkey,vaultdata)
  666.     return PLUGIN_CONTINUE
  667. }
  668. public betoltes(id)
  669. {
  670.     new name[32]
  671.     get_user_name(id, name, 31)
  672.     new vaultkey[64],vaultdata[256]
  673.     format(vaultkey,63,"%s_dobozok", name)
  674.     format(vaultdata,255,"%i",felszedett[id])
  675.     nvault_get(g_vault,vaultkey,vaultdata,255)
  676.     replace_all(vaultdata, 255, "#", " ")
  677.     new szedett[32]
  678.     parse(vaultdata, szedett, 31)
  679.     felszedett[id] = str_to_num(szedett)
  680.     return PLUGIN_CONTINUE
  681. }
  682. load(id) {
  683.     new szAuthid[32], szData[32];
  684.     get_user_name( id, szAuthid, charsmax(szAuthid));
  685.     new s1[16],s2[16],s3[16],s4[16]
  686.     fvault_get_data( szVaultName, szAuthid, szData, 31 );
  687.     parse( szData, s1, 15, s2, 15 , s3 , 15, s4 ,15);
  688.     oles[id] = str_to_num(s1);
  689.     kredit[id] = str_to_num(s2);
  690.     csomag[id] = str_to_num(s3);
  691.     switchbutton[id] = str_to_num(s4);
  692.     }
  693. save(id) {
  694.     new szAuthid[ 32 ], szData[ 32 ];
  695.     get_user_name( id, szAuthid, charsmax(szAuthid));
  696.    
  697.     formatex( szData, 31, "%i %i %i %i", oles[id], kredit[id], csomag[id], switchbutton[id]);
  698.     fvault_set_data( szVaultName, szAuthid, szData );
  699. }
  700. ///// BELE ÍRVA : ////////////
  701. public szamlalo(id)
  702. {
  703.     if(generalva == true) {
  704.         counter++
  705.     }
  706.     if(megvan == true) {
  707.         counter = 0
  708.     }
  709.     if(counter > get_pcvar_num(eltunes) && generalva == true)
  710.     {
  711.         new target = find_ent_by_class(target, "nyeremendoboz")
  712.         engfunc(EngFunc_RemoveEntity, target)
  713.         dobozszam--
  714.         counter = 0
  715.         generalva = false
  716.         switch(random_num(1,2)) {
  717.             case 1: {
  718.                 ColorChat(0, RED, "Ezt a dobozt sajnos nem sikerult megtalalnotok :(")
  719.             }
  720.             case 2: {
  721.                 ColorChat(0, GREEN, "Ezt a dobozt sajnos nem sikerult megtalalnotok :(")
  722.             }
  723.            
  724.         }
  725.        
  726.     }
  727. }
  728.  
  729. public keszit(id)
  730. {
  731.     if(dobozszam < get_pcvar_num(cvar)) {  
  732.         new inifile[192], map[32]
  733.         get_mapname(map, 31)
  734.         formatex(inifile, charsmax(inifile), "addons/amxmodx/configs/csdm/%s.spawns.cfg", map)
  735.         new Float:origin[3]
  736.         new elsopoz[8], masodikpoz[8], harmadikpoz[8]
  737.         new lines = file_size(inifile, 1)
  738.         if(lines > 0)
  739.         {
  740.             new randomLine = random(lines);
  741.             new lineBuffer[256], len;
  742.             read_file(inifile, randomLine, lineBuffer, charsmax(lineBuffer), len);
  743.             parse(lineBuffer, elsopoz, 7, masodikpoz, 7, harmadikpoz, 7)
  744.            
  745.             origin[0] = str_to_float(elsopoz)
  746.             origin[1] = str_to_float(masodikpoz)
  747.             origin[2] = str_to_float(harmadikpoz)
  748.         }
  749.        
  750.        
  751.         new ent = create_entity("info_target")
  752.         set_pev(ent, pev_classname, "nyeremendoboz")
  753.         entity_set_model(ent, ET_model[random(sizeof(ET_model))])
  754.        
  755.         set_pev(ent,pev_solid, SOLID_BBOX)
  756.         set_pev(ent, pev_movetype, MOVETYPE_TOSS)
  757.         engfunc(EngFunc_SetOrigin, ent, origin)
  758.         engfunc(EngFunc_SetSize, ent, Float:{-10.0,-10.0,0.0}, Float:{10.0,10.0,25.0})
  759.         engfunc(EngFunc_DropToFloor, ent)
  760.         fm_set_rendering(ent, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 16);
  761.         switch(random_num(1,2)) {
  762.             case 1: {
  763.                 ColorChat(0, RED, "Uj doboz jelent meg keressetek!!!!!!!")
  764.             }
  765.             case 2: {
  766.                 ColorChat(0, GREEN, "Uj doboz jelent meg keressetek!!!!!!!")
  767.             }
  768.            
  769.         }
  770.         dobozszam++
  771.         megvan = false
  772.         generalva = true
  773.     }
  774.     return PLUGIN_CONTINUE
  775. }
  776. public client_PreThink(id)
  777. {
  778.     set_hudmessage(127, 255, 170, 0.0, 0.19, 0, 6.0, 1.0)
  779.     show_hudmessage(id, "Megtalalt dobozok: %d", felszedett[id])
  780.    
  781. }
  782.  
  783. public hirdetes()
  784. {
  785.     ColorChat(0, GREEN, "A Nyeremenyjatek plugint ^3qKKKJ;> ^4keszitette!")
  786. }
  787.  
  788. public remove(ent, id)
  789. {
  790.     if(is_user_alive(id)) {
  791.        
  792.        
  793.         felszedett[id]++
  794.         dobozszam--
  795.         new nev[32]
  796.         get_user_name(id, nev, 31)
  797.         switch(random_num(1,2)) {
  798.             case 1: {
  799.                 ColorChat(0, RED, "%s talalt +15 kreditet!", nev)
  800.                 kredit[id] += 15
  801.             }
  802.             case 2: {
  803.                 ColorChat(0, GREEN, "%s nem talalt lofaszt sem!", nev)
  804.             }
  805.            
  806.         }
  807.         engfunc(EngFunc_RemoveEntity, ent)
  808.         megvan = true
  809.         generalva = false
  810.     }
  811.     return PLUGIN_HANDLED
  812. }

_________________
****

Ők köszönték meg pixxa112 nek ezt a hozzászólást: adriansr14 (2016.11.16. 19:16)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 7 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 19 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole