Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
29.11.2000, 21:48
Kloppke



1. Wie kann ich denn eine Variable verschicken ?
2. Ich hab jetzt in einer .cpp Datei, die in dei client.dll kompiliert wird, eine Variable, die ich an eine .cpp Datei, die in die mp.dll kompiliert wird, verschicken möchte. Muss ich die Variable jetzt an mp.dll schicken oder an die .cpp Datei ?
cu Kloppke

--

cu Kloppke

zum Seitenanfang zum Seitenende Profil || Suche
001
29.11.2000, 22:01
Tron



von server auf client is einfach: musst du eine message definieren und dann kannst du alles schicken was du willst

aber vom client zum server geht das glaub ich nur ueber clientcommands, also einen neuen befehl, der in der client.cpp (so ab zeile 330) in der mp.dll/hl.dll abgefangen wird (wie z.b. say und sayteam)
aber zum variablen uebertragen eignet sich das nicht (die befehle koennen auch ueber die konsole eingegeben werden)

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
002
29.11.2000, 22:16
Kloppke



Nee, ich möchte aber unbedingt Daten (Variable, oder andre Mittel) benutzen. Also: Ich möchte aus der client die Daten in den "Datentransporter" schreiben und dann in der mp.dll darauf zugreifen können. Wie ist das eigentlich mit Dateien ? Kann mir jemand den Code geben mit dem man Dateien öffnen, etwas reinschreiben und etwas auslesen kann ? thx

--

cu Kloppke

zum Seitenanfang zum Seitenende Profil || Suche
003
30.11.2000, 11:53
DarKnight



Hi!

Also ich meine auch, dass es so geht, wie Tron meint. Man hat dann diese Funktion in der das "..." definiert ist in der client.cpp. Von da aus kann man dann Befehle ausführen und auch eine Variable lesen....
Ich weiss aber auch, dass es eine ähnliche Funktion wie DECLARE MESSAGE für die mp gibt. Such doch einfach mal in der mp alle Dateien nach der Zeichenfolge "MESSAGE" durch. Dann wirst du fündig und kannst die Funktion übernhemen. Probiers aus!

----------------------------

Nochwas! Ich hab ein recht gutes Tutorial zu dem Thema gefunden! Für alle die sich damit noch nicht beschäftigt haben kann ich es nur empfehlen!

http://www.planethalflife.com/fixxxer/hltuts/hl_msg.htm

Das ist es!

--

void CHudSayText :: EnsureTextFitsInOneLineAndWrapIfHaveTo( int line ) -- Aja?

zum Seitenanfang zum Seitenende Profil || Suche
004
30.11.2000, 13:08
Kloppke



Könnte ich nicht einfach in der client.dll eine Datei erstellen, und diese dann aus der mp.dll auslesen ?

--

cu Kloppke

zum Seitenanfang zum Seitenende Profil || Suche
005
30.11.2000, 15:10
user3427



Nein, das kannst du nicht, weil die mp.dll nur auf dem Server aktiv ist. Der Client, der am Server spielt, kann natürlich Daten schreiben, die dann vom Server gelesen werden können. Alle anderen Clients könnten das nicht (es sei denn, du schaffst es, sie in ein freigegebenes Verzeichnis des Servers, der das dann liest, zu schreiben (wäre aber nicht sehr benutzerfreundlich.).).

--

zum Seitenanfang zum Seitenende Profil || Suche
006
30.11.2000, 20:30
Kloppke



Das heisst ich muss die Variable (wie auch immer) an den Server schicken ? !!!
Ich hab gehört, dass die bei TFC und Counter-Strike irgendeinen "Slot" Befehl (Funktion?!?) verwendet haben. Kann mir jemand sagen wo ich das im SDK code finden kann, oder wo ich ein tut oder so finden kann ? Ich möchte nähmlich aus der client.dll einen Wert zur mp.dll verschicken/übertragen.

--

cu Kloppke

zum Seitenanfang zum Seitenende Profil || Suche
007
30.11.2000, 21:21
user3427



In TFC (den CS-Quellcode kenne ich nicht.) machen die das mit client-commands (zumindest im Menu für die Klasse).

--

zum Seitenanfang zum Seitenende Profil || Suche
008
01.12.2000, 09:13
DarKnight



Hi!

Ich hab mir ein eigenes Class Menu zusammengebastelt. Ich kann dir den Code von der Versenderfunktion mal geben. Melde dich mal!

--

void CHudSayText :: EnsureTextFitsInOneLineAndWrapIfHaveTo( int line ) -- Aja?

zum Seitenanfang zum Seitenende Profil || Suche
009
01.12.2000, 20:05
TheTinySteini



Ja, ServerCommands sind die einzige einfache Methode, um Werte zu übertragen. Aber vielleicht kannst du ja mal sagen, was überhaupt übertragen werden soll? Vielleicht lässt sich das Problem ja ganz anders lösen...
Du könntest natürlich auch ein Entity erstellen, dass wie der Spieler zwischen Server und Client geshared wird (jaja, das gute alte Deutsch geht flöten...). Aber das ist aufwendig und vermutlich gar nicht dass, was du willst...

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche