Allgemein
News
News-Archiv
Partner
Netzwerk
Banner
Header
Media
Downloads
Impressum

The Elder Scrolls
Arena
Daggerfall
Spin-offs
Romane
Jubiläum
Reviews
Welt von TES
Lore-Bibliothek
Namens-
generator

FRPGs

Elder Scrolls Online
Allgemein
Fraktionen
Charakter
Kargstein
Technik
Tamriel-
Manuskript

Media

Skyrim
Allgemein
Lösungen
Tipps & Tricks
Steam-Kniffe
Review
Media
Plugins & Mods

Oblivion
Allgemein
Lösungen
Tipps & Tricks
Technik
Charakter
Media
Plugins & Mods
Kompendium

Morrowind
Allgemein
Lösungen
Tipps & Tricks
Media
Plugins & Mods

Foren
The Elder Scrolls Online
Hilfe & Diskussion

Skyrim
Hilfe & Diskussion
Plugins & Mods

Ältere TES-Spiele
TES-Diskussion
Oblivion-Plugins
Morrowind-Plugins

Community
Taverne zum Shalk
Adventures of Vvardenfell
Tales of Tamriel
Ergebnis 1 bis 20 von 42

Thema: fahrende Schiffe

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Also bleibt mir nur eine elendig lange Animation oder?

  2. #2
    Wenn du die hinbekommst xD
    Wieso setzt du die schiffe nicht einfach in die welt und gut ist^^

  3. #3
    Währe halt mal was neues, schönes.

    Wie währe es wenn du eine kleine Animation schreibst für ein Fischerbot das rausfährt, dort ein bischen bleibt und dann wiederkommt.

  4. #4
    Ich kann doch keine Animation schreiben xD Eine machen^^
    Aber es wird so schwer funktionieren, da ich es irgendwie nicht Exportieren kann. Und wie man die Animationen richtig einfügt weiß ich uch net.

  5. #5
    Wenn keiner mehr weiter weiß dann Low Post fragen

  6. #6
    Low Post ist Gut im Scripten aber nicht im Animieren xD

  7. #7
    Die Animationkommt ja von dir, des mit dem einfügen währe ja dann ein Script

  8. #8
    Wieso bin eigentlich immer ich der Depp, der euch bei Problemen aus der Patsche helfen soll?



    Ich würde das mit der SetPos-Lösung probieren. Wenn die Schritte klein genug sind sieht das auch nicht abgehackt aus. Wenn es lange Strecken wären könnte es da Probleme mit der maximalen Scriptlänge geben, aber da gibt es ja zum Glück Mittel und Wege (Activate 1/SetStage) das zu umgehen.

    Ein anderes Problem ist, dass bei SetPos meines Wissens nach die Kollision des Objekts nicht mitverschoben wird. Dazu ist ein Disable gefolgt von einem Enable (frühestens im nächsten Frame) nötig.
    Ab einer gewissen Framerate (keine Ahnung was, ich würde mal auf etwas in der Gegend zwischen 15 und 25 tippen) fällt das aber auch nicht mehr auf.
    Wichtig sollte hierbei aber sein, dass es bei mehr Frames sichtbar (=enabled) ist, als unsichtbar (=disabled). Ob das wirklich eine Rolle spielt und wie sich das sonst auswirkt kann ich zwar nicht mit Sicherheit sagen (sollte man evtl. testen), aber wenn man zu faul zum testen ist () sollte man lieber auf Nummer sicher gehen.



    Ansonsten würde ich mal diese Mod hier begutachten:
    Ruderboote

    Da müsste man das ganze nur noch automatisieren und unabhängig von Spielerentscheidungen machen.

  9. #9
    Script:

    Wie LP bereits schreibt. Es sieht nicht abgehakt aus. Das von Dir aufgeführte Boot in Adash wird genau auf diese Art und Weise bewegt. Und auch in meiner Mod gibt es bereits mehrere dieser Scripte.

    Allerdings birgt diese Methode eben das Problem der Collision. Diese wird nicht mitbewegt und somit ist das Boot dann Collisionslos und der Spieler könnte auf dem Wasser einfach durch das Schiff oder Boot hindurch laufen. Die grösseren Schiffe bestehen zudem aus mehren Teilen und es wäre zwar möglich, doch ziemlich aufwendig jedes Teil per Script zu verschieben. Wegen der Scriptlängenbegrenzung (1000 Zeilen) müsste man dann wohl das ganze auf mehrere Scripte aufteilen und dies ist nicht mal so schnell gemacht.
    Machbar......ohne Frage. Doch sehr aufwendig da Du tricksen musst. Die Frage mit der Collision wäre dann noch nicht geklärt, da die Boote ja jederzeit fahren sollen und es so nicht reicht am Endpunkt ein Boot mit Collision zu enablen und das fahrende Boot welches ohne Collision ankommt zu disablen. Genau wegen diesem Collisionsproblem wird diese Technik selten eingesetzt, oder eben nur auf ganz genau festgelegten Strecken, welche nur einmal genutzt werden und bei denen der Spieler keine Möglichkeit hat herumzulaufen und festzustellen das da eine Collision verloren ging.

    Animationen: Noch schwieriger. Erstes gibt es nur wenig Leute die eine solche Animation wie sie Dir vorschwebt erstellen können. Und die meistens davon sind mit eigenen Projekten beschäftigt. Zweitens:
    Wenn Du nun als einfachste Lösung ein Fischerboot nimmst und dort die Animation drauf legst, dann hast Du ein leeres Fischerboot welches seine Runden dreht. Doch was machst Du mit dem Fischer und dem Hocker (eventuell) auf dem er sitzen soll???
    Wenn Du einen Hocker in dem Boot haben willst auf dem ein NPC per Package sitzen kann, dann musst Du ein Furniture wählen. Auf ein Furniture kannst Du allerdings keine Animation legen, denn für Animationen brauchst Du einen Aktivator. Ganz zu schweigen von dem Fischer.................Wenn Du also nicht nur leere Boote rumfahren lassen willst, dann musst Du zwangsläufig mit Scripts arbeiten. Es gibt im Moment keine andere Lösung.

    Über dieses Problem habe ich schon ganze Nächte mit einem Animationsexperten gesessen und rumprobiert. Wir haben auch keine Lösung gefunden, außer dem Schritt zurück zu den Scripten.

    Edit: Die von LP verlinkten Ruderboote arbeiten übrigens auch mit Script.
    Geändert von Muecke49 (05.03.2009 um 08:56 Uhr)

  10. #10
    Ja, ich meinte das es abgehackt aussieht wenn er es jetzt auf die schnelle machen will, wenn man jetz schritte von 0,5 nimmt... wird das Script allein schon ewig lang, vorallem bei großen strecken...
    Ich hab ja ein Script reingeschrieben wie es funktionieren sollte.

    Edit @ Low Post
    Wieso immer du^^
    Ich hab doch gesagt das du keine Animationen machen kannst und ich hab gesagt des es per Script bewegt werden kann.^^

  11. #11
    Also zwecks Scriptlänge:
    Ich würde da einfach für alle möglichen Bewegungen (vorwärst/rückwärts/links drehen/etc.) Eigene Aktivatoren machen, die das für eine/mehrere variable Referenz ausführen. Im Hauptscript werden erst die zu bewegenden Referenzen bestimmt und dann mit z.B. einem Counter immer die jeweilige Aktion aufgerufen.

    Wichtig dabei ist, dass man nicht mehr als 5/6 Aktionen im gleichen Frame aufruft, da sonst der Activate-Befehl einfach nicht ausgeführt wird.



    Hier mal ein Beispielscript für Vorwärtsfahren:
    Code:
    scn ActivateorShipMoveForwardScript
    
    long Index
    float PosX
    float PosY
    float TrigAngleZ
    ref rMove
    ref Ref1
    ref Ref2
    ;etc.
    
    Begin OnActivate
     SaveIP
     set rMove to Player
     if ( Index == 0 )
      set rMove to Ref1
     elseif ( Index == 1 )
      set rMove to Ref2
     ;etc.
     else
      ResetAllVariables
      Return
     endif
     rMove.Disable                   ;Kollision muss mit bewegt werden. Erforder ein Enable im Hauptscript!
     if ( ( rMove.GetAngle z ) < 90 )
      set TrigAngleZ to ( 90 - ( rMove.GetAngle z ) )
     else
      set TrigAngleZ to ( 450 - ( rMove.GetAngle z ) )
     endif
     set PosX to ( ( rMove.GetPos x ) + ( cos TrigAngleZ ) )
     set PosY to ( ( rMove.GetPos y ) + ( sin TrigAngleZ ) )
     ;Um die Geschwindigkeit zu erhöhen muss man einen Faktor vor den Sinus/Cosinus setzen.
     rMove.SetPos x, PosX
     rMove.SetPos y, PosY
     set Index to ( Index + 1 )
     RestoreIP
    End
    Ich hab OBSE-Befehle verwendet, da mir die Ersatzreihen für Sinus/Cosinus nicht geläufig sind. Die lassen sich aber im CS-Wiki finden.
    Und der Loop lässt sich auch ohne größere Probleme aufspalten (dann braucht man auch rMove & Index nicht mehr); gleiches gilt natürlich für das ResetAllVariables.


    Und hier noch ein Beispiel für ein Hauptscript mit einer Ref, die sich 15 Einheiten nach vorne bewegt:
    Code:
    scn BoatMainScript
    
    int bDisabled       ;sicherstellen, dass das Boot 2 Frames sichtbar und nur einen unsichtbar ist
    short Stage
    long Count
    
    Begin Gamemode
     if ( bDisabled )
      if ( BoatRef.GetDisalbed )
       BoatRef.Enable
      else
       set bDisabled to 0
      endif
      Return
     endif
     set bDisabled to 1
     if ( Stage == 0 )
      if ( Count < 15 )
       set ActivateorShipMoveForwardRef.Ref1 to BoatRef
       ActivateorShipMoveForwardRef.Activate Player, 1
       Return
      endif
     elseif ( Stage == 1 )
      ;hier kommt der Code fürs zurückfahren hin.
     ;etc.
     else
      set Stage to 0
     endif
     set Stage to ( Stage + 1 )
    End
    Das hier benötigt keine OBSE-Befehle, wenn man die also aus den Bewegungsscripten "eliminiert" (was durchaus möglich ist) wird das auch nicht benötigt.

  12. #12
    Ist das jetzt die Animierte Technik oder die "Ruckelnde"?

  13. #13
    Zitat Zitat von Low Post Beitrag anzeigen
    Wieso bin eigentlich immer ich der Depp, der euch bei Problemen aus der Patsche helfen soll?



    Ich würde das mit der SetPos-Lösung probieren. Wenn die Schritte klein genug sind sieht das auch nicht abgehackt aus. Wenn es lange Strecken wären könnte es da Probleme mit der maximalen Scriptlänge geben, aber da gibt es ja zum Glück Mittel und Wege (Activate 1/SetStage) das zu umgehen.

    Ein anderes Problem ist, dass bei SetPos meines Wissens nach die Kollision des Objekts nicht mitverschoben wird. Dazu ist ein Disable gefolgt von einem Enable (frühestens im nächsten Frame) nötig.
    Ab einer gewissen Framerate (keine Ahnung was, ich würde mal auf etwas in der Gegend zwischen 15 und 25 tippen) fällt das aber auch nicht mehr auf.
    Wichtig sollte hierbei aber sein, dass es bei mehr Frames sichtbar (=enabled) ist, als unsichtbar (=disabled). Ob das wirklich eine Rolle spielt und wie sich das sonst auswirkt kann ich zwar nicht mit Sicherheit sagen (sollte man evtl. testen), aber wenn man zu faul zum testen ist () sollte man lieber auf Nummer sicher gehen.



    Ansonsten würde ich mal diese Mod hier begutachten:
    Ruderboote

    Da müsste man das ganze nur noch automatisieren und unabhängig von Spielerentscheidungen machen.
    Warum du immer gefragt wirst? Du kannst es!!

    Nun gut, den Mod hab ich. (Wegen deiner Empfehlung) Mal schaun ob ich des umschreiben kann.

    Und das andere geht wirklich nicht einfacher?


    EDIT: Was sagt ihr Mods zum Arbeitsamt?

  14. #14
    o_O

    Ist doch ganz einfach.




    Modder-Arbeitsamt:
    Ich muss noch warten was GlasMond dazu sagt. Da er momentan aber nicht so viel Zeit hat dauert das leider etwas.
    Bis dahin bleibt das vorläufig ungestickt () offen.

  15. #15
    Meint ihr es wird noch betrachtet wenn ihrs als Sticky macht?

  16. #16
    Ich les das immer wieder und weiß nie was das sein soll!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •