Hi ich habe versucht mir einen Script zu schreiben der ein kleines Spiel über ein Gui Fenster ist.
Meine Probleme:
1.:Wie binde ich ein Icon an einen bottom bzw wie genau? Meine Zeile dafür:
GUICtrlSetImage($B8,"truppenhinzufuegen","",0)
geht nochtnicht.
noch offen
2.:Wie schaffe ich es über den on event mod das sich das script minimieren/schließen lässt?Meine momentane Zeile:
gelöst
3.:Bei mir funktioniert nur eine der definierten Funktionen via den Oneventmode.
gelöst
Hier das ganze Script als Spoiler der bottom der geht ist $B1.
Danke schonmal im Vorraus
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#Region Variablen
$Cheats=0
$Cheat=0
$Produktionsfaktor=1
$Wood=1000
$Gold=1000
$Bauern=1
$Kostenhof=1000
$Kostenburg=12500
$Kostenturm=10000
$Kostenmauer=15000
$Stufeturm=0
$Stufemauer=0
$Stufeburg=1
$Stufehof=0
$B_in_T=0
$BHolz=5
$BGold=5
$Bauern1=0
$difff=1
$beginnn=1
$B1=1
$B2=1
$B3=1
$B4=1
$B5=1
$B6=1
$B7=1
#EndRegion
#Region Hotkeys
;;;
HotKeySet("{ENTER}","Cheat")
;;;
#Endregion
#Region Funktionen
Func Cheat()
$Cheat=InputBox("Cheats","Cheatcode")
Endfunc
Func _B1()
GUICreate("Menü",200,100)
$B3=GUICtrlCreateButton("Cheats",1,1,100,50)
Guisetstate()
Endfunc
Func _B2()
GUIDelete ( Das Staedtespiel )
EndFunc
Func _B4()
MsgBox(20,"ich","auch was")
If $Wood<$Kostenhof Then
Msgbox(20,"-","Zu teuer")
EndIf
If $Wood>$Kostenhof Then
If $Stufehof<150 then
$Wood=$Wood-$Kostenhof
$Bauern=$Bauern+10
$Stufehof=$Stufehof+1
MsgBox(20,"Erfolg","Hof wurde ausgebaut!")
EndIf
EndIf
EndFunc
Func _B5()
If $Wood<$Kostenturm Then
Msgbox(20,"-","Zu teuer")
EndIf
If $Wood>$Kostenturm then
If $Stufeturm<5 then
$Wood=$Wood-$Kostenturm
$Atk=$Atk+0.7
$Stufeturm=$Stufturm+1
MsgBox(20,"Erfolg","Turm wurde ausgebaut!")
EndIf
EndIf
EndFunc
Func _B6()
If $Wood<$Kostenmauer Then
Msgbox(20,"-","Zu teuer")
EndIf
If $Wood>$Kostenmauer then
If $Stufemauer<5 then
$Wood=$Wood-$Kostenmauer
$Def=$Def+0.7
$Stufemauer=$Stufemauer+1
MsgBox(20,"Erfolg","Hof wurde ausgebaut!")
EndIf
EndIf
EndFunc
Func _B7()
If $Wood<$Kostenburg Then
Msgbox(20,"-","Zu teuer")
EndIf
If $Wood>$Kostenburg then
If $Stufeburg<11 then
$Wood=$Wood-$Kostenburg
$Atk=$Atk+0.3
$Def=$Def+0.3
$Bauern=$Bauern*1.2
$Produktionsfaktor=$Produktionsfaktor+0.7
$Stufeburg=$Stufeburg+1
MsgBox(20,"Erfolg","Hof wurde ausgebaut!")
EndIf
EndIf
EndFunc
#Endregion
#EndRegion
#Region GUI-Haupt
Opt("GUIOnEventMode", 1)
$_GUI=GUICreate("Das Staedtespiel",500,251,0,0)
GUISetState(@SW_SHOW)
Opt("Guicloseonesc",1)
$B1=GUICtrlCreateButton("Optionen", 1,1,100,50)
GUICtrlSetOnEvent($B1, "_B1")
$B2=GUICtrlCreateButton("Exit",1,251,100,50)
;GUISetOnEvent ($GUI_EVENT_CLOSE, "function" [, winhandle] )
$B4=GUICtrlCreateButton("Hof ausbauen?",1,51,100,50)
GUISetOnEvent($B4,"_B4")
$B5=GUICtrlCreateButton("Turm ausbauen?",1,101,100,50)
GUISetOnEvent($B6,"_B5")
$B6=GUICtrlCreateButton("Mauer ausbauen?",1,151,100,50)
GUISetOnEvent($B6,"_B6")
$B7=GUICtrlCreateButton("Burg ausbauen?",1,201,100,50)
GUISetOnEvent($B7,"_B7")
$B8=GUICtrlCreateButton("", 480,1,20,20)
GUICtrlCreateLabel("Truppen zahl erhöhen? Proklick=+1",304,5)
GUICtrlSetImage($B8,"truppenhinzufuegen","",0)
$Text=GUICtrlCreateLabel("Holz:"&$Wood,101,235)
$Tex1=GUICtrlCreateLabel("Gold:"&$Gold,201,235)
$Tex2=GUICtrlCreateLabel("Freie Bauern:"&$Bauern,301,235)
$Tex3=GUICtrlCreateLabel("Krieger:"&$B_in_T,401,235)
GUICtrlSetCursor($B1,0)
GUICtrlSetCursor($B2,0)
GUICtrlSetCursor($B3,0)
GUICtrlSetCursor($B4,0)
GUICtrlSetCursor($B5,0)
GUICtrlSetCursor($B6,0)
GUICtrlSetCursor($B7,0)
GUISetBkColor(0x5DC5A6)
Guisetstate()
#EndRegion
[/autoit] [autoit][/autoit] [autoit]#Region Menü-GUI
While 1
$beginnn=TimerInit()
$difff=1
While $difff<=1000
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then
Exit
Endif
If $Cheat=123456789 then
$Wood=$Wood+10000
$Cheats=$Cheats+1
$Cheat=0
EndIf
If $Cheat=123 then
$Gold=$Gold+10000
$Cheats=$Cheats+1
$Cheat=0
EndIf
If $Cheats>2 Then
Exit
EndIf
$difff=TimerDiff($beginnn)
Wend
#Region Produktion
$Wood=$Wood+$Produktionsfaktor*$BHolz
$Gold=$Gold+$Produktionsfaktor*$BGold
#EndRegion
GUICtrlSetData($Text,"Holz:" &$Wood)
GUICtrlSetData($Tex1,"Gold:" &$Gold)
GUICtrlSetData($Tex2,"Freie Bauern:" &$Bauern1)
GUICtrlSetData($Tex3,"Krieger:" &$B_in_T)
Wend
#EndRegion