hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 258 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 257 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ő


Új téma nyitása Hozzászólás a témához  [2 hozzászólás ] 
Szerző Üzenet
HozzászólásElküldve:2019.08.03. 12:46 
Offline
Developer
Avatar

Csatlakozott:2011.06.01. 21:11
Hozzászólások:7965
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
Metamod:Client

Connect parancs letiltása:

Sziasztok! Ebben a tutorialban megmutatom hogy lehet letiltani a szerverekre való csatlakozást, illetve inkább azt hogy hogy lehet beállítani hogy milyen szerverre engedjen fel a kliensel. Többek között ez azért jó megoldás, mert ha csinálsz egy klienst, amiben lesznek extrák ..stb, hogy csak a te szervereden tudjanak játszani a kliensel!

A 001es tutorial plugint veszem alapul, az adott sorokat ahoz viszonyítva mutatom, hogy hova kell bele írni a példa pluginba!

A Meta_Api.cpp fájlt megnyitjuk magunk elé első lépésként! És valahol az includek alatt létre hozzuk a következő sort:

  1. int ClientCmd(const char *cmd);


Megkeressük az Initialize függvényt, és a ClientCmds szövegkiiírás alatt elhelyezzük ezt a sort:
pEnginefuncs->pfnClientCmd = &ClientCmd;

Valahogy így kell kinéznie:

  1. gEngfuncs.pfnClientCmd("echo \"www.hlmod.hu - Kliens elindult!\"");
  2.     pEnginefuncs->pfnClientCmd = &ClientCmd;
  3.     RETURN_META_VALUE(MRES_IGNORED, 0);


majd valahol a kódban, mondjuk az initalize alatt létre hozzuk a definált függvényt, ami így néz ki:

  1. int ClientCmd(const char *cmd)
  2. {
  3.      //Ha a beírt parancs tartalmazza a connect szót, és a beállított ip címet, akkor lefuttatja a konzolba beírt parancsot! Megjegyzem hogy mikor menüből csatlakozol, az is csak egy konzol parancsot teljesít, szóval ott is működni fog! Az példa ip cím helyére, kell a te szerverednek az ip címe, akár mennyi ip cím hozzá adható a megfelelő módon!
  4.      if( strstr( cmd, "connect" ) && strstr( cmd, "91.82.220.218:27998" ) )
  5.      {
  6.          return gEngfuncs.pfnClientCmd(cmd);
  7.      }
  8.      //Itt pedig az else részben tiltódik minden más connectes parancs tiltása. Kivéve a disconnect, mert kilépni már kilehessen a szerverről!
  9.      else if(strstr( cmd, "connect" ) && !strstr( cmd, "dis" ))
  10.      {
  11.         gEngfuncs.pfnClientCmd("echo \"Sajnalom, csak a hlmod.hu szervereire mehetsz fel a kliensel\"");
  12.         //MRES_SUPERCEDE mint mindenhol máshol ,itt is a teljes tiltást jelenti, így a beírt parancs nem fog lefutni, itt megállítja a függvényt!
  13.         RETURN_META_VALUE(MRES_SUPERCEDE, 4);
  14.      }
  15.     //Ha a fent található elágazásokba nem tér be az adott parancs futtatássakkor, akkor lefuttatja a beírt parancsot, tehát mindent amit beírsz a konzolba, az működni fog, mert azt az értéket adja vissza, szóval ez a return minden képpen kell bele!
  16.     return gEngfuncs.pfnClientCmd(cmd);
  17. }


Végeredmény:
► Spoiler mutatása

_________________
http://www.easyrankup.eu

Ők köszönték meg kiki nek ezt a hozzászólást: ✪ BeNiCh' (2019.08.06. 11:25)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2019.08.04. 09:07 
Offline
Tud valamit
Avatar

Csatlakozott:2018.11.02. 12:23
Hozzászólások:148
Megköszönt másnak: 2 alkalommal
Megköszönték neki: 19 alkalommal
Szép munka, csak így tovább! :ugeek:

kiki írta:
Metamod:Client

Connect parancs letiltása:

Sziasztok! Ebben a tutorialban megmutatom hogy lehet letiltani a szerverekre való csatlakozást, illetve inkább azt hogy hogy lehet beállítani hogy milyen szerverre engedjen fel a kliensel. Többek között ez azért jó megoldás, mert ha csinálsz egy klienst, amiben lesznek extrák ..stb, hogy csak a te szervereden tudjanak játszani a kliensel!

A 001es tutorial plugint veszem alapul, az adott sorokat ahoz viszonyítva mutatom, hogy hova kell bele írni a példa pluginba!

A Meta_Api.cpp fájlt megnyitjuk magunk elé első lépésként! És valahol az includek alatt létre hozzuk a következő sort:

  1. int ClientCmd(const char *cmd);


Megkeressük az Initialize függvényt, és a ClientCmds szövegkiiírás alatt elhelyezzük ezt a sort:
pEnginefuncs->pfnClientCmd = &ClientCmd;

Valahogy így kell kinéznie:

  1. gEngfuncs.pfnClientCmd("echo \"www.hlmod.hu - Kliens elindult!\"");
  2.     pEnginefuncs->pfnClientCmd = &ClientCmd;
  3.     RETURN_META_VALUE(MRES_IGNORED, 0);


majd valahol a kódban, mondjuk az initalize alatt létre hozzuk a definált függvényt, ami így néz ki:

  1. int ClientCmd(const char *cmd)
  2. {
  3.      //Ha a beírt parancs tartalmazza a connect szót, és a beállított ip címet, akkor lefuttatja a konzolba beírt parancsot! Megjegyzem hogy mikor menüből csatlakozol, az is csak egy konzol parancsot teljesít, szóval ott is működni fog! Az példa ip cím helyére, kell a te szerverednek az ip címe, akár mennyi ip cím hozzá adható a megfelelő módon!
  4.      if( strstr( cmd, "connect" ) && strstr( cmd, "91.82.220.218:27998" ) )
  5.      {
  6.          return gEngfuncs.pfnClientCmd(cmd);
  7.      }
  8.      //Itt pedig az else részben tiltódik minden más connectes parancs tiltása. Kivéve a disconnect, mert kilépni már kilehessen a szerverről!
  9.      else if(strstr( cmd, "connect" ) && !strstr( cmd, "dis" ))
  10.      {
  11.         gEngfuncs.pfnClientCmd("echo \"Sajnalom, csak a hlmod.hu szervereire mehetsz fel a kliensel\"");
  12.         //MRES_SUPERCEDE mint mindenhol máshol ,itt is a teljes tiltást jelenti, így a beírt parancs nem fog lefutni, itt megállítja a függvényt!
  13.         RETURN_META_VALUE(MRES_SUPERCEDE, 4);
  14.      }
  15.     //Ha a fent található elágazásokba nem tér be az adott parancs futtatássakkor, akkor lefuttatja a beírt parancsot, tehát mindent amit beírsz a konzolba, az működni fog, mert azt az értéket adja vissza, szóval ez a return minden képpen kell bele!
  16.     return gEngfuncs.pfnClientCmd(cmd);
  17. }


Végeredmény:
► Spoiler mutatása

_________________
****


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


Ki van itt

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