Skrypt dla npc 3586 5

O temacie

Autor zwitek

Zaczęty 14.11.2009 roku

Wyświetleń 3586

Odpowiedzi 5

zwitek

zwitek

Użytkownicy
posty5
  • Użytkownicy
Mam pytanko, jak wygląda część kodu dla npc który po krótkim dialogu powinien zaprowadzić nas do konkretnego waypointa. Z tego co wiem trzeba mu wpisac to w rutyne, ale dokladnie nie znalazlem na ten temat odpowiedzi.
Jezeli mógłbym prosic o odpowiedz na krotkim przykladzie :D
 

Sergio

Sergio

Użytkownicy
Główny scenarzysta, skrypter i założyciel teamu
posty449
Propsy12
  • Użytkownicy
  • Główny scenarzysta, skrypter i założyciel teamu
Ja mogę napisać jak ale nie na przykładzie, tworzysz NPCtowi drugą rutynę tyle że zamiast np. Ta_Stand wpisujesz GuidePC a jako waypoint wpisujesz ten do którego NPC ma nas zaprowadzić.  Później w dialogu dodajesz opcje zmiany rutyny na taką jak nazwałeś tą z GuidePC i gotowe.
Mam nadzieje że wyraziłem się jasno.
 



Zachęcam do oglądania mojego kanału na youtube, może nie jestem teraz jakimś mistrzem ale rozkręcam się. Hit na ten moment: http://www.youtube.com/watch?v=vzOXV0Nb658 Dla wszystkich tych którzy nie mają nic przeciw porcji śmiechu w oparciu o gothic.

zwitek

zwitek

Użytkownicy
posty5
  • Użytkownicy
Mam jeszcze jedno pytanko.. co moze byc powodem ze moje dialogi sa nie wyswietlane w grze ?Moge wybierac opcje dialogowe ale niestety nie sa one wyswietlane.

kod mojej rozmowy
//*********************************************************************
// Info EXIT
//*********************************************************************
INSTANCE DIA_SLD_9001_Ves_EXIT   (C_INFO)
{
npc = SLD_9001_Ves;
nr  = 1;
condition   = DIA_SLD_9001_Ves_EXIT_Condition;
information = DIA_SLD_9001_Ves_EXIT_Info;
permanent   = TRUE;
description = DIALOG_ENDE;
};

FUNC INT DIA_SLD_9001_Ves_EXIT_Condition()
{
return TRUE;
};

FUNC VOID DIA_SLD_9001_Ves_EXIT_Info()
{
AI_StopProcessInfos (self);
};

//*********************************************************************
// Info Hello
//*********************************************************************
INSTANCE DIA_SLD_9001_Ves_siema  (C_INFO)
{
npc = SLD_9001_Ves;
nr  = 1;
condition   = DIA_SLD_9001_Ves_siema_Condition;
information = DIA_SLD_9001_Ves_siema_Info;
permanent   = FALSE;
description = "Witaj. Kim jesteś?";
};

FUNC INT DIA_SLD_9001_Ves_siema_Condition()
{
return TRUE;
};

FUNC VOID DIA_SLD_9001_Ves_siema_Info()
{
AI_Output (other,self ,"DIA_SLD_9001_Ves_siema_15_00"); //Witaj. Kim jesteś ?
AI_Output (self ,other ,"DIA_SLD_9001_Ves_siema_10_01"); //Witam. Czy to teraz ważne? Wóz z moimi ludzmi rozbił sie nie daleko.. a my nadal nie mamy pożywienia.
 

};


//*********************************************************************
// Zadanie
//*********************************************************************
INSTANCE DIA_SLD_9001_Ves_zadanie (C_INFO)
{
npc = SLD_9001_Ves;
nr  = 2;
condition   = DIA_SLD_9001_Ves_zadanie_Condition;
information = DIA_SLD_9001_Ves_zadanie_Info;
permanent   = FALSE;
description = "Mam mięso dla Ciebie";
};

FUNC INT DIA_SLD_9001_Ves_zadanie_Condition()
{
if (Npc_KnowsInfo (other,DIA_SLD_9001_Ves_siema))


{
return TRUE;
};
};

FUNC VOID DIA_SLD_9001_Ves_zadanie_Info()
{
AI_Output (other,self ,"DIA_SLD_9001_Ves_siema_15_02"); //Mogę Ci pomóc, jeśli chcesz.
AI_Output (self ,other ,"DIA_SLD_9001_Ves_siema_10_03"); // Będę bardzo wdzięczny.. potrzebuję 5 sztuk mięsa, nie ważne z czego.. byleby mieli co jeść moi bracia.

Log_CreateTopic (TOPIC_Mieso_dla_nieznajomego, LOG_MISSION);
Log_SetTopicStatus (TOPIC_Mieso_dla_nieznajomego, LOG_RUNNING);
B_LogEntry (TOPIC_Jurand,"musze dac mieso kolesiowi");



};

//*********************************************************************
// Koniec zadania
//*********************************************************************
INSTANCE DIA_SLD_9001_Ves_mieso (C_INFO)
{
npc = SLD_9001_Ves;
nr  = 2;
condition   = DIA_SLD_9001_Ves_mieso_Condition;
information = DIA_SLD_9001_Ves_mieso_Info;
permanent   = FALSE;
description = "Mam mięso dla Ciebie";
};

FUNC INT DIA_SLD_9001_Ves_mieso_Condition()
{
if (Npc_KnowsInfo (other,DIA_SLD_9001_Ves_siema))
&& (Npc_hasitems (other, itfo_FISH) >= 5)

{
return TRUE;
};
};

FUNC VOID DIA_SLD_9001_Ves_mieso_Info()
{

AI_Output (other,self ,"DIA_SLD_9001_Ves_mieso_15_00"); //Mam mięso dla Ciebie !
AI_Output (self ,other ,"DIA_SLD_9001_Ves_mieso_10_01"); //Dziękuje Ci nieznajomy. Nie wielu jest takich którzy pomagają ludziom takim jak ja.
AI_Output (other ,self ,"DIA_SLD_9001_Ves_mieso_15_02"); //Potraktuj to jako przysługę.


B_giveinvitems (other, self, itfo_FISH,5);
B_GivePlayerXP (500);
B_LogEntry (TOPIC_Mieso_dla_nieznajomego,"Dalem mieso nieznajomemu.");
Log_SetTopicStatus (TOPIC_Mieso_dla_nieznajomego, LOG_SUCCESS);


};




//**************************************
//  Prowadzi do towarzyszy
//**************************************
INSTANCE DIA_SLD_9001_Ves_towarzysze (C_INFO)
{
npc = SLD_9001_Ves;
nr  = 3;
condition   = DIA_SLD_9001_Ves_towarzysze_Condition;
information = DIA_SLD_9001_Ves_towarzysze_Info;
permanent   = FALSE;
description = "O co chodzi :D ";
};
FUNC INT DIA_SLD_9001_Ves_towarzysze_Condition()
{
if (Npc_KnowsInfo (other,DIA_SLD_9001_Ves_siema))



{
return TRUE;
};
};

FUNC VOID DIA_SLD_9001_Ves_towarzysze_Info()
{
AI_Output (self,other ,"DIA_SLD_9001_Ves_towarzysze_10_00"); //Zaczekaj przyjacielu.
AI_Output (other ,self ,"DIA_SLD_9001_Ves_towarzysze_15_01"); //Słucham ?
AI_Output (self ,other ,"DIA_SLD_9001_Ves_towarzysze_10_02"); //Jeśli chcesz to moge Cię zaprowadzić do moich Towarzyszy.Przydałbyś sie nam.
AI_Output (other ,self ,"DIA_SLD_9001_Ves_towarzysze_15_03"); //To znaczy komu ?
AI_Output (self, other ,"DIA_SLD_9001_Ves_towarzysze_10_04"); //Ahm.. no tak, nie mówiłem Ci kim jestem. Ale nie wiem też czy moge to zrobić.Chodź ze mną a się przekonasz.

Info_ClearChoices (DIA_SLD_9001_Ves_towarzysze);
Info_AddChoice (DIA_SLD_9001_Ves_towarzysze, "Nie znam Cię.. Wybacz ale podziękuje",DIA_SLD_9001_Ves_towarzysze_Nie);
Info_AddChoice (DIA_SLD_9001_Ves_towarzysze, "Prowadź więc", DIA_SLD_9001_Ves_towarzysze_Tak);
};
FUNC VOID DIA_SLD_9001_Ves_towarzysze_Nie()
{
AI_Output (self,other ,"DIA_SLD_9001_Ves_towarzysze_50_00"); //Tak więc nie mamy o czym rozmawiać.
AI_StopProcessInfos (self);
Info_ClearChoices (DIA_SLD_9001_Ves_towarzysze);
};
FUNC VOID DIA_SLD_9001_Ves_towarzysze_Tak()
{
AI_Output (self,other ,"DIA_SLD_9001_Ves_towarzysze_50_00"); //Ciesze się. Chodź za mną.
Info_ClearChoices (DIA_SLD_9001_Ves_towarzysze);
};
 

Zysk

Zysk

Użytkownicy
posty606
Propsy451
  • Użytkownicy
musisz skompilować w Spacerze i wygenerować pliki ou. są o tym tutoriale.
 

zwitek

zwitek

Użytkownicy
posty5
  • Użytkownicy
Już to zrobilem..i jest to samo, ale nie dodawalem tego do nowej paczki, czy jest to konieczne ?
 

jendrzejs

jendrzejs

Użytkownicy
posty586
Propsy31
Profesjabrak
  • Użytkownicy
Nie musisz robic  paczki aby takie coś działało...
 


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