hlmod.hu

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



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: 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ő


Lezárt fórum  A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [ 11 hozzászólás ]  Oldal 1 2 Következő
Szerző Üzenet
 Hozzászólás témája: AFK menü. [V2.0]
HozzászólásElküldve: 2016.09.22. 17:53 
Offline
Nagyúr

Csatlakozott: 2016.03.03. 17:37
Hozzászólások: 530
Megköszönt másnak: 4 alkalommal
Megköszönték neki: 65 alkalommal
Sziasztok. :D

~Bevezető~
Régebben megcsináltam AFK Menüs pluginom, és igértem egy update-t rá. Mostanra eliskészült, kissé nehézkesen, de valahogy.
V1.0: AFK menü.
Ebben, menüből választhatjátok ki az AFK indokot!

V2.0 Ismertető:
- Te adod meg az indokot, teljesen korlátlanul!
- Nincs megszabva az indok hossza, tartalma!
- Korlátozott használat!

V 2.0 Lényege:
Mikor AFK-olni szeretnél, de épp választottál csapatot, és nem enged kilépni, esetleg csak szimplán AFK-olni szeretnél, beírod a 2 parancs közül valamelyiket.
/afk, /away

Megjelenik egy menü, ahol kiírja a státuszod.
Ha még nem írtál AFK indokot, akkor kiválasztod a menüpontot, és beírod az AFK indokot.
Mikor beírtad, 1 perces korlátozás lessz, így csak 1 perc múlva tudod újra használni az AFK plugint. (Név beírás, specator elhelyezés).

A pluginban a(z) 11. sorban tudjátok a prefixet állítani, amit a chatbe, vagy a képernyő közepére kiír.

Kód:
#define PREFIX "[www.hlmod.hu]"


A plugin valószínűleg, kisebb hibákat rejt, kérlek jellezzétek felém. :)


Compiler:
Welcome to the AMX Mod X 1.76-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

Header size: 948 bytes
Code size: 5544 bytes
Data size: 15048 bytes
Stack/heap size: 16384 bytes; estimated max. usage=1107 cells (4428 bytes)
Total requirements: 37924 bytes
Done.

_________________
DeteCT0R írta:
Van egy kis baj a pluginnal :DEs orulnek ha a kockak megneznek egy csepet:D

Kép


A hozzászólást 3 alkalommal szerkesztették, utoljára PikHácsúú# 2016.09.23. 16:25-kor.

Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: AFK menü. [V2.0]
HozzászólásElküldve: 2016.09.22. 19:34 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.08.24. 18:28
Hozzászólások: 584
Megköszönt másnak: 122 alkalommal
Megköszönték neki: 120 alkalommal
  1. indok[id] = szoveg

Szerintem ezt így kéne:
  1. copy(indok[id], charsmax(indok[]), szoveg)

Nem értéket adsz egy változónak (nem számot kértél be), hanem stringet másolsz egyikből a másikba.
Emellett:
  1. if(valaszt[id] == 0){
  2.         menu_additem(menu, "\dAFK Indok: \rNINCS", "0", 0)
  3.     }
  4.     else
  5.     {
  6.         format(cim, charsmax(cim), "\dAFK Indok: \r%s", indok[id])
  7.     }
  8.     menu_additem(menu, cim, "0", 0)

Két additem ugyan arra a menü infóra minek? Akkor legyen a felső is formatex, mert format helyett formatex illene oda.

Ezt nem is használod a menü handlerben:
  1. new name[33]
  2.     get_user_name(id, name, 31)


A valaszt[33] helyett szebb lenne bool:valaszt[33]
És akkor if-ben:
  1. if(!valaszt[id])

Ez ugyan az mint a valaszt[id] == 0.

  1. new data[9], szName[64];
  2.     new access, callback;
  3.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  4.     new key = str_to_num(data);
  5.  
  6.     switch(key)
  7.     {
  8.         case 0:{
  9.             if(valaszt[id] == 0){
  10.                 client_cmd(id, "messagemode INDOK")
  11.                 user_silentkill(id)
  12.                 cs_set_user_team(id, CS_TEAM_SPECTATOR)
  13.                 valaszt[id] = 1,
  14.                 set_task(60.0, "ido", id)
  15.             }
  16.             else
  17.             {
  18.                 Away_K(id)
  19.                 client_print(id, print_center, "%s ~ 1 Percenkent AFK-olhatsz!", PREFIX)
  20.             }
  21.         }
  22.     }

Ez úgy komplennet kikerülhető. Egy, azaz 1 menüelem van, szóval nem szükséges lekérni, melyik az. Ha már nagyon le akarsz kérni valamit, akkor az item-et tedd a switch-be, így:
  1. public fk_handler(id, menu, item)
  2. {
  3.     switch(item)
  4.     {
  5.         case MENU_EXIT:{
  6.             menu_destroy(menu);
  7.             return PLUGIN_HANDLED;
  8.         }
  9.         case 0:{
  10.             if(!valaszt[id]){
  11.                 client_cmd(id, "messagemode INDOK")
  12.                 user_silentkill(id)
  13.                 cs_set_user_team(id, CS_TEAM_SPECTATOR)
  14.                 valaszt[id] = true
  15.                 set_task(60.0, "ido", id)
  16.             }
  17.             else
  18.             {
  19.                 Away_K(id)
  20.                 client_print(id, print_center, "%s ~ 1 Percenkent AFK-olhatsz!", PREFIX)
  21.             }
  22.         }
  23.     }
  24.     menu_destroy(menu)
  25.     return PLUGIN_HANDLED
  26. }

Ez így szebb. :)

Hirtelen ennyi kifogásom lenne. Meg helyesírásra figyelj a leírásban (magyarán javítsd).

Ők köszönték meg LyleChriss nek ezt a hozzászólást: HipHop BoyS®™ (2016.09.22. 19:36)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: AFK menü. [V2.0]
HozzászólásElküldve: 2016.09.22. 19:42 
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
Unalom csodákra képes :) (Javaslom) frissíts erre
  1. #include <amxmodx>
  2. #include <cstrike>
  3.  
  4. #define PREFIX "[www.hlmod.hu]"
  5.  
  6. new indok[33][100], bool:valaszt[33]
  7.  
  8. new const g_szCommands[][] = { "say /afk", "say_team /afk", "say /away", "say_team /away" }
  9.  
  10. public plugin_init() {
  11.     register_plugin("AFK Kilepteto", "1.0", "PikHacsuu#")
  12.    
  13.     for(new i; i < sizeof(g_szCommands); i++)
  14.         register_clcmd(g_szCommands[i], "Away_K")
  15.        
  16.     register_clcmd("INDOK", "indokafk")
  17. }
  18. public Away_K(id) {
  19.     new cim[121]
  20.     new menu = menu_create("AFK Menu", "fk_handler")
  21.    
  22.     formatex(cim, charsmax(cim), "\dAFK Indok: \r%s", indok[id][0] == EOS ? "Nincs Megadva" : indok[id])
  23.     menu_additem(menu, cim, "0", 0)
  24.     if(indok[id][0] != EOS && !valaszt[id]) menu_additem(menu, "Kilepes SPEC-be!", "1", 0)
  25.    
  26.     menu_display(id, menu, 0);
  27. }
  28. public fk_handler(id, menu, item) {
  29.     if( item == MENU_EXIT ) {
  30.         menu_destroy(menu)
  31.         return PLUGIN_HANDLED
  32.     }
  33.     new szName[32];
  34.     get_user_name(id, szName, 31);
  35.    
  36.     switch(item)
  37.     {
  38.         case 0: client_cmd(id, "messagemode INDOK")
  39.         case 1: {
  40.             if(!valaszt[id]) {
  41.                 valaszt[id] = true
  42.                 user_kill(id)
  43.                 cs_set_user_team(id, CS_TEAM_SPECTATOR)
  44.                 set_task(60.0, "ido", id)
  45.                 client_print(0, print_chat, "%s ~ %s AFK-ol. Indok: %s", PREFIX, szName, indok[id])
  46.             }
  47.             else client_print(id, print_chat, "%s ~ 1 Percenkent AFK-olhatsz!", PREFIX)
  48.         }
  49.     }
  50.     Away_K(id)
  51.  
  52.     menu_destroy(menu)
  53.     return PLUGIN_HANDLED
  54. }
  55. public ido(id) {
  56.     valaszt[id] = false
  57.     indok[id][0] = EOS
  58.     client_print(id, print_chat, "%s ~ 1 Perc lejart. AFK Menu: Engedelyezve", PREFIX)
  59. }
  60. public indokafk(id) {
  61.     read_args(indok[id], 99)
  62.     remove_quotes(indok[id])
  63. }

_________________
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."

Ők köszönték meg 6almasok nek ezt a hozzászólást: HipHop BoyS®™ (2016.09.22. 22:32)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: AFK menü. [V2.0]
HozzászólásElküldve: 2016.09.22. 19:52 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.08.24. 18:28
Hozzászólások: 584
Megköszönt másnak: 122 alkalommal
Megköszönték neki: 120 alkalommal
Így sose tanulja majd meg... :lol: :evil: :evil:
Meg foglak harapni! :lol:


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: AFK menü. [V2.0]
HozzászólásElküldve: 2016.09.22. 20:40 
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
LyleChriss írta:
Így sose tanulja majd meg... :lol: :evil: :evil:
Meg foglak harapni! :lol:

Bocs főnök, majd olvasgatja 8-) :lol: (írtam fb :oops: )

_________________
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: AFK menü. [V2.0]
HozzászólásElküldve: 2016.09.23. 15:50 
Offline
Nagyúr

Csatlakozott: 2016.03.03. 17:37
Hozzászólások: 530
Megköszönt másnak: 4 alkalommal
Megköszönték neki: 65 alkalommal
Javítva. :D. Csak azért csináltam LyleChris megoldását, mert úgy legalább tanulok is, és legközelebb odafigyelek rá. Viszont amit te írtál 6almasok, az a baj, hogy én nagyon nem értem a const-os változókat, meg a sizeof, ciklusokat. :C Bárhogy akarnám elkezdeni, nehéz lenne átszokni arra.

_________________
DeteCT0R írta:
Van egy kis baj a pluginnal :DEs orulnek ha a kockak megneznek egy csepet:D

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: AFK menü. [V2.0]
HozzászólásElküldve: 2016.09.23. 16:19 
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
Még pár dolog amit tanulhatsz:

1. Ha 1 menüpontod van vagy menu_additem-nél nincs "if" (pl. if(valami) menu_additem(menu, "ASD", "0", 0) ). Akkor a handler-be tök fölösleges lekérni a menu_item_getinfo-t. Lásd:
  1. new data[9], szName[64];
  2. new access, callback;
  3. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  4. new key = str_to_num(data);
  5. //EZ AZ EGÉSZ NEM KELL!

elég a switch-be az item szó is. (itt mondjuk LyleChriss-t ragozom de ha már nem kötelező akkor ne csináljuk)

2. Ezt minek kell hosszabban csinálni?
  1. new szoveg[32]
  2. read_args(szoveg, charsmax(szoveg))
  3. remove_quotes(szoveg)
  4. copy(indok[id], charsmax(indok[]), szoveg)

Miért nem kaphatja meg a szöveget egyből a tömb? Lásd a fenti kódban amit leírtam:
  1. read_args(indok[id], 99)
  2. remove_quotes(indok[id])


3. Minek használsz Colorchatet (include-ot) 1 mondathoz? Van 2 szöveg client_print-be az utolsó 1 meg colorchat-be...

_________________
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: AFK menü. [V2.0]
HozzászólásElküldve: 2016.09.23. 16:57 
Offline
Nagyúr

Csatlakozott: 2016.03.03. 17:37
Hozzászólások: 530
Megköszönt másnak: 4 alkalommal
Megköszönték neki: 65 alkalommal
6almasok írta:
Még pár dolog amit tanulhatsz:

1. Ha 1 menüpontod van vagy menu_additem-nél nincs "if" (pl. if(valami) menu_additem(menu, "ASD", "0", 0) ). Akkor a handler-be tök fölösleges lekérni a menu_item_getinfo-t. Lásd:
  1. new data[9], szName[64];
  2. new access, callback;
  3. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  4. new key = str_to_num(data);
  5. //EZ AZ EGÉSZ NEM KELL!

elég a switch-be az item szó is. (itt mondjuk LyleChriss-t ragozom de ha már nem kötelező akkor ne csináljuk)

2. Ezt minek kell hosszabban csinálni?
  1. new szoveg[32]
  2. read_args(szoveg, charsmax(szoveg))
  3. remove_quotes(szoveg)
  4. copy(indok[id], charsmax(indok[]), szoveg)

Miért nem kaphatja meg a szöveget egyből a tömb? Lásd a fenti kódban amit leírtam:
  1. read_args(indok[id], 99)
  2. remove_quotes(indok[id])


3. Minek használsz Colorchatet (include-ot) 1 mondathoz? Van 2 szöveg client_print-be az utolsó 1 meg colorchat-be...


Javítva..

_________________
DeteCT0R írta:
Van egy kis baj a pluginnal :DEs orulnek ha a kockak megneznek egy csepet:D

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: AFK menü. [V2.0]
HozzászólásElküldve: 2016.09.23. 17:10 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.08.24. 18:28
Hozzászólások: 584
Megköszönt másnak: 122 alkalommal
Megköszönték neki: 120 alkalommal
Este kukába rakom. Ez nincs javítva. Gondolkozz még rajta egy picit.


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: AFK menü. [V2.0]
HozzászólásElküldve: 2016.09.23. 22:50 
Offline
Nagyúr

Csatlakozott: 2016.03.03. 17:37
Hozzászólások: 530
Megköszönt másnak: 4 alkalommal
Megköszönték neki: 65 alkalommal
XDD Ahogy írtad úgy csináltam kukázzátok akkor. :,DD :lol: :lol:

_________________
DeteCT0R írta:
Van egy kis baj a pluginnal :DEs orulnek ha a kockak megneznek egy csepet:D

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 
Hozzászólások megjelenítése:  Rendezés  
Lezárt fórum  A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [ 11 hozzászólás ]  Oldal 1 2 Következő


Ki van itt

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


Nem nyithatsz témákat ebben a fórumban.
Nem 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