Script Problem

Moderator: Moderatoren

36 Beiträge Seite 1 von 4
Skarok
Krieger
Krieger
Beiträge: 40
Registriert: 27.07.2010 20:08


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
bIgGeSt_NoOb
Schwertmeister
Schwertmeister
Beiträge: 71
Registriert: 29.05.2007 11:20
Danksagung erhalten: 4 Mal


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:
Code: Alles auswählen
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
bIgGeSt_NoOb
Schwertmeister
Schwertmeister
Beiträge: 71
Registriert: 29.05.2007 11:20
Danksagung erhalten: 4 Mal


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
Skarok
Krieger
Krieger
Beiträge: 40
Registriert: 27.07.2010 20:08


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
bIgGeSt_NoOb
Schwertmeister
Schwertmeister
Beiträge: 71
Registriert: 29.05.2007 11:20
Danksagung erhalten: 4 Mal


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.
Skarok
Krieger
Krieger
Beiträge: 40
Registriert: 27.07.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
bIgGeSt_NoOb
Schwertmeister
Schwertmeister
Beiträge: 71
Registriert: 29.05.2007 11:20
Danksagung erhalten: 4 Mal


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:
Code: Alles auswählen
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:
Code: Alles auswählen
scn NPCTOT

short doonce

Begin OnDeath
  if doonce == 0
    setStage meineNQ xyz
    set doonce to 1
   endif
End 
jimmartens
Krieger
Krieger
Beiträge: 40
Registriert: 12.08.2010 12:50


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?
Skarok
Krieger
Krieger
Beiträge: 40
Registriert: 27.07.2010 20:08


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?
jimmartens
Krieger
Krieger
Beiträge: 40
Registriert: 12.08.2010 12:50


Stell mal die HavokSim an, nachdem du die Lebenspunkte auf 0 gesetzt hast. Dann müsste die Leiche zu Boden fallen.
36 Beiträge Seite 1 von 4

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste