jedoch kann ich die zahlen 2-7 immernoch auswählen.
Mir ist nicht ganz klar, was du überhaupt willst.
Schreib mal strukturiert auf:
- Ist-Zustand
- Aktion(en)
- Soll-Zustand
jedoch kann ich die zahlen 2-7 immernoch auswählen.
Mir ist nicht ganz klar, was du überhaupt willst.
Schreib mal strukturiert auf:
- Ist-Zustand
- Aktion(en)
- Soll-Zustand
Wie wär's mit etwas Code? ![]()
Verwende eine Schleife in der alles abläuft, verändere mit den Hotkeys nur Variablen, deren Wert dann in der Schleife ständig geprüft wird und entsprechend reagiert wird.
Hier mal als Bsp. für verschiedene Sleepzeiten, bei Ausführen des Hotkeys wird die Sleep-zeit festgelegt und eine Boolsche Variable für die Überprüfung, ob ein Sleep ausgeführt werden soll, auf True gesetzt. Analaog kannst du alle anderen Dinge so integrieren.
HotKeySet("{ESC}", "Terminate")
HotKeySet("+!2", "Sleep2")
HotKeySet("+!5", "Sleep5")
HotKeySet("+!1", "Sleep10")
Global $iSleep, $bSleep = False
[/autoit] [autoit][/autoit] [autoit]While True
If $bSleep Then
Sleep($iSleep)
$bSleep = False
EndIf
Sleep(10) ; wegen Prozessorlast
WEnd
Func Terminate()
Exit
EndFunc
Func Sleep2()
$iSleep = 2000
$bSleep = True
EndFunc
Func Sleep5()
$iSleep = 5000
$bSleep = True
EndFunc
Func Sleep10()
$iSleep = 10000
$bSleep = True
EndFunc
Also mehrere Punkte:
- Warum werden in deinen Funktionen immer Endlosschleifen ausgeführt ??
- Wenn du Variablen innerhalb von Funktionen mit Werten bestückst (z.B. Lesen INI) um sie dann außerhalb dieser Funktion zu verwenden, mußt du diese Variablen als Global deklarieren! (Sonst sind sie nicht verfügbar außerhalb der Funktion)
- Bei der Verwendung von Endlosschleifen brauchst du nicht: While 1 = 1 schreiben, es reicht: While 1, oder besser: While True.
Zum Anderen solltest du mal checken, ob du nicht mit ControlCommand(), ControlSend().. arbeiten kannst. Mausklickerei sollte wirklich nur dann verwendet werden, wenn kein anderer Weg zum Ziel führt.
Schau dir mal StdoutRead() an.
sry will nicht bei dem Game gesperrt werden!
Und warum versuchst du dann überhaupt zu manipulieren?
Wenn du hier Fragen einstellst, kannst du die nicht mal eben wieder löschen. Wer jetzt die Posts liest kann das Problem gar nicht nachvollziehen (die Sinnhaftigkeit dieses Tuns mal ganz außen vor gestellt).
Hab nicht probiert ob Schriftgradanpassung ohne Neustart geht:
Packe ein Skript in den Autostart des "Remote-Users", sodass nach dem Start der Schriftgrad angepaßt wird.
Und bevor du abmeldest/herunterfährst startest du ein Skript, dass das wieder zurücksetzt.
Bin mal neugierig, was ihr so zusammenbekommt. ![]()
Diesmal bin ich nicht dabei, habe nicht mal mp3-Files auf meinem PC mit denen ich sowas testen könnte. ![]()
Also Viel Spaß euch allen.
Wenn dein String immer so aussieht: "[abc] [def] [ghi]" usw. dann gehts auch so:
[autoit]#include<array.au3>
$str = "[katze] [huhu] [hallo]"
$aItem = StringSplit(StringTrimLeft(StringTrimRight($str, 1), 1), '] [', 1 )
_ArrayDisplay($aItem)
ich kenn das unter den Namen gparted.
Jo, das kenn ich auch
- ich habe einen Buchstaben verschluckt, meinte "qtparted". ![]()
Ich glaube, auf den aktuellen CDs ist überall "gparted".
Kostenlose Alternative, die du auch auf DOS/Windows anwenden kannst: qparted - wohl auf jeder Linux-LiveCD vorhanden. Da Partitionierungsaufgaben ja nicht jeden Tag anstehen, reicht es doch aus zu diesem Zweck von der CD zu starten.
Für eine komplexe Mehrsprachigkeit empfiehlt es sich, für alle verwendeten Label, Texte, Messages etc. Einträge in einer INI-Datei zu erstellen. Die Sprachwahl kann zum Einen manuell durch den User ausgeführt werden oder zum Anderen unter Nutzung des Makros @OSLang automatisiert werden.
Wäre da nicht die einfachste Lösung, die Dokumente in einem Listview zur Auswahl anzubieten und per Doppelklick von dort zu öffnen? Da kannst du dann einen Zeitstempel setzen. Damit alles in einer Ebene bleibt, kannst du die Dokumente ja in einem Embedded-Browser öffnen, also nur deine selbst gestaltete Oberfläche verwenden. Dann hast du optimale Übersicht.
die hat ein kolege gemacht ich schreibe ihm nur das program dazu
Das ist aber wenig sinnvoll. Da die INI programmrelevanten Inhalt hat, kann auch nur der sie erstellen, der die Inhalte im Programm verarbeitet.
Aber du kannst natürlich auch so vorgehen:
Global $arWorte[10]
For $i = 1 To 10
$arWorte[$i -1] = FileReadLine("Config.ini",$i)
Next
Dann hast du den Inhalt der INI im Array und kannst nun per Random ein Element wählen.
Schau dir mal: ControlSetText() an.
Interessante Syntax: For $v = 1 = 1 To Ubound($hFilesFolders)-1
$wort1 = FileReadLine("Config.ini",1)
[/autoit]Autsch... verwende doch lieber eine richtige INI-Datei, dann kannst du auch die Sektion in einem Schritt einlesen und deine unterschiedlichen Texte liegen sofort in einem Array. Aus diesem kannst du dann zufällige Werte (Funktion Random) ausgeben lassen.
So gehts:
[autoit]Case $GUI_EVENT_CLOSE
SoundPlay("")
Exit
Und genau die Frage sollte damit auch beantwortet sein.
Spielehersteller gestalten ihre Software (vernünftigerweise) so, dass kaum Standard-Windowskomponenten verwendet werden. Und nur über diese ließe sich ein Zugriff realisieren.
Da aber kaum jemand nur automatisiert das Spiel starten will, sondern in der Regel völlig andere (nicht unbedingt fairplay-reife) Aktionen vorhat, ist es völlig legitim, dass die Hersteller versuchen dieses zu unterbinden.
Die Mittel und Wege, wie es trotzdem geht werden in diesem Forum nicht unterstützt.