Zeichne die "Map" doch ein mal in eine extra Bitmap und zeichne diese dann in den Backbuffer. ![]()
Beiträge von name22
-
-
Ich höre in letzter Zeit gerne Pendulum und RHCP (Eine tolle Kombination nicht wahr?)
. -
HGF Du brauchst für gewöhnlich nur 1 _GDIPlus_Startup pro Script und nicht 3 ;).
-
Zitat
und man kann doch keine Funktion in einer anderen reintuen, oder?
Wieso sollte man das nicht können?
-
Zitat
Send funzt da nicht
Ob du es glaubst oder nicht, das ist so gedacht :pinch: . Mehr können wir dir da auch nicht weiterhelfen denke ich, da das wie gesagt nicht erlaubt ist.
Du kannst auch versuchen deine Tastatur auseinander zu schrauben und dann elektronisch anzusteuern
. -
Die meißten Spiele habe ja sogar Schutzvorrichtungen gegen Befehle wie Send. Um da etwas erreichen zu können muss man sich wahrscheinlich schon ins innere Geschehen des Spiels einklinken
.
Und da das offensichtlich nicht erlaubt ist lassen wir schön die Finger davon.
-
Klar musst du die angeben, aber wozu brauchst du das ganze?
-
Ähm bist du dir sicher, dass es im GTA SA Fenster Controls gibt?
Das würde mich nämlich echt wundern.... Was willst du denn überhaupt machen? -
Zitat
es soll auf eine farbe gehen, aber nicht klicken
Etwas genauer vielleicht? Das sieht nämlich sehr nach einem Bot aus...
Ich möchte jetzt nicht hinter schwedische Gardinen weil ich einem BotUser geholfen hab...
-
In die Zukunft sehen geht schlecht ;). Also wirst du wohl Anhand des Fortschritts und der vergangenen Zeit, die verbleibende Zeit berechnen müssen. (Die Dauer ist ja auch Prozessorabhängig).
Beispiel:Verbleibende Zeit bei Progressbar
[autoit]$iFrameDuration = 100
[/autoit] [autoit][/autoit] [autoit]$iProgress = 0
[/autoit] [autoit][/autoit] [autoit]
$iEstimatedDuration = 1000ProgressOn("Test Progress", "Progress 0%", "Elapsed Time: 00:00 / Remaining Time: -", Default, Default, 18)
[/autoit] [autoit][/autoit] [autoit]AdlibRegister("_Progress", $iFrameDuration)
[/autoit] [autoit][/autoit] [autoit]
$iElapsedTime = TimerInit()Edit: Und die Crypt.au3 umschreiben, dass sie dir auch die nötigen Informationen liefert. (Das ist der schwierige Teil, wie AutoBert schon gesagt hat)...
[/autoit] [autoit][/autoit] [autoit]While Sleep(100) * $iProgress < 100
[/autoit] [autoit][/autoit] [autoit]
WEndSleep(1000)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
ProgressOff();Progress / ElapsedTime = PPS |* ElapsedTime
[/autoit] [autoit][/autoit] [autoit]
;Progress = PPS * ElapsedTime |/ PPS
;Progress / PPS = ElapsedTime
;EstimatedDuration(ElapsedTime for 100%) = 100(ProcessCompleted) / PPSFunc _Progress()
[/autoit]
If $iProgress = 100 Then Return
$iProgress += 1
If TimerDiff($iElapsedTime) > 500 And $iProgress > 0 Then
$iEstimatedDuration = 100 / ($iProgress / TimerDiff($iElapsedTime))
EndIf
ProgressSet($iProgress, "Elapsed Time: " & Round(TimerDiff($iElapsedTime) / 60000) & ":" & Round(TimerDiff($iElapsedTime) / 1000) & " / Remaining Time: " & Round(($iEstimatedDuration - TimerDiff($iElapsedTime)) / 60000 ) & ":" & Round(($iEstimatedDuration - TimerDiff($iElapsedTime)) / 1000 ), "Progress: " & $iProgress)
EndFunc
Du musst dann nur den Fortschritt in Prozent berechnen (VerarbeiteteZeichen/Gesamtzeichen*100) und dann müsste es gehen... -
i2c Cool, das kannte ich noch nicht :). Aber in mein Script ist flexibler :P.
Ach ja, den Tooltip habe ich ja ganz vergessen ^^...Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WinApi.au3>$hGUI = GUICreate("Test", 400, 400)
[/autoit] [autoit][/autoit] [autoit]
$cInput = GUICtrlCreateInput("", 50, 50, 100, 25)
GUISetState()$sInputText = ""
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
If GUICtrlRead($cInput) <> $sInputText Then
$sInputText = StringRegExpReplace(GUICtrlRead($cInput), '[^0-9]', '')
GUICtrlSetData($cInput, $sInputText)$aWinPos = WinGetPos($hGUI)
[/autoit]
$tClientRect = _WinAPI_GetClientRect($hGUI)
ToolTip("Hier könnte ihre Werbung stehen :)", $aWinPos[0] + DllStructGetData($tClientRect, "Left") + 70, $aWinPos[1] + DllStructGetData($tClientRect, "Top") + 105, "Info", 2, 5)
EndIf
WEnd -
Am einfachsten wäre wohl die Variante mit GUICtrlRead, GUICtrlSetData und einer Funktion die die ungültigen Zeichen herausfiltert.
Beispiel mit RegExpReplace:Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]$hGUI = GUICreate("Test", 400, 400)
[/autoit] [autoit][/autoit] [autoit]
$cInput = GUICtrlCreateInput("", 50, 50, 100, 25)
GUISetState()$sInputText = ""
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit]
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
If GUICtrlRead($cInput) <> $sInputText Then
$sInputText = StringRegExpReplace(GUICtrlRead($cInput), '[^0-9]', '')
GUICtrlSetData($cInput, $sInputText)
EndIf
WEnd -
Ich bin mir nicht sicher ob es überhaupt geht... Du kannst dir das ganze aber auch selber schreiben ;).
Z.B. Tastatureingaben überprüfen wenn der Fokus auf dem Control liegt, oder den Inhalt des Controls regelmäßig überprüfen und ggf. ändern. -
Zum Thema FTP könnten die _FTP_ Funktionen für dich interessant sein.
[autoit]_FTP_Connect() ;etc.
[/autoit]
Ein Hintergrundbild für deine GUI kannst du festlegen indem du mit GUICtrlCreatePic einfach ein beliebiges Bild unter alle anderen Controls setzt. -
Weil das Bild nicht in der exe gespeichert wird wenn das Script darauf zugreift, das musst du schon selbst machen ;). Dafür gibt es ja FileInstall()...
-
Hier noch mal mit addieren
. (Das war ja wohl wirklich nicht schwer).Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>$Form1 = GUICreate("Wie auch immer!", 633, 478, 390, 277)
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor(0xFFFFFF)
$Edit1 = GUICtrlCreateEdit("", 16, 16, 601, 305)
GUICtrlSetData(-1, "Also hier soll aufgelistet für was Geld ausgegebn wurde und wie viel. Außerdem soll automatisch zusammen gerechnet werden wie viel schon ausgegeben worden ist. Außerdem möchte ich gerne das das datum von unten rechts mit einbezogen wird. Weil dies lässt sich ja verstellen das wenn ich ein tag zuvor was gekauft habe das dementsprechende datum auswählen kann.")
$Button1 = GUICtrlCreateButton("Hinzufügen", 40, 408, 273, 41, $WS_GROUP)
$Input1 = GUICtrlCreateInput("", 24, 360, 393, 21)
$Ausgabe = GUICtrlCreateLabel(" Ausgabe für :", 152, 336, 99, 20)
GUICtrlSetFont(-1, 11, 800, 4, "MS Sans Serif")
$Input2 = GUICtrlCreateInput("", 464, 360, 145, 21)
$Betrag = GUICtrlCreateLabel("Betrag :", 512, 336, 58, 20)
GUICtrlSetFont(-1, 11, 800, 4, "MS Sans Serif")
$Date1 = GUICtrlCreateDate("2010/11/19 14:45:23", 352, 408, 257, 37)
GUISetState(@SW_SHOW)Global $aStuff[1][3]
[/autoit] [autoit][/autoit] [autoit]
$aStuff[0][0] = 0While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
If Not($Input1 = "" Or $Input2 = "") Then
ReDim $aStuff[$aStuff[0][0] + 2][3]
$aStuff[0][0] += 1$aStuff[$aStuff[0][0]][0] = GUICtrlRead($Input1)
[/autoit] [autoit][/autoit] [autoit]
$aStuff[$aStuff[0][0]][1] = GUICtrlRead($Input2)
$aStuff[$aStuff[0][0]][2] = GUICtrlRead($Date1)_RefreshList()
[/autoit] [autoit][/autoit] [autoit]
EndIf
EndSwitch
WEndFunc _RefreshList()
[/autoit]
$sStuffTmp = ""
$iCount = 0
For $i = 1 To $aStuff[0][0]
$sStuffTmp &= $aStuff[$i][0] & " ; " & $aStuff[$i][1] & " - " & $aStuff[$i][2] & @CRLF
$iCount += $aStuff[$i][1]
Next
GUICtrlSetData($Edit1, $sStuffTmp & "Gesamt: " & @CRLF & $iCount)
EndFunc
Zum Thema speichern schau dir doch BITTE mal die Ini Grundlagen an (IniWrite, IniRead). (Das ist einfach zu verstehen und ich habe keine Lust mehr Scripte für dich ohne Gegenleistung zu schreiben). -
*seufz* Keiner will mehr was lernen, alle wollen nur noch etwas haben und zwar sofort.
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>$Form1 = GUICreate("Wie auch immer!", 633, 478, 390, 277)
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor(0xFFFFFF)
$Edit1 = GUICtrlCreateEdit("", 16, 16, 601, 305)
GUICtrlSetData(-1, "Also hier soll aufgelistet für was Geld ausgegebn wurde und wie viel. Außerdem soll automatisch zusammen gerechnet werden wie viel schon ausgegeben worden ist. Außerdem möchte ich gerne das das datum von unten rechts mit einbezogen wird. Weil dies lässt sich ja verstellen das wenn ich ein tag zuvor was gekauft habe das dementsprechende datum auswählen kann.")
$Button1 = GUICtrlCreateButton("Hinzufügen", 40, 408, 273, 41, $WS_GROUP)
$Input1 = GUICtrlCreateInput("", 24, 360, 393, 21)
$Ausgabe = GUICtrlCreateLabel(" Ausgabe für :", 152, 336, 99, 20)
GUICtrlSetFont(-1, 11, 800, 4, "MS Sans Serif")
$Input2 = GUICtrlCreateInput("", 464, 360, 145, 21)
$Betrag = GUICtrlCreateLabel("Betrag :", 512, 336, 58, 20)
GUICtrlSetFont(-1, 11, 800, 4, "MS Sans Serif")
$Date1 = GUICtrlCreateDate("2010/11/19 14:45:23", 352, 408, 257, 37)
GUISetState(@SW_SHOW)Global $aStuff[1][3]
[/autoit] [autoit][/autoit] [autoit]
$aStuff[0][0] = 0While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
If Not($Input1 = "" Or $Input2 = "") Then
ReDim $aStuff[$aStuff[0][0] + 2][3]
$aStuff[0][0] += 1$aStuff[$aStuff[0][0]][0] = GUICtrlRead($Input1)
[/autoit] [autoit][/autoit] [autoit]
$aStuff[$aStuff[0][0]][1] = GUICtrlRead($Input2)
$aStuff[$aStuff[0][0]][2] = GUICtrlRead($Date1)_RefreshList()
[/autoit] [autoit][/autoit] [autoit]
EndIf
EndSwitch
WEndFunc _RefreshList()
[/autoit]
$sStuffTmp = ""
For $i = 1 To $aStuff[0][0]
$sStuffTmp &= $aStuff[$i][0] & " ; " & $aStuff[$i][1] & " - " & $aStuff[$i][2] & @CRLF
Next
GUICtrlSetData($Edit1, $sStuffTmp)
EndFunc
Ich hoffe du verstehst es. -
Das sind aber keine 2 Befehle, es sei denn du machst dir die Funktionen selbst.

-
Wow da scheinst du dir ja viel Mühe gegeben zu haben
.
Ich will dir jetzt kein fertiges Programm schreiben, deswegen gebe ich dir ein paar Tipps:Tipps
-AutoIt
- Ließ dir die Hilfe zum Thema GUI und co. durch.
- Schau dir Arrays (1- und 2 dimensional) an.
- Ließ dir die Hilfe zu diversen Funktionen aus der Array UDF durch (_ArrayAdd etc.)
- Versuche mal zur Übung eine GUI ohne Coda Form Designer zu erstellen (zur Übung). -
Könnte man das nicht auch mit Objekten machen? Ich meine so etwas mal gesehen zu haben... Falls ich mich irre, bitte ignorieren ^^.