Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 25

Thema: LUA Problem

  1. #11

    Standard AW: LUA Problem

    *Bump*

    Weiß keiner wie ich das mit den CheckBoxen machen kann? Ich bekomm das einfach nicht hin

  2. #12

    Standard LUA Problem

    Zitat Zitat von don-banane Beitrag anzeigen
    *Bump*

    Weiß keiner wie ich das mit den CheckBoxen machen kann? Ich bekomm das einfach nicht hin
    http://wiki.garrysmod.com/wiki/?titl...nel.AddControl

    Code:
    CheckBox	          string Label, string Description, string Command
    Klick here -> Bløg :D

  3. #13

    Standard AW: LUA Problem

    Vielleicht solltest du erstmal durchlesen was mein Problem ist, und ausserdem ist das was du meinst im Tool Menu und nicht Derma...

  4. #14

    Standard LUA Problem

    Haben bei mir zuerst auch nicht gefunkt, doch dann ging es auf einmal...

    Hier ist mal mein Code:

    Lua Code:
    1. /*------------------------------
    2. 	Hauptebene wo der Rest drauf aufgebaut wird
    3. ------------------------------*/
    4.  
    5. local DermaPanel = vgui.Create( "DFrame" ) 	// Erstellt unsere Ebene
    6. 	DermaPanel:SetPos( 50, 50 ) 			// Position auf dem Bildschirm des Spielers
    7. 	DermaPanel:SetSize( ScrW()/2, ScrH()/2 )// Größe der Ebene
    8. 	DermaPanel:SetTitle( "Test Ebene!" )	// Überschrift der Ebene
    9. 	DermaPanel:SetVisible( true )			// Soll die Ebene ein- oder ausgeblendet werden?
    10. 	DermaPanel:SetDraggable( true )			// Erlaubt es dem Spieler das Fenster zu verschieben
    11. 	DermaPanel:ShowCloseButton( true )		// Soll der Spieler das "X" ( den Schließen-Knopf ) sehen?
    12. 	DermaPanel:MakePopup()					// Zeigt die Ebene auf dem Bildschirm an
    13.  
    14.  
    15. /*------------------------------
    16. 	Nun kommen wir zu einer sogenannten "Checkbox"!
    17. ------------------------------*/
    18.  
    19. local texts = { "GOD MODE!", "NOCLIP!" }
    20. local convars = { "sbox_godmode", "sbox_noclip" }
    21.  
    22. for i=1, table.Count( texts ) do
    23.  
    24. local DermaCheckBox = vgui.Create( "DCheckBoxLabel" )	// Erstellt unsere Checkbox
    25. 	DermaCheckBox:SetParent( DermaPanel )			 	// Hiermit haften wir die Checkbox an die Hauptebene ran, so dass sie sich mit ihr bewegt
    26. 	DermaCheckBox:SetPos( 200, 50 + ( 50 * i/2 ) )						// Postition der Checkbox auf dem Bildschirm
    27. 	DermaCheckBox:SetText( texts[i] )				// Was neben der Checkbox stehen soll
    28. 	DermaCheckBox:SetConVar( convars[i] )			// Der Command der "getoggeld" werden soll ( der command muss durch 1 [an] und 0[ aus] geschaltet werden können )
    29. 	DermaCheckBox:SetValue( 1 )							// Soll der Command zu Anfang an oder aus sein?
    30. 	DermaCheckBox:SizeToContents()						// Pass es dem Rest der Frames an ( so das SetText ausgeschrieben da steht )
    31.  
    32.  
    33. end

    ACHTUNG! Der Lua-Highlighter hier im Forum scheint bischen zu spinnen!

    Zeile 27: DermaCheckBox:SetText( texts[i] )
    Zeile 28: DermaCheckBox:SetConVar( convars[i] )

    -----

    Dieses "for i=1, table.Count( texts ) do" macht es so das du gleich
    mehrere Checkboxes auf einmal erstellen kannst.
    Geändert von LoC (25.05.2008 um 19:58 Uhr)

  5. #15

    Standard AW: LUA Problem

    Ähemchen... Wenn ich mal anmerken dürfte dass ich kein Problem mit dem Erstellen von Checkboxen habe, sondern die Abfrage der Werte

    Also zum Beispiel

    Lua Code:
    1. if CheckBox:GetValue() == 1 then
    2. blablabla
    3. end

    funktioniert nicht. Wie soll ich es dann machen?

    Das war meine Frage (steht aber auch in meinem vorletzten Post drin)

    €dit: Ach ja, mir ist klar dass man nicht GetValue verwenden kann, ich hab das schon ausprobiert.
    Geändert von don-banane (25.05.2008 um 15:25 Uhr)

  6. #16

    Standard AW: LUA Problem

    Wieso willst du denn die Checkbox abfragen?

    Du musst die ConVar abfragen die du mit der Checkbox änderst


    z.B. sbox_godmode oder sbox_plpdamage

  7. #17

    Standard AW: LUA Problem

    Zitat Zitat von Pac_187 Beitrag anzeigen
    Wieso willst du denn die Checkbox abfragen?

    Du musst die ConVar abfragen die du mit der Checkbox änderst


    z.B. sbox_godmode oder sbox_plpdamage
    Ich möchte verschiedene Möglichkeiten zum Einstellen haben.
    Kann man so eine ConVar auch irgentwie erstellen?

  8. #18

    Standard AW: LUA Problem

    ConVar = Consolen Variable
    -----

    Was ist denn dein Vorhaben?

  9. #19

    Standard AW: LUA Problem

    Ich wenn man auf Afk drückt, wird man Afk gesetzt, es erscheint eine Chatnachricht, und man soll auswählen können ob noch ein Grund dastehen soll oder nicht (Grund kann man im Derma eingeben)
    Wie gesagt, es dient nur zur Übung

  10. #20

    Standard AW: LUA Problem

    Also, erstmal erstellst du dir einen Consolencommand:

    http://wiki.garrysmod.com/wiki/?titl...onsole_command

    Code könnte wie folgernder aussehen:

    Lua Code:
    1.  
    2. local afk = false
    3.  
    4. function afkcommand( ply, command, args )
    5.     if args[1] == 1 then
    6.         afk = true
    7.     elseif args[1] == 0 then
    8.         afk = false
    9.     else
    10.         Msg( "Only 1 or 0 is allowed!" )
    11.     end
    12. end
    13.  
    14. concommand.Add( "Set_AFK", afkcommand )

    args<komische Zeigenfolge> mit args[1] ersetzen...


    Dann kannst deine Zeileneingabe mit Checkbox machen ( im gleiche Script ):

    Lua Code:
    1. /*------------------------------
    2. 	Hauptebene wo der Rest drauf aufgebaut wird
    3. ------------------------------*/
    4.  
    5. local DermaPanel = vgui.Create( "DFrame" ) 	// Erstellt unsere Ebene
    6. 	DermaPanel:SetPos( 50, 50 ) 			// Position auf dem Bildschirm des Spielers
    7. 	DermaPanel:SetSize( ScrW()/2, ScrH()/2 )// Größe der Ebene
    8. 	DermaPanel:SetTitle( "Test Ebene!" )	// Überschrift der Ebene
    9. 	DermaPanel:SetVisible( true )			// Soll die Ebene ein- oder ausgeblendet werden?
    10. 	DermaPanel:SetDraggable( true )			// Erlaubt es dem Spieler das Fenster zu verschieben
    11. 	DermaPanel:ShowCloseButton( true )		// Soll der Spieler das "X" ( den Schließen-Knopf ) sehen?
    12. 	DermaPanel:MakePopup()					// Zeigt die Ebene auf dem Bildschirm an
    13.  
    14.  
    15. /*------------------------------
    16. 	Nun kommen wir zu einer sogenannten "Checkbox"!
    17. ------------------------------*/
    18.  
    19. local DermaCheckBox = vgui.Create( "DCheckBoxLabel" )	// Erstellt unsere Checkbox
    20. 	DermaCheckBox:SetParent( DermaPanel )			 	// Hiermit haften wir die Checkbox an die Hauptebene ran, so dass sie sich mit ihr bewegt
    21. 	DermaCheckBox:SetPos( 200, 50 + ( 50 * i/2 ) )						// Postition der Checkbox auf dem Bildschirm
    22. 	DermaCheckBox:SetText( "AFK" )				// Was neben der Checkbox stehen soll
    23. 	DermaCheckBox:SetConVar( "Set_AFK" )			// Der Command der "getoggeld" werden soll ( der command muss durch 1 [an] und 0[ aus] geschaltet werden können )
    24. 	DermaCheckBox:SetValue( 0 )							// Soll der Command zu Anfang an oder aus sein?
    25. 	DermaCheckBox:SizeToContents()						// Pass es dem Rest der Frames an ( so das SetText ausgeschrieben da steht )
    26.  
    27.  
    28. /*------------------------------
    29. 	Eine Eingabezeiel :D
    30. ------------------------------*/
    31.  
    32. local DermaText = vgui.Create( "DTextEntry" )
    33. 	DermaText:SetParent( DermaPanel )
    34. 	DermaText:SetPos( 200, 200 )
    35. 	DermaText:SetTall( 20 )
    36. 	DermaText:SetWide( 250 )
    37. 	DermaText:SetEnterAllowed( false )

    Jetzt bastelst du dir nur noch eine Think-Funktion welche den Valu aus DermaText abfragt und guckt ob "afk" = true ist.
    Wenn es true ist dann kannst ja 'n Text alle 3min reingschreiben lassen...

  11. Folgender Benutzer sagt Danke zu Pac_187 für den nützlichen Beitrag:


Berechtigungen

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