Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
30.04.2001, 13:28
Sccar



moinsen

wie läuft eigentlich die kommunikation zwischen mp.dll und client.dll ab?
was passiert zum beispiel, wenn der spieler attack1 drückt. wie fängt die
mp.dll die message auf und wie wird sie verschickt?

thx im vorraus

sccar

--

...das is zwar der uebelst gehackteste kleine bastard, den ich je gesehen habe, aber dafuer sauschnell. {Tron}

zum Seitenanfang zum Seitenende Profil || Suche
001
30.04.2001, 18:40
Buy-Menu-Man



Also von mp.dll nach client.dll gibt es sogenannte Messages die in player.cpp definiert sind! Die haben immer ein gmsg vorne dran!
Eine Message schickt man so:
MESSAGE_BEGIN( MSG_ALL, gmsgSayText, NULL );
WRITE_BYTE( ENTINDEX(pEntity) );
WRITE_STRING( text );
MESSAGE_END();

Das ist jetzt nur ein Beispiel!
Also Man kann Bytes, Shorts usw. verschicken, aber in der Reihenfolge in der die Sachen verschickt werden, in der musst du sie auch wieder aufnehmen!
Also in der client.dll sieht das z. B. so aus:
BEGIN_READ( pbuf, iSize );
short cl = READ_BYTE();
short frags = READ_SHORT();
short deaths = READ_SHORT();
short playerclass = READ_SHORT();
short teamnumber = READ_SHORT();

Man muss auch die richtigen Werte der Bytes schreiben: Also wenn du ein Short mit WRITE_SHORT geschickt hast dann musst du das auch wieder mit READ_SHORT aufnehmen!

PS: Die Beispiele sind nicht zusammenhängend....das sind einfach Beispiele aus dem Code!

--

http://battletech-hl.teamfortress2.de

zum Seitenanfang zum Seitenende Profil || Suche
002
30.04.2001, 18:45
Sccar



kann ich bestimmte ereignisse durch messages starten lassen. vielleicht wie
in der windoof message routine (win32api!)??

thx

sccar

--

...das is zwar der uebelst gehackteste kleine bastard, den ich je gesehen habe, aber dafuer sauschnell. {Tron}

zum Seitenanfang zum Seitenende Profil || Suche
003
30.04.2001, 19:03
Buy-Menu-Man



Ja logisch!
Ich würde sagen ohne diese Möglichkeit wäre der Ping beim Online-Gaming so hoch, da würde man die Spalte im ScoreBoard erstmal 3-mal so groß machen müssen um die Zahl lesen zu können! *gg* (das ist vielleicht ein bisschen übertrieben)
Du kannst mal nach der Flashlight suchen, da wird eine Message losgeschickt, wenn man sie anmacht, die dann in der client.dll verarbeitet wird!

Danger: This part of the text has been edited:

Scheisse!
Jetzt hab ich dir das extra in einem 1-Seiten posting erklärt jetzt steht der ganze schiess da: http://www.planethalflife.com/hlsdk2/
und das schlimmste ist: Es ist auch noch besser erklärt als bei mir! *gg*

PS: Wieso kann man keinen Doppel-Post machen?
find ich irgendwie unlogisch.......

--

http://battletech-hl.teamfortress2.de

zum Seitenanfang zum Seitenende Profil || Suche
004
01.05.2001, 20:59
thinktank



LOOOOOOOOOLLLLLL
Genau das gleiche hab ich schon einmal gepostet !
:-)

Thinktank

--

zum Seitenanfang zum Seitenende Profil || Suche