PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tables an Funktion übergeben?



Schnittlauch
30.05.2007, 16:10
Hallo
Ich bastel für den Server den ich mit Kill leite ein Skill System.
Dabei müssen viele Daten an den Clienten gesendet werden.
Da es mehrere Skills geben wird habe ich diese in einer Table gespeichert.
Nun wollte ich diese mit hilfe von SendLua an den Clienten übermitteln.
Das geht aber nicht :S und alle werte einzeln zu übertragen wäre zu aufwändig.

Könnt ihr mir helfen?

MFG
Schnittlauch

Neico
30.05.2007, 20:11
Usermessages?
http://garrysmod.com/wiki/?title=User_Messages

Schnittlauch
30.05.2007, 22:19
Uff, die hab ich ja noch garnicht gesehen ^^
Muss wohl jetzt ein paar Codestellen umcoden :p
Thx!

Schnittlauch
31.05.2007, 14:38
Sry 4 Doppelpost, muss aber sein ^^
Also die User Messages funktionieren :D
Aber das Tables übertrgen nicht :S

Der Client findet den Table nicht nach dem ich ihn übertragen hab.


Beispiel: (nicht schlagen wenn falsch, is ausn kopf)


Server:
table = {}
for pl=1, maxplayers(),1 do
table[pl].blubb = 1
table[pl].blubbertab = {}
table[pl].blubertab.fisch = 1
end

function gm:think ( ) --in wirklichkeit ein timer der alle 200 ms tickt
usermessage send gedöns
ums.Entity(table[pl].blubbertab)
end



MFG
Schnittlauch

Neico
02.06.2007, 14:46
er wo is das umsg.Start() und umsg.End()? guck mal in der server function dump im wiki nach der umsg libery und beim client usermessage libery is alles was de brauchst ;)

denn mit dem beispiel dingesn kann keiner was anfangen :S was is ums? bitte genauer dann kann cih villeicht sagen worans hängt

Schnittlauch
02.06.2007, 21:34
Also, um es kurz zu fassen, es geh darum das ich versuche mit umsg:Entity() eine Table zu versenden. Was offensichtkich nicht funzt ^^
Das umsg:Start() und End hab ich im richtigen code gemacht ^^

MFG
Schnittlauch

PS: ich glaube ich sollte üben Beispiele zu machen die nicht alles verschlimmern ;)

Scarecrow
06.06.2007, 17:21
Du kannst leider nicht ein komplettes Table einfach so verschicken, du musst alle Inhalte einzeln verschicken! Wenn die Anzahl der Inhalte variabel ist, musst du vorher ein Usermessage bauen, in dem die Anzahl verschickt wird. Diese werden von einer Funktion aufgegriffen, die sich je nach Anzahl wiederholt und dein "Gedöns" zu Ende bringt.

Ich hatte so ein ähnliches Problem in meinem Exosounds-Addon

Schnittlauch
08.06.2007, 12:39
Okay danke.

Andere Frage;
Kann der Client eigendlich irgendwie Entitys an den Server senden?
Ich hab das nämlich bei ner SWEP die nen Entity Removen soll. Wen das ganze auf Clientseite passiert crasht gmod ja. Also wollte ich den Ent an den
Server senden um ihn da zu löschen. Oder is diese Methode mist? ^^