Dialog PiwoWinoWoda :) 2394 1

O temacie

Autor Kapec

Zaczęty 12.06.2009 roku

Wyświetleń 2394

Odpowiedzi 1

Kapec

Kapec

Użytkownicy
posty12
  • Użytkownicy
Witam. Ostatnio zajmuję się tworzeniem dialogu dla pewnego, spragnionego, zmęczonego maga. Prosi on o coś do picia. I tutaj mamy wybór: albo dać mu wino, piwo albo wodę, ewentualnie nic. Wszystko, oczywiście, jako Choices. Przytoczę tutaj dany dialog, tj. jego część
instance Dia_Kalliach_rozmowa2   (C_INFO)
{
npc = kdw_200_Kalliach;
nr = 4;
condition =  Dia_Kalliach_rozmowa2_condition;
information =  Dia_Kalliach_rozmowa2_info;
permanent = TRUE;  //jeśli nie mamy nic do picia, zawsze możemy wrócić później
important = FALSE;
description =  "Daj coś o picia...";
};

FUNC int  Dia_Kalliach_rozmowa2_condition()
{
   IF (Npc_KnowsInfo(hero, dia_kalliach_rozmowa1))

{
return TRUE;
};
};

FUNC VOID  DIA_Kalliach_rozmowa2_info()
{
FUNC int DIA_Kalliach_Rozmowa1_info()
{
IF (NpcHasItems(other,itfowine > 0))
|| (NpcKnowsInfo(hero, DIA_Kalliach_rozmowa2_piwo)
|| (NpcKnowsInfo(hero, DIA_Kalliach_rozmowa2_woda)
|| (NpcKnowsInfo(hero, DIA_Kalliach_rozmowa2_none)
};
Info_ClearChoices (DIA_Kalliach_rozmowa2);
Info_AddChoice (DIA_Kalliach_rozmowa2,"Wino",DIA_Kalliach_rozmowa2_wino);

FUNC int DIA_Kalliach_Rozmowa2_info()
{
IF (NpcHasItems(other,itfobeer > 0))
|| (NpcKnowsInfo(hero, DIA_Kalliach_rozmowa2_wino)
|| (NpcKnowsInfo(hero, DIA_Kalliach_rozmowa2_woda)
|| (NpcKnowsInfo(hero, DIA_Kalliach_rozmowa2_none)
};
Info_Addchoice (DIA_Kalliach_rozmowa2, "Piwo", DIA_Kalliach_rozmowa2_piwo);
FUNC int DIA_Kalliach_Rozmowa2_info()
{
IF (NpcHasItems(other,itfowater > 0))
|| (NpcKnowsInfo(hero, DIA_Kalliach_rozmowa2_wino)
|| (NpcKnowsInfo(hero, DIA_Kalliach_rozmowa2_piwo)
|| (NpcKnowsInfo(hero, DIA_Kalliach_rozmowa2_none)
};
Info_Addchoice (DIA_Kalliach_rozmowa2,"Woda",DIA_Kalliach_rozmowa2_woda);
FUNC int DIA_Kalliah_Rozmowa2_info()
{
|| (NpcKnowsInfo(hero, DIA_Kalliach_rozmowa2_wino)
|| (NpcKnowsInfo(hero, DIA_Kalliach_rozmowa2_piwo)
|| (NpcKnowsInfo(hero, DIA_Kalliach_rozmowa2_woda)
};
Info_Addchoice (DIA_Kalliach_rozmowa2,"Nie mam nic",DIA_Kalliach_rozmowa2_none);
};

func void DIA_Kalliach_rozmowa2_wino()
{
AI_Output (self, other,"DIA_Kalliach_rozmowa2_wino_1_01"); //Mam wino. Łyknij sobie
B_GiveInvItems (other, self, itfowine, 1);
AI_Output (other, self,"DIA_Kalliach_rozmowa2_wino_1_02"); //Dzięki, chłopcze, wielkie dzięki.
B_GivePlayerXP (100);
AI_useItem (self, itfowine);
AI_Output (self, other,"DIA_Kalliach_rozmowa2_wino_1_03"); //Nie ma to jak delikatne, rozgrzewające wino. To co chcesz wiedzieć?
B_LogEntry(CH1_Mag, "Dałem magowi butelkę wina. Od razu stał się rozmowniejszy.");
Info_ClearChoices (DIA_Kalliach_rozmowa2);
};

func void DIA_Kalliach_rozmowa2_piwo()
{
AI_Output (other,self,"DIA_Kalliach_rozmowa1piwo_1_01"); //Mam tu piwo. Łyknij sobie.
AI_Output (self, other,"DIA_Kalliach_rozmowa1piwo_1_02"); //Dzięki, chłopcze, wielkie dzięki.
B_GiveInvItems (other, self, itfobeer, 1);
B_GivePlayerXP (75);
AI_useItem (self, itfobeer);
AI_Output (self, other, "DIA_Kalliach_rozmowa1piwo_1_03"); //Gorzkie, zimne piwo. *wzdycha* O co chesz się spytać?
B_logentry (CH1_mag, "Dałem magowi butelkę piwa. Od razu stało się bardziej rozmowny."};
Info_ClearChoices (DIA_Kalliach_rozmowa2);
};

func void DIA_Kalliach_rozmowa2_woda()
{
AI_Output (other,self,"DIA_Kalliach_rozmowa1woda_1_01"); //Mam dla ciebie trochę wody.
AI_Output (self, other,"DIA_Kalliach_rozmowa1woda_1_02"); //Dziękuję.
B_GiveInvItems (other, self, itfowater, 1);
AI_useitem (self, itfo_water);
B_GivePlayerXP (50);
AI_Output (self, other, "DIA_KALLIACH_rozmowa1woda_1_03"); //Chłodna, smaczna woda... Co chciałeś?
B_logEntry (CH1_mag, "Dałem magowi butelkę wody. Nieco się ożywił. Mam nadzieję.");
Info_ClearChoices (DIA_Kalliach_rozmowa2);
};

func void DIA_Kalliach_rozmowa2_none()
{
AI_Output (other,self,"DIA_Kalliach_rozmowa1none_1_01"); //Niestety nic dla ciebie nie mam.
AI_Output (self, other,"DIA_Kalliach_rozmowa1none_1_02"); //Szkoda. Wróć, jak będziesz miał coś do picia.
Info_ClearChoices (DIA_Kalliach_rozmowa2);
};
to tak... najbardziej mnie interesuje, czy napisany jest prawidłowo ten fragment(fragmenty?):
   FUNC int DIA_Kalliach_Rozmowa1_info()
   {
      IF (NpcHasItems(other,itfowine > 0))
      || (NpcKnowsInfo(hero, DIA_Kalliach_rozmowa2_piwo)
      || (NpcKnowsInfo(hero, DIA_Kalliach_rozmowa2_woda)
      || (NpcKnowsInfo(hero, DIA_Kalliach_rozmowa2_none)
   };
Info_ClearChoices    (DIA_Kalliach_rozmowa2);
Info_Addchoice       (DIA_Kalliach_rozmowa2,"Wino",DIA_Kalliach_rozmowa2_wino);

chciałem osiągnąć taki efekt, żeby jeśli postać posiada wino, to pokazuje się taka ocja wyboru na liście. Jeśli coś jest źle, powiedzcie, jak to zrobić, a nie piszcie za mnie :D
Dzięki.
PS Jeszcze jedno: co napisać, jeśli po danym dialogu (znaczy się tutaj, jak się nic nie ma) dialog się kończył?
 
What are we waitin' for!

Jurigag

Jurigag

Użytkownicy
posty869
Propsy285
ProfesjaSkrypter
  • Użytkownicy
Mozna porobic ew odzielne dialogi z odpowiednimi warunkami, ale skrypt bedzie dluzszy i nieco dluzej gra sie bedzie ladowala. Badz else if to zrobic.
 
Skrypter/Tester - Szukasz testera/skryptera - Pisz !


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