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
    Ergebniss: ein 1000 km langer Script oder

    Hat das Nachteile?

  2. #2
    Nein so lang wird das Script nicht. Naja nicht soooooooo lang^^
    Nachteile? Es sieht abgehackt aus. Aber es sollte funktionieren.
    Moment ich schreib dir mal was rein:
    Code:
    scn Bewegungsscript ;
    
    short activated
    float locx
    float locy
    float locz
    float stopx
    float stopy
    float stopz
    float stopxb
    float stopyb
    float stopzb
    float speedx
    float speedy
    float speedz
    short wayx
    short wayy
    short wayz
    ref myself
    
    Begin OnActivate
    if activated == 0
    	set myself to getself
    	set stopx to myself.getpos x + 500		;bestimmt, wie weit sich das Objekt auf der x-Koordinate bewegen soll (- und + bestimmen die Richtung auf der x-Koordinate)
    	set stopy to myself.getpos y + 350		;bestimmt, wie weit sich das Objekt auf der y-Koordinate bewegen soll (- und + bestimmen die Richtung auf der y-Koordinate)
    	set stopz to myself.getpos z - 200		;bestimmt, wie weit sich das Objekt auf der z-Koordinate bewegen soll (- und + bestimmen die Richtung auf der z-Koordinate)
    	set speedx to +5					;bestimmt die Geschwindigkeit auf der x-Koordinate (muss negativ sein, wenn der Wert bei der Richtung auch negativ ist)
    	set speedy to +3.5				;bestimmt die Geschwindigkeit auf der y-Koordinate (muss negativ sein, wenn der Wert bei der Richtung auch negativ ist)
    	set speedz to -1.8				;bestimmt die Geschwindigkeit auf der z-Koordinate (muss negativ sein, wenn der Wert bei der Richtung auch negativ ist)
    	If stopx > myself.getpos x
    		set wayx to 1
    	Elseif stopx < myself.getpos x
    		set wayx to -1
    	Endif
    	If stopy > myself.getpos y
    		set wayy to 1
    	Elseif stopy < myself.getpos y
    		set wayy to -1
    	Endif
    	If stopz > myself.getpos z
    		set wayz to 1
    	Elseif stopz < myself.getpos z
    		set wayz to -1
    	Endif
    	set activated to 1
    Elseif (activated == 1)
    	If (wayx == 1) && (locx >= stopx) || (wayx == -1) && (locx <= stopx) && (wayy == 1) && (locy >= stopy) || (wayy == -1) && (locy <= stopy) && (wayz == 1) && (locz >= stopz) || (wayz == -1) && (locz <= stopz)
    		set activated to 2
    	Endif
    Endif
    End
    
    Begin GameMode
    if activated == 0
    return
    Elseif activated == 1
    	set locx to myself.getpos x - speedx
    	set locy to myself.getpos y - speedy
    	set locz to myself.getpos z - speedz
    	If (wayx == 1) && (locx < stopx)
    		myself.setpos x locx
    	Elseif (wayx == -1) && (locx > stopx)
    		myself.setpos x locx
    	Endif
    	If (wayy == 1) && (locy < stopy)
    		myself.setpos y locy
    	Elseif (wayy == -1) && (locy > stopy)
    		myself.setpos y locy
    	Endif
    	If (wayz == 1) && (locz < stopz)
    		myself.setpos z locz
    	Elseif (wayz == -1) && (locz > stopz)
    		myself.setpos z locz
    	Endif
    Elseif activated == 2
    	set locx to myself.getpos x + speedx
    	set locy to myself.getpos y + speedy
    	set locz to myself.getpos z + speedz
    	If (wayx == 1) && (locx > stopx)
    		myself.setpos x locx
    	Elseif (wayx == -1) && (locx < stopx)
    		myself.setpos x locx
    	Endif
    	If (wayy == 1) && (locy > stopy)
    		myself.setpos y locy
    	Elseif (wayy == -1) && (locy < stopy)
    		myself.setpos y locy
    	Endif
    	If (wayz == 1) && (locz > stopz)
    		myself.setpos z locz
    	Elseif (wayz == -1) && (locz < stopz)
    		myself.setpos z locz
    	Endif
    
    Endif
    End

  3. #3
    Abgehackt ist irgendwie dumm.
    Und wie war das mit dem das Schiff is ein Tier?

  4. #4
    Geht unter...

  5. #5
    Also bleibt mir nur eine elendig lange Animation oder?

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

  7. #7
    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.

  8. #8
    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.

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

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

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

  12. #12
    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.

Berechtigungen

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