hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.24. 13:27



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Bing [Bot], 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  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Vip plugin spec hiba
HozzászólásElküldve: 2018.05.18. 18:23 
Offline
Tag

Csatlakozott: 2018.01.31. 14:33
Hozzászólások: 47
Sziasztok. Lenne egy ismerősöm által készített plugin. Amit ha berakok szerverre nem lehet specbe állni. Ha valaki esetleg tudná megnézné nekem mi lehet a hiba? Köszönöm

  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fun>
  5. #include <hamsandwich>
  6.  
  7. #define PLUGIN "VIP Rendszer 1.0"///
  8. #define VERSION "1.0"
  9. #define AUTHOR "Valaki"///Ne írd át köszönöm.:)
  10.  
  11.  
  12. #define JOG ADMIN_LEVEL_C
  13.  
  14. #define kicktime 5
  15. #define bantime 10
  16. #define pausetime 3
  17.  
  18. enum {
  19.     SCOREATTRIB_ARG_PLAYERID = 1,
  20.     SCOREATTRIB_ARG_FLAGS
  21. };
  22.  
  23. enum ( <<= 1 ) {
  24.     SCOREATTRIB_FLAG_NONE = 0,
  25.     SCOREATTRIB_FLAG_DEAD = 1,
  26.     SCOREATTRIB_FLAG_BOMB,
  27.     SCOREATTRIB_FLAG_VIP
  28. };
  29.  
  30. new file_to_write[64], iName[32], tName[32], iFormatId[30], tFormatId[30], g_Indok[121], userip
  31.  
  32. new banid, valamid, vipid
  33.  
  34. new choice
  35. new const Prefix[] = "!g[Prefix]";
  36.  
  37. new maxplayers
  38. new gmsgSayText
  39. new kickvolt[33], banvolt[33]
  40. new bool:ban=false
  41.  
  42. public plugin_init() {
  43.     register_plugin(PLUGIN, VERSION, AUTHOR)
  44.    
  45.     maxplayers = get_maxplayers()
  46.     gmsgSayText = get_user_msgid("SayText")
  47.    
  48.     register_clcmd( "say /vipmenu","VIPMenu");
  49.     register_concmd("vipmenu", "VIPMenu");
  50.     register_clcmd("say /vips", "vipek")
  51.    
  52.     register_event("DeathMsg","onDeath","a")
  53.    
  54.     register_clcmd("INDOK_KICK", "cmdKickUserFromMenu")
  55.     register_clcmd("INDOK_BAN", "cmdBanUserFromMenu")
  56.    
  57.     register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" );
  58.    
  59.     register_menucmd(register_menuid("menu1"),(1<<0)|(1<<1),"ban_szavazatok")
  60.    
  61.     new configsdir[64]
  62.     get_configsdir(configsdir, 63)
  63.     formatex(file_to_write, 63,"%s/vipban.txt", configsdir)  
  64. }
  65.  
  66. public onDeath()
  67. {
  68.     new killer = read_data(1);
  69.     new victim = read_data(2);
  70.     new bool: TK = get_user_team(killer) == get_user_team(victim);
  71.    
  72.     if(get_user_flags(killer) & JOG)
  73.     {
  74.         if(killer != victim && !TK && is_user_alive(killer))
  75.         {
  76.             new nhp, khp = get_user_health(killer);
  77.             if(khp >= 100) nhp = 110;
  78.             else nhp = khp + 10;
  79.             set_user_health(killer, nhp);
  80.         }
  81.     }
  82. }
  83.  
  84. public client_putinserver(id)
  85. {
  86.     if(get_user_flags(id) & JOG)
  87.     {
  88.         kickvolt[id]=kicktime
  89.         if(task_exists(id+444))
  90.             remove_task(id+444)
  91.         set_task(60.0, "kick_volt", id+444);
  92.         banvolt[id]=bantime
  93.         if(task_exists(id+333))
  94.             remove_task(id+333)
  95.         set_task(60.0, "ban_volt", id+333);
  96.         set_task(2.0, "udvozlo", id+222);
  97.     }
  98. }
  99.  
  100. public udvozlo(id)
  101. {
  102.     if(!(get_user_flags(id-222) & ADMIN_LEVEL_C))
  103.     {
  104.         print_color(id-222, "%s !yVIP tag vagy ezen a szerveren, hasznalhatod a !t/vipmenu !yparancsot.", Prefix)
  105.         new name[32]
  106.         get_user_name(id-222, name, charsmax(name));
  107.         print_color(0, "%s !t%s !yVIP tag csatlakozott a szerverre.", Prefix, name)
  108.     }
  109. }
  110.  
  111. public VIPMenu(id) {
  112.     if(get_user_flags(id) & JOG) {
  113.    
  114.         new menu = menu_create("\n[WorldServer] \yVIP menu", "VMenu_h")
  115.         new szText[128];
  116.  
  117.         if(kickvolt[id]>0)
  118.         {
  119.             formatex(szText, charsmax(szText), "\dJatekos kirugas\r(%d perc mulva)", kickvolt[id])
  120.             menu_additem(menu, szText, "1", 0);
  121.         }
  122.         else menu_additem(menu, "\wJatekos kirugas", "1", 0);
  123.        
  124.         if(banvolt[id]>0)
  125.         {
  126.             formatex(szText, charsmax(szText), "\dBannolas szavaztatas\r(%d perc mulva)", banvolt[id])
  127.             menu_additem(menu, szText, "2", 0);
  128.         }
  129.         else menu_additem(menu, "\wBannolas szavaztatas", "2", 0);
  130.        
  131.    
  132.         menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  133.         menu_display(id, menu, 0);
  134.     }
  135.     else print_color(id, "%s !yEzt a parancsot csak !tVIP !ytagok hasznalhatjak!", Prefix)
  136.  
  137. }
  138.  
  139. public VMenu_h(id, menu, item, level, cid) {
  140.     if( item == MENU_EXIT ) {
  141.         menu_destroy(menu);
  142.         return PLUGIN_HANDLED;
  143.     }
  144.  
  145.     new data[6], szName[64];
  146.     new access, callback;
  147.  
  148.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  149.    
  150.     new key = str_to_num(data);
  151.     switch(key) {
  152.         case 1: {
  153.            
  154.             if(kickvolt[id]>0) print_color(id, "%s !yNem tudsz kirugni senkit meg !t%d !ypercig!", Prefix, kickvolt[id])
  155.             else PlayersMenu(id, 0)
  156.         }
  157.         case 2: {
  158.             if(banvolt[id]>0) print_color(id, "%s !yNem tudsz bannolast szavaztatni meg !t%d !ypercig!", Prefix, banvolt[id])
  159.             else PlayersMenu(id, 1)
  160.         }
  161.     }
  162.  
  163.     menu_destroy(menu);
  164.     return PLUGIN_HANDLED;
  165.  
  166. }
  167.  
  168. public PlayersMenu(id, menumod)
  169. {
  170.     new menu = menumod == 1 ?  menu_create("\yJatekos bannolas menu:", "vipbanmenu_h") : menu_create("\yJatekos kirugas menu:", "vipkickmenu_h")
  171.    
  172.     new players[32], pnum, tempid;
  173.     new szName[32], szTempid[10];
  174.     new szText[128];
  175.     get_players(players, pnum);
  176.  
  177.     for( new i; i<pnum; i++ ) {
  178.         tempid = players[i];
  179.         get_user_name(tempid, szName, charsmax(szName));
  180.         num_to_str(tempid, szTempid, charsmax(szTempid));
  181.         if((get_user_flags(tempid) & ADMIN_LEVEL_C || get_user_flags(tempid) & JOG))
  182.         {
  183.             formatex(szText, charsmax(szText), "%s \r*", szName)
  184.             menu_additem(menu, szText, szTempid, 0);
  185.         }
  186.         else menu_additem(menu, szName, szTempid, 0);
  187.     }
  188.     menu_display(id, menu, 0);
  189. }
  190. public vipbanmenu_h(id, menu, item)
  191. {
  192.     if( item == MENU_EXIT ) {
  193.  
  194.         menu_destroy(menu);
  195.         if( is_user_connected(id) )
  196.             VIPMenu(id);
  197.         return PLUGIN_HANDLED;
  198.        
  199.     }
  200.     new data[6], szName[64], access, callback;
  201.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  202.  
  203.     banid = str_to_num(data);
  204.     client_cmd(id, "messagemode INDOK_BAN");
  205.  
  206.     menu_destroy(menu);
  207.     return PLUGIN_HANDLED;
  208. }
  209. public vipkickmenu_h(id, menu, item)
  210. {
  211.     if( item == MENU_EXIT ) {
  212.  
  213.         menu_destroy(menu);
  214.         if( is_user_connected(id) )
  215.             VIPMenu(id);
  216.         return PLUGIN_HANDLED;
  217.        
  218.     }
  219.     new data[6], szName[64], access, callback;
  220.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  221.  
  222.     valamid = str_to_num(data);
  223.     client_cmd(id, "messagemode INDOK_KICK");
  224.  
  225.     menu_destroy(menu);
  226.     return PLUGIN_HANDLED;
  227. }
  228. public cmdBanUserFromMenu(id) {
  229.     read_args(g_Indok, charsmax(g_Indok))
  230.     remove_quotes(g_Indok)
  231.    
  232.     if(strlen(g_Indok) >= 15) {
  233.         client_cmd(id, "messagemode INDOK_BAN");
  234.         return PLUGIN_HANDLED
  235.     }
  236.    
  237.     if(ban) print_color(id, "%s !yJelenleg folyamatban van egy ban szavazas, nem tudsz bannolast szavaztatni.", Prefix)
  238.     else if(get_user_flags(banid) & ADMIN_LEVEL_C || get_user_flags(banid) & JOG)
  239.     {
  240.         PlayersMenu(id, 1);
  241.         client_print(id, print_center, "Ban szavazas sikertelen immunitas miatt!")
  242.     }
  243.     else
  244.     {
  245.         userip = get_user_userid(banid)
  246.         get_user_name(id, iName, charsmax(iName));
  247.         get_user_name(banid, tName, charsmax(tName));
  248.         get_user_authid(id, iFormatId, charsmax(iFormatId));
  249.         get_user_authid(banid, tFormatId, charsmax(tFormatId));
  250.         print_color(id, "%s !yVIP !t%s!y: szavazast inditott !t%s !ybannollasarol . Indok: %s", Prefix, iName, tName, g_Indok)
  251.         ban_szavazas()
  252.         ban=true;
  253.     }
  254.     return PLUGIN_HANDLED
  255. }
  256.  
  257. public cmdKickUserFromMenu(id) {
  258.     read_args(g_Indok, charsmax(g_Indok))
  259.     remove_quotes(g_Indok)
  260.    
  261.     if(strlen(g_Indok) >= 15) {
  262.         client_cmd(id, "messagemode INDOK_KICK");
  263.         return PLUGIN_HANDLED
  264.     }
  265.    
  266.     if(get_user_flags(valamid) & ADMIN_LEVEL_C || get_user_flags(valamid) & JOG) {
  267.         PlayersMenu(id, 0);
  268.         client_print(id, print_center, "Kickeles sikertelen immunitas miatt!")
  269.     }
  270.     else
  271.     {
  272.         get_user_name(id, iName, charsmax(iName))
  273.         get_user_name(valamid, tName, charsmax(tName))
  274.         get_user_authid(id, iFormatId, charsmax(iFormatId))
  275.         get_user_authid(valamid, tFormatId, charsmax(tFormatId))
  276.         print_color(0, "%s !yVIP !t%s!y: kirugta !t%s!y-t. Indok: %s", Prefix, iName, tName, g_Indok)
  277.         server_cmd("kick #%d",  get_user_userid(valamid))
  278.        
  279.         cmdLogVipKick()
  280.         g_Indok = ""
  281.         kickvolt[id]=kicktime
  282.         if(task_exists(id+444))
  283.             remove_task(id+444)
  284.         set_task(60.0, "kick_volt", id+444);
  285.     }
  286.     return PLUGIN_HANDLED
  287. }
  288. public ban_szavazas()
  289. {
  290.     new szText[128], Name[32];
  291.     get_user_name(banid, Name, charsmax(Name));
  292.     formatex(szText, charsmax(szText), "\wBannoljuk \r%s\w-t \d15 \wpercre?\y(Indok: %s)\w^n^n1. Igen^n2. Nem", Name, g_Indok)
  293.     show_menu(0,(1<<0)|(1<<1), szText, 15, "menu1")
  294.     set_task(15.0,"ban_eredmeny")
  295.     choice = 0
  296.     return PLUGIN_HANDLED    
  297.  
  298. }
  299.  
  300. public ban_szavazatok(id,key){
  301.     new name[32]
  302.     get_user_name(id,name,31)
  303.     new players[32], pnum;
  304.     get_players(players, pnum);
  305.     new what[6]
  306.     if (key == 0) {
  307.         what = "Igen"
  308.         choice++
  309.     }
  310.     if (key == 1) what = "Nem"
  311.     new Float:iSzamol = float(100/pnum*choice)
  312.     print_color(0,"!t%s !yszavazata !t%s !y(!g%0.0f%% !y/ !g100%%!y)", name, what, iSzamol)
  313.     return PLUGIN_HANDLED
  314. }
  315.  
  316. public ban_eredmeny(){
  317.     new Name[32];
  318.     get_user_name(banid, Name, charsmax(Name));
  319.     new players[32], pnum;
  320.     get_players(players, pnum);
  321.     new Float:iSzamol = float(100/pnum*choice)
  322.     new Float:Otven = 50.0
  323.  
  324.     if(iSzamol > Otven)
  325.     {
  326.         print_color(0,"%s !ySzavazas sikeres, !t%s !ybannolva !t15 !ypercre. Indok: %s", Prefix, Name, g_Indok)
  327.        
  328.         if(!is_user_connected(banid)) server_cmd("amx_addban ^"%s^" ^"%s^" ^"15^" ^"VIP altal Bannolva^"", tName, tFormatId);
  329.         else server_cmd("amx_banip #%i ^"15.0^" ^"VIP altal Bannolva^"", userip);
  330.        
  331.         cmdLogVipBan()
  332.         g_Indok = ""
  333.         userip = 0
  334.         banvolt[vipid]=bantime
  335.         if(is_user_connected(vipid)) set_task(60.0, "ban_volt", vipid+333 );
  336.        
  337.     }
  338.     else
  339.     {
  340.         banvolt[vipid]=pausetime
  341.         if(task_exists(vipid+333))
  342.             remove_task(vipid+333)
  343.         if(is_user_connected(vipid))
  344.             set_task(60.0, "ban_volt", vipid+333 );
  345.         print_color(0,"%s !yBannolas sikertelen keves szavazat miatt, !t%s!y nem lesz bannolva.", Prefix,Name)
  346.     }
  347.     ban=false;
  348.     return PLUGIN_CONTINUE
  349. }
  350.  
  351. public kick_volt(id)
  352. {
  353.     if(kickvolt[id-444]+1>0)
  354.     {
  355.         kickvolt[id-444]--
  356.         if(task_exists(id))
  357.             remove_task(id)
  358.         set_task(60.0, "kick_volt", id);
  359.     }
  360. }
  361. public ban_volt(id)
  362. {
  363.     if(banvolt[id-333]+1>0)
  364.     {
  365.         banvolt[id-333]--
  366.         if(task_exists(id))
  367.             remove_task(id)
  368.         set_task(60.0, "ban_volt", id);
  369.     }
  370. }
  371.  
  372. public vipek(user) {
  373.     new names[32]
  374.     new message[256]
  375.     new id, count, x, len
  376.  
  377.     for(id = 1 ; id <= maxplayers ; id++)
  378.         if(is_user_connected(id))
  379.             if((get_user_flags(id) & JOG) && !(get_user_flags(id) & ADMIN_LEVEL_C))
  380.                 get_user_name(id, names[count++], 31)
  381.  
  382.     len = format(message, 255, "^x04[WorldServer]^x01 Online VIP tagok:^x03 ")
  383.     if(count > 0) {
  384.         for(x = 0 ; x < count ; x++) {
  385.             len += format(message[len], 255-len, "%s%s ", names[x], x < (count-1) ? "^x01,^x04 ":"")
  386.             if(len > 96 ) {
  387.                 print_message(user, message)
  388.                 len = format(message, 255, "^x04 ")
  389.             }
  390.         }
  391.         print_message(user, message)
  392.     }
  393.     else {
  394.         len += format(message[len], 255-len, "Nincs jelen vip.")
  395.         print_message(user, message)
  396.     }
  397. }
  398.  
  399. print_message(id, msg[]) {
  400.     message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
  401.     write_byte(id)
  402.     write_string(msg)
  403.     message_end()
  404. }
  405.  
  406. public MessageScoreAttrib( iMsgId, iDest, iReceiver ) {
  407.     new iPlayer = get_msg_arg_int( SCOREATTRIB_ARG_PLAYERID );
  408.  
  409.     if(get_user_flags(iPlayer) & JOG)
  410.         set_msg_arg_int( SCOREATTRIB_ARG_FLAGS, ARG_BYTE, SCOREATTRIB_FLAG_VIP );
  411. }
  412.  
  413. stock print_color(const id, const input[], any:...)
  414. {
  415.         new count = 1, players[32]
  416.         static msg[191]
  417.         vformat(msg, 190, input, 3)
  418.  
  419.         replace_all(msg, 190, "!g", "^4")
  420.         replace_all(msg, 190, "!y", "^1")
  421.         replace_all(msg, 190, "!t", "^3")      
  422.  
  423.         if (id) players[0] = id; else get_players(players, count, "ch")
  424.         {
  425.                 for (new i = 0; i < count; i++)
  426.                 {
  427.                         if (is_user_connected(players[i]))
  428.                         {
  429.                                 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  430.                                 write_byte(players[i])
  431.                                 write_string(msg)
  432.                                 message_end()
  433.                         }
  434.                 }
  435.         }
  436.         return PLUGIN_HANDLED
  437. }
  438.  
  439. public cmdLogVipBan() {
  440.     new output[364], iTimes[64]
  441.     get_time("< Datum: %Y-%m-%d | Ido: %H-%M-%S >", iTimes, charsmax(iTimes));
  442.     formatex(output, 363, "%s VIP %s [ID: %s] bannolta %s-t [ID: %s] 15 percre! Indok: %s^n", iTimes, iName, iFormatId, tName, tFormatId, g_Indok)
  443.     new file = fopen(file_to_write, "at")
  444.     fprintf(file, "%s", output)
  445.     fclose(file)
  446. }
  447.  
  448. public cmdLogVipKick() {
  449.     new output[364], iTimes[64]
  450.     get_time("< Datum: %Y-%m-%d | Ido: %H-%M-%S >", iTimes, charsmax(iTimes));
  451.     formatex(output, 363, "%s VIP %s [ID: %s] kickelte %s-t [ID: %s] | Indok: %s^n", iTimes, iName, iFormatId, tName, tFormatId, g_Indok)
  452.     new file = fopen(file_to_write, "at")
  453.     fprintf(file, "%s", output)
  454.     fclose(file)
  455. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Vip plugin spec hiba
HozzászólásElküldve: 2018.05.19. 14:57 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.01.15. 19:04
Hozzászólások: 407
Megköszönt másnak: 17 alkalommal
Megköszönték neki: 176 alkalommal
Ismerősöd által készített plugin?
Bocs, de nem ismerlek.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Vip plugin spec hiba
HozzászólásElküldve: 2018.05.19. 18:32 
Offline
Fórum Moderátor
Avatar

Csatlakozott: 2012.07.02. 17:41
Hozzászólások: 1641
Megköszönt másnak: 121 alkalommal
Megköszönték neki: 247 alkalommal
demon írta:
Ismerősöd által készített plugin?
Bocs, de nem ismerlek.

Ő dongo, a worldservernél volt főadmin. Kacsának volt a csicskája.

_________________
Kép


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


Ki van itt

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