-
NPC dazu bringen den Spieler zu eskortieren/zu führen?
Hey,
Also ich hätte gerne, dass einer meiner NPC's meinen SC irgendwohin führt.
Dazu habe ich mir das Script von Bartok angesehen und mich daran orientiert, allerdings führt mein NPC nur den Dialog aus und bleibt danach genau dort stehen, wo er sonst auch steht...
NPC Script
Code:
instance PAL_99108_Gabriel (Npc_Default)
{
// ------ NSC ------
name = "Gabriel";
guild = GIL_PAL;
id = 99108;
voice = 4;
flags = 0;
npctype = NPCTYPE_MAIN;
//--------Aivars-----------
// ------ Attribute ------
B_SetAttributesToChapter (self, 4);
// ------ Kampf-Taktik ------
fight_tactic = FAI_HUMAN_MASTER;
// ------ Equippte Waffen ------
EquipItem (self, ItMw_2H_Blessed_02);
// ------ Inventory ------
B_CreateAmbientInv (self);
// ------ visuals ------
B_SetNpcVisual (self, MALE, "Hum_Head_Bald", Face_B_Normal_Orik, BodyTex_B, ITAR_PAL_FA);
Mdl_SetModelFatness (self, 1);
Mdl_ApplyOverlayMds (self, "Humans_Militia.mds");
// ------ NSC-relevante Talente vergeben ------
B_GiveNpcTalents (self);
// ------ Kampf-Talente ------
B_SetFightSkills (self, 60);
// ------ TA ------
daily_routine = Rtn_Start_99108;
};
func VOID RTn_Start_99108()
{
TA_Stand_Guarding (08,00,18,01,"NW_CASTLEMINE_TOWER_BEYOND");
TA_Stand_Guarding (18,01,20,01, "NW_CASTLEMINE_PRAYINNOS");
TA_Stand_Guarding (20,01,23,00, "NW_CASTLEMINE_TOWER_BEYOND");
TA_Practice_Sword (23,00,08,00,"NW_CASTLEMINE_TOWER_BEYOND");
};
func VOID Rtn_GuidezumGrab_99018()
{
TA_Guide_Player (08,00,20,00,"NW_CASTLEMINE_BACKMINE_10");
TA_Guide_Player (20,00,08,00,"NW_CASTLEMINE_BACKMINE_10");
};
Entsprechendes Dialogscript
Code:
// ************************************************************
// Palgurs_Gefallen_beginnt
// ************************************************************
var int Gabriel_los;
Instance DIA_Gabriel_Palgurs_Gefallen_beginnt (C_INFO)
{
npc = PAL_99108_Gabriel;
nr = 4;
condition = DIA_Gabriel_Palgurs_Gefallen_beginnt_Condition;
information = DIA_Gabriel_Palgurs_Gefallen_beginnt_Info;
description = "Palgur schickt mich";
};
Func int DIA_Gabriel_Palgurs_Gefallen_beginnt_Condition()
{
return TRUE;
};
Func void DIA_Gabriel_Palgurs_Gefallen_beginnt_Info()
{
AI_Output (other, self, "DIA_Gabriel_Palgurs_Gefallen_beginnt_15_0"); //Palgur schickt mich
AI_Output (self, other, "DIA_Gabriel_Palgurs_Gefallen_beginnt_4_4"); //Hat er eine Aufgabe für mich?
AI_Output (other, self, "DIA_Gabriel_Palgurs_Gefallen_beginnt_15_1"); //Er hat eine Aufgabe für uns.
AI_Output (other, self, "DIA_Gabriel_Palgurs_Gefallen_beginnt_15_2"); //Wir sollen herausfinden, was Angmar zugestoßen ist.
AI_Output (self, other, "DIA_Gabriel_Palgurs_Gefallen_beginnt_4_5"); //Dann hat Meister Palgur dir also erzählt, was vorgefallen ist?
AI_Output (other, self, "DIA_Gabriel_Palgurs_Gefallen_beginnt_15_3"); //Grob...
AI_Output (self, other, "DIA_Gabriel_Palgurs_Gefallen_beginnt_4_6"); //Nun gut. Ich habe in Angmars Taschen eine Notiz gefunden, die auf den abgesperrten Bereich der Mine hier auf dem Trollzacken verweist.
AI_Output (self, other, "DIA_Gabriel_Palgurs_Gefallen_beginnt_4_7"); //Sehen wir uns das an. Folge mir.
Gabriel_los = TRUE;
AI_StopProcessInfos (self);
self.aivar[AIV_PARTYMEMBER] = TRUE;
Npc_ExchangeRoutine (self, "GUIDEZUMGRAB");
};
Gibt es hier noch irgendwas, was ich beachten muss?
Eine zweite Frage, die sich anschließt ist dann natürlich - wie sorge ich außerdem dafür, dass der NPC sich dem Spielercharakter anschließt, also ihm folgt?
Muss ich da auch was spezielles beachten, oder kann ich einfach z.B. die Scripte von Diego oder Biff studieren und es demenstprechend angleichen?
Liebe Grüße
"Es ist nicht schwer, von jedem ethischen Prinzip zu beweisen, dass es in der Praxis scheitern muss, wenn man zugleich voraussetzt, dass allgemeiner Schwachsinn herrscht."
- John Stuart Mill
-
Du hast die ID-Nummer im neuen TA falsch geschrieben, sie muss mit der ID des NPC übereinstimmen:
id = 99108;
func VOID RTn_Start_99108()
Aber:
func VOID Rtn_GuidezumGrab_99018()
Ansonsten, damit ein NPC dem Helden folgt, muss du einfach die Zeile TA_GUIDE_Player durch TA_FOLLOW_Player ersetzen.
-
Sind die WP's alle miteinander verbunden?
-
Aus irgendeinem Grund wurde meine .zen nicht abgespeichert worden, daher gabs die neuen Waypoints gar nicht...
Weiss der Geier wie das passiert ist...
Danke euch beiden
"Es ist nicht schwer, von jedem ethischen Prinzip zu beweisen, dass es in der Praxis scheitern muss, wenn man zugleich voraussetzt, dass allgemeiner Schwachsinn herrscht."
- John Stuart Mill
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|