PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : dialog



Oparilames
06.06.2004, 03:27
Ok ich habe einen Npc + Dialog gemacht. Jedoch Habe ich keine Optionen wenn ich ihn Anspreche (es kommen aber auch KEINE fehler)Hier der Scripte vom DIA_MAGIERSKEL_01:
// ************************************************************
// EXIT
// ************************************************************
INSTANCE DIA_Gatorax_EXIT (C_INFO)
{
npc = magierskel_01;
nr = 999;
condition = DIA_Gatorax_EXIT_Condition;
information = DIA_Gatorax_EXIT_Info;
permanent = TRUE;
description = DIALOG_ENDE;
};

FUNC INT DIA_Gatorax_EXIT_Condition()
{
return TRUE;
};

FUNC VOID DIA_Gatorax_EXIT_Info()
{
AI_StopProcessInfos (self);
};
// ************************************************************
// PICK POCKET
// ************************************************************

INSTANCE DIA_Gatorax_PICKPOCKET (C_INFO)
{
npc = magierskel_01;
nr = 900;
condition = DIA_Gatorax_PICKPOCKET_Condition;
information = DIA_Gatorax_PICKPOCKET_Info;
permanent = TRUE;
description = "(Es wäre einfach seine zauber zu stehlen)";
};

FUNC INT DIA_Gatorax_PICKPOCKET_Condition()
{
if (Npc_GetTalentSkill (other,NPC_TALENT_PICKPOCKET) == 1)
&& (self.aivar[AIV_PlayerHasPickedMyPocket] == FALSE)
&& (Npc_HasItems (self, Itsc_BeliarsRage) >= 10)
&& (other.attribute[ATR_DEXTERITY] >= (30 - Theftdiff))
{
return TRUE;
};
};

FUNC VOID DIA_Gatorax_PICKPOCKET_Info()
{
Info_ClearChoices (DIA_Gatorax_PICKPOCKET);
Info_AddChoice (DIA_Gatorax_PICKPOCKET, DIALOG_BACK ,DIA_Gatorax_PICKPOCKET_BACK);
Info_AddChoice (DIA_Gatorax_PICKPOCKET, DIALOG_PICKPOCKET ,DIA_Gatorax_PICKPOCKET_DoIt);
};

func void DIA_Gatorax_PICKPOCKET_DoIt()
{
if (other.attribute[ATR_DEXTERITY] >= 30)
{

B_GiveInvItems (self, other, Itsc_BeliarsRage, 10);
self.aivar[AIV_PlayerHasPickedMyPocket] = TRUE;
B_GiveThiefXP ();
Info_ClearChoices (DIA_Gatorax_PICKPOCKET);
}
else
{
B_ResetThiefLevel();
AI_StopProcessInfos (self);
B_Attack (self, other, AR_Theft, 1); //reagiert trotz IGNORE_Theft mit NEWS
};
};

func void DIA_Gatorax_PICKPOCKET_BACK()
{
Info_ClearChoices (DIA_Gatorax_PICKPOCKET);
};

// *****************************************************
// Hallo
// *****************************************************
INSTANCE DIA_Gatorax_Hallo (C_INFO)
{
npc = magierskel_01;
nr = 1;
condition = DIA_Gatorax_Hallo_Condition;
information = DIA_Gatorax_Hallo_Info;
permanent = FALSE;
description = "Wie sieht's aus?";
};
FUNC INT DIA_Gatorax_Hallo_Condition()
{
return TRUE;
};
FUNC VOID DIA_Gatorax_Hallo_Info()
{
AI_Output (other ,self,"DIA_Gatorax_Hello_15_00"); //Bist du einer von der Neuen armee?
AI_Output (self ,other,"DIA_Gatorax_Hello_04_01"); //Kluges kerlchen. Dummkopf natürlich bin ich einer.
AI_Output (other ,self,"DIA_Gatorax_Hello_15_02"); //Wie Sprichst du denn Mit Mir?
AI_Output (self ,other,"DIA_Gatorax_Hello_04_03"); //Wieso? Soll das heissen das DU die Armeen führst?
AI_Output (self ,other,"DIA_Gatorax_Hello_04_04"); //Wenn das mal stimmt...
};
// *****************************************************
// Zusammen
// *****************************************************
var int Gatorax_Bereit;
var int Gatorax_Later;
// ---------------------------

INSTANCE DIA_Gatorax_Zusammen (C_INFO)
{
npc = magierskel_01;
nr = 2;
condition = DIA_Gatorax_Zusammen_Condition;
information = DIA_Gatorax_Zusammen_Info;
permanent = TRUE;
description = "Was ist kommst du mit?";
};
FUNC INT DIA_Gatorax_Zusammen_Condition()
{
if (Gatorax_Bereit == FALSE)
&& (Npc_KnowsInfo (other, DIA_Gatorax_Hallo))
{
return TRUE;
};
};
FUNC VOID DIA_Gatorax_Zusammen_Info()
{
if (Gatorax_Later == FALSE)
{
AI_Output (other ,self,"DIA_Gatorax_Zusammen_15_00"); //Was ist kommst du mit?
AI_Output (self ,other,"DIA_Gatorax_Zusammen_04_01"); //Hmm. Ja ich komme mit.
AI_Output (self ,other,"DIA_Gatorax_Zusammen_04_02"); //Aber du musst auch Kämpfen.
AI_Output (self ,other,"DIA_Gatorax_Zusammen_04_03"); //Ich meine, weißt du wie man Tieren das Fell abzieht?
};

if (PLAYER_TALENT_ALCHEMY[POTION_Perm_STR] == TRUE)
{
if (Gatorax_Later == TRUE)
{
AI_Output (self ,other,"DIA_Gatorax_HuntNOW_04_01"); //Kannst du Stärke tränke brauen?
}
else
{
AI_Output (other ,self,"DIA_Gatorax_Zusammen_15_04"); //Ja.
AI_Output (self ,other,"DIA_Gatorax_Zusammen_04_05"); //Na gut, aber ich will Einen deiner Stärke Tränke sehen.
AI_Output (self ,other,"DIA_Gatorax_Zusammen_04_06"); //Also was ist?
};

Info_ClearChoices (DIA_Gatorax_Zusammen);
Info_AddChoice (DIA_Gatorax_Zusammen, "Später...", DIA_Gatorax_Zusammen_Later);
Info_AddChoice (DIA_Gatorax_Zusammen, "Hier ist er...", DIA_Gatorax_Zusammen_Pay);
}
else
{
AI_Output (other ,self,"DIA_Gatorax_Zusammen_15_07"); //Nein.
AI_Output (self ,other,"DIA_Gatorax_Zusammen_04_08"); //Dann bringst du mich nicht weiter.
AI_Output (self ,other,"DIA_Gatorax_Zusammen_04_09"); //Komm wieder, wenn du das gelernt hast.
};
};

func void DIA_Gatorax_Zusammen_Later()
{
AI_Output (other ,self,"DIA_Gatorax_HuntNOW_Later_15_00"); //Später...
Gatorax_Later = TRUE;
Info_ClearChoices (DIA_Gatorax_Zusammen);
};

func void DIA_Gatorax_Zusammen_Pay()
{
Info_ClearChoices (DIA_Gatorax_Zusammen);

if (B_GiveInvItems (other, self, ItPo_Perm_STR, 1))
{
AI_Output (other ,self,"DIA_Gatorax_HuntNOW_GO_15_00"); //Hier ist er...
Gatorax_Bereit = TRUE;
}
else
{
AI_Output (self ,other,"DIA_Gatorax_HuntNOW_GO_04_03"); //Wo denn? Du hast den Trank nicht.
};
};


// *****************************************************
// HuntNOW
// *****************************************************
var int Gatorax_Los;
// ----------------------

INSTANCE DIA_Gatorax_HuntNOW (C_INFO)
{
npc = magierskel_01;
nr = 2;
condition = DIA_Gatorax_HuntNOW_Condition;
information = DIA_Gatorax_HuntNOW_Info;
permanent = FALSE;
description = "Lass uns losziehen!";
};
FUNC INT DIA_Gatorax_HuntNOW_Condition()
{
if (Gatorax_Bereit == TRUE)
{
return TRUE;
};
};
FUNC VOID DIA_Gatorax_HuntNOW_Info()
{
AI_Output (other ,self,"DIA_Gatorax_HuntNOW_15_00"); //Lass uns losziehen!
AI_Output (self ,other,"DIA_Gatorax_HuntNOW_GO_04_01"); //Gut.
AI_Output (other ,self,"DIA_Gatorax_HuntNOW_GO_04_02"); //(zu sich selbst) wenn das mal gut geht...
Gatorax_Los = TRUE;

AI_StopProcessInfos (self);

self.aivar[AIV_PARTYMEMBER] = TRUE;
Npc_ExchangeRoutine (self,"FOLLOW");

Wld_InsertNpc (SkeletonMage, "OC3");
Wld_InsertNpc (SkeletonMage, "OC4");
Wld_InsertNpc (SkeletonMage, "OC5");
Wld_InsertNpc (SkeletonMage, "OC3");
Wld_InsertNpc (SkeletonMage, "OC4");
Wld_InsertNpc (SkeletonMage, "OC5");
Wld_InsertNpc (SkeletonMage, "OC3");
Wld_InsertNpc (SkeletonMage, "OC4");
Wld_InsertNpc (SkeletonMage, "OC5");

Wld_InsertNpc (Dementors_Skeleton_Lord_story, "OC3");
Wld_InsertNpc (Dementors_Skeleton_Lord_story, "OC4");
Wld_InsertNpc (Dementors_Skeleton_Lord_story, "OC5");
Wld_InsertNpc (Dementors_Skeleton_Lord_story, "OC3");
Wld_InsertNpc (Dementors_Skeleton_Lord_story, "OC4");
Wld_InsertNpc (Dementors_Skeleton_Lord_story, "OC5");
Wld_InsertNpc (Dementors_Skeleton_Lord_story, "OC3");
Wld_InsertNpc (Dementors_Skeleton_Lord_story, "OC4");
Wld_InsertNpc (Dementors_Skeleton_Lord_story, "OC5");
Wld_InsertNpc (Dementors_Skeleton_Lord_story, "OC3");
Wld_InsertNpc (Skeleton, "OC4");
Wld_InsertNpc (Skeleton, "OC5");
Wld_InsertNpc (Skeleton, "OC3");
Wld_InsertNpc (Skeleton, "OC4");
Wld_InsertNpc (Skeleton, "OC5");
Wld_InsertNpc (Skeleton, "OC3");
Wld_InsertNpc (Skeleton, "OC4");
Wld_InsertNpc (Skeleton, "OC5");
Wld_InsertNpc (Skeleton, "OC3");
Wld_InsertNpc (Skeleton, "OC4");
Wld_InsertNpc (Skeleton, "OC5");




Wld_InsertNpc (OrcShaman_Sit, "OC3");
Wld_InsertNpc (OrcShaman_Sit, "OC4");
Wld_InsertNpc (OrcShaman_Sit, "OC5");

Wld_InsertNpc (OrcShaman_Sit, "OC3");
Wld_InsertNpc (OrcShaman_Sit, "OC4");
Wld_InsertNpc (OrcShaman_Sit, "OC5");

Wld_InsertNpc (OrcShaman_Sit, "OC3");
Wld_InsertNpc (OrcShaman_Sit, "OC4");
Wld_InsertNpc (OrcShaman_Sit, "OC5");

Wld_InsertNpc (OrcElite_Rest, "OC3");
Wld_InsertNpc (OrcElite_Rest, "OC4");
Wld_InsertNpc (OrcElite_Rest, "OC5");

Wld_InsertNpc (OrcElite_Rest, "OC3");
Wld_InsertNpc (OrcElite_Rest, "OC4");
Wld_InsertNpc (OrcElite_Rest, "OC5");

Wld_InsertNpc (OrcElite_Rest, "OC3");
Wld_InsertNpc (OrcElite_Rest, "OC4");
Wld_InsertNpc (OrcElite_Rest, "OC5");

Wld_InsertNpc (OrcElite_Roam, "OC3");
Wld_InsertNpc (OrcElite_Roam, "OC4");
Wld_InsertNpc (OrcElite_Roam, "OC5");

Wld_InsertNpc (OrcElite_Roam, "OC3");
Wld_InsertNpc (OrcElite_Roam, "OC4");
Wld_InsertNpc (OrcElite_Roam, "OC5");

Wld_InsertNpc (OrcElite_Roam, "OC3");
Wld_InsertNpc (OrcElite_Roam, "OC4");
Wld_InsertNpc (OrcElite_Roam, "OC5");

Wld_InsertNpc (OrcElite_Roam, "OC3");
Wld_InsertNpc (OrcElite_Roam, "OC4");
Wld_InsertNpc (OrcElite_Roam, "OC5");
Wld_InsertNpc (OrcElite2_Roam, "OC3");
Wld_InsertNpc (OrcElite2_Roam, "OC4");
Wld_InsertNpc (OrcElite2_Roam, "OC5");

Wld_InsertNpc (OrcElite2_Roam, "OC3");
Wld_InsertNpc (OrcElite2_Roam, "OC4");
Wld_InsertNpc (OrcElite2_Roam, "OC5");

Wld_InsertNpc (OrcElite2_Roam, "OC3");
Wld_InsertNpc (UndeadOrcWarrior, "OC4");
Wld_InsertNpc (UndeadOrcWarrior, "OC5");

Wld_InsertNpc (UndeadOrcWarrior, "OC3");
Wld_InsertNpc (UndeadOrcWarrior, "OC4");
Wld_InsertNpc (UndeadOrcWarrior, "OC5");
Wld_InsertNpc (UndeadOrcWarrior, "OC3");
Wld_InsertNpc (UndeadOrcWarrior, "OC4");
Wld_InsertNpc (UndeadOrcWarrior, "OC5");

Wld_InsertNpc (UndeadOrcWarrior, "OC3");
Wld_InsertNpc (UndeadOrcWarrior, "OC4");
Wld_InsertNpc (UndeadOrcWarrior, "OC5");

Wld_InsertNpc (UndeadOrcWarrior, "OC3");
Wld_InsertNpc (UndeadOrcWarrior, "OC4");
Wld_InsertNpc (UndeadOrcWarrior, "OC5");

Wld_InsertNpc (UndeadOrcWarrior, "OC3");
Wld_InsertNpc (UndeadOrcWarrior, "OC4");
Wld_InsertNpc (DMT_666_Dementor, "OC5");


};
Ps: die Monster gibt es Im Mod schon feins ihr euch wundert.

blue lord
06.06.2004, 03:30
Les das mal http://wiki.devmode.de/Diverses/Unt...prachausgabe#q3

[LoA]Wotan
06.06.2004, 03:32
Original von dementor
npc = magierskel_01;
nr = 1;
condition = DIA_Gatorax_Hallo_Condition;
information = DIA_Gatorax_Hallo_Info;
permanent = FALSE;
description = "Wie sieht's aus?";

da muss TRUE oder 1 hin

Oparilames
06.06.2004, 03:33
Nein anscheinent habe ich mich nicht deutlich ausgedrückt:
Wenn man ihn anklickt sagt er:""
Dann kommt die Option ENDE.
Und dann nichts (kurtz ich kann ich ansprechen jedoch nur auf ende drücken).

Oparilames
06.06.2004, 03:36
Original geschrieben von [LoA]Wotan
da muss TRUE oder 1 hin
Muss dass immer bei jedem npc ...permanent = TRUE; Hin?

Ken Suyoko
06.06.2004, 03:41
nein

wenn du permament auf 0 setzt dann kommt der Dialog nur 1 mal

wenn du den auf 1 oder True setzt dann kommt de runendlich mal, so lange die Condition noch erfüllt ist.

Oparilames
06.06.2004, 04:01
Also ich habe mal in nem Anderen dialog geckugt da stand dann sowas:
instance DIA_Myratox_GREET (C_INFO)
{
npc = Xardasbrother;
nr = 2;
condition = DIA_Myratox_GREET_Condition;
information = DIA_Myratox_GREET_Info;
permanent = FALSE;
important = TRUE;
};

bei mir steht:
INSTANCE DIA_Gatorax_Hallo (C_INFO)
{
npc = magierskel_01;
nr = 1;
condition = DIA_Gatorax_Hallo_Condition;
information = DIA_Gatorax_Hallo_Info;
permanent = TRUE;
description = "Wie sieht's aus?";
};
Und bei dem 2. Dialog ist es so:
Jetzt kann mann zwar das erste (hallo)
Aber nichts anderes und den kann man auchnoch Unendlichmal anklicken.
Was ist falsch?

[LoA]Wotan
06.06.2004, 04:03
hmm hast du force_subtitles=1 in deiner MeineMod.ini und auch mal nachgeschaut ob die untertitel im spiel an sind ?? sonst kannst du nur nicht lesen was da steht ... da du ja wahrscheinlich auch keine sprachausgabe hast

Oparilames
06.06.2004, 04:06
Also eigentlich kümmere ich mich nur um die Meisten Scripte (also NPCs ((und dialoge))
Deshalb ist mir erstmal wichtig dass ALLE dialog optionen nach palan ablaufen.
Also ist es mir Erstmal egal ob mann den Text sieht und hört oder ob Mann ihn Nicht hört/Sieht.

[LoA]Wotan
06.06.2004, 04:09
aber wenn du wissen willst ob er geht dann musst du ihn doch auch sehen oder, sonst weisstes ja nicht ...

Oparilames
06.06.2004, 04:12
Also ich weiss es dann wen der Nächste dialog freigeschaltet oder Ein Logbucheintrag gemacht wurde.
Ausserdem kann ich das im Dialog ja nachgucken was kommen muss oder was passiert.
Fakt ist dass bei mir nur die Erste dialog option freigeschaltet ist nähmlich: HALLO
Und dann keine anderen mehr und gerade das Sollte nicht so sein.

[LoA]Wotan
06.06.2004, 04:20
also black demon und ich versuchen gerade gemeinsam im skype deinen code zu entwurschdeln ... du soltlest vllt mal ein paar kommentare oder so einfügen ... das wäre hilfreich :D

Oparilames
06.06.2004, 04:28
Also würde es dir helfen wenn ich sagen:
Ich habe eigentlich nur den Dialog von Bartok genommen und ihn Geänder und einzelne teile gelöscht(Text stellen). :Huepf:

[LoA]Wotan
06.06.2004, 04:37
ne mit kommentar mein ich sowas wie
//hier hab ich das und das gemacht
//damit möchte ich bewirken dass...

also etwas was du in deiner file drin stehen hast ... das hilft ungemein

Noxfreak
06.06.2004, 04:39
Ist dein NPC N Skellet ? Soweit ich weiss gelten Skellete nicht als MEnschen d.h. kann man sie garnicht ansprechen bzw. nur mit Speziellen B Functionen (siehe Drachen). Aberi ch hab es persönlich noch nicht probiert.

Oparilames
06.06.2004, 11:54
Ok kurtzer tipp:
Kann mann Menschen andersausshen lassen?
Kann man sie Wie andere wesen aussehen lassen?
-JA da mann im Mod sowieso als Skellet Spielt und ausserdem war der 1. Dialog bei dem Skeletmagier ja schonmal da.

Oparilames
06.06.2004, 12:11
Original geschrieben von Ken Suyoko
nein

wenn du permament auf 0 setzt dann kommt der Dialog nur 1 mal

wenn du den auf 1 oder True setzt dann kommt de runendlich mal, so lange die Condition noch erfüllt ist.
Ok hat alles geklapt (Ich musste überall Pernament auf 0 setzen)
Jetz ist da nurnoch eineinzieger fehler da steht:
// *****************************************************
// HuntNOW
// *****************************************************
var int Gatorax_Los;
// ----------------------

INSTANCE DIA_Gatorax_HuntNOW (C_INFO)
{
npc = magierskel_01;
nr = 2;
condition = DIA_Gatorax_HuntNOW_Condition;
information = DIA_Gatorax_HuntNOW_Info;
permanent = 0;
description = "Lass uns losziehen!";
};
FUNC INT DIA_Gatorax_HuntNOW_Condition()
{
if (Gatorax_Bereit == TRUE)
{
return TRUE;
};
};
FUNC VOID DIA_Gatorax_HuntNOW_Info()
{
AI_Output (other ,self,"DIA_Gatorax_HuntNOW_15_00"); //Lass uns losziehen!
AI_Output (self ,other,"DIA_Gatorax_HuntNOW_GO_04_01"); //Gut.
AI_Output (other ,self,"DIA_Gatorax_HuntNOW_GO_04_02"); //(zu sich selbst) wenn das mal gut geht...
Gatorax_Los = TRUE;

AI_StopProcessInfos (self);

self.aivar[AIV_PARTYMEMBER] = TRUE;
Npc_ExchangeRoutine (self,"FOLLOW");
Aber wenn ich dann das menü verlassen habe folgt er Mir nicht wieso nicht?

[LoA]Wotan
06.06.2004, 14:20
hast du auch iin der Gatorax.d auch einen TA_Follow_Player ??

Oparilames
06.06.2004, 14:26
Upps...§doof

Oparilames
06.06.2004, 14:33
also muss ich in der Magierskel_01.d so einen eintrag machen?mFUNC VOID Rtn_Follow_magierskel_01 ()
{
TA_Follow_Player (08,00,20,00, "ADW_CANYON_TELEPORT_PATH_06");
TA_Follow_Player (20,00,08,00, "ADW_CANYON_TELEPORT_PATH_06");
};
Nur habe ich eine frage: also eigentlich wollte ich ja sowenig wie Möglich über den Mod sagen aber: Da diese person in der Stadt(Khorinis) Rewspammt (nach dem mann mit Lordhagen gesprochen hat) und jetzt soll mann im Mod ja Die Burg(minental) befreien.
Nun ist die frage was muss ich da Für einen waypoint eintragen?

[LoA]Wotan
06.06.2004, 14:35
das muss heißen rtn_follow_id wonbei id die zahl ist die ihm zugewiesen ist ...

den rest deines postes raff ich nich ganz

Oparilames
06.06.2004, 14:37
Also wenn ich da jetzt di_01 hinschreibe währe das richtig?
(was bewirkt Id_XXX noch gleich also normal heisst das Künstliche intiliegenz)
Ps: was verstehst du daran nicht?

Oparilames
06.06.2004, 14:40
Also bei mir steht das jetzt so da:FUNC VOID Rtn_Follow_magierskel_01 ()
{
TA_Follow_Player (08,00,20,00, "rtn_follow_id ");
TA_Follow_Player (20,00,08,00, "rtn_follow_id ");
};

[LoA]Wotan
06.06.2004, 14:44
name = "Agiulf";
Npctype = Npctype_Main;
guild = GIL_NONE;
level = 15;

voice = 11;
id = 992;


das was hier rot is muss da hin, also
rtn_follow_992

Oparilames
06.06.2004, 14:47
Ist das jetzt richtig?
// ------ NSC ------
name = "Gatorax";
guild = GIL_KDF;
id = 409;
voice = 14;
flags = 0;
npctype = NPCTYPE_MAIN;

// ------ Attribute ------
B_SetAttributesToChapter (self, 230);

// ------ Kampf-Taktik ------
fight_tactic = FAI_HUMAN_MASTER;

// ------ Equippte Waffen ------

// ------ Inventory ------

// ------ visuals ------
Mdl_SetVisual (self, "HumanS.mds");
Mdl_ApplyOverlayMds (self, "humans_skeleton_fly.mds");

// Body-Mesh Body-Tex Skin-Color Head-MMS Head-Tex Teeth-Tex ARMOR
Mdl_SetVisualBody (self, "Ske_Fly_Body", 1, DEFAULT, "", 1, DEFAULT, -1);

// ------ NSC-relevante Talente vergeben ------
B_GiveNpcTalents (self);

// ------ Kampf-Talente ------
B_SetFightSkills (self,30);

// ------ TA anmelden ------
daily_routine = Rtn_Start_magierskel_01;
};

FUNC VOID Rtn_Start_magierskel_01 ()
{
TA_Read_Bookstand (05,00,00,00,"start");
TA_Read_Bookstand (00,00,05,00,"start");

};
FUNC VOID Rtn_Follow_992 ()
{
TA_Follow_Player (08,00,20,00, "OC6");
TA_Follow_Player (20,00,08,00, "OC6");
};

Black Eye
06.06.2004, 14:47
Zu deiner 2ten Frage. Du kannst dich nicht ganz so einfach in ein anderes Level teleportieren. Du musst dazu einen Level_change Trigger über dein Script triggern. Damit du dann auch dort hinkommt wo du willst muss bei diesem Trigger außerdem ein Spotpunkt eingetragen sein, der wiederum erst in dem Ziellevel erstellt werden muss.

Oparilames
06.06.2004, 14:51
Ok ich glaube ich habe eine Idee:
Also ich lasse das so wies ist (wenn es so richtig ist) dann mache ich dass Lord hagen erwäht dass er ihn Schon losgeschickt hat, und mann den Weg ins Minen tal selbst gehen muss.
(Also mein NPC befindet sich schon im Minen tal.

[LoA]Wotan
06.06.2004, 15:39
Original geschrieben von dementor
Ist das jetzt richtig?
// ------ NSC ------
name = "Gatorax";
guild = GIL_KDF;
id = 409;
voice = 14;
flags = 0;
npctype = NPCTYPE_MAIN;

// ------ Attribute ------
B_SetAttributesToChapter (self, 230);

// ------ Kampf-Taktik ------
fight_tactic = FAI_HUMAN_MASTER;

// ------ Equippte Waffen ------

// ------ Inventory ------

// ------ visuals ------
Mdl_SetVisual (self, "HumanS.mds");
Mdl_ApplyOverlayMds (self, "humans_skeleton_fly.mds");

// Body-Mesh Body-Tex Skin-Color Head-MMS Head-Tex Teeth-Tex ARMOR
Mdl_SetVisualBody (self, "Ske_Fly_Body", 1, DEFAULT, "", 1, DEFAULT, -1);

// ------ NSC-relevante Talente vergeben ------
B_GiveNpcTalents (self);

// ------ Kampf-Talente ------
B_SetFightSkills (self,30);

// ------ TA anmelden ------
daily_routine = Rtn_Start_magierskel_01;
};

FUNC VOID Rtn_Start_magierskel_01 ()
{
TA_Read_Bookstand (05,00,00,00,"start");
TA_Read_Bookstand (00,00,05,00,"start");

};
FUNC VOID Rtn_Follow_992 ()
{
TA_Follow_Player (08,00,20,00, "OC6");
TA_Follow_Player (20,00,08,00, "OC6");
};


die id die ich oben gelb gemacht habe musste dort einfügen wo du die anderen eigentlich stehen hast ... 992 war nur ein beispiel von mir, da mein npc diese id hat ... du musst da natürlich die id von deinem npc hinschreiben

Oparilames
06.06.2004, 15:49
Ok fanke werde es probieren.§freu :Huepf:

[LoA]Wotan
06.06.2004, 16:14
tu das... und sag mir dann obs geklappt hat ..

Oparilames
06.06.2004, 16:41
Leider gehts noch nicht aber könnte ich nicht einfach das hier Löschen// *****************************************************
// HuntNOW
// *****************************************************
var int Gatorax_Los;
// ----------------------

INSTANCE DIA_Gatorax_HuntNOW (C_INFO)
{
npc = magierskel_01;
nr = 2;
condition = DIA_Gatorax_HuntNOW_Condition;
information = DIA_Gatorax_HuntNOW_Info;
permanent = 0;
description = "Lass uns losziehen!";
};
FUNC INT DIA_Gatorax_HuntNOW_Condition()
{
if (Gatorax_Bereit == TRUE)
{
return TRUE;
};
};
FUNC VOID DIA_Gatorax_HuntNOW_Info()
{
AI_Output (other ,self,"DIA_Gatorax_HuntNOW_15_00"); //Lass uns losziehen!
AI_Output (self ,other,"DIA_Gatorax_HuntNOW_GO_04_01"); //Gut.
AI_Output (other ,self,"DIA_Gatorax_HuntNOW_GO_04_02"); //(zu sich selbst) wenn das mal gut geht...
Ps: Das dumme ich mann kann ihn Nur 1mal ansprechen und zwar bis :
if (B_GiveInvItems (other, self, ItPo_Perm_STR, 1))
{
AI_Output (other ,self,"DIA_Gatorax_HuntNOW_GO_15_00"); //Hier ist er...
Gatorax_Bereit = TRUE;

Oparilames
06.06.2004, 16:48
Upps verguckt es geht bis:FUNC VOID DIA_Gatorax_HuntNOW_Info()
{
AI_Output (other ,self,"DIA_Gatorax_HuntNOW_15_00"); //Lass uns losziehen!
AI_Output (self ,other,"DIA_Gatorax_HuntNOW_GO_04_01"); //Gut.
AI_Output (other ,self,"DIA_Gatorax_HuntNOW_GO_04_02"); //(zu sich selbst) wenn das mal gut geht...
Gatorax_Los = TRUE;

AI_StopProcessInfos (self);

self.aivar[AIV_PARTYMEMBER] = TRUE;
Npc_ExchangeRoutine (self,"FOLLOW");
Aber er kommt halt nicht mit mir mit.

[LoA]Wotan
06.06.2004, 17:19
post mal deine gotarax.d ...

Oparilames
06.06.2004, 17:25
Hier:

instance magierskel_01 (Npc_Default)
{
// ------ NSC ------
name = "Gatorax";
guild = GIL_KDF;
id = 409;
voice = 14;
flags = 0;
npctype = NPCTYPE_MAIN;

// ------ Attribute ------
B_SetAttributesToChapter (self, 230);

// ------ Kampf-Taktik ------
fight_tactic = FAI_HUMAN_MASTER;

// ------ Equippte Waffen ------

// ------ Inventory ------

// ------ visuals ------
Mdl_SetVisual (self, "HumanS.mds");
Mdl_ApplyOverlayMds (self, "humans_skeleton_fly.mds");

// Body-Mesh Body-Tex Skin-Color Head-MMS Head-Tex Teeth-Tex ARMOR
Mdl_SetVisualBody (self, "Ske_Fly_Body", 1, DEFAULT, "", 1, DEFAULT, -1);

// ------ NSC-relevante Talente vergeben ------
B_GiveNpcTalents (self);

// ------ Kampf-Talente ------
B_SetFightSkills (self,30);

// ------ TA anmelden ------
daily_routine = Rtn_Start_magierskel_01;
};

FUNC VOID Rtn_Start_magierskel_01 ()
{
TA_Read_Bookstand (05,00,00,00,"DT_E3_07");
TA_Read_Bookstand (00,00,05,00,"DT_E3_07");

};
FUNC VOID Rtn_Follow_magierskel_01 ()
{
TA_Follow_Player (08,00,20,00, "OC6");
TA_Follow_Player (20,00,08,00, "OC6");
};

[LoA]Wotan
06.06.2004, 17:33
Original geschrieben von dementor
Hier:

// ------ TA anmelden ------
daily_routine = Rtn_Start_magierskel_01;
};

FUNC VOID Rtn_Start_magierskel_01 ()
{
TA_Read_Bookstand (05,00,00,00,"DT_E3_07");
TA_Read_Bookstand (00,00,05,00,"DT_E3_07");

};
FUNC VOID Rtn_Follow_magierskel_01 ()
{
TA_Follow_Player (08,00,20,00, "OC6");
TA_Follow_Player (20,00,08,00, "OC6");
};

alles was ich jetzt gelb gemacht habe ersetzt du durch 409 ... dann posteste die .d datei wieder hier ...

Oparilames
06.06.2004, 18:01
Diese?
instance magierskel_01 (Npc_Default)
{
// ------ NSC ------
name = "Gatorax";
guild = GIL_KDF;
id = 409;
voice = 14;
flags = 0;
npctype = NPCTYPE_MAIN;

// ------ Attribute ------
B_SetAttributesToChapter (self, 230);

// ------ Kampf-Taktik ------
fight_tactic = FAI_HUMAN_MASTER;

// ------ Equippte Waffen ------

// ------ Inventory ------

// ------ visuals ------
Mdl_SetVisual (self, "HumanS.mds");
Mdl_ApplyOverlayMds (self, "humans_skeleton_fly.mds");

// Body-Mesh Body-Tex Skin-Color Head-MMS Head-Tex Teeth-Tex ARMOR
Mdl_SetVisualBody (self, "Ske_Fly_Body", 1, DEFAULT, "", 1, DEFAULT, -1);

// ------ NSC-relevante Talente vergeben ------
B_GiveNpcTalents (self);

// ------ Kampf-Talente ------
B_SetFightSkills (self,30);

// ------ TA anmelden ------
daily_routine = Rtn_Start_409;
};

FUNC VOID Rtn_Start_409 ()
{
TA_Read_Bookstand (05,00,00,00,"DT_E3_07");
TA_Read_Bookstand (00,00,05,00,"DT_E3_07");

};
FUNC VOID Rtn_Follow_409 ()
{
TA_Follow_Player (08,00,20,00, "OC6");
TA_Follow_Player (20,00,08,00, "OC6");
};

[LoA]Wotan
06.06.2004, 18:15
jo... das sieht schon besser aus... versuch jetzt mal ob er dir folgt...