SureAI

Forums covering SureAI game titles.

https://forum.sureai.net/

Topic title - Script Problem

https://forum.sureai.net/viewtopic.php?t=2593

Page 1 of 2
Script Problem - by Skarok
Posted: 12.08.2010 20:32
ich bin gerade am erstellen einer Mod für Nehrim, aber ich habe folgendes Problem:
Ich versuche ein Quest zu erstellen wo man sich mit einem NPC unterhält und er einem nach einem bestimmten Topic das man ihn fragt ein Quest startet, er einem folgt, man ihn Befehle geben kann und er dies erst ab Ende der Mission beendet. Zudem soll ein Topic verschwinden wenn man auf das Topic klickt wo man den NPC Hilfe anbietet. Bin im Scripten noch nicht so gut, also wäre es schön wenn mir einer sagen könnte wie ich mein Script ungefähr gestalten müsste :D
Re: Script Problem - by bIgGeSt_NoOb
Posted: 13.08.2010 17:55
Also:
Du erstellst eine neue Quest, ich nenn sie hier mal meineNQ.
Dann machst du (mindestens) 3 Queststages:
5 - kein Log Eintrag, kein Result Script
10 - Log Eintrag in etwa so: "Ich habe den NPC angesprochen, er folgt mir nun..." (je nachdem, was du da haben willst :D)
15 - Log Eintrag , Quest fertig - NPC folgt mir nicht mehr, Result Script:
Set VarQuestComplete to ( VarQuestComplete +1 )
Und dann noch EP, Geld oder Itembelohnungen hinzufügen.

Als nächstes gehst du ins Dialog-Menü und erstellst dort erstmal einen neuen Dialog, ID z.B. meineNQTopic01.
Oben bei Topic Text trägst du z.B. ein "Ich möchte den Auftrag annehmen."
Dann erstellt du einen neuen Text mit dem ersten Teil, den der NPC sagen soll, dazu kannst du die Emotion einstellen, die der NPC dabei haben soll und ggf. eine Audio Datei dazu, das geht glaub ich aber nur in der alten Version vom CS. Alle weiteren Teile, die er hintereinander sagt, trägst du bei Response Details hintereinander ein.
SayOnce solltest du anwählen.
Danach trägst du unten bei Conditions die beiden Bedingungen ein:
GetIsID NpcID == 1
GetStage meineNQ == 5

Bei Result Script trägst du dann "SetStage meineNQ 10" ein und bei AddTopics später die Topics, die jetzt beim NPC erscheinen sollen.

Jetzt erstellst du alle Topics, die du brauchst, und fügst sie unter dem Reiter Topics im Quest Menü deiner Quest hinzu.
Überlege dir dabei immer, welche Bedingungen (Conditions) du brauchst, also immer den NPC und die Queststage abfragen. Unter Umständen auch, wieviele bestimmte Items der Spieler dabei hat, wieviel Geld er hat usw usf. Die Liste ist ja lang genug. ;)

Mit dem NPC folgen werd ich nochmal schaun. Mit den Topics kannst ja schonmal die Befehle einfügen.

Grüße,
bIgGeSt_NoOb
Re: Script Problem - by bIgGeSt_NoOb
Posted: 14.08.2010 17:43
Okay, easy going:
Du erstellst für jede Auswahl ein AI-Package (stehen bleiben, folgen, etc. Ich hoffe du weißt, wie das geht :)) mit jeweiliger Bedingung GetStage meineNQ xyz.
Dann fügst du alle Queststages xyz ein (am besten 11, 12, 13, ... ). Bei den Topics trägst du als Resultscript beispielsweise fürs Follow folgendes ein:
SetStage meineNQ 11
NPCRef.evp

Für NPCRef trägst du natürlich die Referenz auf deinen NPC ein. Nun müsste dir der NPC folgen, wenn du ein AI-Package erstellt hast, bei dem der NPC dem Spieler folgt, wenn die Queststage 11 eintritt.

Hoffe, du kriegst das hin. ;)
Falls du was nicht raffst oder schaffst, schreibs einfach hier rein.

Grüße,
bN
Re: Script Problem - by Skarok
Posted: 14.08.2010 19:29
Danke erstmal für deine Hilfe! Es klappt soweit, nur kommt der NPC gleich schon angerannt wenn ich das Game starte. Kannst du mal bitte vieleichts erklären wie ich das genau machen muss? Hatte schonmal einen Begleiter erstellt, da war das nicht so. Den Energy Level hab ich schon runtergedreht, scheint aber nicht zu funktionieren

mfg Skarok
Re: Script Problem - by bIgGeSt_NoOb
Posted: 14.08.2010 19:38
Energy Level? Seine Ausdauer oder was? :D Das bringt wohl wenig. xD
Denke mal, das liegt an den Bedingungen vom AI Package. Du musst da auf jeden Fall die GetStage meineNQ xyz Bedinung mit jeweiliger Queststage angeben! Dann müsste es klappen.
Re: Script Problem - by Skarok
Posted: 14.08.2010 20:08
Ok, jetzt gehts. :D Ich habe die Befehle in ein Script verfasst(mit Messageboxen und so). Wie kann ich es anstellen dass das Script erst in Kraft tritt wenn das HilfeTopic aktiviert wurde? Außerdem möchte ich zwischen dem Ende eine Queststage einbauen, das wenn wir eine bestimmte Linie)Trigger) überqueren wir von einem NPC angegriffen werden und eine Questaktualisierung kommt wenn er tot ist
Re: Script Problem - by bIgGeSt_NoOb
Posted: 14.08.2010 21:23
Wie kann ich es anstellen dass das Script erst in Kraft tritt wenn das HilfeTopic aktiviert wurde?
Im Resultscript vom Topic eine Variable im Script hochsetzen und dann ein If-Block um den Script-Teil.
Außerdem möchte ich zwischen dem Ende eine Queststage einbauen, das wenn wir eine bestimmte Linie)Trigger) überqueren wir von einem NPC angegriffen werden
Ein/zwei Marker hinsetzen, Referenz geben und dann im Script vom ersten Marker abfragen, wann man sich diesem nähert und dann halt den NPC in der 2. Box spawnen lassen (oder er ist schon da) und ihn dann angreifen lassen:
scn Linie

Begin GamePlay
  If getDistance Player < 300
    If getStage meineNQ xyz
      NPCRef.moveTo Marker2Ref
      NPCRef.startCombat Player
    Endif
  Endif
End
Für 300 kannst du natürlich auch eine andere Reichweite einsetzen. Eventuell muss da noch ein NPCRef.evp hin, weiß nicht genau.
und eine Questaktualisierung kommt wenn er tot ist
Beim NPC einen Script drauflegen:
scn NPCTOT

short doonce

Begin OnDeath
  if doonce == 0
    setStage meineNQ xyz
    set doonce to 1
   endif
End 
Re: Script Problem - by jimmartens
Posted: 15.08.2010 15:35
Ich hänge mich mit meiner Frage dran: Was bedeuten diese Reichweiten? Wie weit ist z.B. 300? Wenn ich das wüsste, würde ich mir endlich diese Skripts mit Entfernungsangaben auch visuell vorstellen können. Sind es z.B. 300 mm/cm/dm/m oder welche Einheit ist das?
Re: Script Problem - by Skarok
Posted: 15.08.2010 18:12
Also..
Das mit dem Begleiter hab ich geschafft. Allerdings nur außerhalb der Portalgegend wo er erscheinen soll. Immer wenn ich durch ein Portal komme, erscheint der NPC da nicht. Des weiteren wird die weiter hinten plazierte Triggerbox gleich aktiviert, worauf der Wächter gleich angerannt kommt um mich zu erldedigen. dann wollen seine Feinde und Verbündeten die eigentlich aufeinander losgehen sollen auf ihn los, außer zwei die ich in einem Script gegeneinander kämpfen habe lassen, damit ein Kampf entbrennt. Bleibt aber bei den zwei. Hab die Faktions schon gegeneinander zu .100 eingestellt. Dann noch ein Prob: Ich wollte eine Leiche plazieren, aber die steht anstatt zu liegen^^ Wie muss ich das genau machen außer Leben = 0?
Re: Script Problem - by jimmartens
Posted: 15.08.2010 18:26
Stell mal die HavokSim an, nachdem du die Lebenspunkte auf 0 gesetzt hast. Dann müsste die Leiche zu Boden fallen.
Re: Script Problem - by Skarok
Posted: 15.08.2010 18:31
Wo stellt man das ein?
Und das mit den MessageBoxen ist bei allem- Menumode, Gamemode.. :(
Re: Script Problem - by jimmartens
Posted: 15.08.2010 18:52
So stellt man das ein:
World -> Run Havok Sim
bzw.
auf den Button rechts außen im 4. Buttonblock von links klicken. Dort ist ein HK drauf.

Zu dem Kampf: Befindet sich der Wächter in der Faction seiner Verbündeten? Wenn nein, dann dürfte dies erklären, warum er von dieser auch attackiert wird. Wenn er sich in der Faction befindet, dann ist es klar, dass seine Feinde ihn angreifen. Einzige Lösung, die mir jetzt spontan einfällt, wäre, ihn in eine eigene Faction zu stecken und diese freundlich zu den beiden anderen zu machen. Weiterhin müsstest du in den anderen 2 Factions (Verbündete, Feinde) natürlich auch die Faction des Wächters auf freundlich machen.
Re: Script Problem - by Skarok
Posted: 15.08.2010 18:58
Danke erstmal! :D
Der Wächter ist in derselben Faktion wie die anderen Wächter, die eigentlich die anderen attakieren sollten. Mittlerweile hab ich das jetzt hingekriegt, bis darauf dass alle Scripts hinter dem Portall gleich nach dem Betreten starten, statt dann wenn sie es sollten.
Re: Script Problem - by Prototype3047
Posted: 15.08.2010 19:35
Dann haste wohl anstatt "Begin OnTrigger" das Script mit "Begin GameMode" gestartet...
Re: Script Problem - by bIgGeSt_NoOb
Posted: 15.08.2010 19:38
Denke mal, das liegt an irgendeiner Condition, die falsch gesetzt ist. Vielleicht ist die Reichweite zu hoch? 300 sind geschätzt... puh.. 3 Meter? Weiß nicht genau. Wenn du 5000 oder so genommen hast, ist das viel zu hoch. :)

Edit: Oh, ja das kann sein, hab ich wohl nen Fehler gemacht. *ups*
Re: Script Problem - by Skarok
Posted: 15.08.2010 19:48
Ja, das stimmt. Nur ist dasselbe bei Sxcripts für Waffen, das kommt auch gleich wenn ich das Portal betätige. Und da hab ich keinen HameMode verwendet.
Edit: Hat sich erledigt, die Waffenscripts gehen jetzt auch :D
Re: Script Problem - by bIgGeSt_NoOb
Posted: 15.08.2010 19:49
Kannst du mal den Script posten? :)
Re: Script Problem - by Skarok
Posted: 15.08.2010 19:53
Ok. Triggerscript:
scn Angriffsscript

[code]Begin OnTrigger
MessageBox "Ihr dürft nicht passieren!", "Okay"
Wachter1.SetAV Aggression 100
Wachter1.StartCombat player 
Ketzer1.StartCombat Wachter2
Wachter2.StartCombat Ketzer1
end[/code]
Waffenscript1:
scn Ketzerwaffenscript

Begin OnEquip
MessageBox "Du kannst diese Waffe nicht verwenden!"
player.unequipItem Ketzerschwert
end
Waffenscript2:
scn Wachterwaffenscript

[code]Begin MenuMode
MessageBox "Ihr könnt diese Waffe nicht verwenden!", "Okay"
player.unequipItem Wachterschwert1
end
[/code]
Re: Script Problem - by bIgGeSt_NoOb
Posted: 15.08.2010 19:58
Und Waffenscript1 aktiviert sich, sobald du das Portal benutzt? Hö? Wie hab ich das zu verstehen?

Hast du den Triggerscript auf das Portal gelegt? Dann ist das ja klar, dass die dich sofort angreifen... wodrauf willst den den denn haben?
Re: Script Problem - by Skarok
Posted: 15.08.2010 20:04
Nein, ich hatte einmal Begin on Equip und einmal Begin GameMode im Script. jetzt läufts wieder :D
Nur wie stellt man nochmal ein das die Feinde nicht wegrennen wenn sie geschwächt sind?
All times are UTC+02:00
Page 1 of 2
Powered by phpBB® Forum Software © phpBB Limited