hlmod.hu
https://hlmod.hu/

001 - Metamod:Client -> Alapok
https://hlmod.hu/viewtopic.php?f=111&t=23826
Oldal: 1 / 1

Szerző:  kiki [ 2016.02.02. 20:30 ]
Hozzászólás témája:  001 - Metamod:Client -> Alapok

Metamod:Client

Leírás:
A Metamod:Client a Metamodhoz hasonlóan egy olyan szoftver ami segítségével el tudunk érni kliens felőli funkciókat, több táblában. A Metamod:Client készítője teljesen más, így nem sok köze van a Metamodhoz, csak névrokonok. A készítő célja itt is azvolt, hogy az userek könnyedén tudjanak készíteni a számukra megfelelő kliens pluginokat. Fontos itt megjegyezni, hogy ezt egy személy készítette, és elég kezdetleges az egész dolog, és a fejlesztésére sem látok lehetőséget, ezért sok hiányosság található még benne. A pluginokat hozzá c++ programnyelven kell megírni, itt nem lett készítve segítségképpen semmi script nyelv, gondolom senkinek nem lenne türelme megcsinálni.


Telepítés:
1. Töltsük le az metamod:clientet (A hozzászólás alján megtalálható csatolmányként.mmcl1.0.1.zip)
2. Bontsuk ki, majd másoljuk fel a Half-Life mappába! (Tehát az C:\Program Files\Steam\steamapps\common\Half-Life mappán belül legyen a mmcl.dll és az mmcl mappa is!
3. Ezzel a telepítéssel kész is vagyunk, de még nem fog működni. Kérlek a következő pontokat is végezd el:

És hogy működjön:
1. Menjünk a mappába ahol a hl.exe található! (Pl.: C:\Program Files\Steam\steamapps\common\Half-Life)
2. Csináljunk a hl.exe-ről egy másolatot, és nevezzük át, kliens.exe-re!
3. Szerezzünk be egy Pe Editor-t (Pl. Lord Pe -> LETÖLTÉS)
4. Indítsuk el a Pe Editort. Majd kattintsunk a Pe Editor gombra.
Kép
5. Válasszuk ki a kliens.exe-t, majd a megjelenő menüben válasszuk a Directories gombot!
Kép
6. A következő menüben az ImportTable kell nekünk, nyomjunk az utána lévő ...-ra!
Kép
7. Kattintsunk rá valamelyik DllName-ra, utána jobbgomb és Add Import!
8. Töltsük ki a kép alapján! Az Init beírása után kattintsunk a mögötte lévő + jelre, ekkor hozzáadja azt. Ha nem sikerülne valami, akkor hibát fog dobni. Ha ez megvan, már csak le kell Okézni mindent, és Savelni. Ezzel már üzemképes a kliensünk. Lehet is tesztelni!
Kép
9. Csináljunk egy parancsikont a kliens.exe-nek! Majd indítsuk el a következő paraméterrel:
Kód:
"C:\Program Files\Steam\steamapps\common\Half-Life\kliens.exe" -game cstrike


Ha ez megvolt működni fog minden. Itt egy kép: (A kép már a példa plugin telepítése után készült, amiről lentebb írok hogy tudjátok lefordítani)
:)
[ablak]Kép[/ablak]

Fontos:
Ha a játékot metamod:client-el indítod el, akkor ne menj fel olyan szerverre, amin be van kapcsolva a Valve Anti Cheat! Ezért VAC tiltás járhat! (Halkan megjegyezném, hogy több évig kísérleteztem különféle programokkal, közöttük ezzel is, VAC-os szerveren, de soha nem kaptam semmilyen kitiltást). VAC tiltásért semmilyen felelősséget nem vállalok!


Plugin telepítése:
Keressük meg a plugin.ini fájlt, és írjuk bele a plugin nevét!
Példa a plugin.ini helyes kitöltésére:
Kód:
mmcl/plugin1.dll
mmcl/plugin2.dll
mmcl/mappa/plugin3.dll




Extra:
Visual studio 2010 beállítás:
A forráskódjaink fordításához szükségünk lesz egy c++ fordítóra. Én Visual Studio 2010-et használok, így az ehhez kapcsolódó beállításokat leírom, ha esetleg más is ezt a programot választaná.

Első lépésként töltsük le:
A HLSDK-t: LETÖLTÉS

Ha ez megvan, akkor mondjuk a Dokumentumok mappában hozzunk létre egy include mappát.
Ha kész az include mappa, akkor nyissuk meg, és másoljuk bele a hlsdk-t!
Következő lépésben bontsuk ki, majd a tömörített verziót törölhetjük is!
Van egy mappánk, nekem jelen esetben: hlsdk-a4557824e08e

Ha idáig eljutottunk, akkor nincs más dolgunk mint hozzátársítani a Visual Studio-hoz. Ennek lépései:
1. Töltsük le alul a mellékletben található példa plugint, majd a projectet nyissuk meg Visual Studioval!
2. Bal oldalt látjuk a project panelt. Ott látható az ExampePlugins. -> Erre jobbgomb, majd Properties
Kép:
Kép

3. Menjünk a Configuration Properties fülre, majd ott keressük ki a C/C++ fület. És itt az Additional Include Dircetoriesnél adjuk meg a szükséges fájlokat tartalmazó mappákat. Nekünk a HLSDKból a common, az engine, a pm_shared, a dlls, a cl_dll és a public mappa kell!
A képen látható példa alapján adjuk hozzá az összes mappát. Sajnos ezt egyesével kell megoldani!
Kép:
Kép
Kép
Kép

4. Ha ez megvan, akkor lehet tesztelni hogy minden jó e. Build / Build Solution, és ha lefordítja a plugint, akkor megkapod a .dll fájlt!
Kép

Letöltések:
mmcl1.0.1.zip
Példa plugin

Sok sikert!

Szerző:  alfaanero [ 2016.02.03. 06:57 ]
Hozzászólás témája:  Re: 001 - Metamod:Client -> Alapok

Lehet, hogy fura, de megkérdezném,hogy
Ez változtat-e valamit a játékon?
Mennyivel másabb esetleg jobb, mint az alap?
Miért jár érte vac?

Szerző:  Akosch:. [ 2016.02.03. 07:24 ]
Hozzászólás témája:  Re: 001 - Metamod:Client -> Alapok

Ha mindent jól értek annyit változtat a játékon, amit te megcsinálsz, és épp ezért jár érte vac mert belenyúl a kliensedbe.

Szerző:  kiki [ 2016.02.03. 15:26 ]
Hozzászólás témája:  Re: 001 - Metamod:Client -> Alapok

alfaanero írta:
Lehet, hogy fura, de megkérdezném,hogy
Ez változtat-e valamit a játékon?
Mennyivel másabb esetleg jobb, mint az alap?
Miért jár érte vac?


Azt változtat amit te változtatsz benne. A mmcl csak neked segít a programozásban, tehát ő egy plugin elindító, hogy ne kelljen külön mindet. Sőt így többet is eltudsz índítani.

Jár érte elvileg VAC, mert ugye azt csinálsz vele amit akarsz, aimbot, wh, vagy akár mit amit eltudsz képzelni. Bár ahhoz már nagyobb tudás kell!

Nekünk régen az volt a tervünk (ami nem valósult meg):
Hogy lett volna egy szerver... nem szeretném leírni most hogy milyen, és hogy meddig lett kész, mert sok idő lenne. Szóval, lehetett volna venni VIP-et rá. Aki megvásárolta volna a vipet, az letölthette volna a kliens-t a netről. (Persze a kliens és a szerver kommunikált volna egymással, ha esetleg új kliens verzió van, akkor ne fusson, meg ilyenek. Ezt cvarral illetve parancsokkal oldottam volna meg, amiket regisztrálok a kliens pluginban). Szóval a kliens futtatása után, az user, nem csak szerver felől kapott volna valami + dolgot, hanem kliens oldalról is. Jelen esetben addig jutottam hogy: Csapattársak mutatása falon át (Lásd CSO), illetve spritek megjelenítése öléskor rendesen a képernyőre, nem pedig gyenge minőségben amit szerver felől lehet megoldani. (Emelett próbáltam új radart csinálni, de nem sikerül sajnos, mert meghaladta a szintet amit feltudtam fogni, és tutorial se nagyon van ezekhez)

Ez a csapattársas dolog így néz ki: (Színt természetesen lehet állítani):
Kép

+ A kliensbe bele írtam, hogy csak a megadott ipkre tudjon felmenni, tehát a klienst, csak is az én szerveremen tudja használni:

Kép

Aztán teszteltem még pár dolgot:
Kép

Zöld hud:
Kép

Bal sarokban a hud üzenet: :)
Kép

Meg egy két extra még sikerült, pl színes véreffekt sebzéskor meg ilyenek.


Viszont próbáltam még egyéb dolgokat is megvalósítani, pl.: felvinni a hud limitet, 999-re, illetve új chat színeket csinálni, új menü színeket csinálni de sajnos azokra nem jöttem rá. Próbáltam VGUI-t is hookolni, hogy csináljak egy új kliens menüt bele, ahol lehetett volna a fent említett dolgokat ki / be kapcsolni, de az sem sikerült, valamiért most jelenleg is a VGUIs dolgot érzem legnehezebbnek. Szerintem az új menü színek, illetve chat színek megoldhatók, de nem jöttem rá hogy. Ugye menünél elég lenne csak definálni, utána AMXX-es úton megjeleníteni az új színes menüt annak az usernak aki jelen esetben megvette a vipet. Így már nem is lenne szükség a vguis dolgokra. Persze ezeken kívül még pár dolgot próbáltam csinálni több, kevesebb sikerrel, de azokról nem készült kép.

Szerző:  pocok5 [ 2016.02.03. 20:55 ]
Hozzászólás témája:  Re: 001 - Metamod:Client -> Alapok

kiki, Ez minden Metahook-al nemlenne könnyebb?

Szerző:  DeteCT0R [ 2016.02.04. 08:11 ]
Hozzászólás témája:  Re: 001 - Metamod:Client -> Alapok

pocok5 írta:
kiki, Ez minden Metahook-al nemlenne könnyebb?

Mivel nincs forraskod igy mashogy nem nagyon lehet :D
kiki írta:
alfaanero írta:
Lehet, hogy fura, de megkérdezném,hogy
Ez változtat-e valamit a játékon?
Mennyivel másabb esetleg jobb, mint az alap?
Miért jár érte vac?


Azt változtat amit te változtatsz benne. A mmcl csak neked segít a programozásban, tehát ő egy plugin elindító, hogy ne kelljen külön mindet. Sőt így többet is eltudsz índítani.

Jár érte elvileg VAC, mert ugye azt csinálsz vele amit akarsz, aimbot, wh, vagy akár mit amit eltudsz képzelni. Bár ahhoz már nagyobb tudás kell!

Nekünk régen az volt a tervünk (ami nem valósult meg):
Hogy lett volna egy szerver... nem szeretném leírni most hogy milyen, és hogy meddig lett kész, mert sok idő lenne. Szóval, lehetett volna venni VIP-et rá. Aki megvásárolta volna a vipet, az letölthette volna a kliens-t a netről. (Persze a kliens és a szerver kommunikált volna egymással, ha esetleg új kliens verzió van, akkor ne fusson, meg ilyenek. Ezt cvarral illetve parancsokkal oldottam volna meg, amiket regisztrálok a kliens pluginban). Szóval a kliens futtatása után, az user, nem csak szerver felől kapott volna valami + dolgot, hanem kliens oldalról is. Jelen esetben addig jutottam hogy: Csapattársak mutatása falon át (Lásd CSO), illetve spritek megjelenítése öléskor rendesen a képernyőre, nem pedig gyenge minőségben amit szerver felől lehet megoldani. (Emelett próbáltam új radart csinálni, de nem sikerül sajnos, mert meghaladta a szintet amit feltudtam fogni, és tutorial se nagyon van ezekhez)

Ez a csapattársas dolog így néz ki: (Színt természetesen lehet állítani):
Kép

+ A kliensbe bele írtam, hogy csak a megadott ipkre tudjon felmenni, tehát a klienst, csak is az én szerveremen tudja használni:

Kép

Aztán teszteltem még pár dolgot:
Kép

Zöld hud:
Kép

Bal sarokban a hud üzenet: :)
Kép

Meg egy két extra még sikerült, pl színes véreffekt sebzéskor meg ilyenek.


Viszont próbáltam még egyéb dolgokat is megvalósítani, pl.: felvinni a hud limitet, 999-re, illetve új chat színeket csinálni, új menü színeket csinálni de sajnos azokra nem jöttem rá. Próbáltam VGUI-t is hookolni, hogy csináljak egy új kliens menüt bele, ahol lehetett volna a fent említett dolgokat ki / be kapcsolni, de az sem sikerült, valamiért most jelenleg is a VGUIs dolgot érzem legnehezebbnek. Szerintem az új menü színek, illetve chat színek megoldhatók, de nem jöttem rá hogy. Ugye menünél elég lenne csak definálni, utána AMXX-es úton megjeleníteni az új színes menüt annak az usernak aki jelen esetben megvette a vipet. Így már nem is lenne szükség a vguis dolgokra. Persze ezeken kívül még pár dolgot próbáltam csinálni több, kevesebb sikerrel, de azokról nem készült kép.


:lol: Emlekszek ezekre lol kiki :D

Szerző:  kiki [ 2016.02.04. 17:02 ]
Hozzászólás témája:  Re: 001 - Metamod:Client -> Alapok

pocok5 írta:
kiki, Ez minden Metahook-al nemlenne könnyebb?


Nem ismerem. Most bele néztem a forráskódjába és egészen más a történet. Ahogy elnéztem signaturek alapján működik az egész. Persze ez azért is rosz, mert windwos esetén buildonként más - más signaturet kap minden egyes fgv. Így az egy konkrét verzióra írod meg, aztán ha véletlen frissít a valve, akkor nem fog működni az egész plugin. Ezen felül továbbá nem láttam át, mert nem értek hozzá, memóriában turkál. Amit ugyan úgy ebben is megtudod csinálni, feltéve ha értesz hozzá. Majd próbálok új dolgokat felfedezni, és itt a fórumon közzétenni. Egy két alap dolgot lehet még ma megcsinálok.

Szerző:  JohanCorn [ 2016.07.05. 20:52 ]
Hozzászólás témája:  Re: 001 - Metamod:Client -> Alapok

Foglalkoztok még ezzel a különleges kliens írási dologgal? Engem nagyon megfogott a dolog így szemre. Bámulatos.

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