World of Gothic Archiv > NWN-Hilfe
Kleine FAQ
Seite 2 von 2  1  2 
18.07.2002, 10:52 #26
gReEn_bLoOd
Beiträge: 97

und ich push den jetz mal hoch weil der gut ist :)
18.07.2002, 21:22 #27
Nizidraman
Beiträge: 1.171

mal schieb und verschwinde. Und Avi, Thalandar, Keath und Lee ruf. Wo bleibt ihr?
19.07.2002, 21:20 #28
Omega Darkblade
Beiträge: 257

*hochschieb*

*auch mal nach den anscheinen nicht vorhandenen mods ruft*
08.08.2002, 10:39 #29
GuradonHellsing
Beiträge: 232

Hi
habe ein Problem mit dem NPC attacken bis er fast tot ist und dann gespräch.
---------------------------------------------------
void main()
{
if (GetCurrentHitPoints(OBJECT_SELF)<=20)
{
object oPC = GetLastAttacker(OBJECT_SELF);
AdjustReputation(oPC, OBJECT_SELF, 100);
SetLocalInt(oPC,"damage",1);
AssignCommand(oPC, ClearAllActions());
AssignCommand(OBJECT_SELF, ClearAllActions());
AssignCommand(OBJECT_SELF, ActionStartConversation(oPC));
}
}
-----------------------------------------------------
Das Problem ist das der NPC kurz aufhört zu kämpfen unten steht dann
Bala Bla Bla is to ecxitet to talk
und der npc greift wieder an weil mein char ihn auch weiter hin angreift
10.08.2002, 20:12 #30
Riptor2
Beiträge: 27

Ich hab auch noch n kleines prob:

Wie mach ich das das gegner z.B. Orcs mir von anfang an freundlich gesinnt sind?
11.08.2002, 09:48 #31
GuradonHellsing
Beiträge: 232

eohm das gehört nicht hier rein aber du musst die fraction in den kreatur eigenschaften ändern (da wo hostile) steht
11.10.2002, 01:28 #32
Frumfondel
Beiträge: 464

@ guradon:

selbiges hatte ich auch, ich hab mir dann das "desther"script genommen und 1:1 kopiert und es funktioniert einwandfrei. (lediglich die trefferpunkte, bei der mein gegner aufgeben soll hab ich verändert).

schau dir einfach das script aus dem endkampf an...

mfg fondel
12.07.2003, 15:40 #33
Volli
Beiträge: 15
Problem
Problem: Ich möchte das eine Kreatur den Kampf aufgibt bevor sie stirbt und mich anschließend anspricht.

Lösung:

Bei OnDamaged der Kreatur einfügen:

void main()
{
if (GetCurrentHitPoints(OBJECT_SELF)<=40)
{
object oPC = GetLastAttacker(OBJECT_SELF);
AdjustReputation(oPC, OBJECT_SELF, 100);
AssignCommand(oPC, ClearAllActions());
AssignCommand(OBJECT_SELF, ClearAllActions());
AssignCommand(OBJECT_SELF, ActionStartConversation(oPC));
}
}

Hab das mal getestet und irgendwie klappt das nicht! Die Kreatur hört kurz auf zu kämpfen, will mich ansprechen, dann steht da unten in gelb: Ihr seid momentan zu angespannt um zu reden, und dann kämpft die kreatur weiter und stirbt doch.... kann mir da jemand helfen?
12.07.2003, 19:38 #34
Frumfondel
Beiträge: 464

stimmt.

siehe einen post weiter oben!

aber nochmal zum mitchreiben:

lösung: öffne die org kampagne 1. akt. such dir den "endkamp" mit desther. schau unter "ondamaged" (glaub ich war es) und kopier dir das script (am besten in nen texeditor). dann lädst du dein eigenes modul und pastest das script einfach ebenfalls unter "ondamaged".

das war der einzige weg, wie ich es zum funktionieren gebracht habe. bin halt kein scripter ;)

wenn du dir dann das script etwas genauer anschaust, sollte irgendwo auch noch der wert seiner tp stehen, bei dem er aufgeben soll. ansonsten kanns gut sein, daß du deinen gegner mit einem schlag umhaust und er garnet aufgeben kann.

ist etwas fuddelarbeit, aber es sollte nicht so schwer sein. (ich habs immerhin auch mal hinbekommen *fg*)

gruß fondel
12.07.2003, 19:46 #35
Volli
Beiträge: 15
DAAANKE
Man man man hatte mir das vor ein paar Tagen erst alles durchgelesen und das dann doch übersehen :))

Ich danke dir vielmals

Die Frage ist nur: Wie öffne ich die org. Campaign?? Die muss ich importieren erst, oder? Hm... hab die richtige datei nur net gefunden :((
12.07.2003, 23:23 #36
Frumfondel
Beiträge: 464

kopierst die *.nwm in den ordner module. umbenennen in *.mod und schupps kannste die im toolset öffnen...

viel erfolg
13.07.2003, 07:51 #37
Volli
Beiträge: 15
danke
Sehr schön danke dir
01.08.2003, 13:53 #38
Kardor
Beiträge: 523

also dann will ich mal ein bisschen die Faq fortsetzen, aber nur ein wenig, denn imo ist es sinvoller ein komplettes Tutorial durchzuackern als zu hoffen, dass ausgerechnet mein Problem im Faq behandelt wird...

Problem: ich verstehe diese ganze Scriptsprache nicht! void main {} object usw. was soll der Mist überhaupt...?

Lösung: die Aurora-Script-sprache basiert zu 100% auf C++. Die Syntax ist genau dieselbe und viele (wenn auch nicht alle) Funktionen aus C sind auch im Editor verwendbar.
D.h. wer die Grundsätze von C++ versteht, der versteht auch die Aurora-Scriptsprache. Der Rest sind einfach nur extra für den Editor definierte Funktionen/Befehle.
Das schöne ist, für C++ gibt es eine Menge mehr deutscher Tutorials als für Aurora.
Eins der IMO besten, die es im Netz zu finden gibt ist der C++ Kurs von Volkardt, wer diesen Kurs auch nur zur Hälfte durch macht ist eigentlich bestens gewappnet für die meisten Probleme, die sich im Editor stellen (die seite unterhält auch ein kleines, schlecht besuchtes Forum aber Meister Volkardt antwortet einem auch öfter recht schnell wenn man ihn bei Problemen anmailt).
Der Rest kommt einfach mit der Übung, und dem anwenden, der spieleigenen Funktionen, mit der Zeit kriegt man raus was geht und was nicht.
Der Editor leistet dabei grossartige Hilfe, wer es noch nicht gemerkt hat, man kann sich im Editor die Funktionen rechts vom scriptfenster aufrufen und erhält dann für die angeklickte Funktion eine kurze Beschreibung, unten unter dem script-fenster, wer eine ausführlichere Beschreibung und einige der besten englisch-sprachigen Tutorials möchte, der sollte sich das nwn-lexikon runterladen.

Grundsätzlich gilt: C++ gehört zu den etwas komplizierteren Programmiersprachen, bietet dafür aber auch sehr viele Möglichkeiten. Wer noch nie etwas mit einer Computersprache wie BASIC, Java-Script o.ä. zu tun hatte und noch nie etwas von if-then-funktionen gehört hat wird sich wahrscheinlich schwer tun. Lernbar ist es sicher trotzdem, allerdings sollte man Geduld mitbringen, es kann je nach Verständnis schon ein paar Wochen dauern, bis man die ersten freihändigen scripts erstellt.

Wer nur ein paar wenige scripts braucht um sein Modul etwas aufzupeppen, dem ist wahrscheinlich mehr damit geholfen, sich die entsprechenden scripts aus Foren oder von der nwvault zusammen zu sammeln und dann gibt es ja seit einiger Zeit auch noch den Editor-eigenen Handlungs-Wizard und den fantastischen Script-Generator von Lilac Soul.
Und wenns dann trotzdem nicht klappt könnt Ihr ja hier posten.
01.08.2003, 14:59 #39
Kardor
Beiträge: 523

Ein paar Tipps zu Gegnern:

Problem: Meine Gegner stehen einfach nur doof in der Gegend rum und reagieren erst wenn der Spieler sie angreift

Lösung: Stelle bei deinen Kreaturen unter "Erweitert" die Wahrnemungsreichweite von "Voreinstellung" auf "Lang"

Problem: Wenn ich Magie anwendende Gegner mache, sind diese viel zu schwach/wenden die falschen Sprüche an

Lösung: Wenn deine Gegner Magie anwenden sollen, so musst du ihnen die entsprechenden Zauber auch unter Zauber/Talente als "vorbereitet" zuweisen. Achte drauf, dass sie keine unnützen Zauber besitzen - so ist z.B. "Überzeugen" denkbar unnötig für einen feindlichen NPC-Magus.
Generell solltest du daran denken, dass NPCs deutlich dööfer sind als der Spieler und auch z.B. nicht schlafen können um sich aufzutanken. Soll es also eine Herausforderung für den Spieler sein, verleih ihnen ruhig ein paar mehr Sprüche als eigentlich zulässig.
Auch wichtig: der NPC muss über das entsprechende Attribut verfügen, damit er die Zauber anwenden kann.

Problem: Ich benutze die Encounter/Begegnungen, wenn der Spieler drüber läuft poppen die Gegner direkt vor ihm aus dem Nichts. Wie vermeide ich das?

Lösung: Mit Rechtsklick auf den gesetzten Encounter bekommst du die Option "Platzierungspunkt hinzufügen". Setze diesen Platzierungspunkt möglichst ausser Sichtweite des Spielers, das wirkt realistischer und verstärkt den Eindruck, von einer mit Kreaturen bevölkerten Welt, die sich unabhängig vom Spieler herumtreiben.

Problem:Wie mache ich es, dass die Gegner an die Stärke des/der Spieler angepasst werden?

Lösung Am einfachsten ist es mit den Editor-eigenen Encountern/Begegnungen.
Du packst einfach Kreaturen unterschiedlicher Schwierigkeit (Herausforderungsgrad HG steht unter Grundlagen und Erweitert im Kreaturenmenü) in eine selbsterstellte Begegnung.
Bei eigenen Kreaturen musst du die entsprechenden Blaupausen erschaffen, also die Kreatur so erschaffen, dass sie rechts im Menü für selbsterstellte Kreaturen erscheint.
Dann stellst du noch den Schwierigkeitsgrad der Begegnung ein (kann man individuell bei den gesetzten Encountern verändern , fertig.

Was passiert ist z.B. , du hast vier verschieden starke Kreaturen in einen Encounter gesetzt eine mit HG 1, eine mit HG 2 eine mit HG 3 usw., hast dem Encounter Mindestanzahl 2, Höchstanzahl 6 gegeben und gibst dem Encounter die Schwierigkeit "Normal"

Läuft nun ein einzelner Stufe 1 Spieler drüber, werden 2 Kreaturen HG 1 erschaffen, kommt eine Gruppe von 3 Stufe 1 Spielern erscheinen wahrscheinlich 6 Kreaturen HG 1, kommt ein einzelner Stufe 4 Spieler darf er sich wahrscheinlich mit 2 Kreaturen des HG 3 herumschlagen usw...So in etwa wird es laufen, die genaue Berechnungsgrundlage ist leider nicht rausfindbar - deshalb, wer es ganz genau haben will kommt um selbstgescriptete Encountersysteme nicht herum.

Anmerkungen:

- Der HG entspricht nicht der Stufe einer Kreatur sondern ist immer etwas niedriger, genaueres dazu kann Euch bestimmt jemand im Regelforum sagen.

- Wichtig! Wenn Ihr eigene Kraturen in verschiedenen Stärken macht, reicht es nicht einfach eine Kopie einer Eurer Kreaturen zu machen und dieser dann eine höhere Stufe zuzuweisen, der HG wird dann zwar einen höheren Wert annehmen, aber die Werte und Attribute wie Lebensenergie etc. bleiben alle gleich und sollten von Euch von Hand angepasst werden - ansonsten bekommt der Spieler zwar mehr XPs hat aber eine Kreatur vor sich die fast genauso schwach ist wie die Version mit einem geringeren HG, gleiches gilt für Zauber und Monstertalente.
09.08.2003, 23:30 #40
Kardor
Beiträge: 523

Problem: Wie erstelle ich Henchmen unter SoU?

Lösung:

1.)Erstelle deine Kreatur, gib Ihr möglichst eine "normale Klasse" als erste, will heissen eine Klasse wie sie auch der Spieler haben kann.
Wenn du z.B. einen Goblin-Kämpfer machen willst gib ihm als erste Klasse Kämpfer und erst als zweite Goblin.

2.)Wähle deine Kreatur aus der Kreaturenliste und gehe auf "Bearbeiten", dann in den Reiter Skripte. Gehe auf Lade Skript-Sets und lade das Set: set_xp1_henchmen.ini

3.) Wechsle in den Reiter erweitert und stelle die Fraktion des Henchman auf Kaufmann oder Verteidiger

4.) Mach ein Häkchen bei "Kein permanenter Tod"

5.)Wechsle zu "Klassen" und suche dir ein Aufstiegspaket für die Klasse des Henchman aus

6.) Wechsle zu "Grundlagen". Gehe in die ´Dialogzeile und suche einen xp1_henchman_dialog aus ( du musst beim suchen die Chekcbox "Alle Ressourcen zeigen" anklicken)
Henchman Dialoge sind zum beispiel xp1_hen_dee ( für Deekins) oder xp1_hen_ xan für Xanos.

7.) Bearbeite den Dialog nach deinen Wünschen und speichere ihn unter einem neuen Namen. Du kannst zwar die einzelnen Sätze verändern, solltest aber den Aufbau des Dialogs nicht ändern.
D.h., wo der original Henchman sagt, er wird mitkommen, sollte auch dein Satz zum mitkommen stehn usw.

*****Autoleveln hinzufügen (für eigene oder non-SoU Module)*************

8.) Gehe auf "Bearbeiten" , "Eigenschaften des Moduls", wechsle zum Reiter "Ereignisse"

9.) drücke beim Slot OnPlayerLevelUp auf "Bearbeiten" und füge in das sich öffnende Skript-Fenster folgendes kurze Skript ein:

code\:

#include "x0_i0_henchman"

void main()
{
// SpawnScriptDebugger();
object oPC = GetPCLevellingUp();
LevelUpXP1Henchman(oPC);
}


speichere es ab und speichere das Modul


___________________________

Pilze Band I - das NWN Modul ;)
Niemand hat die Absicht eine Mauer zu baun. Außer uns!
[/font]
Seite 2 von 2  1  2