World of Gothic Archiv
> Editing NPC per Skript töten |
|
02.10.2003, 21:20 | #1 | ||
Makador Beiträge: 431 |
NPC per Skript töten
Also folgendes Problem ergibt sich: Ich habe einen NPC, der nur einen Hp hat und meinem Helden noch sterbend den Auftrag gibt einen Gegenstand zu überbringen. Aber nun soll er am Ende das Gesprächs auch noch sterben. Per Paramaterübergabe: Kj_2610_Sandro.attributes[ATR_HITPOINTS] = 0; will es ja leider schonmal nicht funzen, weil er die Instanz irgendwie nicht findet. Kennt jmd. von euch eine Möglichkeit dem NPC irgendwie Schaden zuzufügen oder die Hps auf 0 zu setzen? Hab alle Skripts abgesucht und nichts ähnliches gefunden. |
||
02.10.2003, 21:41 | #2 | ||
Makador Beiträge: 431 |
Habs hinbekommen: B_RaiseAttribute (ATR_HITPOINTS, -1); :D |
||
02.10.2003, 22:11 | #3 | ||
Makador Beiträge: 431 |
Weiteres Problem: code\: Er ruft leider zuerst die zweite Funktion auf, wodurch der NPC getötet wird, bevor der Dialog beendet wird. Kann ich das irgendwie ändern? Mir fällt gerade ein, dass gleiche passiert sogar beim Tutorial. Der NPC zieht dort auch schon die Waffe bevor der Dialog beendet wird und steckt sie dann direkt wieder weg. |
||
02.10.2003, 23:48 | #4 | ||
bollerwagen Beiträge: 49 |
schon mal versucht ein Wait dazwischen zu schieben? |
||
03.10.2003, 08:43 | #5 | ||
Makador Beiträge: 431 |
code\: Es passiert folgendes: Er wartet 2 Sekunden, beendet das Gespräch und dass wars. :( |
||
03.10.2003, 13:13 | #6 | ||
Cool Moe Di Beiträge: 120 |
Hi, schonmal versucht, den Npc in einer Funktion zu töten, die du aufrufst? Gothic führt dann die Funktion parallel aus, d.h. es könnte zuerst den Dialog beenden. ciao Moe PS: Töten geht auch einfacher mit B_KillNpc (Kdf_400_Rodriguez); |
||
03.10.2003, 13:56 | #7 | ||
GülleMüller Beiträge: 472 |
High, scheint fast so, als ob in den Dias nur AI_ Funktionen in der "richtigen" Reihenfolge abgehandelt werden. Irgendwo gab es schonmal ein Thema darüber... werd bei Gelegenheit mal danach suchen. (Jaja, Moe, ich sollte mehr scripten ;)) [EDIT] Autsch... hab Schwachsinn verzapft... Also: Bisher hatte nur AI_StartState() das Problem gelöst. Ergo, erstelle dir nen neuen TA, der einfach den NPC tötet. Du solltest dazu alle Wahrnehmungen ausschalten. Die Dialogfunk sieht dann so aus: code\: Was besseres ist mir auf die Schnelle net eingefallen. [/EDIT] Axo: quote: Das kann auch nicht gehen, da der Name nur anhand eines Instanzwertes (= ID?) gespeichert wird. Also ein Integer. Mittels Hlp_GetNpc[NPC_INSTANCE_NAME]); bekommst du den C_NPC zurück, worauf du deine Wertzuweisungen anwenden kannst. gl GüMü |
||
04.10.2003, 09:28 | #8 | ||
Makador Beiträge: 431 |
Danke, mit dem AI_StartState funktioniert es einwandfrei! :) |
||
|