hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.06.16. 20:33



Jelenlévő felhasználók

Jelenleg 354 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 352 vendég

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot], Google [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  [5 hozzászólás ] 
Szerző Üzenet
HozzászólásElküldve:2017.08.15. 15:14 
Offline
Tag

Csatlakozott:2016.01.24. 15:04
Hozzászólások:37
Megköszönték neki: 3 alkalommal
  1. new g_Rang[MAX_GROUPS][] = {
  2.        "Tulaj",
  3.        "Helyettes",
  4.        "Foadmin",
  5.        "Admin",
  6.    
  7. };
  8.  
  9. new g_RangFlag[MAX_GROUPS][] = {
  10.        "abcdefghijklmnopqrstu",
  11.        "bcdefghijklmnopqrstu",
  12.      
  13.        "bcf",
  14.        "t"
  15. };
  16.  
  17. public plugin_init() {
  18.     register_plugin("RangAdminChat", "0.5", "Ex3cuTioN");
  19.     register_clcmd("say","hook_say");
  20.     register_clcmd("say_team","hook_say2");
  21. }
  22.  
  23. public hook_say(id) {
  24.     if(!is_user_admin(id) || is_user_bot(id)) {
  25.         return PLUGIN_CONTINUE;
  26.     }
  27.    
  28.     new nick[32];
  29.     get_user_name(id,nick,31);
  30.    
  31.     static chat[32];
  32.     read_args(chat, sizeof(chat) - 1);
  33.     remove_quotes(chat);
  34.    
  35.     if(equali(chat,"")) {
  36.         return PLUGIN_CONTINUE;
  37.     }
  38.    
  39.     for(new i=0; i<MAX_GROUPS; i++) {
  40.         if(get_user_flags(id) == read_flags(g_RangFlag[i])) {
  41.             ColorChat(0,GREEN,"[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat);
  42.             return PLUGIN_HANDLED;
  43.         }
  44.     }
  45.     return PLUGIN_CONTINUE;
  46. }
  47.  
  48. public hook_say2(id) {
  49.     if(!is_user_admin(id) || is_user_bot(id)) {
  50.         return PLUGIN_CONTINUE;
  51.     }
  52.    
  53.     new nick[32];
  54.     get_user_name(id,nick,31);
  55.    
  56.     static chat[32];
  57.     read_args(chat, sizeof(chat) - 1);
  58.     remove_quotes(chat);
  59.    
  60.     if(equali(chat,"")) {
  61.         return PLUGIN_CONTINUE;
  62.     }
  63.    
  64.     for(new i=0; i<MAX_GROUPS; i++) {
  65.         if(get_user_flags(id) == read_flags(g_RangFlag[i])) {
  66.             new players[32],num;
  67.             get_players(players,num,"c");
  68.            
  69.             for(new x=0; x<num; x++) {
  70.                 if(get_user_team(id) == get_user_team(players[x])) {
  71.                     switch(get_user_team(id)) {
  72.                         case 1:
  73.                         {
  74.                             ColorChat(players[x],RED,"(Terrorist)^x04[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat);
  75.                         }
  76.                         case 2:
  77.                         {
  78.                             ColorChat(players[x],BLUE,"(Counter)^x04[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat);
  79.                         }
  80.                     }
  81.                 }
  82.                 return PLUGIN_HANDLED;
  83.             }
  84.         }
  85.     }
  86.     return PLUGIN_CONTINUE;
  87. }

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


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2017.08.15. 16:04 
Offline
Fanatikus
Avatar

Csatlakozott:2017.06.28. 23:08
Hozzászólások:155
kris128 írta:
  1. new g_Rang[MAX_GROUPS][] = {
  2.        "Tulaj",
  3.        "Helyettes",
  4.        "Foadmin",
  5.        "Admin",
  6.    
  7. };
  8.  
  9. new g_RangFlag[MAX_GROUPS][] = {
  10.        "abcdefghijklmnopqrstu",
  11.        "bcdefghijklmnopqrstu",
  12.      
  13.        "bcf",
  14.        "t"
  15. };
  16.  
  17. public plugin_init() {
  18.     register_plugin("RangAdminChat", "0.5", "Ex3cuTioN");
  19.     register_clcmd("say","hook_say");
  20.     register_clcmd("say_team","hook_say2");
  21. }
  22.  
  23. public hook_say(id) {
  24.     if(!is_user_admin(id) || is_user_bot(id)) {
  25.         return PLUGIN_CONTINUE;
  26.     }
  27.    
  28.     new nick[32];
  29.     get_user_name(id,nick,31);
  30.    
  31.     static chat[32];
  32.     read_args(chat, sizeof(chat) - 1);
  33.     remove_quotes(chat);
  34.    
  35.     if(equali(chat,"")) {
  36.         return PLUGIN_CONTINUE;
  37.     }
  38.    
  39.     for(new i=0; i<MAX_GROUPS; i++) {
  40.         if(get_user_flags(id) == read_flags(g_RangFlag[i])) {
  41.             ColorChat(0,GREEN,"[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat);
  42.             return PLUGIN_HANDLED;
  43.         }
  44.     }
  45.     return PLUGIN_CONTINUE;
  46. }
  47.  
  48. public hook_say2(id) {
  49.     if(!is_user_admin(id) || is_user_bot(id)) {
  50.         return PLUGIN_CONTINUE;
  51.     }
  52.    
  53.     new nick[32];
  54.     get_user_name(id,nick,31);
  55.    
  56.     static chat[32];
  57.     read_args(chat, sizeof(chat) - 1);
  58.     remove_quotes(chat);
  59.    
  60.     if(equali(chat,"")) {
  61.         return PLUGIN_CONTINUE;
  62.     }
  63.    
  64.     for(new i=0; i<MAX_GROUPS; i++) {
  65.         if(get_user_flags(id) == read_flags(g_RangFlag[i])) {
  66.             new players[32],num;
  67.             get_players(players,num,"c");
  68.            
  69.             for(new x=0; x<num; x++) {
  70.                 if(get_user_team(id) == get_user_team(players[x])) {
  71.                     switch(get_user_team(id)) {
  72.                         case 1:
  73.                         {
  74.                             ColorChat(players[x],RED,"(Terrorist)^x04[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat);
  75.                         }
  76.                         case 2:
  77.                         {
  78.                             ColorChat(players[x],BLUE,"(Counter)^x04[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat);
  79.                         }
  80.                     }
  81.                 }
  82.                 return PLUGIN_HANDLED;
  83.             }
  84.         }
  85.     }
  86.     return PLUGIN_CONTINUE;
  87. }

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


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

_________________
Túl sokan akarnak túl sok mindenről beszélni, és közben semmit sem tudnak.
Minek komolyan venni az életet, ha az élet egy képzelt kaland, amiből sosem kerülünk ki élve.


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2017.08.24. 21:30 
Offline
Tag

Csatlakozott:2016.01.24. 15:04
Hozzászólások:37
Megköszönték neki: 3 alkalommal
odified for www.Freakz.ro / amx.freakz.ro

valams.sma(16) : error 017: undefined symbol "MAX_GROUPS"
valams.sma(22) : error 029: invalid expression, assumed zero
valams.sma(22) : error 008: must be a constant expression; assumed zero
valams.sma(24) : error 017: undefined symbol "MAX_GROUPS"
valams.sma(514) : error 017: undefined symbol "is_user_admin"
valams.sma(529) : error 017: undefined symbol "MAX_GROUPS"
valams.sma(539) : error 017: undefined symbol "is_user_admin"
valams.sma(554) : error 017: undefined symbol "MAX_GROUPS"

annek ez a hibája! addig oké hogy még megadon a define maxgroubot de a többi?


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2017.08.24. 22:01 
Offline
Őstag
Avatar

Csatlakozott:2017.08.21. 15:51
Hozzászólások:1117
Megköszönt másnak: 36 alkalommal
Megköszönték neki: 200 alkalommal
kris128 írta:
odified for www.Freakz.ro / amx.freakz.ro

valams.sma(16) : error 017: undefined symbol "MAX_GROUPS"
valams.sma(22) : error 029: invalid expression, assumed zero
valams.sma(22) : error 008: must be a constant expression; assumed zero
valams.sma(24) : error 017: undefined symbol "MAX_GROUPS"
valams.sma(514) : error 017: undefined symbol "is_user_admin"
valams.sma(529) : error 017: undefined symbol "MAX_GROUPS"
valams.sma(539) : error 017: undefined symbol "is_user_admin"
valams.sma(554) : error 017: undefined symbol "MAX_GROUPS"

annek ez a hibája! addig oké hogy még megadon a define maxgroubot de a többi?


Lehetséges elfelejtettem átírni pár includeot.

Edit: Belenéztem, is_user_admin -ra ír hibát. Lehet, hogy én tudom rosszul, de ezt a kódot életemben nem láttam. Szerintem nem létezik, és az a probléma, ergó a prefix plugin hibás.


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2017.08.24. 23:39 
Offline
Őstag
Avatar

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


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  [5 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 7 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