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 3 von 3

Thema: Ich drehe noch durch! Scriptfrage...

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Ich drehe noch durch! Scriptfrage...

    Wäh.. da sitze ich jetzt schon ein paar Stunden dran, an dem Mist.
    Folgende Situation: 1 Typ soll sofort zu einem vorgegebenen Punkt rennen, wenn der Spieler sich auf z.B. 2000 Einheiten nähert. Billig bis jetzt. Es geht aber noch weiter:
    und zwar soll der Typ nicht nur einmal zu seinem Ziel rennen und dann das nächste Package wählen, sondern genau dort stehen bleiben. Schon etwas kniffliger.
    Es kommt aber noch mehr. Der gleiche Typ soll ein neues AI-Package wählen, sobald ein bestimmter Quest eine gewisse Stage erreicht hat.
    So, die Schwierigkeit hierbei ist: Als PackageType für das hinrennen zum vorgegebenen Punkt kommt nur "Travel" in Frage, da er sonst um diesen Punkt herum wandern würde, er soll aber auf dem Punkt stehen bleiben.
    Das Problem bei Travel ist aber, das es nach erreichen des Punktes als "complete" gilt und ein anderes Package gewählt wird.
    Problem Nummer 2: Der Start des Packages. Anfangs habe ich es mir ganz einfach gemacht und das Package in der Liste an die erste Stelle gesetzt. Als Condition habe ich dann die Queststage und eine "GetDistance" Abfrage von 2000 Einheiten angegeben. So rannt er dann auch gleich los, wenn ich in den Aktionradius kam. Problem hierbei:
    sobald ich mich aus dem 2000 Einheiten Radius entfernte, stimmte eine Condition des Packages nicht mehr und er wählte ein anderes, was er aber nicht soll.
    Also, was machen?
    Ich habe es dann versucht, das Package per Script zu rufen, ebenfalls mit einem Aktionsradius von 2000 Einheiten. Hat auch wunderbar geklappt, aber hier war dann wieder der PackageType "Travel" der Fehler: nachdem erreichen seiner Position galt das Package als erledigt und ein anderes wurde gewählt.
    Dann dachte ich mir, setze ich in das Script einfach einen Switch ein:
    GetDistance unter 2000 -> Schalter an
    Wenn Schalter an -> rufe Package.
    Soweit eine gute Idee, jedoch wurde dadurch das gebrauchte Package ohne Pause aufgerufen, was den NPC dazu brachte irgendwie nicht von der Stelle zu kommen. Immer wenn er losgehen wollte, wurde sein Package resettet und so wollte er wieder losgehen, wieder reset und immer so weiter...
    Problem Nummer 3:
    Setze ich das AI Package an die erste Stelle, lediglich mit der Condition, das es nur bis zu einer gewissen Queststage ausgeführt wird, wird das Package sofort beim betreten des Levels gewählt, ganz egal ob ein Script etwas anderes sagt. Das gleiche Package mit der gleichen Condition in der Liste an die ZWEITE Stelle zu setzen verursacht dann wiederum wieder, das nach erreichen der Position das Package als erledigt gilt, und jenes mit der höchsten Priorität gewählt wird.
    Das ganze ist wirklich sehr Gedankenzermürbend und ich weiß im Moment noch keine gute Lösung.
    Ich habe an eine GlobalValue gedacht und diese dann in das Package als Condition einsetzen. Die Value könnte ich dann auf 1 setzen, wenn man sich auf 2000 Einheiten nähert, so könnte auch das AI Package auf erster Priorität laufen, da es eh nicht eher ausgeführt wird, bis die Value der Variabele auf 1 steht. Dannach kann ich durch das ResultScript der Queststages das Package komplett entfernen.
    Aber ich weiß nicht ob das alles so funktioniert.
    Hat jemand ne bessere/andere Lösung ?
    [Obwohl ich nicht wirklich viel Hoffnung habe, das jemand was antworten kann, das mir hilft..... -.-]

  2. #2
    Zitat Zitat von Lagerhaus_Jonny
    Ich habe an eine GlobalValue gedacht und diese dann in das Package als Condition einsetzen. Die Value könnte ich dann auf 1 setzen, wenn man sich auf 2000 Einheiten nähert, so könnte auch das AI Package auf erster Priorität laufen, da es eh nicht eher ausgeführt wird, bis die Value der Variabele auf 1 steht. Dannach kann ich durch das ResultScript der Queststages das Package komplett entfernen.
    Aber ich weiß nicht ob das alles so funktioniert.
    Hat jemand ne bessere/andere Lösung ?
    [Obwohl ich nicht wirklich viel Hoffnung habe, das jemand was antworten kann, das mir hilft..... -.-]
    Kann man mit GetDistance überprüfen, ob der NPC den Ort erreicht hat?

    Dann könnte man folgendes machen: Wenn die Distance zum Ort kleiner 10 ist, bleib stehen.

    Dafür müßte es einen "Bleib stehen" oder "Warte"-Befehl geben.

  3. #3
    Ja, aber es gibt keinen solchen Befehl. Das einzige was einen ähnlichen Effekt hat, ist ein Timer. Aber an dem letzten Timer, den ich brauchte, habe ich über eine Woche gesessen, bis alles so funktionierte wie es soll.
    Ich hab's jetzt mit der GlobalValue Variante gemacht, hat auch funktioniert.

Berechtigungen

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