hlmod.hu
https://hlmod.hu/

002 - Metamod:Client -> Cvarok és parancsok létrehozása
https://hlmod.hu/viewtopic.php?f=111&t=23922
Oldal: 1 / 1

Szerző:  kiki [ 2016.02.08. 15:38 ]
Hozzászólás témája:  002 - Metamod:Client -> Cvarok és parancsok létrehozása

Metamod:Client

Játékbeli parancsok, és változók létrehozása:

A következő tutorialban megmutatom hogyan lehet létrehozni új parancsokat, és cvarokat a játék motorjába. Szeretném leszögezni hogy minden példa tutorial az itt található: (https://hlmod.hu/viewtopic.php?f=111&t=23826) Példa Plugin alapjára lesz leírva. Tehát én minden tutorial alkalmával a Példa Pluginban kezdem el csinálni. Persze te ha több dolgot csinálsz egy pluginban, akkor nem kell több plugint csinálnod, tehát csinálhatod egy pluginban is!

Előre is elnézést az írásbeli, és egyéb hibák miatt. Nem tudom a neveket, meg hogy éppen mi történik, mi a megfelelő szó rá. Csak tapasztalat alapján mutatom be. Nem mindenhol tudom pontosan megmondani hogy éppen mi történik

1. Parancs létrehozása:

Magunk elé vesszük a Meta_Api.cpp-t: A példa plugin szerint ez az alap:
► Spoiler mutatása


Kikeressük benne az Initialize függvényt. A parancs létrehozás helye az echos üzenetünk alatt lesz. Tehát a
  1. gEngfuncs.pfnClientCmd("echo \"www.hlmod.hu - Kliens elindult!\"");
utáni sorban.

Az alábbi funkcióval hozunk létre parancsot:
  1. gEngfuncs.pfnAddCommand("parancs", parancsteszt);

Az AddCommand funkciónak két paramétere van, az első a parancs, a második a függvény, ami lefusson a parancs beírásakor.

Tehát ezt a sort elhelyeztük az echo szöveg elé.

Következő lépésben még mindig ugyan abban a fájlban vagyunk. Kikeressük az alábbi részt:

  1. cl_enginefunc_t gEngfuncs;
  2. meta_globals_t *gpMetaGlobals;


majd ezek alá elhelyezzük ezt:

  1. void parancsteszt(void);


majd a következő lépésben legurítjuk a fájl legaljára, és elhelyezzük a funkciót:

  1. void parancsteszt(void)
  2. {
  3.     //És hogy lássuk sikeres volt e a parancs létrehozása, kiírjuk a játékos konzoljába, persze csak echo üzenettel!
  4.     gEngfuncs.pfnClientCmd("echo \"A parancs lefutott!\"");
  5. }


2. Változó létrehozása:

A változó létrehozására az alábbi funkciót használjuk:
  1. gEngfuncs.pfnRegisterVariable


Ez mehet majd az 1. pontban említett parancs létrehozás alá!

Ennek a funkciónak 3 paramétere van.
[list=][*]maga a változó
[*]értéke
[*]flags (talán ugyan azok mint amxx esetén)[/list]

Tehát hozzuk akkor létre a cvart:
  1. gEngfuncs.pfnRegisterVariable( "teszt_cvar", "1.6", 0);


Ha mindennel megvagyunk, mehet a Compile, és a teszt!

Teszt eredmények:
► Spoiler mutatása

Szerző:  Anonymous1337 [ 2016.02.08. 20:51 ]
Hozzászólás témája:  Re: 002 - Metamod:Client -> Cvarok és parancsok létrehozása

Valahogy, van egy olyan érzésem, hogy nagyon felnyitotta a szemedet ez a Metamod kliens, sok mindent lehet csinálni benne, és szinte biztos vagyok abba, hogy megint valami újat fogsz alkotni, mint anno a slot átíró. :D Gratu a leíráshoz, jó kis bemutató lett! :)

Szerző:  kiki [ 2016.02.09. 14:08 ]
Hozzászólás témája:  Re: 002 - Metamod:Client -> Cvarok és parancsok létrehozása

Nem nyitotta fel, ezeket már évekkel ezelőtt tanultam meg. Csak most írok róla tutorialokat. Bár folyamatosan próbálkozok dolgokkal, de egyszerűen nem jönnek be. :(

Szerző:  alfaanero [ 2016.07.06. 08:15 ]
Hozzászólás témája:  Re: 002 - Metamod:Client -> Cvarok és parancsok létrehozása

Várható még tutorial? Aki esetleg tud linkelni nekem akár nem magyar tut.-ot annak megköszönném.
Probáltam keresni de nem igazán találtam.

Szerző:  kiki [ 2016.07.06. 13:04 ]
Hozzászólás témája:  Re: 002 - Metamod:Client -> Cvarok és parancsok létrehozása

alfaanero írta:
Várható még tutorial? Aki esetleg tud linkelni nekem akár nem magyar tut.-ot annak megköszönném.
Probáltam keresni de nem igazán találtam.


Sajnos nem fogsz hozzá kapni tutorialt sehol. Esetleg ha érdekel valami, próbálok segíteni amennyire tudok.

Hát, lehet még lesz majd tutorial, de nem tudom igérni hogy mikor.

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/