Enable/Disable Checkbox

  • Moin, brauche etwas hilfe mit meinem Keybinder, ich würde gerne meine Features an und ausmachen können.


    Mit Checkboxen geht das wohl am besten jedoch habe ich derzeit paar Probleme da ich keine Ahnung habe wie ich es hinbekomme.


    Meine Checkboxes:

    Code
    Gui, Add, CheckBox, x2 y29 w480 h30 vdraw_health , Leben
    Gui, Add, CheckBox, x2 y-1 w480 h30 vdraw_armor , Rüstung
    Gui, Add, CheckBox, x2 y59 w480 h30 vdraw_vehiclespeed , km/h
    Gui, Add, CheckBox, x2 y89 w480 h30 vdraw_frames , fps

    Und meine derzeitige Methode die nicht funktioniert (nichts wird angezeigt) Weiß leider nicht genau was ich tun muss/könnte.
    Vielen dank im vorraus!

    Code
    if (vdraw_health = 0){
    	TextSetString(draw_health, "Off")
    }
    else{
    	// GetPlayerHealth.. (funktioniert sonst)
    return
    }
  • Wenn du z.B. Gui, Add, CheckBox, x2 y29 w480 h30 vdraw_health , Leben nutzt, dann heißt die Variable draw_health und nicht vdraw_health, siehe hier. Wenn du danach TextSetString(draw_health, "Off") nutzt, musst du also eine der Variablen umbenennen.

  • Wenn du z.B. Gui, Add, CheckBox, x2 y29 w480 h30 vdraw_health , Leben nutzt, dann heißt die Variable draw_health und nicht vdraw_health, siehe hier. Wenn du danach TextSetString(draw_health, "Off") nutzt, musst du also eine der Variablen umbenennen.

    Code
    draw_health := TextCreate("Consolas", 8, false, false, 100, 150, 0xFFFFFFFF, " " GetPlayerHealth(), true, true)

    vdraw_health sollte der bool mit dem ich meine features an/aus stellen kann sein, so habe ich das aufjedenfall verstanden.

  • vdraw_health als Parameter bei Gui, Add bedeutet (variable)draw_health im Gegensatz zu (gosub)draw_health, was gdraw_health wäre. Daher ist deine Variable für den Status der Checkbox dann nicht vdraw_health sondern draw_health. Du verwendest aber draw_health ja schon für die ID des Overlaytextes. Daher überschneidet sich das. Nenn also eine der beiden Variablen um und arbeite dann mit if (draw_health = 0).

  • vdraw_health sollte der bool mit dem ich meine features an/aus stellen kann sein, so habe ich das aufjedenfall verstanden.


    Gui, Add, CheckBox, x2 y29 w480 h30 vdraw_health , Leben


    das "v" da steht für Variable und kannst nicht das "v" dann noch dran hängen lassen es muss entfernt werden und des übrigen ist die IF-Bedingung falsch dargestellt also Ich kann es dir zeigen was Ich meine!

    Code
    if (draw_health == 0){
    	TextSetString(draw_health, "Off")
    } else {
    	// GetPlayerHealth.. (funktioniert sonst)
            return
    }
  • Gui, Add, CheckBox, x2 y29 w480 h30 vdraw_health , Leben


    das "v" da steht für Variable und kannst nicht das "v" dann noch dran hängen lassen es muss entfernt werden und des übrigen ist die IF-Bedingung falsch dargestellt also Ich kann es dir zeigen was Ich meine!

    Code
    if (draw_health == 0){
    	TextSetString(draw_health, "Off")
    } else {
    	// GetPlayerHealth.. (funktioniert sonst)
            return
    }

    Das spielt in diesem Fall keine Rolle: "Equal (=), case-sensitive-equal (==), The == operator behaves identically to = except when either of the inputs is not a number, in which case == is always case sensitive and = is always case insensitive "

  • Nein, es muss schon v(Variable) sein, da das v angibt, dass es die Variable und nicht das gosub-Label ist. Du musst einfach nur die andere Variablen für die Overlay-Texte umbenennen, damit sich das nicht überschneidet.

  • Mach das mal so

    Code
    Gui, Add, CheckBox, x2 y29 w480 h30 vbdraw_health , Leben
    Gui, Add, CheckBox, x2 y-1 w480 h30 vbdraw_armor , Rüstung
    Gui, Add, CheckBox, x2 y59 w480 h30 vbdraw_vehiclespeed , km/h
    Gui, Add, CheckBox, x2 y89 w480 h30 vbdraw_frames , fps

    und danach


    Code
    if (bdraw_health = 0){
    	TextSetString(draw_health, "Off")
    } else {
    	// GetPlayerHealth.. (funktioniert sonst)
            return
    }

    dann sollte es funktionieren.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen