hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.07.01. 09:14



Jelenlévő felhasználók

Jelenleg 333 felhasználó van jelen :: 3 regisztrált, 0 rejtett és 330 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], Majestic-12 [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  [10 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Chat hookolása
HozzászólásElküldve:2012.02.12. 11:38 
Offline
Developer
Avatar

Csatlakozott:2011.06.01. 21:11
Hozzászólások:7966
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
Hogy lehet lehookolni az üzenet írását, nem úgy akarok hogy register_clcmd meg concmd hanem a függvényben maga, és vissza térni rá egy csettel, lehetséges?


Kód:
  1. return cllient_print(id, print_chat "BlaBlaBla")

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Chat hookolása
HozzászólásElküldve:2012.02.12. 16:14 
Offline
Imperátor
Avatar

Csatlakozott:2009.04.21. 09:33
Hozzászólások:3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Üdv


Kód:
register_clcmd("say", "check_say")
register_clcmd("say_team", "check_say")


Ekkor minden say (say_team) parancs kiadásakor meghívódik egy check_say függvémy, amelynek argumentumában lesz maga az üzenet.
Feldolgozod a paranétereket ahogy tetszik, majd kiadhatsz egy módosított sayt is engclient_cmd-vel, vagy eleve leállíthatod a futtatását a cuccnak.


kiki írta:
Hogy lehet lehookolni az üzenet írását, nem úgy akarok hogy register_clcmd meg concmd hanem a függvényben maga, és vissza térni rá egy csettel, lehetséges?


Kód:
  1. return cllient_print(id, print_chat "BlaBlaBla")

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Chat hookolása
HozzászólásElküldve:2012.02.13. 10:22 
Offline
Developer
Avatar

Csatlakozott:2011.06.01. 21:11
Hozzászólások:7966
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
És ugy kéne ha pl a /admin parancs létezik akkor semmi se történik de ha beírja hogy /valamiasd akkor ki írja ismeretlen parancs, nem akarom beírni egyesével összes parancsot ami a szerveren van épp ezért kérdezem hogyan lehetne hogy magától felismerje! Szóval érted mit mondok?

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Chat hookolása
HozzászólásElküldve:2012.02.13. 10:32 
Offline
Imperátor
Avatar

Csatlakozott:2009.04.21. 09:33
Hozzászólások:3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Tehát arra gondolsz, hogy egészítse ki amit beírsz egy paranccsá?
Vagy dobja fel az összes lehetséges parancsot?
Nemhiszem, hogy ez megoldható lenne.
Kérlek, fejtsd ki bővebben.

kiki írta:
És ugy kéne ha pl a /admin parancs létezik akkor semmi se történik de ha beírja hogy /valamiasd akkor ki írja ismeretlen parancs, nem akarom beírni egyesével összes parancsot ami a szerveren van épp ezért kérdezem hogyan lehetne hogy magától felismerje! Szóval érted mit mondok?

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Chat hookolása
HozzászólásElküldve:2012.02.13. 10:35 
Offline
Developer
Avatar

Csatlakozott:2011.06.01. 21:11
Hozzászólások:7966
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
Na szóval a szerveremen van pl 50parancs ami "/" előjellel kezdődik!
Ha a kliens olyan parancsot ír be ami létezik mint pl. "/shop ; /admin; /top15" akkor semmi sem történik!
De ha a parancs nem létezik pl. "/metal ; /asd " akkor ki írja hogy ismeretlen parancs!

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Chat hookolása
HozzászólásElküldve:2012.02.13. 10:49 
Offline
Imperátor
Avatar

Csatlakozott:2009.04.21. 09:33
Hozzászólások:3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Ha a parancs létezik, akkor csinál valamit, de az már más kérdés, mit. (Lehet h semmit)
Ha nincs, akor írja az ismeretlen parancsot. (Azt is akkor, amikor nem saybe írod)

Tehát a konkluzió:
Azt akarod elérni, hogy ha nem létező /<cmd> parancsot ad ki valaki, jelezze h ismeretlen parancs?

Ez szerintem nem megoldható, el is mondom miért:
Minden plugin beállítja magának a parancsokat, de más pluginok parancsaira nem lát rá.
Úgy oldható meg esetleg, hogy mikor kiadunk egy parancsot, az alábbi lépéseket hajtsa végre:
1. Lekéri az elérhető regisztrált parancsok listáját
2. Ellenőrzi, hogy a kiadott parancs létezik-e. Ha létezik, hajtsa végre, ha nem, akkor ne csináljon semmi.

Csak itt vannak a gondok:
- Melyik plugin ellenőrizze le a parancsot?
- Legyen hozzá külön plugin? (Ez lenne a legésszerűbb.)

TFH felismeri a parancsot, sőt, le tudta ellenőrizni, hogy létezik-e vagy sem.
Viszont még mindig ott van a kérdés, hogy hogyan kérjük le a beregelt parancsok listját? Mivel?

Másik gond:
Mi van akkor, ha csak a say van lehookolva, s a hozzárendelt függvényben vizsgáljuk az argumentumokat? Ebbben az esetben nem lekérhető, mit csinál a függvény, ha a "/metal" szó szerepel mint "parancs" a függvényben. (ha lehetne, akkor minden fgv utasításai lekérhetőek lennének!)



kiki írta:
Na szóval a szerveremen van pl 50parancs ami "/" előjellel kezdődik!
Ha a kliens olyan parancsot ír be ami létezik mint pl. "/shop ; /admin; /top15" akkor semmi sem történik!
De ha a parancs nem létezik pl. "/metal ; /asd " akkor ki írja hogy ismeretlen parancs!

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Chat hookolása
HozzászólásElküldve:2012.02.13. 10:53 
Offline
Developer
Avatar

Csatlakozott:2011.06.01. 21:11
Hozzászólások:7966
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
Akkor jöhet összes parancs eggyesével? Így szerinted jólenne a hookolás:

Kód:
public handle_say(id)  

static 
szSaid16 ]; 
read_argsszSaid charsmaxszSaid ) ); 
parseszSaid szSaid charsmaxszSaid ) ); 

if( 
equaliszSaid "/admin") || equaliszSaid "/menu") || equaliszSaid "/shop") )  //Meg az összeset beírom eggyesével

return 
1


return 
client_print(idprint_chat"Sajnalom nincs ilyen parancs!"

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Chat hookolása
HozzászólásElküldve:2012.02.13. 10:58 
Offline
Imperátor
Avatar

Csatlakozott:2009.04.21. 09:33
Hozzászólások:3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Jó, de új pluginnál természetesen ki kell bővíteni.
Azt hittem nem bedrótozott megoldást keresel :)

kiki írta:
Akkor jöhet összes parancs eggyesével? Így szerinted jólenne a hookolás:

Kód:
public handle_say(id)  
{ 
static szSaid
[ 16 ]; 
read_args
( szSaid , charsmax( szSaid ) ); 
parse
( szSaid , szSaid , charsmax( szSaid ) ); 

if( equali( szSaid , "/admin") || equali( szSaid , "/menu") || equali( szSaid , "/shop") )  //Meg az összeset beírom eggyesével
{ 
return 1
; 
} 

return client_print
(id, print_chat, "Sajnalom nincs ilyen parancs!") 
}

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Chat hookolása
HozzászólásElküldve:2012.02.18. 03:36 
Offline
Félisten
Avatar

Csatlakozott:2008.04.28. 16:04
Hozzászólások:872
Megköszönt másnak: 7 alkalommal
Megköszönték neki: 59 alkalommal
Bár még nekem sem tiszta hogy miért lehet hasznos ez a plugin, de legalább egy '/' ellenőrzést raknék bele. Másfelől az amx_help is működik valahogy...


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Chat hookolása
HozzászólásElküldve:2012.02.18. 11:50 
Offline
Imperátor
Avatar

Csatlakozott:2009.04.21. 09:33
Hozzászólások:3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Tényleg

Jó, azt hittem ez beépített parancs :)

Kód:
get_concmd()


CheeseDave írta:
Bár még nekem sem tiszta hogy miért lehet hasznos ez a plugin, de legalább egy '/' ellenőrzést raknék bele. Másfelől az amx_help is működik valahogy...

_________________
Kód:
I'm back

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


Ki van itt

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