1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. teamnoobPDB

Beiträge von teamnoobPDB

  • [Suche Leute] 2D RPG-Spiel in Autoit

    • teamnoobPDB
    • 16. Februar 2013 um 20:35

    Danke für die Antworten :D

    minx: Es soll ein RPG werden das dem von Skyrim oder Oblivion ähnelt. Ein Story-Modus mit freibegehbarer Welt, ein Skillsystem etc.

    BinDannMalWeg: Ich hole mir gerne anregungen bei euch oder frage Hauke ob er sich mit einklinken will, aber ich will sowas auch selbst machen einfach weil ich Spaß dran habe :D

    Also ich bauche Leute für folgendes:
    -Texturen/Grafiken etc.
    -GDI+ oder z.B. Irrlicht spezialisten
    -Leute die eigene System wie z.B ein Map oder Skill-System erstellen können

  • [Suche Leute] 2D RPG-Spiel in Autoit

    • teamnoobPDB
    • 16. Februar 2013 um 20:09

    Hallo Leute,

    ich suche momentan ein paar Leute die mit mir zusammen ein 2D vlt. auch 3D RPG-Spiel schreiben.
    Ich habe momentan große Lust dazu und hoffe das sich ein paar Freiwillige und Begeisterte melden :D

    Ich habe schonmal grob angefangen das Spiel zu Entwickeln.
    Es gibt schon ein Map-System, einen Entwurf für das Options Menü und einen Entwurf für einen Ladebildschirm.
    Es steht auch ein FTP-Server zur verfügung, mit dem man z.B. updates verteilen könnte etc. :D
    Ihr könnt euch das ja mal anschauen und dann entscheiden bzw. hier Posten was ihr davon haltet.

    Dateien

    RPG Spiel (Neu) v.0.2.0.0.rar 704,78 kB – 610 Downloads
  • Absturz Problem

    • teamnoobPDB
    • 15. Februar 2013 um 22:39

    Hallo Leute,

    ich will mir ein kleines RPG Spiel schreiben, aber es scheitert schon nach den ersten 100 Zeilen.
    Es liegt defenitiv an der Funktion _Draw oder _Draw_Image aber ich weiß nicht wieso das Programm immer abstürzt.

    Zip mit allen notwendigen Dateien ist im Anhang.

    Dateien

    RPG Spiel (Neu) v.0.2.0.0.rar 18,85 kB – 267 Downloads
  • ISN AutoIt Studio

    • teamnoobPDB
    • 13. Februar 2013 um 21:50

    Also mein Projekt war nicht sehr groß :D Es waren 2 Dateien eine .au3 und eine .txt also daran kann es nicht liegen. Aber ich werde wenn das weiterhin auftritt einfach ausschalten :D

  • ISN AutoIt Studio

    • teamnoobPDB
    • 13. Februar 2013 um 21:27

    Sehr gut gelungenes Programm :D Respekt :D
    Aber...
    ich weiß nicht ob es an meinem Pc liegt oder an dem Programm... jedesmal wenn ich eine Variable schreiben will liest er alle Variablen aus dem Skript aus um sie dann als vorschlag anzuzeigen ... jedenfalls dauert das bei mir ca. 30-40 sekunden und das nervt leider etwas :/
    Außerdem: Wenn man das Programm minimiert und dan wieder maximiert dann kommt es manchmal vor das der Skriptbaum auf der rechten seite sich selbstständig verkleinert... :)

    Aber ansonsten sehr gelungenes Studio :D

  • Problem bei Array bzw. Routen

    • teamnoobPDB
    • 13. Februar 2013 um 11:16

    Wenn du doch den String miz Stringsplit in nem Array hast der so aussieht:
    $array[1]=C
    $array[2]=A
    $array[3]=B
    ist ee doch ganz einfach.
    Du musst den array in ner For-Schleife auswerten:

    [autoit]

    For $i = 1 To $array[0] Step 1
    If $array[$i] == "C" Then
    $Summe += 10
    EndIf
    Next
    ;Und dann so weiter :)

    [/autoit]
  • Bytelänge von Textzeile herausfinden

    • teamnoobPDB
    • 2. Februar 2013 um 13:43

    Hab das jetzt ausprobiert. Das Funktioniert jetz so schnell wie ich es will, aber wenn ich das jetzt mit FileRead statt FileWrite mache dann ist das wieder sehr langsam.

    [autoit]

    $hFile = FileOpen($sFile)
    For $i = 0 To $Width - 1 Step 1
    For $i2 = 0 To $Height - 1 Step 1
    $a[$i][$i2] = FileReadLine($hFile,$Line)
    $Line += 1
    Next
    Next
    FileClose($hFile)

    [/autoit]
  • Bytelänge von Textzeile herausfinden

    • teamnoobPDB
    • 2. Februar 2013 um 13:37

    Achso ich werde das mal ausprobieren :D
    Danke für die Hilfe.

  • Bytelänge von Textzeile herausfinden

    • teamnoobPDB
    • 2. Februar 2013 um 13:00

    Ich denke mal das ich FileReadLine richtig benutze, aber wenn man eine datei mit bis zu 1 Millionen zeilen hat dauert das schon ziemlich lange.

    Zum vergleich mit FileWrite habe ich für diese bis zu 1 Millionen Zeilen mehrere Stunden gebraucht, mit der WinAPI habe ich nur etwa ein paar sekunden gebraucht. Dasselbe will ich jetzt auch für das auslesen der Datei machen nur weiß ich nicht genau wie ich das anstellen soll.

    Die Funktion zum in die Datei schreiben ist diese hier:

    [autoit]

    $tBuffer = DllStructCreate("byte[" & StringLen($sText) & "]")
    DllStructSetData($tBuffer, 1, $sText)
    $hFile = _WinAPI_CreateFile($sFile, 1)
    _WinAPI_WriteFile($hFile, DllStructGetPtr($tBuffer), StringLen($sText), $nBytes)
    _WinAPI_CloseHandle($hFile)

    [/autoit]
  • Bytelänge von Textzeile herausfinden

    • teamnoobPDB
    • 2. Februar 2013 um 13:00

    Ich denke mal das ich FileReadLine richtig benutze, aber wenn man eine datei mit bis zu 1 Millionen zeilen hat dauert das schon ziemlich lange.

    Zum vergleich mit FileWrite habe ich für diese bis zu 1 Millionen Zeilen mehrere Stunden gebraucht, mit der WinAPI habe ich nur etwa ein paar sekunden gebraucht. Dasselbe will ich jetzt auch für das auslesen der Datei machen nur weiß ich nicht genau wie ich das anstellen soll.

    Die Funktion zum in die Datei schreiben ist diese hier:

    [autoit]

    $tBuffer = DllStructCreate("byte[" & StringLen($sText) & "]")
    DllStructSetData($tBuffer, 1, $sText)
    $hFile = _WinAPI_CreateFile($sFile, 1)
    _WinAPI_WriteFile($hFile, DllStructGetPtr($tBuffer), StringLen($sText), $nBytes)
    _WinAPI_CloseHandle($hFile)

    [/autoit]
  • Bytelänge von Textzeile herausfinden

    • teamnoobPDB
    • 2. Februar 2013 um 11:54

    Hallo Community,

    ich habe folgende Funktion um aus einer Datei etwas zu lesen

    [autoit]

    $sFile = @ScriptDir & "\test.txt"
    $tBuffer = DllStructCreate("byte[6]")
    $hFile = _WinAPI_CreateFile($sFile, 2, 2)
    _WinAPI_SetFilePointer($hFile, 0)
    _WinAPI_ReadFile($hFile, DllStructGetPtr($tBuffer), 6, $nBytes)
    _WinAPI_CloseHandle($hFile)
    $sText = BinaryToString(DllStructGetData($tBuffer, 1))
    ConsoleWrite($sText & @CRLF)

    [/autoit]

    Mein Problem ist aber Jetzt, dass:
    Ich aus einer Datei nur eine bestimmte Byte-Länge lesen kann , da sich aber in meiner Datei unterschiedlichlange Textzeilen befinden kommt da immer was sehr wüstes raus :D

    z.b. will ich aus einer Datei lesen die Folgendes enthält:

    [autoit]

    0
    1
    0.1
    0.2
    etc.

    [/autoit]

    Natülich muss man die Funktion noch in eine For-Schleife packen damit man alles auslesen kann.

    manchmal kommt dann sowas raus:

    [autoit]

    0
    10
    .1
    0
    .2
    etc.

    [/autoit]


    Wie kann ich das jetzt am besten gestalten bzw. wie kann ich herausfinden wieviele Bytes ich in einer Textzeile habe AUßER mit FileReadLine o.ä. denn das ist mir zu langsam.

  • Irrlicht Geschwindigkeit Optimierung

    • teamnoobPDB
    • 30. Januar 2013 um 13:09

    Wie oben gesagt mach ich das mit Iniwrite aber da brauch ich ewigkeiten bis das mal komplett abgespeichert ist.
    Wie machst du das denn mit SQL vlt. kann ich dann mal ausprobieren ob es schneller ist.
    :D

  • Irrlicht Geschwindigkeit Optimierung

    • teamnoobPDB
    • 28. Januar 2013 um 21:47

    Jetzt hab ich aber noch eine Frage:
    Gibt es eine Möglichkeit eine Datei ganz schnell zu schreiben/erstellen?

    Mein Problem ich habe einen Array $aArray[1000][1000] und muss diesen so schnell wie möglich abspeichern, aber Iniwrite und FileWrite sind defenitiv zu langsam für die Menge die Gespeichert werden muss. Gibt es da Alternativen oder eine UDF? :D

  • Irrlicht Geschwindigkeit Optimierung

    • teamnoobPDB
    • 28. Januar 2013 um 21:42

    Ahh cool danke :D Wieso kommt man selbst nicht auf diese Idee =D

  • Irrlicht Geschwindigkeit Optimierung

    • teamnoobPDB
    • 28. Januar 2013 um 21:15

    Bezüglich der ersten Funktion ist mir zum Thema verkürzung etwas eingafallen:

    Spoiler anzeigen
    [autoit]

    Func _Draw()
    Local $Str2, $X = 0, $Y = 0
    For $i2 = 0 To 6 Step 1
    Switch $i2
    Case 0
    $Y = 0
    Case 1
    $Y = 80
    Case 2
    $Y = 160
    Case 3
    $Y = 240
    Case 4
    $Y = 320
    Case 5
    $Y = 400
    Case 6
    $Y = 480
    EndSwitch
    For $i = 0 To 6 Step 1
    If $PlayerPosX - 3 + $i < 0 Or $PlayerPosX - 3 + $i > $Width - 1 Then
    $Str2 = -9
    Else
    If $PlayerPosY - 3 + $i2 < 0 Or $PlayerPosY - 3 + $i2 > $Height - 1 Then
    $Str2 = -9
    Else
    $Str2 = $aMap[$PlayerPosX - 3 + $i][$PlayerPosY - 3 + $i2]
    EndIf
    EndIf
    Switch $i
    Case 0
    $X = 0
    Case 1
    $X = 80
    Case 2
    $X = 160
    Case 3
    $X = 240
    Case 4
    $X = 320
    Case 5
    $X = 400
    Case 6
    $X = 480
    EndSwitch
    If $PlayerPosX - 3 + $i < 0 Or $PlayerPosX - 3 + $i > $Width - 1 Then
    $Show[$i][$i2] = -9
    Else
    If $PlayerPosY - 3 + $i2 < 0 Or $PlayerPosY - 3 + $i2> $Height -1 Then
    $Show[$i][$i2] = -9
    Else
    _Draw_Image($Str2,$Show[$i][$i2], $X, $Y)
    EndIf
    EndIf
    Next
    Next
    EndFunc

    [/autoit]
  • Irrlicht Geschwindigkeit Optimierung

    • teamnoobPDB
    • 28. Januar 2013 um 21:10

    Hallo liebe Leute,
    ich habe mal eine Frage, und zwar:
    Ob man Folgendes Skript verkürzen bzw. beschleunigen kann? Ich hab alles probiert aber mir fällt nichts ein.

    Spoiler anzeigen
    [autoit]

    Func _Draw()
    Local $Str2, $X = 0, $Y = 0
    For $i2 = 0 To 6 Step 1
    Switch $i2
    Case 0
    $Y = 0
    Case 1
    $Y = 80
    Case 2
    $Y = 160
    Case 3
    $Y = 240
    Case 4
    $Y = 320
    Case 5
    $Y = 400
    Case 6
    $Y = 480
    EndSwitch
    For $i = 0 To 6 Step 1
    If $PlayerPosX - 3 + $i < 0 Or $PlayerPosX - 3 + $i > $Width - 1 Then
    $Str2 = -9
    Else
    If $PlayerPosY - 3 + $i2 < 0 Or $PlayerPosY - 3 + $i2 > $Height - 1 Then
    $Str2 = -9
    Else
    $Str2 = $aMap[$PlayerPosX - 3 + $i][$PlayerPosY - 3 + $i2]
    EndIf
    EndIf
    Switch $i
    Case 0
    $X = 0
    If $PlayerPosX - 3 + $i < 0 Or $PlayerPosX - 3 + $i > $Width - 1 Then
    $Show[$i][$i2] = -9
    Else
    If $PlayerPosY - 3 + $i2 < 0 Or $PlayerPosY - 3 + $i2> $Height -1 Then
    $Show[$i][$i2] = -9
    Else
    _Draw_Image($Str2,$Show[$i][$i2], $X, $Y)
    EndIf
    EndIf
    Case 1
    $X = 80
    If $PlayerPosX - 3 + $i < 0 Or $PlayerPosX - 3 + $i > $Width - 1 Then
    $Show[$i][$i2] = -9
    Else
    If $PlayerPosY - 3 + $i2< 0 Or $PlayerPosY - 3 + $i2 > $Height -1 Then
    $Show[$i][$i2] = -9
    Else
    _Draw_Image($Str2,$Show[$i][$i2], $X, $Y)
    EndIf
    EndIf
    Case 2
    $X = 160
    If $PlayerPosX - 3 + $i < 0 Or $PlayerPosX - 3 + $i > $Width - 1 Then
    $Show[$i][$i2] = -9
    Else
    If $PlayerPosY - 3 + $i2 < 0 Or $PlayerPosY - 3 + $i2 > $Height -1 Then
    $Show[$i][$i2] = -9
    Else
    _Draw_Image($Str2,$Show[$i][$i2], $X, $Y)
    EndIf
    EndIf
    Case 3
    $X = 240
    If $PlayerPosX - 3 + $i < 0 Or $PlayerPosX - 3 + $i > $Width - 1 Then
    $Show[$i][$i2] = -9
    Else
    If $PlayerPosY - 3 + $i2 < 0 Or $PlayerPosY - 3 + $i2 > $Height -1 Then
    $Show[$i][$i2] = -9
    Else
    _Draw_Image($Str2,$Show[$i][$i2], $X, $Y)
    EndIf
    EndIf
    Case 4
    $X = 320
    If $PlayerPosX - 3 + $i < 0 Or $PlayerPosX - 3 + $i > $Width - 1 Then
    $Show[$i][$i2] = -9
    Else
    If $PlayerPosY - 3 + $i2 < 0 Or $PlayerPosY - 3 + $i2 > $Height -1 Then
    $Show[$i][$i2] = -9
    Else
    _Draw_Image($Str2,$Show[$i][$i2], $X, $Y)
    EndIf
    EndIf
    Case 5
    $X = 400
    If $PlayerPosX - 3 + $i < 0 Or $PlayerPosX - 3 + $i > $Width - 1 Then
    $Show[$i][$i2] = -9
    Else
    If $PlayerPosY - 3 + $i2 < 0 Or $PlayerPosY - 3 + $i2 > $Height -1 Then
    $Show[$i][$i2] = -9
    Else
    _Draw_Image($Str2,$Show[$i][$i2], $X, $Y)
    EndIf
    EndIf
    Case 6
    $X = 480
    If $PlayerPosX - 3 + $i < 0 Or $PlayerPosX - 3 + $i > $Width - 1 Then
    $Show[$i][$i2] = -9
    Else
    If $PlayerPosY - 3 + $i2 < 0 Or $PlayerPosY - 3 + $i2 > $Height -1 Then
    $Show[$i][$i2] = -9
    Else
    _Draw_Image($Str2,$Show[$i][$i2], $X, $Y)
    EndIf
    EndIf
    EndSwitch
    Next
    Next
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Draw_Image($s, $var, $x, $y)
    Select
    Case $s == 0
    _IrrDraw2DImageElement( $gras, $x, $y, 0, 0,80, 80, $IRR_USE_ALPHA )
    Case $s == 0.1
    _IrrDraw2DImageElement( $gras2, $x, $y, 0, 0,80, 80, $IRR_USE_ALPHA )
    Case $s == 0.2
    _IrrDraw2DImageElement( $gras3, $x, $y, 0, 0,80, 80, $IRR_USE_ALPHA )
    Case $s == 0.3
    _IrrDraw2DImageElement( $gras4, $x, $y, 0, 0,80, 80, $IRR_USE_ALPHA )
    Case $s == 1
    If $aMap[$PlayerPosX - 1][$PlayerPosY] == 1 Or $aMap[$PlayerPosX + 1][$PlayerPosY] == 1 Or $aMap[$PlayerPosX][$PlayerPosY - 1] == 1 Or $aMap[$PlayerPosX][$PlayerPosY + 1] == 1 Then
    _IrrDraw2DImageElement( $gras, $x, $y, 0, 0,80, 80, $IRR_USE_ALPHA )
    Else
    _IrrDraw2DImageElement( $gras, $x, $y, 0, 0,80, 80, $IRR_USE_ALPHA )
    _IrrDraw2DImageElement( $player, $x, $y, 0, 0,80, 80, $IRR_USE_ALPHA )
    EndIf
    Case $s == 2
    _IrrDraw2DImageElement( $stein, $x, $y, 0, 0,80, 80, $IRR_USE_ALPHA )
    Case $s == 3
    _IrrDraw2DImageElement( $wasser, $x, $y, 0, 0,80, 80, $IRR_USE_ALPHA )
    Case $s == 5
    _IrrDraw2DImageElement( $quest, $x, $y, 0, 0,80, 80, $IRR_USE_ALPHA )
    EndSelect

    [/autoit] [autoit][/autoit] [autoit]

    _IrrDraw2DImageElement( $health_bar, 280, 517, 0, 0,280, 43, $IRR_USE_ALPHA )
    If $Health >= 50 Then
    _IrrDraw2DImageElement( $health_green, 283, 517, 0, 0,2.73 * $Health, 41, $IRR_USE_ALPHA )
    Else
    If $Health < 50 And $Health >= 25 Then
    _IrrDraw2DImageElement( $health_yellow, 283, 517, 0, 0,2.73 * $Health, 41, $IRR_USE_ALPHA )
    Else
    If $Health < 25 And $Health > 0 Then
    _IrrDraw2DImageElement( $health_red, 283, 517, 0, 0,2.73 * $Health, 41, $IRR_USE_ALPHA )
    EndIf
    EndIf
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $Health == 0 Then
    MsgBox(48,$Str[8],"You are Dead")
    _exit()
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $Quest_Draw == 1 Then
    If $Level = $Quest_1[2] Then
    _IrrDraw2DImageElement( $quest_gui, 0, 400, 0, 0,560, 560, $IRR_USE_ALPHA )

    [/autoit] [autoit][/autoit] [autoit]

    $Quest_Text = _IrrAddStaticText($Str_Quest[1], 10, 410, 540, 540, $IRR_GUI_NO_BORDER, $IRR_GUI_WRAP)
    EndIf
    Else
    _IrrGUIClear()
    $Stop_Save = 0
    EndIf
    EndFunc

    [/autoit]
  • Variable durchreichen

    • teamnoobPDB
    • 26. Januar 2013 um 18:21

    Wie wäre es mal mit dem hier?

    Spoiler anzeigen
    [autoit]


    Global $a_Werte[1]
    $test123 = "12345"
    $test123 = main($test123)
    MsgBox(0, "", $test123) ; hier sollte 54321 rauskommen
    Func main(ByRef $test)
    $test = test1($test)
    return $test
    EndFunc ;==>main
    Func test1(byref $test1)
    $test1 = "54321"
    return $test1
    EndFunc ;==>test1

    [/autoit]
  • Simples Hochzählen

    • teamnoobPDB
    • 20. Januar 2013 um 15:01

    Oder mit ner

    [autoit]


    Do
    $n += 1
    $Str = "Bild" & $n & ".jpg"
    Until $n == 100

    [/autoit]

    schleife :D

  • Script Problem.

    • teamnoobPDB
    • 20. Januar 2013 um 14:54

    Versuch doch mal mit der Au2Info.exe herauszufinden welche Control ID dieses Label hat und dann kannst du sie mit

    [autoit]

    ControlGetText("[WinHandle oder Titel]","","[Control oder Class ID]")

    [/autoit]


    auslesen.

  • Exel Daten (.xls / .xlsx) in .txt Daten umwandeln

    • teamnoobPDB
    • 12. Januar 2013 um 21:35

    Meinst du vlt. so? :D

    Spoiler anzeigen
    [autoit]

    #include <Excel.au3>
    #include <File.au3>
    #include <Array.au3>
    Local $folder = "C:\Users\dacohelpdesk\Desktop\test\Input"
    Local $FileList = _FileListToArray($folder, '*.xls', 1)
    For $i = 1 To UBound($FileList) - 1
    $oExcel = _ExcelBookOpen($folder & '\' & $FileList[$i], 0)
    If StringRight($FileList[$i],3) = "xls" Then
    _ExcelBookSaveAs($oExcel, "C:\Users\dacohelpdesk\Desktop\test\Output" & '\' & StringTrimRight($FileList[$i], 4), "txt")
    If FileExists("C:\Users\dacohelpdesk\Desktop\test\Output" & '\' & $FileList[$i]) == 1 Then FileMove ($folder & '\' & "*.xls", "C:\Users\dacohelpdesk\Desktop\test\Archiv")
    Else
    _ExcelBookSaveAs($oExcel, "C:\Users\dacohelpdesk\Desktop\test\Output" & '\' & StringTrimRight($FileList[$i], 5), "txt") ;, 0, 1, "ReadOnly") ; für xlsx
    If FileExists("C:\Users\dacohelpdesk\Desktop\test\Output" & '\' & $FileList[$i]) == 1 Then FileMove ($folder & '\' & "*.xlsx", "C:\Users\dacohelpdesk\Desktop\test\Archiv")
    EndIf
    _ExcelBookClose($oExcel, 1, 0)
    Next

    [/autoit]

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™