Flutch - Erobert die Welt

  • Also ich habe es hier bei mir auf´m Rechner getestet...
    Bei mir macht der Charakter garnix bei der Animation '$IRR_EMAT_RUN' und er Läuft bei '$IRR_EMAT_STAND' - Sieht für mich nach ner unkorrekten Animationssequenz aus...

    Grüsse!

  • jaa.. hab auch jetzt schon ein anderes Model und und und..

    Habs aber jetzt hingekriegt.. (mit einem kleinen Bug)..

    MFG Schnacko

  • Hab grade mal da Script im Startpost getestet. Was sollte da den genau passieren? Weil wenn ich das starte, erscheint für paar Sekunden zwar im Try das Autoiticon verschwindet dann aber wieder und nichts passiert.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • sieht schonmal cool aus, unvorstellebar das sowas mit autoit funktioniert :)
    wenn man bei mir die leertaste gedrückt hält, hebt er in unendliche höhen ab

  • chip..
    OS? Tech. Daten?
    kann mir nicht vorstellen warum es nicht funktioniert..
    gib infos wie du es öffnest..

    @tobitron..
    ich hab auch nie daran gedacht dass man das in AutoIt machen kann geschweige denn dass ich das machen kann ^^
    das war nur zum testen.. wurde bereits gefixt..
    außerdem ist die Version im vergleich zu der jetztigen schon wieder uralt! ;)
    Animationen passen genau und man kann mit 2 Charakteren abwechselt spielen..

    @all
    Das vorangekündigte Update wird noch einiges daueren..
    Doch auf die neue Version dann könnt ihr euch dann auf alle Fälle freuen ;)

    MFG Schnacko

  • chip..
    OS? Tech. Daten?
    kann mir nicht vorstellen warum es nicht funktioniert..
    gib infos wie du es öffnest..

    So habs mal genauer nachvollzogen. Scheinbar ist es "nur" inkompatibele mit Nvidia Quadro-Karten.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Naja auf zwei Rechner mit Quadrokarte lief es nicht und auf einem ohne Quadrokarte lief es hehe.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • oke... das ..
    ja.. ich schreibs auf jedenfall mal hin..
    wenns bei jemanden dann trotzdem funkt meldet er es bestimmt..

    MFG Schnacko

  • könnte gehen.. damit hab ich mich nicht beschäftigt..
    gib infos.. wenn du was rausgefunden hast..

    Fürs game ist mir glaub ich OpenGL lieber.. ;)

    MFG Schnacko

  • Arbeitet ihr noch dran weiter ?

    Ich habe ein paar Bugs in den Upload von Script gefunden

    - Das Springen man kann mit 2x Leertasten drücken über die ganze Map springen # fixed
    - Das Laufen wenn man links & rechts drückt und dan nach hinten läuft kann man nicht mehr nach links rechts vorne laufen # fixed

    Kleines Update von mir :rock:

    - Char Speed angepasst # new

    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseX64=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    #include <au3Irrlicht2.au3>
    #include <Misc.au3>
    #include <File.au3>

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

    opt("MustDeclareVars", True)
    HotKeySet("{ESC}", "_exit")

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

    Global $degree = -180
    Global $degZ = 70

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

    Global $MapMesh, $MapNode, $Camera, $Charakter, $CharakterNode, $MapTexture, $CharakterTexture, $selector, $outHitPosition, $outFalling
    Global $screen_width, $screen_height, $gravity[3], $velocity[3], $ellipsoidRadius[3],$pMouseEvent
    Global $aMousePos[2], $aPoint[3], $aDirect[3], $aCamPos[3], $aDirectCha[3], $DifV[3], $DivL, $aAlpha, $Light[5], $RotFaktor
    Global $Entfernung = 5, $i[5]
    Global $CharakterName = "Test"

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

    Global $dir = _PathFull( @ScriptDir & "\Meshes\md2\" ) ;

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

    $screen_width = 800
    $screen_height = 600

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

    _IrrStartAdvanced ( $IRR_EDT_OPENGL, @DesktopWidth, @DesktopHeight, $IRR_BITS_PER_PIXEL_32, _
    $IRR_Windowed, $IRR_SHADOWS, $IRR_CAPTURE_EVENTS, $IRR_VERTICAL_SYNC_OFF, _
    0, $IRR_ON, 2, $IRR_ON)

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

    _IrrSetWindowCaption( "Flutch - Das neue Rollenspiel" )

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

    $MapMesh = _IrrGetMesh( $dir & "map/map.obj" )
    $MapTexture = _IrrGetTexture( $dir & "map/map.png" )
    $MapNode = _IrrAddMeshToSceneAsOcttree( $MapMesh )
    _IrrSetNodeMaterialTexture( $MapNode, $MapTexture, 0 )
    _IrrSetNodeMaterialFlag( $MapNode, $IRR_EMF_GOURAUD_SHADING, $IRR_ON )
    _IrrSetNodeScale( $MapNode, 1, 0.5, 1 )

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

    $Charakter = _IrrGetMesh( $dir & "flutch.md2" )
    $CharakterTexture = _IrrGetTexture( $dir & "flutch.bmp" )
    $CharakterNode = _IrrAddMeshToScene( $Charakter )
    _IrrSetNodeMaterialTexture( $CharakterNode, $CharakterTexture, 0 )
    _IrrSetNodeMaterialFlag( $CharakterNode, $IRR_EMF_GOURAUD_SHADING, $IRR_ON )
    _IrrSetNodeScale( $CharakterNode, 26/40, 26/40, 26/40 )
    _IrrSetNodeAnimationSpeed($CharakterNode, 120)

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

    $selector = _IrrGetCollisionGroupFromComplexMesh( $MapMesh, $MapNode )
    _IrrAddLight( $IRR_NO_PARENT, 0, 500, 0, 255, 255, 200, 1)

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

    $aPoint[0] = 0.0
    $aPoint[1] = 1500.0/40
    $aPoint[2] = 0.0

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

    $gravity[0] = 0.0
    $gravity[1] = -0.2
    $gravity[2] = 0.0

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

    $velocity[0] = 0.0
    $velocity[1] = 0.0
    $velocity[2] = 0.0

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

    $aCamPos[0] = 1750.0
    $aCamPos[1] = 149.0
    $aCamPos[2] = 1369.0

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

    $aDirectCha[0] = 0.0
    $aDirectCha[1] = 0.0
    $aDirectCha[2] = 0.0

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

    $ellipsoidRadius[0] = 0.3
    $ellipsoidRadius[1] = 0.8
    $ellipsoidRadius[2] = 0.3

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

    $Camera = _IrrAddCamera( $aCamPos[0], $aCamPos[1], $aCamPos[2], $aPoint[0], $aPoint[1], $aPoint[2] )
    _IrrSetNodePosition($CharakterNode, $aPoint[0], $aPoint[1], $aPoint[2])

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

    _IrrHideMouse()
    MouseMove( @DesktopWidth/2, @DesktopHeight/2, 0 )
    $aMousePos[0] = 0.0
    $aMousePos[1] = 0.0

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

    WHILE _IrrRunning()
    _IrrBeginScene( 255,255,0 )

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

    _Direction_calc()

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

    while _IrrMouseEventAvailable()
    $pMouseEvent = _IrrReadMouseEvent()
    if __getMouseEvt($pMouseEvent, $EVT_MOUSE_IACTION) = $IRR_EMIE_MOUSE_WHEEL then
    if (__getMouseEvt($pMouseEvent,$EVT_MOUSE_FDELTA) < 0 And $Entfernung < 12) Or _
    (__getMouseEvt($pMouseEvent,$EVT_MOUSE_FDELTA) > 0 And $Entfernung > 2) then
    $Entfernung -= __getMouseEvt($pMouseEvent, $EVT_MOUSE_FDELTA)/2
    endif
    endif
    wend

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

    _IrrGetCollisionResultPosition ( _
    $selector, _
    $aPoint, _
    $ellipsoidRadius, _
    $velocity, _
    $gravity, _
    0.0005, _
    $aPoint, _
    $outHitPosition, _
    $outFalling )

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

    _move()

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

    _IrrSetCameraTarget( $Camera, $aPoint[0], $aPoint[1], $aPoint[2] )

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

    _IrrDrawScene()

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

    _IrrEndScene()
    WEND

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

    Func _exit()
    _IrrStop()
    Exit
    EndFunc ; _exit

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

    Func _Direction_calc()
    Local $pKeyEvent, $keyCode

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

    $aMousePos = MouseGetPos()
    MouseMove( @DesktopWidth/2, @DesktopHeight/2, 0 )
    $aMousePos[0] -= @DesktopWidth/2
    $aMousePos[1] -= @DesktopHeight/2

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

    Local $aDirectLength = ( $aDirect[0]^2 + $aDirect[2]^2 )^(1/2)
    Local $MoveSpeed = 0.04 ; Speed des Chars
    If $velocity[1] > 0 Then $velocity[1] -= 0.25

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

    If $aMousePos[0] < 0 Then
    $degree -= $aMousePos[0]/15
    If $degree >= 180 Then $degree = -180
    ElseIf $aMousePos[0] > 0 Then
    $degree -= $aMousePos[0]/15
    If $degree <= -180 Then $degree = 180
    EndIf

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

    If $aMousePos[1] < 0 Then
    If $degZ < 179 Then $degZ -= $aMousePos[1]/15
    ElseIf $aMousePos[1] > 0 Then
    If $degZ > 1 Then $degZ -= $aMousePos[1]/15
    EndIf

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

    $aDirect[0] = $aPoint[0] - $aCamPos[0]
    $aDirect[1] = $aPoint[1] - $aCamPos[1]
    $aDirect[2] = $aPoint[2] - $aCamPos[2]

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

    $velocity[0] = 0.0
    $velocity[2] = 0.0

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

    $aDirect[0] = 100

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

    If _IsPressed("57") Then ; W drücken
    $velocity[0] = $aDirect[0]/$aDirectLength*$MoveSpeed
    $velocity[2] = $aDirect[2]/$aDirectLength*$MoveSpeed
    $RotFaktor = 180-$degree + 90
    ElseIf _IsPressed("53") Then ; S drücken
    $velocity[0] = -$aDirect[0]/$aDirectLength*$MoveSpeed
    $velocity[2] = -$aDirect[2]/$aDirectLength*$MoveSpeed
    $RotFaktor = 180-$degree - 90
    EndIf

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

    If _IsPressed("41") Then ; A drücken
    $velocity[0] = -$aDirect[2]/$aDirectLength*$MoveSpeed
    $velocity[2] = $aDirect[0]/$aDirectLength*$MoveSpeed
    $RotFaktor = 180-$degree
    ElseIf _IsPressed("44") Then ; D drücken
    $velocity[0] = $aDirect[2]/$aDirectLength*$MoveSpeed
    $velocity[2] = -$aDirect[0]/$aDirectLength*$MoveSpeed
    $RotFaktor = 180-$degree + 180
    EndIf

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

    If _IsPressed("20") Then ; Leer drücken (springen)
    $velocity[1] = 0.3
    Else
    $velocity[1] = 0.00
    EndIf

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

    ;~ while _IrrKeyEventAvailable()

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

    ;~ $pKeyEvent = _IrrReadKeyEvent()
    ;~ $keyCode = __getKeyEvt($pKeyEvent, $EVT_KEY_IKEY)

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

    ;~ Switch $keyCode
    ;~ case $KEY_KEY_W ; "W" drücken
    ;~ $velocity[0] += $aDirect[0]/$aDirectLength*$MoveSpeed
    ;~ $velocity[2] += $aDirect[2]/$aDirectLength*$MoveSpeed
    ;~ $RotFaktor = 180-$degree + 90

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

    ;~ case $KEY_KEY_D ; "D" drücken
    ;~ $velocity[0] += $aDirect[2]/$aDirectLength*$MoveSpeed
    ;~ $velocity[2] += -$aDirect[0]/$aDirectLength*$MoveSpeed
    ;~ $RotFaktor = 180-$degree + 180

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

    ;~ case $KEY_KEY_A ; "A" drücken
    ;~ $velocity[0] += -$aDirect[2]/$aDirectLength*$MoveSpeed
    ;~ $velocity[2] += $aDirect[0]/$aDirectLength*$MoveSpeed
    ;~ $RotFaktor = 180-$degree

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

    ;~ case $KEY_KEY_S ; "S" drücken
    ;~ $velocity[0] += -$aDirect[0]/$aDirectLength*$MoveSpeed
    ;~ $velocity[2] += -$aDirect[2]/$aDirectLength*$MoveSpeed
    ;~ $RotFaktor = 180-$degree - 90
    ;~ EndSwitch
    ;~ wend

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

    EndFunc

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

    Func _move()
    Local Const $pi = 3.14159265358979323846264338327950288419716939937510582097
    Local Const $deg2rad = $pi/180
    Local $rad = $degree * $deg2rad
    $aCamPos[0] = $Entfernung * Sin($degZ * $deg2rad) * Cos($rad) + $aPoint[0]
    $aCamPos[2] = $Entfernung * Sin($degZ * $deg2rad) * Sin($rad) + $aPoint[2]
    $aCamPos[1] = $Entfernung * Cos($degZ * $deg2rad) + $aPoint[1]

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

    _IrrSetNodePosition($Camera, $aCamPos[0], $aCamPos[1], $aCamPos[2])
    _IrrSetNodePosition($CharakterNode, $aPoint[0], $aPoint[1], $aPoint[2])
    _IrrSetNodeRotation($CharakterNode, 0, $RotFaktor, 0)
    EndFunc

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

    Lg.FKH87

  • Das Projekt ist wahrscheinlich grad "auf Eis" (oder abgebrochen), zumindest kommen weder neue Bilder noch irgendwas aus dem "mysteriums-forum"

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Hi,

    @FKH87 Das war nicht das aktuelle Script :D

    @Xorinator Das Projekt ist jetzt seid einem Monat (?) auf Eis, da Techmix nicht mehr dabei ist. Im Forum haben wir schon ewig keine Neuerungen für Gäste rausgegeben, weil Techmix danach an einem Map-Editor gearbeitet hat ...

  • @M3xt: Nein ist er nicht.

    Das Problem war das Techmix die HDD kaputt gegangen ist -> Alles weg. Auf jeden Fall muss er einiges nachschreiben was nicht mit Flutch zu tun hat was ihn sicher viel zeit kosten wird. Da er der "Hauptcoder" war ist er ein großer verlust, daraus folgt das wir aufgehört haben.

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

  • Achso ....

    Danke für die Information gibt es den noch ein Source der Aktueller ist als dieser hier weil ich habe in diesen jetzt eine kleine mini - Map gebaut :rock:

  • Hi Leute!

    Also wie ihr jetzt schon wisst is das Projekt mal für eine Zeit auf Eis gelegt... ich habe im moment extrem viele Dinge zu tun, mache aber immernoch nebenbei ein paar Flutch-Tests usw.. Ich habe auch beschlossen, falls das Projekt weitergeht es wahrscheinlich mit nur einem Teil des Teams und über Java verwirklicht wird..
    Danke für deine Bu-Suche Xorianator! Du darfst das neue Script haben, ABER du darfst es als unterstützung verwenden und nicht als dein eigenes verkaufen ;) und du darfst dir nicht unsere Story klaun! Ich hoffe du verstehst das..

    Wenns Fragen gibt, einfach stellen.. :D

    MFG Schnacko