Witam, znalazłem poradniki, ale szczerze wyskoczyło mi sporo błędów typu ; , = , , itd. Więc mam pytanie. Jak dodać do mojego skryptu tą funkcję? Poniżej także czerwonymi literami dodałem propozycje i zapytania czy robię dobrze czy źle.
//========================================
//-----------------> OPCJA *KONIEC*
//========================================
INSTANCE DIA_Kojak_EXIT(C_INFO)
{
npc = GRD_8000_Kojak;
nr = 999;
condition = DIA_Kojak_EXIT_Condition;
information = DIA_Kojak_EXIT_Info;
permanent = TRUE;
description = KONIEC;
};
FUNC INT DIA_Kojak_EXIT_Condition()
{
return TRUE;
};
FUNC VOID DIA_Kojak_EXIT_Info()
{
AI_StopProcessInfos (self);
};
//========================================
//-----------------> HELLO1
//========================================
INSTANCE DIA_Kojak_HELLO1 (C_INFO)
{
npc = GRD_8000_Kojak;
nr = 1;
condition = DIA_Kojak_HELLO1_Condition;
information = DIA_Kojak_HELLO1_Info;
permanent = FALSE;
description = Witaj!Kim jesteś?;
};
FUNC INT DIA_Kojak_HELLO1_Condition()
{
return TRUE;
};
FUNC VOID DIA_Kojak_HELLO1_Info()
{
AI_Output (other, self ,DIA_Kojak_HELLO1_15_01); //Witaj! Kim jesteś?
AI_Output (self, other ,DIA_Kojak_HELLO1_15_02); //Nazywam się Kojak. Dawny władca Górniczej Doliny.
AI_Output (other, self ,DIA_Kojak_HELLO1_03_03); //Miło mi Ciebie poznać. Ale co ty tu właściwie robisz?
AI_Output (self, other ,DIA_Kojak_HELLO1_15_04); //Pomagam żółtodziobom takim jak Ty!
};
//========================================
//-----------------> HELLO2
//========================================
INSTANCE DIA_Kojak_HELLO2 (C_INFO)
{
npc = GRD_8000_Kojak;
nr = 2;
condition = DIA_Kojak_HELLO2_Condition;
information = DIA_Kojak_HELLO2_Info;
permanent = FALSE;
description = W czym możesz mi pomóc?;
};
FUNC INT DIA_Kojak_HELLO2_Condition()
{
if (Npc_KnowsInfo (other, DIA_Kojak_HELLO1))
{
return TRUE;
};
};
FUNC VOID DIA_Kojak_HELLO2_Info()
{
AI_Output (other, self ,DIA_Kojak_HELLO2_15_02); //W czym możesz mi pomóc?
AI_Output (self, other ,DIA_Kojak_HELLO2_03_03); //Mogę dać Ci trochę zarobić jeśli chcesz.
AI_Output (other, self ,DIA_Kojak_HELLO2_15_04); //Świetnie. Kogo mam zabić?
AI_Output (self, other ,DIA_Kojak_HELLO2_03_05); //Górnicza Dolina to nie Khorinis. Nie wejdziesz nocą do domu i nie pchniesz człowieka sztyletem.
AI_Output (self, other ,DIA_Kojak_HELLO2_03_06); //Tu każdy śpi z jednym okiem otwartym. Na początek przynieś mi 3 sztuki surowego mięsa.
AI_Output (other, self ,DIA_Kojak_HELLO2_15_07); //Dobrze. Wrócę niedługo.
MIS_KOJAK_MIESO = LOG_RUNNING;
Log_CreateTopic (CH1_KOJAK_MIESO, LOG_MISSION);
Log_SetTopicStatus (CH1_KOJAK_MIESO, LOG_RUNNING);
B_LogEntry (CH1_KOJAK_MIESO,Kojak potrzebuje 3 sztuk surowego mięsa.);
};
//========================================
//-----------------> HELLO3
//========================================
INSTANCE DIA_Kojak_HELLO3 (C_INFO)
{
npc = GRD_8000_Kojak;
nr = 3;
condition = DIA_Kojak_HELLO3_Condition;
information = DIA_Kojak_HELLO3_Info;
permanent = FALSE;
description = Zdobyłem surowe mięso.;
};
FUNC INT DIA_Kojak_HELLO3_Condition()
{
if (Npc_HasItems (other, ItFoMuttonRaw) >=3)
{
return TRUE;
};
};
FUNC VOID DIA_Kojak_HELLO3_Info()
{
AI_Output (other, self ,DIA_Kojak_HELLO3_15_01); //Zdobyłem surowe mięso.
B_GiveInvItems (other, self, ItFoMuttonRaw, 3);
B_LogEntry (CH1_KOJAK_MIESO,Przyniosłem Kojakowi 3 sztuki surowego mięsa. Wygląda na zadowolonego.);
Log_SetTopicStatus (CH1_KOJAK_MIESO, LOG_SUCCESS);
MIS_KOJAK_MIESO = LOG_SUCCESS;
AI_UseItem (self, ItFoMuttonRaw);
B_GiveXP (100);
AI_Output (self, other ,DIA_Kojak_HELLO3_03_02); //Należy Ci się obiecana zapłata. 50 bryłek powinno wystarczyć.
CreateInvItems (self, ItMiNugget, 50);
B_GiveInvItems (self, other, ItMiNugget, 50);
};
Chcę dodać żeby mój NPC prowadził mnie z waypointa OW_PATH_1_5_3
do KOJAK_DOM
Zapodam jeszcze skrypt postaci.[/size][/color]
instance GRD_8000_Kojak (Npc_Default)
{
//-------- primary data --------
name = Kojak;
npctype = NPCTYPE_MAIN;
guild = GIL_GRD;
level = 20;
voice = 12;
id = 8000;
//-------- abilities --------
attribute[ATR_STRENGTH] = 100;
attribute[ATR_DEXTERITY] = 100;
attribute[ATR_MANA_MAX] = 0;
attribute[ATR_MANA] = 0;
attribute[ATR_HITPOINTS_MAX] = 400;
attribute[ATR_HITPOINTS] = 400;
//-------- visuals --------
// animations
Mdl_SetVisual (self,HUMANS.MDS);
Mdl_ApplyOverlayMds (self,Humans_Arrogance.mds);
// body mesh ,bdytex,skin,head mesh ,headtex,teethtex,ruestung
Mdl_SetVisualBody (self,hum_body_Naked0, 0, 3,Hum_Head_Bald, 103, 1, EBR_ARMOR_H2);
B_Scale (self);
Mdl_SetModelFatness(self,1);
fight_tactic = FAI_HUMAN_STRONG;
//-------- Talente --------
Npc_SetTalentSkill (self, NPC_TALENT_CROSSBOW,2);
Npc_SetTalentSkill (self, NPC_TALENT_1H,2);
Npc_SetTalentSkill (self, NPC_TALENT_SNEAK, 1);
//-------- inventory --------
EquipItem (self,ItMw_1H_Sword_Bastard_04);
EquipItem (self, ItRw_Crossbow_04);
CreateInvItems (self, ItAmBolt, 106);
CreateInvItem (self, ItFo_Potion_Water_01);
CreateInvItem (self, ItFoApple);
CreateInvItem (self, ItKeLockpick);
CreateInvItems (self, ItMiNugget,500);
CreateInvItems (self, ItMijoint_3, 2);
CreateInvItems (self, ItFo_Potion_Health_03, 2);
CreateInvItems (self, ItFoMutton, 5);
CreateInvItems (self, ItFoLoaf, 5);
//-------------Daily Routine-------------
daily_routine = Rtn_start_8000;
};
FUNC VOID Rtn_start_8000 ()
{
TA_StandAround (23,00,06,30,OW_PATH_1_5_3);
TA_Stay (06,30,23,00,OW_PATH_1_5_3);
};
Czy rutynę mam dodać taką, aby mój NPC po dialogu prowadził?
FUNC VOID Rtn_start_8000 ()
{
TA_GuidePC (23,00,06,30,KOJAK_DOM);
TA_GuidePC (06,30,23,00,KOJAK_DOM);
};
To ma być coś takiego??
//========================================
//-----------------> HELLO4
//========================================
INSTANCE DIA_Kojak_HELLO4 (C_INFO)
{
npc = GRD_8000_Kojak;
nr = 4;
condition = DIA_Kojak_HELLO5_Condition;
information = DIA_Kojak_HELLO5_Info;
permanent = FALSE;
description = ;
};
FUNC INT DIA_Kojak_HELLO4_Condition()
{
return TRUE;
};
FUNC VOID DIA_Kojak_HELLO4_Info()
{
AI_Output (other, self ,DIA_Kojak_HELLO4_15_01); //Pokaż mi drogę do miasta.
AI_Output (self, other ,DIA_Kojak_HELLO4_03_02); //Ok. Chodz za mną.
Npc_ExchangeRoutine (self, TA_GuidePC);
AI_Output (self, other ,DIA_Kojak_HELLO4_03_03); //No i jesteśmy. Do miasta masz już tylko kawałek.
};