DIALOG 1
jak próbuje zosmawiać z aronem to jest tylko koniec
SKRYPT POSTACI :
instance BAU_997_Aron (Npc_Default)
{
// ------ NSC ------
name = "Aron";
guild = GIL_OUT;
id = 997;
voice = 3;
flags = 0; //NPC_FLAG_IMMORTAL oder 0
npctype = NPCTYPE_MAIN;
// ------ Attribute ------
B_SetAttributesToChapter (self, 2); //setzt Attribute und LEVEL entsprechend dem angegebenen Kapitel (1-6)
// ------ Kampf-Taktik ------
fight_tactic = FAI_HUMAN_STRONG; // MASTER / STRONG / COWARD
// ------ Equippte Waffen ------ //Munition wird automatisch generiert, darf aber angegeben werden
EquipItem (self, ItMw_1h_Bau_Axe);
// ------ Inventory ------
B_CreateAmbientInv (self);
// ------ visuals ------ //Muss NACH Attributen kommen, weil in B_SetNpcVisual die Breite abh. v. STR skaliert wird
B_SetNpcVisual (self, MALE, "Hum_Head_Bald", Face_P_Weak_Cutter, BodyTex_P, ITAR_Bau_M);
Mdl_SetModelFatness (self, 1);
Mdl_ApplyOverlayMds (self, "Humans_Arrogance.mds"); // Tired / Militia / Mage / Arrogance / Relaxed
// ------ NSC-relevante Talente vergeben ------
B_GiveNpcTalents (self);
// ------ Kampf-Talente ------ //Der enthaltene B_AddFightSkill setzt Talent-Ani abhängig von TrefferChance% - alle Kampftalente werden gleichhoch gesetzt
B_SetFightSkills (self, 25); //Grenzen für Talent-Level liegen bei 30 und 60
// ------ TA anmelden ------
daily_routine = Rtn_PreStart_997;
};
FUNC VOID Rtn_PreStart_997 ()
{
TA_Stand_Guarding (08,00,22,00,"XXX");
TA_Stand_Guarding (22,00,08,00,"XXX");
};
Skrypt DIALOGU:
//========================================
//-----------------> OPCJA *KONIEC*
//========================================
INSTANCE DIA_Aron_EXIT(C_INFO)
{
npc = BAU_997_Aron;
nr = 999;
condition = DIA_Aron_EXIT_Condition;
information = DIA_Aron_EXIT_Info;
permanent = TRUE;
description = "KONIEC";
};
FUNC INT DIA_Aron_EXIT_Condition()
{
return TRUE;
};
FUNC VOID DIA_Aron_EXIT_Info()
{
AI_StopProcessInfos (self);
};
//========================================
//-----------------> HELLO1
//========================================
INSTANCE DIA_Aron_HELLO1 (C_INFO)
{
npc = BAU_997_Aron;
nr = 1;
condition = DIA_Aron_HELLO1_Condition;
information = DIA_Aron_HELLO1_Info;
permanent = FALSE;
description = "Witaj";
};
FUNC INT DIA_Aron_HELLO1_Condition()
{
return TRUE;
};
FUNC VOID DIA_Aron_HELLO1_Info()
{
AI_Output (other, self ,"DIA_Aron_HELLO1_15_01"); //Witaj
AI_Output (self, other ,"DIA_Aron_HELLO1_03_02"); //Witam
Info_ClearChoices (DIA_Aron_HELLO1);
Info_AddChoice (DIA_Aron_HELLO1, "Kim jesteś?", DIA_Aron_HELLO1_HELLO2);
Info_AddChoice (DIA_Aron_HELLO1, "Co tu robisz?", DIA_Aron_HELLO1_HELLO3);
Info_AddChoice (DIA_Aron_HELLO1, "Mam owcze futra", DIA_Aron_HELLO1_JOB4);
AI_StopProcessInfos (self);
};
FUNC VOID DIA_Aron_HELLO1_HELLO2()
{
AI_Output (other, self ,"DIA_Aron_HELLO1_HELLO2_15_01"); //Kim jesteś?
AI_Output (self, other ,"DIA_Aron_HELLO1_HELLO2_03_02"); //Nazywam się Aron
};
FUNC VOID DIA_Aron_HELLO1_HELLO3()
{
AI_Output (other, self ,"DIA_Aron_HELLO1_HELLO3_15_01"); //Co tu robisz?
AI_Output (self, other ,"DIA_Aron_HELLO1_HELLO3_03_02"); //Czekam aż ktoś taki głupi jak ty podejdzie do mnie i zada tak cholernie głupie pytanie
AI_Output (other, self ,"DIA_Aron_HELLO1_HELLO3_15_03"); //Wybacz jestem nowy
AI_Output (self, other ,"DIA_Aron_HELLO1_HELLO3_03_04"); //Właśnie cholera widze
Info_ClearChoices (DIA_Aron_HELLO1);
Info_AddChoice (DIA_Aron_HELLO1, "Szukam pracy", DIA_Aron_HELLO1_HELLO3_JOB);
};
FUNC VOID DIA_Aron_HELLO1_HELLO3_JOB()
{
AI_Output (other, self ,"DIA_Aron_HELLO1_JOB1_15_01"); //Szukam pracy
AI_Output (self, other ,"DIA_Aron_HELLO1_JOB1_03_02"); //To dobrze się składa potrzebuje 10 owczych futer
AI_Output (other, self ,"DIA_Aron_HELLO1_JOB1_15_03"); //Ach to dlatego jesteś taki ponury
AI_Output (self, other ,"DIA_Aron_HELLO1_JOB1_03_04"); //A w pysk byś nie chciał?
Info_ClearChoices (DIA_Aron_HELLO1);
Info_AddChoice (DIA_Aron_HELLO1, "To sprubuj mnie walnąć", DIA_Aron_HELLO1_HELLO3_JOB_FIGHT);
Info_AddChoice (DIA_Aron_HELLO1, "Przyniosę ci owcze futra", DIA_Aron_HELLO1_HELLO3_JOB_JOB2);
Info_AddChoice (DIA_Aron_HELLO1, "Nie mam ochoty przynosić ci tych futer", DIA_Aron_HELLO1_HELLO3_JOB_JOB_NONE);
};
FUNC VOID DIA_Aron_HELLO1_HELLO3_JOB_FIGHT()
{
AI_Output (other, self ,"DIA_Aron_HELLO1_FIGHT_15_01"); //To spóbuj mnie walnąć
AI_StopProcessInfos (self);
B_Attack (self, other, AR_NONE,1);
};
FUNC VOID DIA_Aron_HELLO1_HELLO3_JOB_JOB2()
{
AI_Output (other, self ,"DIA_Aron_HELLO1_JOB2_15_01"); //Przyniosę ci owcze futra
AI_Output (self, other ,"DIA_Aron_HELLO1_JOB2_03_02"); //Dobrze tylko się pospiesz
MIS_Aron_Sheeps = LOG_RUNNING;
Log_CreateTopic (TOPIC_Aron_Sheeps, LOG_MISSION);
Log_SetTopicStatus (TOPIC_Aron_Sheeps, LOG_RUNNING);
B_LogEntry (TOPIC_Aron_Sheeps,"Aron chcę żebym mu przyniósł 10 owczych futer.");
};
FUNC VOID DIA_Aron_HELLO1_HELLO3_JOB_JOB_NONE()
{
AI_Output (other, self ,"DIA_Aron_HELLO1_JOB_NONE_15_01"); //Nie mam ochoty przynosić ci tych futer
AI_Output (self, other ,"DIA_Aron_HELLO1_JOB_NONE_03_02"); //Nie to nie
Info_ClearChoices (DIA_Aron_HELLO1);
};
FUNC VOID DIA_Aron_HELLO1_JOB4()
{
if (Npc_HasItems (other, ItAt_SheepFur) >=10)
{
AI_Output (other, self ,"DIA_Aron_HELLO1_JOB4_15_01"); //Mam owcze futra
B_GiveInvItems (other, self, ItAt_SheepFur, 10);
AI_Output (self, other ,"DIA_Aron_HELLO1_JOB4_03_02"); //Dobrze oto twoja zapłata
CreateInvItems (self, ItMi_Gold, 100);
B_GiveInvItems (self, other, ItMi_Gold, 100);
B_LogEntry (TOPIC_Aron_Sheeps,"Dałem Aronowi owcze futra.");
Log_SetTopicStatus (TOPIC_Aron_Sheeps, LOG_SUCCESS);
MIS_Aron_Sheeps = LOG_SUCCESS;
B_GivePlayerXP (200);
}
else
{
AI_Output (self, other ,"DIA_Aron_HELLO1_JOB4_03_03"); //Jak nie masz owczych futer to nie zawracaj mi dupy!
Info_ClearChoices (DIA_Aron_HELLO1);
};
};
DIALOG 2
błąd więcej nie pamiętam : )
Skrypt postaci:
instance BAU_996_Lethar (Npc_Default)
{
// ------ NSC ------
name = "Lethar";
guild = GIL_OUT;
id = 996;
voice = 3;
flags = 0; //NPC_FLAG_IMMORTAL oder 0
npctype = NPCTYPE_MAIN;
// ------ Attribute ------
B_SetAttributesToChapter (self, 2); //setzt Attribute und LEVEL entsprechend dem angegebenen Kapitel (1-6)
// ------ Kampf-Taktik ------
fight_tactic = FAI_HUMAN_STRONG; // MASTER / STRONG / COWARD
// ------ Equippte Waffen ------ //Munition wird automatisch generiert, darf aber angegeben werden
EquipItem (self, ItMw_1h_Bau_Axe);
// ------ Inventory ------
B_CreateAmbientInv (self);
// ------ visuals ------ //Muss NACH Attributen kommen, weil in B_SetNpcVisual die Breite abh. v. STR skaliert wird
B_SetNpcVisual (self, MALE, "Hum_Head_FatBald", Face_N_NormalBart_Grim, BodyTex_N, ITAR_Bau_M);
Mdl_SetModelFatness (self, 0);
Mdl_ApplyOverlayMds (self, "Humans_Relaxed.mds"); // Tired / Militia / Mage / Arrogance / Relaxed
// ------ NSC-relevante Talente vergeben ------
B_GiveNpcTalents (self);
// ------ Kampf-Talente ------ //Der enthaltene B_AddFightSkill setzt Talent-Ani abhängig von TrefferChance% - alle Kampftalente werden gleichhoch gesetzt
B_SetFightSkills (self, 25); //Grenzen für Talent-Level liegen bei 30 und 60
// ------ TA anmelden ------
daily_routine = Rtn_PreStart_996;
};
FUNC VOID Rtn_PreStart_996 ()
{
TA_Stand_Guarding (08,00,22,00,"XXX");
TA_Stand_Guarding (22,00,08,00,"XXX");
};
SKRYPT DIALOGU:
//========================================
//-----------------> OPCJA *KONIEC*
//========================================
INSTANCE DIA_Lethar_EXIT(C_INFO)
{
npc = BAU_996_Lethar;
nr = 1000;
condition = DIA_Lethar_EXIT_Condition;
information = DIA_Lethar_EXIT_Info;
permanent = TRUE;
description = "KONIEC";
};
FUNC INT DIA_Lethar_EXIT_Condition()
{
return TRUE;
};
FUNC VOID DIA_Lethar_EXIT_Info()
{
AI_StopProcessInfos (self);
};
//========================================
//-----------------> HELLO1
//========================================
INSTANCE DIA_Lethar_HELLO1 (C_INFO)
{
npc = BAU_996_Lethar;
nr = 1;
condition = DIA_Lethar_HELLO1_Condition;
information = DIA_Lethar_HELLO1_Info;
permanent = FALSE;
description = "Witam";
};
FUNC INT DIA_Lethar_HELLO1_Condition()
{
return TRUE;
};
FUNC VOID DIA_Lethar_HELLO1_Info()
{
AI_Output (other, self ,"DIA_Lethar_HELLO1_15_01"); //Witam
AI_Output (self, other ,"DIA_Lethar_HELLO1_03_02"); //Witam
Info_ClearChoices (DIA_Lethar_HELLO1);
Info_AddChoice (DIA_Lethar_HELLO1, "Kim jesteś?", DIA_Lethar_HELLO1_HELLO2);
Info_AddChoice (DIA_Lethar_HELLO1, "Możesz mi sprzedać owcze futra", DIA_Lethar_HELLO1_SHEEP);
};
FUNC VOID DIA_Lethar_HELLO1_HELLO2()
{
AI_Output (other, self ,"DIA_Lethar_HELLO1_HELLO2_15_01"); //Kim jesteś?
AI_Output (self, other ,"DIA_Lethar_HELLO1_HELLO2_03_02"); //Nazywam się Lethar
};
FUNC VOID DIA_Lethar_HELLO1_SHEEP()
{
if (Npc_KnowsInfo (other, DIA_Aron_HELLO1_HELLO3_JOB_JOB2))
{
AI_Output (other, self ,"DIA_Lethar_HELLO1_SHEEP_15_01"); //Możesz mi sprzedać 10 owczych futer
AI_Output (self, other ,"DIA_Lethar_HELLO1_SHEEP_03_02"); //Cholera chyba mam troche futer
AI_Output (other, self ,"DIA_Lethar_HELLO1_SHEEP_15_03"); //Zapłace ci 50 sztuk złota
AI_Output (self, other ,"DIA_Lethar_HELLO1_SHEEP_03_04"); //A przypomiałem sobie mam owcze futra
if (Npc_HasItems (other, ItMi_Gold) >=50)
{
AI_Output (other, self ,"DIA_Lethar_HELLO1_SHEEP_15_05"); //Mam zapłate
B_GiveInvItems (other, self, ItMi_Gold, 50);
AI_Output (self, other ,"DIA_Lethar_HELLO1_SHEEP_03_06"); //Oto futra
CreateInvItems (self, ItAt_SheepFur, 10);
B_GiveInvItems (self, other, ItAt_SheepFur, 10);
};
AI_StopProcessInfos (self);
};