ich hab ein problem mit meinem WoW launcher den ich mir per autoit bastel
wenn ich das erste mal den button drücke dann speichert das script den pfad in eine ini und soll beim neustarten des scriptes den pfad lesen und dann auch verwenden
leider macht es das nicht und ich weiß nicht warum und deswegen will ich mir rat bei euch holen
hier das script:
(bruchteil)
PHP Code:
Func starten()
$ini = IniRead (@ScriptDir&"\path.ini","wowpath","path","nothing")
If $ini = Not 1 Then
$fileopen = FileSelectFolder ("Suchen","",4,"")
$write = IniWrite (@ScriptDir&"\path.ini","wowpath","path",$fileopen)
$ini1 = IniRead (@ScriptDir&"\path.ini","wowpath","path","nothing")
If $ini1 = Not 0 Then ShellExecute ("Wow.exe","",$ini1)
EndIf
EndFunc
sry wenn es total unübersichtlich ist ... ich leg da kein großen wert drauf ^^
Func starten() Local $wowdir Local $answer = IniRead($inipath, "wowpath", "path", "")
If $answer = "" Then $wowdir = FileSelectFolder ("Wähle deinen WoW Ordner", "", 2)
If FileExists($wowdir & "\wow.exe") Then IniWrite($inipath, "wowpath", "path", $wowdir) $answer = $wowdir Else MsgBox(16, "Fehler", "Keinen WoW Client in dem ausgewähltem Verzeichnis gefunden!") Exit ; oder was auch immer dann passieren soll EndIf EndIf
If $answer <> "" Then ShellExecute($answer & "\wow.exe") EndFunc
Kurze Erklärung:
er liest zunächst den Pfad aus der ini
ist ein Pfad vorhanden geht er direkt zum Ende
ist keiner vorhanden (antwort = leer) öffnet er einen Dialog wo der Nutzer den Ordner auswählen muss
wenn ja, schreibt er den Wert in die ini und startet den client
wenn nein, zeigt er einen Fehler an und beendet das Programm
ist er ausgewählt prüft er ob die wow.exe dort vorhanden ist
Du kannst die "realm.wtf" nicht mit Windows ausführen, denn Windows weiß damit nichts anzufangen.
Die Datei müsstest du höchstens mit WoW selbst starten oder du sagst Windows in der registry wie er mit dem Dateityp ".wtf" verfahren soll.
Ich denke mal du willst mit der Funktion die realmlist in deinem Programm zeigen, richtig?
Die .wtf Datei kannst du mit dem Editor öffnen und bearbeiten.
Willst du eine komplette Liste der Server, dann musst du die Datei auslesen und im GUI ausgeben lassen.
PHP Code:
#include <array.au3>
Func realm() Local $realmdir, Local $answer = IniRead($inipath, "realm", "path", "") Local $realmlist[100], $filehandle Local $i = 1; => $i = Zähler für die while schleife
If $answer = "" Then $realmdir = FileSelectFolder ("Wähle deinen WoW Data/deDE Ordner", "", 2)
If FileExists($realmdir & "\realmlist.wtf") Then IniWrite($inipath, "realm", "path", $realmdir) $answer = $realmdir Else MsgBox(16, "Fehler", "Keinen realmlist.wtf in dem ausgewähltem Verzeichnis gefunden!") Exit ; oder was auch immer dann passieren soll EndIf EndIf
$filehandle = FileOpen($realmdir & "\realmlist.wtf", 0) If $filehandle = -1 Then MsgBox(16, "Fehler", "Die Serverliste konnte nicht geöffnet werden!") Exit EndIf
While 1 $realmlist[0] = FileReadLine($filehandle, $i) If $realmlist[0] = "" Then ExitLoop ; => einlesen bis zur ersten leeren Zeile / Ende der Datei
$realmlist[$i] = $realmlist[0] ; => speichern des Servers im array
$i += 1 ; => erhöhen des Zählers für die nächste Zeile WEnd
_ArrayDisplay($realmlist) ; gibt das array in einer Tabelle aus - du kannst damit natürlich auch dein GUI füllen
;~ z.B. in einer Liste ;~ $realmlistUI = GUICtrlCreateList("", 184, 128, 81, 97) ;~ $realmlistmax = _ArrayMaxIndex($realmlist) ;~ ;~ $i = 1 ;~ While $i <= $realmlist[0] ;~ $realmlist[0] &= $realmlist[$i] & @CRLF ;~ $i += 1 ; nächster array Eintrag ;~ WEnd ;~ GUICtrlSetData($realmlistUI, $realmlist[0]) ; füllt die Liste
Problem ist, Du hast die If-Verzweigungen völlig falsch genutzt. Der Default-Parameter dient dazu, dass wenn der angegebene Schlüssel nicht existiert, wird der Default-Parameter als False-Rückgabewert zurückgegeben, sprich den String "nothing".
Außerdem kommt immer das logische nicht/not vor dem Vergleichsoperator und nicht danach.
habs gelöst bekommen die fehler bestand darin das ich bei shellexecute edite benutzt habe aber um die wtf datei zu benutzen brauchte ich open... habs umgestellt und jetzt geht alles
[FRAGE] Script-Fehler 08/11/2010 - Metin2 Private Server - 9 Replies Hi,
ich versuche gerade ein Script zu bauen, dass die IP eines GM´s aktualisiert.
Man soll einfach seinen CharNamen und seine IP Adresse reinschreiben und dann wird sie in die gmlist eingetragen.
Leider läuft es noch ncih so wie ich will.
Hier mal der php Coder vll sieht iwer das Problem.
Und BITTE nicht kopieren und als eures ausgeben.
<?php
include('config.php');
if(isset($_POST) && $_POST == 'Register') {
$username = mysql_real_escape_string($_POST);
fehler im script 07/23/2010 - AutoIt - 10 Replies Hi ein kumpel hat mir mal seinen script geschickt der bei den browsergame die stämme spieler einladen soll^^. Er hat neuerdings auch einen fehler das die stammeslosen spieler pro kontinent nicht in der txt datei gespeichert werden und ich und er wissen nicht warum^^.
hier mal der script:
#RequireAdmin
#Region
#EndRegion
Func _ARRAYADD(ByRef $AVARRAY, $VVALUE)
If Not IsArray($AVARRAY) Then Return SetError(1, 0, -1)
If UBound($AVARRAY, 0) <> 1 Then Return SetError(2, 0, -1)
Local...
Script hat einen Fehler! 02/18/2010 - Metin2 Private Server - 0 Replies Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\shop.php on line 13
Das kommt beim Itemshop!
Banjo hatte mir die Regi gefixxed aber
jetzt geht der Itemshop ned er meinste ein Item darin erstellen!
Aber geht ned habe zwar GM Account aber kein ADM PANEL!?
Letzens hatte ich eins.
Fehler im Script ? 10/19/2009 - AutoIt - 0 Replies Da ich erst eine kurze Zeit mich mit Autoit beschäftige hätte ich gerne mal Hilfe von ein paar Profis. Habe für Aion einen AutoLoginBot geschrieben, welcher bisher auch relativ gut funktioniert. Er fragt beim ersten Start ein paar Daten für den AutoLogin ab wie z.B. die Accountdaten, welche verschlüsselt in die Registry eingetragen werden und sobald das Game gestartet ist entschlüsselt/ausgelesen werden. Dummerweise ist es so, das wenn ich während das Game läd, und ich das Fenster vom Game...