Verfügbarkeit von Variablen
Guten Tag auch!
Ich habe endlich GMod und habe mich augenblicklich an die Arbeit gemacht und angefangen, mich in LUA für GarrysMod einzuarbeiten.
Läuft alles wunderbar, sieht man von einem kleinen Problem ab, dass ich momentan habe:
Die Verfügbarkeit der Variablen.
Es ist folgendermaßen:
Ich schreibe momenten an einem SEnt. Ich definiere in der init.lua Eigenschaften für das SEnt. Diese möchte ich dann unter anderem in der cl_init.lua verwenden. Die Werte sind dort allerdings nicht vorhanden. (print() spuckt Nil)
Noch ein wenig Code, damit das ganze erichtlicher wird. (Auf das Minimum begrenzt, versteht sich.)
Init.lua
cl_init.lua
(Ich gestehe, der DrawBeam() ist aufs schändlichste aus der Wiki kopiert, aber für Testzwecke reicht es allemal =) )
print(self.Length) schreibt mir, wie erwähnt Nil in die Konsole...
PS: Bitte nicht hauen, ich habe gestern Angefangen^^"
AW: Verfügbarkeit von Variablen
Richtig,Die Variable ist auf den Server deklariert,also wird sie auch nicht auf den Clienten verfügbar sein.
Du kannst sie aber mit Usermessages,NetworkedVars und ConCommands an den Clienten schicken.
AW: Verfügbarkeit von Variablen
Die Suche ergab leider lediglich exakt zwei Ergebnisse bezüglich NetworkedVars.
Beide unbrauchbar. ^^"
Was genau sind sie, oder mehr wie genau funktionieren sie? Ich wäre auch für Codebeispiele dankbar.
AW: Verfügbarkeit von Variablen
Networked Vars ist ein Allgemein Begriff für NetworkedBools,Ints,Floats,Strings etc.
Ich denk mal für deine Gebrauch benötigst du Int's :
http://wiki.garrysmod.com/wiki/?titl...etNetworkedInt
Hier ist noch der Artikel zu Usermessages
http://wiki.garrysmod.com/wiki/?title=User_Messages
AW: Verfügbarkeit von Variablen
Zitat:
Zitat von
BennyG
... und ConCommands an den Clienten schicken.
Wobei ConCommands eher dazu gedacht sind Daten vom Client zum Server zu senden.
AW: Verfügbarkeit von Variablen
Vielen Dank.
Mit den NetworkedInts funktioniert es wunderbar.
Ich bedanke mich und hoffe, dass ich den Rest nun alleine hinbekomme. =)
AW: Verfügbarkeit von Variablen
Vorsicht aber bei der Sicherheit, die eigentliche Variable sollte nicht die NW (network) Variable sein, weil sie sonst von beiden Seiten aus "angesteuert" werden kann und es somit zu möglichen Cheats kommen könnte, vorallem bei Sents ist das so eine Sache! ;)
AW: Verfügbarkeit von Variablen
Man sollte so oder so nicht viele Networked Variablen nutzen,
da sie, wie schon der Name vermuten lässt, Daten zwischen Server und Client
hin und her transferieren.
Zu viele davon belasten also den Netzverkehr und "verlangsamen" somit die Leitung.
AW: Verfügbarkeit von Variablen
Und bei Usermessages ist diese Netzwerkbelastung und die Sicherheitsrelevanz nicht bzw. nicht so gravierend?
Ich meine, momentan geht es nur darum, ob Dinge gezeichnet werden, und wie sie gezeichnet werden. Da die render Funktionen nur in dem Drawhook ausführbar sind ist das ganze natürlich etwas Problematisch, da die Dinge an sich vom Server berechnet werden. (Hier gilt die Cheatrelevanz. ^^)
Ich denke eine Alternative wäre vielleicht, einen Effekt zu nutzen. (Es geht momentan darum, eine Art "Laser" zu zeichnen. ) Dann könnte man die Gesamtheit über den Server laufen lassen. Ob Das ganze allerdings so klug ist, weiß ich nicht.
Mir fehlt nunmal Erfahrung in "Gmod-LUA". Und mit Effekten habe ich so ziemlich garkeine Erfahrungen... *seufz*
So.. ich bin gespannt auf die Antworten.^^"
AW: Verfügbarkeit von Variablen
Grafische Dinge wie z.B. Effekte oder Render-Sachen werden Grundsätzlich
auf dem Client ausgeführt.
Das ist das gute an GMod V10 Lua, es unterscheidet zwischen Client und Server.
GMod V9 Lua lief z.B. nur aufn Server.
Was deinen Laser betrifft:
http://wiki.garrysmod.com/wiki/?title=Laser_pointer
Im 3. Codeblock ist aufgeführt wie du die render Funktionen nutzen kannst ;)