NPC prowadzi nas z waypointu x do y po dialogu 3156 4

O temacie

Autor Areczek1510

Zaczęty 10.02.2012 roku

Wyświetleń 3156

Odpowiedzi 4

Areczek1510

Areczek1510

Użytkownicy
posty10
  • Użytkownicy
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_DOMZapodam 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.
};
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
FUNC VOID Rtn_start_8000 ()
{
    TA_GuidePC          (23,00,06,30,"KOJAK_DOM");
    TA_GuidePC                    (06,30,23,00,"KOJAK_DOM");
};
Rutyna prowadzenia nie może się nazywać tak samo jak jaka kolwiek rutyna powinieneś dać inną nazwę

FUNC VOID Rtn_idzemy_8000 ()
{
    TA_GuidePC          (23,00,06,30,"KOJAK_DOM");
    TA_GuidePC                    (06,30,23,00,"KOJAK_DOM");
};

no i w dialogi wpisujesz nazwę rutyny na którą ma nam zmienić

Npc_ExchangeRoutine (self, "idzemy");
P.S.
Wszystkie błędy typu ";" , "=" , "," tez bedzie trzeba naprawić ;p

Areczek1510

Areczek1510

Użytkownicy
posty10
  • Użytkownicy
FUNC VOID Rtn_start_8000 ()
{
    TA_GuidePC          (23,00,06,30,"KOJAK_DOM");
    TA_GuidePC                    (06,30,23,00,"KOJAK_DOM");
};
Rutyna prowadzenia nie może się nazywać tak samo jak jaka kolwiek rutyna powinieneś dać inną nazwę

FUNC VOID Rtn_idzemy_8000 ()
{
    TA_GuidePC          (23,00,06,30,"KOJAK_DOM");
    TA_GuidePC                    (06,30,23,00,"KOJAK_DOM");
};

no i w dialogi wpisujesz nazwę rutyny na którą ma nam zmienić

Npc_ExchangeRoutine (self, "idzemy");
P.S.
Wszystkie błędy typu ";" , "=" , "," tez bedzie trzeba naprawić ;p


czyli jak ma to konkretnie wyglądać? bo dostaje cały czas błędy;/ nie wiem gdzie to powklejać. Czy możesz dodać te skrypty do mojego (wyszczególnić jakoś) i zamieścić pod spodem? Proszę bardzo.
 

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
ja mam postać SLD_888_itachi i u mnie wgl nie mogło być (DIA) przed SLD w dialogu
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

kaczka

kaczka

RaveN Studio
Definitely not kaczka!
posty2280
Propsy2392
NagrodyV
ProfesjaLvl designer
  • RaveN Studio
  • Definitely not kaczka!
Bo w dialogu nie daje się gildii ani przed ani po DIA :pokerface:
 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry