hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.27. 08:21



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: nincs regisztrált felhasználó 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: Fragverseny jutalmak
HozzászólásElküldve: 2016.09.19. 23:02 
Offline
Nagyúr
Avatar

Csatlakozott: 2016.03.05. 20:56
Hozzászólások: 663
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 124 alkalommal
Üdv mindenkinek.

Olyan problémával fordulok hozzátok, hogy 6almasok fragverseny pluginját kicsit át szeretném alakítani.

Nos a probléma az lenne, hogy a fragverseny végeztével 6x vagy 9x írja ki chatbe amit 3x adtam csak meg.
Valamint a beállított 500 dollár helyett 5000-et ad (Első helyezetnél)

Maga a fragverseny végén lefutó parancsok:
  1. if(!SwitchFrag)
  2.     {
  3.         set_hudmessage(0, 255, 0, -1.0, 0.10, 0, 6.0, 30.0);
  4.         if(Num == 1) show_hudmessage(0, view_hud[0], TopName1);
  5.         {
  6.         Dollar[id] += 500;
  7.         ColorChat(0, GREEN, "%s^3 1. Helyezet ^1jutalma: ^4+500 Dollár", Chat_Prefix);
  8.         }
  9.         if(Num == 2) show_hudmessage(0, view_hud[1], TopName1, TopName2)
  10.         {
  11.         Dollar[id] += 500;
  12.         ColorChat(0, GREEN, "%s^3 2. Helyezet ^1jutalma: ^4+500 Dollár", Chat_Prefix);
  13.         }
  14.         if(Num >= 3) show_hudmessage(0, view_hud[2], TopName1, TopName2, TopName3)
  15.         {
  16.         Dollar[id] += 500;
  17.         ColorChat(0, GREEN, "%s^3 3. Helyezet ^1jutalma: ^4+500 Dollár", Chat_Prefix);
  18.         }
  19.     }


Teljes forráskód:
  1. /* Plugin generated by AMXX-Studio */
  2.  
  3. #include <amxmodx>
  4. #include <colorchat>
  5.  
  6. #define PLUGIN "Frag Verseny"
  7. #define VERSION "1.0"
  8. #define AUTHOR "6almasok"
  9.  
  10. #define PREFIX "[Frag-V]"
  11.  
  12. new const Chat_Prefix[] = "[Információ]";
  13.  
  14. new g_StartTime[33], g_EndTime[32], kill[33], Dollar[33], bool:SwitchFrag, bool:FirstTask, x_tempid
  15.  
  16. new const view_hud[][] =
  17. {
  18.     "A Fragverseny véget ért!^nElső: %s",
  19.     "A Fragverseny véget ért!^nElső: %s | Második: %s",
  20.     "A Fragverseny véget ért!^nElső: %s | Második: %s | Harmadik: %s",
  21.     "Jelenleg Fragverseny van (%s-%s)^n1. %s - Ölés: %i",
  22.     "Jelenleg Fragverseny van (%s-%s)^n1. %s - Ölés: %i | 2. %s - Ölés: %i",
  23.     "Jelenleg Fragverseny van (%s-%s)^n1. %s - Ölés: %i | 2. %s - Ölés: %i | 3. %s - Ölés: %i",
  24.     "A Fragverseny elkezdődik %s-kor..."
  25. };
  26.  
  27. public plugin_init()
  28. {
  29.     register_plugin(PLUGIN, VERSION, AUTHOR)
  30.    
  31.     register_clcmd("say /fragmenu", "openMain")
  32.     register_clcmd("say /kills", "openKillViewer")
  33.    
  34.     register_clcmd("START_TIME", "loadStart")
  35.     register_clcmd("END_TIME", "loadEnd")
  36.     register_clcmd("INDOK", "reset_kuld")
  37. }
  38. public halal()
  39. {
  40.     new attacker = read_data(1)
  41.     new victim = read_data(2)
  42.    
  43.     if(!SwitchFrag) return PLUGIN_HANDLED
  44.     if(attacker == victim || attacker == 0)
  45.         return PLUGIN_HANDLED
  46.        
  47.     kill[attacker]++
  48.    
  49.     return PLUGIN_CONTINUE;
  50. }
  51. public loadStart(id)
  52. {
  53.     g_StartTime[id] = EOS;
  54.     read_args(g_StartTime, charsmax(g_StartTime));
  55.     remove_quotes(g_StartTime);
  56.    
  57.     if(contain(g_StartTime, ":") != -1)
  58.     {
  59.         if((strlen(g_StartTime) != 5))
  60.         {
  61.             ColorChat(id, GREEN, "^4%s^1 Hibás idő formátum!", Chat_Prefix);
  62.             g_StartTime[id] = EOS;
  63.             return PLUGIN_HANDLED;
  64.         }
  65.     }
  66.     else
  67.     {
  68.         ColorChat(id, GREEN, "^4%s^1 Hibás idő formátum!", Chat_Prefix);
  69.         g_StartTime[id] = EOS;
  70.         return PLUGIN_HANDLED;
  71.     }
  72.    
  73.     openMain(id);
  74.     return PLUGIN_HANDLED;
  75. }
  76. public loadEnd(id)
  77. {
  78.     g_EndTime[id] = EOS;
  79.     read_args(g_EndTime, charsmax(g_EndTime));
  80.     remove_quotes(g_EndTime);
  81.    
  82.     if(contain(g_EndTime, ":") != -1)
  83.     {
  84.         if((strlen(g_EndTime) != 5))
  85.         {
  86.             ColorChat(id, GREEN, "^4%s^1 Hibás idő formátum!", Chat_Prefix);
  87.             g_EndTime[id] = EOS;
  88.             return PLUGIN_HANDLED;
  89.         }
  90.     }
  91.     else
  92.     {
  93.         ColorChat(id, GREEN, "^4%s^1 Hibás idő formátum!", Chat_Prefix);
  94.         g_EndTime[id] = EOS;
  95.         return PLUGIN_HANDLED;
  96.     }
  97.    
  98.     openMain(id);
  99.     return PLUGIN_HANDLED;
  100. }
  101. public openMain(id)
  102. {
  103.     if(!(get_user_flags(id) & ADMIN_CFG)) return PLUGIN_HANDLED
  104.    
  105.     new szMenu[121],Time[10];
  106.     get_time("%H:%M:%S", Time, charsmax(Time));
  107.    
  108.     format(szMenu, charsmax(szMenu), "\r%s \wVezérlőpult^n\dIdő: %s", PREFIX, Time);
  109.     new menu = menu_create(szMenu, "main_handler");
  110.    
  111.    
  112.     if(!SwitchFrag) formatex(szMenu, charsmax(szMenu), "Kezdési Idő: \y[%s]", g_StartTime[id] == EOS ? "pl. 10:00" : g_StartTime);
  113.     else formatex(szMenu, charsmax(szMenu), "A fragverseny elindúlt \y[%s-%s]^n", g_StartTime, g_EndTime);
  114.     menu_additem(menu, szMenu, "0", 0);
  115.    
  116.     if(!SwitchFrag) formatex(szMenu, charsmax(szMenu), "Végetérési Idő: \y[%s]^n", g_EndTime[id] == EOS ? "pl. 10:30" : g_EndTime);
  117.     else formatex(szMenu, charsmax(szMenu), "\rBeállitások");
  118.     menu_additem(menu, szMenu, "1", 0);
  119.    
  120.     if(g_EndTime[id] != EOS && g_StartTime[id] != EOS && !SwitchFrag) menu_additem(menu, "\rVerseny elindítása!", "2", 0);
  121.        
  122.     menu_display(id, menu, 0);
  123.     return PLUGIN_CONTINUE;
  124. }
  125. public main_handler(id, menu, item)
  126. {
  127.     if(item == MENU_EXIT)
  128.     {
  129.         menu_destroy(menu);
  130.         return PLUGIN_CONTINUE;
  131.     }
  132.  
  133.     switch(item)
  134.     {
  135.         case 0:
  136.         {
  137.             if(!SwitchFrag) client_cmd(id, "messagemode START_TIME");
  138.             openMain(id);
  139.         }
  140.         case 1:
  141.         {
  142.             if(!SwitchFrag)
  143.             {
  144.                 client_cmd(id, "messagemode END_TIME");
  145.                 openMain(id);
  146.             }
  147.             else openSettings(id);
  148.         }
  149.         case 2:
  150.         {
  151.             FirstTask = true;
  152.             openTimeChecker(id);
  153.             FragVerseny[id] = 1;
  154.             ColorChat(id, GREEN, "^4%s^1 A számláló elindúlt!", Chat_Prefix);
  155.         }
  156.     }
  157.     menu_destroy(menu);
  158.     return PLUGIN_HANDLED;
  159. }
  160. public openSettings(id) {
  161.     new szMenu[121];
  162.     format(szMenu, charsmax(szMenu), "\r%s \wBeállítások", PREFIX);
  163.     new menu = menu_create(szMenu, "settings_handler");;
  164.    
  165.     menu_additem(menu, "Verseny Leállítása", "0",0);
  166.     menu_additem(menu, "Ölés Nullázása", "1",0);
  167.     menu_additem(menu, "Játékosok Ölései", "2",0);
  168.        
  169.     menu_display(id, menu, 0);
  170. }
  171. public settings_handler(id, menu, item)
  172. {
  173.     if(item == MENU_EXIT)
  174.     {
  175.         menu_destroy(menu);
  176.         return PLUGIN_CONTINUE;
  177.     }
  178.  
  179.     switch(item)
  180.     {
  181.         case 0: openSelect(id);
  182.         case 1: openReseter(id);
  183.         case 2: openKillViewer(id);
  184.     }
  185.     menu_destroy(menu);
  186.     return PLUGIN_HANDLED;
  187. }
  188. public openKillViewer(id)
  189. {  
  190.     new szMenu[121], players[32], szTemp[10], pnum, Name[32];
  191.     get_players(players, pnum);
  192.    
  193.     format(szMenu, charsmax(szMenu), "\r%s \wJátékosok Ölései", PREFIX);
  194.     new menu = menu_create(szMenu, "viewer_handler");
  195.  
  196.     for(new i; i < pnum; i++)
  197.     {
  198.         get_user_name(players[i], Name, charsmax(Name));
  199.         formatex(szMenu, charsmax(szMenu),"%s \d[\yÖlés:\r %i\d]", Name, kill[players[i]]);
  200.         num_to_str(players[i], szTemp, charsmax(szTemp));
  201.         menu_additem(menu, szMenu, szTemp);
  202.     }
  203.    
  204.     menu_display(id, menu);
  205. }
  206. public viewer_handler(id,menu, item)
  207. {
  208.     if(item == MENU_EXIT)
  209.     {
  210.         menu_destroy(menu);
  211.         return PLUGIN_CONTINUE;
  212.     }
  213.     openKillViewer(id);
  214.     return PLUGIN_CONTINUE;
  215. }
  216. public openSelect(id)
  217. {
  218.     new menu = menu_create("\rBiztosan leakarod állítani a fragversenyt?", "select_handler");
  219.  
  220.     menu_additem(menu, "Igen!", "0",0);
  221.     menu_additem(menu, "Nem!", "1",0);
  222.  
  223.     menu_display(id, menu, 0);
  224. }
  225. public select_handler(id, menu, item)
  226. {
  227.     if( item == MENU_EXIT )
  228.     {
  229.         menu_destroy(menu);
  230.         return PLUGIN_HANDLED;
  231.     }
  232.     switch(item)
  233.     {
  234.         case 0:
  235.         {
  236.             FirstTask = false;
  237.             SwitchFrag = false;
  238.             ColorChat(0, GREEN, "^4%s ^1Egy ^3ADMIN ^1leállította a fragversenyt!", Chat_Prefix);
  239.         }
  240.         case 1: openMain(id);
  241.     }
  242.     menu_destroy(menu);
  243.     return PLUGIN_HANDLED;
  244. }
  245. public openReseter(id) {
  246.     new cim[121], players[32], pnum, Name[32], szTempid[10];
  247.     get_players(players, pnum);
  248.    
  249.     format(cim, charsmax(cim), "\yJátékos Ölésének nullázása!");
  250.     new menu = menu_create(cim, "reset_handler" );
  251.    
  252.     for( new i; i<pnum; i++ )
  253.     {
  254.         get_user_name(players[i], Name, charsmax(Name));
  255.         num_to_str(players[i], szTempid, charsmax(szTempid));
  256.         menu_additem(menu, Name, szTempid, 0);
  257.     }
  258.     menu_display(id, menu, 0);
  259. }
  260. public reset_handler(id, menu, item)
  261. {
  262.     if( item == MENU_EXIT ) {
  263.         menu_destroy(menu);
  264.         return PLUGIN_HANDLED;
  265.     }
  266.     new data[6], szName[64], access, callback;
  267.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  268.    
  269.     x_tempid = str_to_num(data);
  270.     client_cmd(id, "messagemode INDOK");
  271.    
  272.     menu_destroy(menu);
  273.     return PLUGIN_HANDLED;
  274. }
  275. public reset_kuld(id)
  276. {
  277.     new Msg[121], Name[32];
  278.     read_args(Msg, charsmax(Msg));
  279.     remove_quotes(Msg);
  280.     get_user_name(x_tempid, Name, charsmax(Name));
  281.  
  282.     kill[x_tempid] = 0;
  283.     ColorChat(0, GREEN, "^4%s^3 %s^1 Ölései nullázva lettek! Indok: ^4%s", Chat_Prefix, Name, Msg);
  284.    
  285.     return PLUGIN_HANDLED;
  286. }
  287. public openTimeChecker(id)
  288. {
  289.     if(FirstTask) set_task(0.5, "openTimeChecker",id);
  290.    
  291.     new Time[10], SecSReset[10], SecEReset[10];
  292.     get_time("%H:%M:%S", Time, charsmax(Time));
  293.     formatex(SecSReset, charsmax(SecSReset), "%s:00", g_StartTime);
  294.     formatex(SecEReset, charsmax(SecEReset), "%s:00", g_EndTime);
  295.  
  296.     if(!SwitchFrag)
  297.     {
  298.         set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 6.0, 0.5);
  299.         show_hudmessage(0, view_hud[6], g_StartTime);
  300.     }
  301.     else SeeBestPlayers(id)
  302.  
  303.     if(equal(Time, SecSReset))
  304.     {
  305.         server_cmd("sv_restart 1");
  306.         SwitchFrag = true;
  307.     }
  308.     if(equal(Time, SecEReset))
  309.     {
  310.         FirstTask = false;
  311.         SwitchFrag = false;
  312.         SeeBestPlayers(id);
  313.     }
  314.  
  315.     return PLUGIN_CONTINUE;
  316. }
  317. public SeeBestPlayers(id)
  318. {
  319.     new Players[32], Num;
  320.     get_players(Players, Num);
  321.     SortCustom1D(Players, Num, "sort_bestthree");
  322.  
  323.     new Top1 = Players[0];
  324.     new Top2 = Players[1];
  325.     new Top3 = Players[2];
  326.  
  327.     new TopName1[32], TopName2[32], TopName3[32];
  328.     get_user_name(Top1, TopName1, charsmax(TopName1));
  329.     get_user_name(Top2, TopName2, charsmax(TopName2));
  330.     get_user_name(Top3, TopName3, charsmax(TopName3));
  331.  
  332.     if(!SwitchFrag)
  333.     {
  334.         set_hudmessage(0, 255, 0, -1.0, 0.10, 0, 6.0, 30.0);
  335.         if(Num == 1) show_hudmessage(0, view_hud[0], TopName1);
  336.         {
  337.         Dollar[id] += 500;
  338.         ColorChat(0, GREEN, "%s^3 1. Helyezet ^1jutalma: ^4+500 Dollár", Chat_Prefix);
  339.         }
  340.         if(Num == 2) show_hudmessage(0, view_hud[1], TopName1, TopName2)
  341.         {
  342.         Dollar[id] += 500;
  343.         ColorChat(0, GREEN, "%s^3 2. Helyezet ^1jutalma: ^4+500 Dollár", Chat_Prefix);
  344.         }
  345.         if(Num >= 3) show_hudmessage(0, view_hud[2], TopName1, TopName2, TopName3)
  346.         {
  347.         Dollar[id] += 500;
  348.         ColorChat(0, GREEN, "%s^3 3. Helyezet ^1jutalma: ^4+500 Dollár", Chat_Prefix);
  349.         }
  350.     }
  351.     else
  352.     {
  353.         set_hudmessage(0, 127, 255, -1.0, 0.10, 0, 6.0, 0.5);
  354.         if(Num == 1) show_hudmessage(0, view_hud[3], g_StartTime, g_EndTime, TopName1, kill[Top1]);
  355.         if(Num == 2) show_hudmessage(0, view_hud[4], g_StartTime, g_EndTime, TopName1, kill[Top1], TopName2, kill[Top2]);
  356.         if(Num >= 3) show_hudmessage(0, view_hud[5], g_StartTime, g_EndTime, TopName1, kill[Top1], TopName2, kill[Top2], TopName3, kill[Top3]);
  357.     }
  358. }
  359. public sort_bestthree(id1, id2)
  360. {
  361.     if(kill[id1] > kill[id2]) return -1
  362.     else if(kill[id1] < kill[id2]) return 1
  363.  
  364.     return 0
  365. }

_________________
Global Offensive modok:

Global Offensive Mode 1.0
Global Offensive Mode 3.0
exodus Global Offensive 4.0


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Fragverseny jutalmak
HozzászólásElküldve: 2016.09.20. 16:49 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.11.16. 12:37
Hozzászólások: 686
Megköszönt másnak: 32 alkalommal
Megköszönték neki: 131 alkalommal
0.5 mp-s delay átrakva 1.0 mp-re
  1. public openTimeChecker(id)
  2. {
  3.     if(FirstTask) set_task(1.0, "openTimeChecker",id);
  4.    
  5.     new Time[10], SecSReset[10], SecEReset[10];
  6.     get_time("%H:%M:%S", Time, charsmax(Time));
  7.     formatex(SecSReset, charsmax(SecSReset), "%s:00", g_StartTime);
  8.     formatex(SecEReset, charsmax(SecEReset), "%s:00", g_EndTime);
  9.    
  10.     if(!SwitchFrag)
  11.     {
  12.         set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 6.0, 1.0);
  13.         show_hudmessage(0, view_hud[6], g_StartTime);
  14.     }
  15.     else SeeBestPlayers(id)
  16.    
  17.     if(equal(Time, SecSReset))
  18.     {
  19.         server_cmd("sv_restart 1");
  20.         SwitchFrag = true;
  21.     }
  22.     if(equal(Time, SecEReset))
  23.     {
  24.         FirstTask = false;
  25.         SwitchFrag = false;
  26.         SeeBestPlayers(id);
  27.     }
  28.    
  29.     return PLUGIN_CONTINUE;
  30. }
  31. public SeeBestPlayers(id)
  32. {
  33.     new Players[32], Num;
  34.     get_players(Players, Num);
  35.     SortCustom1D(Players, Num, "sort_bestthree");
  36.    
  37.     new Top1 = Players[0];
  38.     new Top2 = Players[1];
  39.     new Top3 = Players[2];
  40.    
  41.     new TopName1[32], TopName2[32], TopName3[32];
  42.     get_user_name(Top1, TopName1, charsmax(TopName1));
  43.     get_user_name(Top2, TopName2, charsmax(TopName2));
  44.     get_user_name(Top3, TopName3, charsmax(TopName3));
  45.    
  46.     if(!SwitchFrag)
  47.     {
  48.         set_hudmessage(0, 255, 0, -1.0, 0.10, 0, 6.0, 30.0);
  49.         if(Num == 1)
  50.         {
  51.             show_hudmessage(0, view_hud[0], TopName1);
  52.             Dollar[id] += 500;
  53.             ColorChat(0, GREEN, "%s^3 1. Helyezet ^1jutalma: ^4+500 Dollár", Chat_Prefix);
  54.         }
  55.         if(Num == 2)
  56.         {
  57.             show_hudmessage(0, view_hud[1], TopName1, TopName2)
  58.             Dollar[id] += 500;
  59.             ColorChat(0, GREEN, "%s^3 2. Helyezet ^1jutalma: ^4+500 Dollár", Chat_Prefix);
  60.         }
  61.         if(Num >= 3)
  62.         {
  63.             show_hudmessage(0, view_hud[2], TopName1, TopName2, TopName3)
  64.             Dollar[id] += 500;
  65.             ColorChat(0, GREEN, "%s^3 3. Helyezet ^1jutalma: ^4+500 Dollár", Chat_Prefix);
  66.         }
  67.     }
  68.     else
  69.     {
  70.         set_hudmessage(0, 127, 255, -1.0, 0.10, 0, 6.0, 1.0);
  71.         if(Num == 1) show_hudmessage(0, view_hud[3], g_StartTime, g_EndTime, TopName1, kill[Top1]);
  72.         if(Num == 2) show_hudmessage(0, view_hud[4], g_StartTime, g_EndTime, TopName1, kill[Top1], TopName2, kill[Top2]);
  73.         if(Num >= 3) show_hudmessage(0, view_hud[5], g_StartTime, g_EndTime, TopName1, kill[Top1], TopName2, kill[Top2], TopName3, kill[Top3]);
  74.     }
  75. }

_________________
Kép
"I wouldn't hold my breath if I was you
Cause I'll forget but I'll never forgive you
Don't you know, don't you know?
True friends stab you in the front."


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Fragverseny jutalmak
HozzászólásElküldve: 2016.09.20. 21:03 
Offline
Nagyúr
Avatar

Csatlakozott: 2016.03.05. 20:56
Hozzászólások: 663
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 124 alkalommal
6almasok írta:
0.5 mp-s delay átrakva 1.0 mp-re


Köszönöm a segítséged, most első helyezet esetében 2x kapok üzenetet és 500 dollár van beállítva 1. helynek viszont 1000-et ad.

_________________
Global Offensive modok:

Global Offensive Mode 1.0
Global Offensive Mode 3.0
exodus Global Offensive 4.0


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 59 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