Ergebnis 1 bis 3 von 3

Thema: Buddy-System: Convars unpraktisch? (Client - Server Kommunikation)

  1. #1

    Standard Buddy-System: Convars unpraktisch? (Client - Server Kommunikation)

    Hallo!

    Ich möchte gerne ein simples Buddy-System scripten.
    Eine Liste an Checkboxen, die dynamisch erzeugt wird habe ich schon (Auf der Seite des Clients natürlich).

    Wie bekomme ich die Informationen nun zum Server um die Rechte entsprechend verwalten zu können?

    Weil die Spielerliste (Checkboxen) nicht statisch ist, kommt mir eine Lösung über Convars sehr umständlich vor... viel Ahnung habe ich da aber auch nicht.

    Kennt da jemand einen Weg?

    Wie schon gesagt, ich brauche die Informationen zur Buddy-Liste (Welche Spieler sind Buddys) von jedem Spieler in dem Server Script.

    Danke im Voraus!

    >> EDIT
    Eine weitere Möglichkeit wäre ja die Daten über einen Datenstrom zum Server zu senden, der diese dann über get_datastream (hook) empfängt. Besonders praktisch kommt mir das aber auch nicht vor.

    Könnte mir jemand eine gute Lösung konkret beschreiben (Theorie)?

    Ich habe auch versucht durch andere Scipts schlau zu werden, genau diesen Fall habe ich aber nicht gefunden.
    Geändert von Baktus (31.03.2009 um 18:37 Uhr)

  2. #2

    Standard AW: Buddy-System: Convars unpraktisch? (Client - Server Kommunikation)

    Datastream ist nicht wirklich angebracht da du ja nicht alle 5 Sekunden die Infos sendest.

    Wenn du einen 'Update' Button machst kannste ja sowas in der Art machen:

    Lua Code:
    1. Button.DoClick = function()
    2.   local buddy
    3.   for i=1,#bb,do --bb ist die anzahl der buttons, vlt alle in ner table speichern
    4.     local check = bb[i]:GetChecked()
    5.     local name = bb[i]
    6.     buddy = buddy..name.."-"..checked.."|"
    7.   end
    8.   LocalPlayer():ConCommand("updatebuddy"..buddy)
    9. end

    Gibt vlt bessere loesungen aber das war einfach mal so hingeschrieben, am Server brauchst du dann eben noch nen Splitter code.
    Zitat Zitat von Stargate75
    ich weis das war ich scheise was ich gemacht aber aber das ist das einzige forum wo cool ist und auf deutsch

  3. #3

    Standard AW: Buddy-System: Convars unpraktisch? (Client - Server Kommunikation)

    Danke für die Antwort

    Lua Code:
    1. bb[i]:GetChecked()
    Wenn ich sowas machen könnte wär ich glücklich
    Einfach die client.lua includen und die States aus einem table holen.


    Ich hab nur keine Ahnung wie das gehen soll bei meinem Panel. "GetChecked()" ist Derma, richtig?
    Ich meine ein Panel im Q-Menü. Sorry, das hab ich vergessen zu sagen.

    Bei mir schaut es im Moment ungefähr so aus:

    Lua Code:
    1. function OnPopulateToolPanel(panel)
    2. 	panel:ClearControls()
    3. 	panel:AddHeader()
    4.  
    5. 	for k, v in pairs(player.GetAll()) do
    6. 		panel:AddControl("CheckBox", {Label = v:Nick()})
    7. 	end
    8. end

    Verkettung wäre eine Möglichkeit, halte ich aber nicht für eine saubere Lösung in diesem Fall.

    Kann ich überhaupt ohne Convars an die States kommen?
    Geändert von Baktus (01.04.2009 um 21:19 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •