NPC po rozmowie nie prowadzi mnie do wyznaczonego waypointu. 15040 51

O temacie

Autor Ayman

Zaczęty 11.06.2014 roku

Wyświetleń 15040

Odpowiedzi 51

Ayman

Ayman

Użytkownicy
posty64
  • Użytkownicy
Faktycznie sam nie rozumiem co napisałem, spróbuje jeszcze raz i pokaże wam na kodzie. Ten NPC ma różnie zareagować od podjętej mojej decyzji.

DIA_SLD_891_Marian_AlkoWykonane, to zaniosłem alkohol od razu do NPC, albo zostałem złapany ale odzyskałem alkohol i ostatecznie i tak dostarczyłem alkohol.  To mi działa idealnie:

FUNC INT DIA_SLD_891_Marian_AlkoWykonane_Condition()
{
if (Npc_HasItems(other, ItFo_PiwoQuest) == 1)
|| (npc_knowsinfo (other, DIA_SLD_889_Mirek_AlkoWykrycie))
&& (Npc_HasItems(other, ItFo_PiwoQuest) == 1)
{
    return TRUE;
};
};

DIA_SLD_891_Marian_AlkoSprzedaz, (tutaj mam problem właśnie), zostałem złapany, alkohol zabrany i zadanie staje sie NIEUDANE w czasie gadki z NPC ktory nas złapał, wracam do NPC ktory mi dal questa na znalezienie alko - więc wstawilem takie coś:

FUNC INT DIA_SLD_891_Marian_AlkoSprzedaz_Condition()
{
if (MIS_Alko == LOG_FAILED)
{
    return TRUE;
};
};

Po tym jak quest stał się NIEUDANY (failed) chciałbym, żeby wywołało rozmowę u NPCa który zlecił mi zadanie ale jak zadanie udało się POPRAWNIE zrobić (SUCCESS) to zeby ta rozmowa nigdy się nie pojawiła - no bo po co ?


Fragment NPC ktory zleca questa.

//*********************************************************************
//    AlkoWykonane
//*********************************************************************
INSTANCE DIA_SLD_891_Marian_AlkoWykonane   (C_INFO)
{
    npc         = SLD_891_Marian;
    nr          = 1;
    condition   = DIA_SLD_891_Marian_AlkoWykonane_Condition;
    information = DIA_SLD_891_Marian_AlkoWykonane_Info;
    permanent   = FALSE;
    description = "Mam alkohol.";
};

FUNC INT DIA_SLD_891_Marian_AlkoWykonane_Condition()
{
if (Npc_HasItems(other, ItFo_PiwoQuest) == 1)
|| (npc_knowsinfo (other, DIA_SLD_889_Mirek_AlkoWykrycie))
&& (Npc_HasItems(other, ItFo_PiwoQuest) == 1)
{
    return TRUE;
};
};

FUNC VOID DIA_SLD_891_Marian_AlkoWykonane_Info()
{
  AI_Output (other, self, "DIA_SLD_891_Marian_AlkoWykonane_01_00"); //Mam alkohol.
  AI_Output (self, other, "DIA_SLD_891_Marian_AlkoWykonane_15_01"); //Co tam masz?
  AI_Output (other, self, "DIA_SLD_891_Marian_AlkoWykonane_01_02"); //Piwo.

  B_GiveInvItems (other, self, ItFo_PiwoQuest, 1);
  B_LogEntry (TOPIC_Alko,"Dałem Marianowi browara. Mam tylko nadzieję, że nikt się o tym procederze nie dowie.");
  Log_SetTopicStatus (TOPIC_Alko, LOG_SUCCESS);
  B_GivePlayerXP (XP_MalethKillBandits);

  AI_Output (self, other, "DIA_SLD_891_Marian_AlkoWykonane_15_03"); //Ooo, zimne piwko tylko dla mnie. Możesz już iść.
  AI_Output (other, self, "DIA_SLD_891_Marian_AlkoWykonane_01_04"); //Słowo "dziękuję" by się przydało.
  AI_Output (self, other, "DIA_SLD_891_Marian_AlkoWykonane_15_05"); //No nara.

};

//*********************************************************************
//    AlkoWykonane
//*********************************************************************
INSTANCE DIA_SLD_891_Marian_AlkoSprzedaz   (C_INFO)
{
    npc         = SLD_891_Marian;
    nr          = 1;
    condition   = DIA_SLD_891_Marian_AlkoSprzedaz_Condition;
    information = DIA_SLD_891_Marian_AlkoSprzedaz_Info;
    permanent   = FALSE;
    description = "Ty dziadu, sprzedałeś mnie Mirkowi, zatłukę cie jak psa!";
  important   = 1;
};

FUNC INT DIA_SLD_891_Marian_AlkoSprzedaz_Condition()
{
if (MIS_Alko == LOG_FAILED)
{
    return TRUE;
};
};

FUNC VOID DIA_SLD_891_Marian_AlkoSprzedaz_Info()
{
  AI_Output (self, other, "DIA_SLD_891_Marian_AlkoWykonanePraw_15_01"); //Ty dziadu, sprzedałeś mnie Mirkowi, zatłukę cie jak psa!
  AI_Output (other, self, "DIA_SLD_891_Marian_AlkoWykonanePraw_01_02"); //Czekaj, musiałem, bo...

  AI_StopProcessInfos    (self);
  B_Attack (self, other, AR_NONE,1);

  AI_StopProcessInfos    (self);

};         
 
"Lók, jestem tfojim ojcem!"

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Cytuj
Po tym jak quest stał się NIEUDANY (failed) chciałbym, żeby wywołało rozmowę u NPCa który zlecił mi zadanie ale jak zadanie
sprawdzasz, czy MIS_Alko równa się LOG_FAILED
Cytuj
ale jak zadanie udało się POPRAWNIE zrobić (SUCCESS) to zeby ta rozmowa nigdy się nie pojawiła - no bo po co ?
sprawdzasz, czy MIS_Alko nierówna się LOG_SUCCESS

Ayman

Ayman

Użytkownicy
posty64
  • Użytkownicy
A to gdzie i jak mam to sprawdzić/wpisać ? To MIS_Alko wpisałem do Story_Globals
 
"Lók, jestem tfojim ojcem!"

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Żeby sprawdzić, najpierw trzeba ustawić.
W dialogu, gdzie misja się udała, przypisujesz do zmiennej ( operatorem = ) MIS_ALKO wartość LOG_SUCCESS, gdy nie, to LOG_FAILED.

Cytuj
A to gdzie i jak mam to sprawdzić/wpisać ?
Przy warunkach ( condition ) w dialogach.

Ayman

Ayman

Użytkownicy
posty64
  • Użytkownicy
Jak to wstawiam w condition, to nie działa, raczej tego nie zrobię. Pogubiłem się już.

INSTANCE DIA_SLD_891_Marian_AlkoWykonane   (C_INFO)
{
npc         = SLD_891_Marian;
nr          = 1;
condition   = DIA_SLD_891_Marian_AlkoWykonane_Condition;
information = DIA_SLD_891_Marian_AlkoWykonane_Info;
permanent   = FALSE;
description = "Mam alkohol.";
};

FUNC INT DIA_SLD_891_Marian_AlkoWykonane_Condition()
{
if (Npc_HasItems(other, ItFo_PiwoQuest) == 1)
|| (npc_knowsinfo (other, DIA_SLD_889_Mirek_AlkoWykrycie))
&& (Npc_HasItems(other, ItFo_PiwoQuest) == 1)
&& (MIS_Alko == LOG_SUCCESS) <--- tu wstawić ?
{
return TRUE;
};
};

FUNC VOID DIA_SLD_891_Marian_AlkoWykonane_Info()
{
  AI_Output (other, self, "DIA_SLD_891_Marian_AlkoWykonane_01_00"); //Mam alkohol.
  AI_Output (self, other, "DIA_SLD_891_Marian_AlkoWykonane_15_01"); //Co tam masz?
  AI_Output (other, self, "DIA_SLD_891_Marian_AlkoWykonane_01_02"); //Piwo.

  B_GiveInvItems (other, self, ItFo_PiwoQuest, 1);
  B_LogEntry (TOPIC_Alko,"Dałem Marianowi browara. Mam tylko nadzieję, że nikt się o tym procederze nie dowie.");
  Log_SetTopicStatus (TOPIC_Alko, LOG_SUCCESS);
  B_GivePlayerXP (XP_MalethKillBandits);

  AI_Output (self, other, "DIA_SLD_891_Marian_AlkoWykonane_15_03"); //Ooo, zimne piwko tylko dla mnie. Możesz już iść.
  AI_Output (other, self, "DIA_SLD_891_Marian_AlkoWykonane_01_04"); //Słowo "dziękuję" by się przydało.
  AI_Output (self, other, "DIA_SLD_891_Marian_AlkoWykonane_15_05"); //No nara.

}; 
 
 
"Lók, jestem tfojim ojcem!"

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Nie tu. Poza tym zły warunek:
Cytuj
FUNC INT DIA_SLD_891_Marian_AlkoWykonane_Condition()
{
     if ((Npc_HasItems(other, ItFo_PiwoQuest) == 1)
     || Npc_KnowsInfo (other, DIA_SLD_889_Mirek_AlkoWykrycie))
{
To jest poprawne.
W tym dialogu co wysłałeś, tam gdzie są gadki, przypisz do zmiennej ( operatorem = ) MIS_ALKO wartość LOG_SUCCESS. Robisz tak, ponieważ misja kończy się sukcesem, tam gdzie misje spierdoli, to przypisujesz LOG_FAILED.

Ayman

Ayman

Użytkownicy
posty64
  • Użytkownicy
Działa! Super, dzięki, nie wstawiałem (nie zrozumiałem cie gdzie to wstawić na początku) MIS_ALKO = LOG_FAILED w dialogu w którym misję zalicza jako nieudaną tylko wstawiałem do dialogu zleceniodawcy - a przecież to nie u niego misja jest klasyfikowana jako nieudana. Nadal prosze o nie zamykanie tematu, zrobiłem już 8 questów, przy następnych znowu może coś nie wyjść :)
 
"Lók, jestem tfojim ojcem!"

UrizielX

UrizielX

Użytkownicy
Kolekcjoner dusz
posty42
Propsy20
ProfesjaGracz
  • Użytkownicy
  • Kolekcjoner dusz
No właśnie, strzelam, że musi być masz GuidePC, chociaż dawno tego nie robiłem. Zresztą w dialogu chyba jeszcze coś powinno być, sprawdź w Easy Dialog Maker.
 

Ayman

Ayman

Użytkownicy
posty64
  • Użytkownicy
Po paru intensywnych dniach, mam kolejny problem. W jednym z dialogów wychodzą te błędy:

00:00 ++++++++++++++ Start by  ++++++++++++++
01:45 Fatal:-1 U:PAR: \_WORK\DATA\SCRIPTS\CONTENT\STORY\DIALOGE\DIA_SLD_1502_SAPP.D: Unknown identifier : SLD_1502_SAPP_PYTANIE .... <zParser.cpp,#599>
02:25 Fatal:-1 U:PAR: \_WORK\DATA\SCRIPTS\CONTENT\STORY\DIALOGE\DIA_SLD_1502_SAPP.D: Unknown identifier : SLD_1502_SAPP_KASA .... <zParser.cpp,#599>
02:29 Fatal:-1 U:PAR: \_WORK\DATA\SCRIPTS\CONTENT\STORY\DIALOGE\DIA_SLD_1502_SAPP.D: Unknown identifier : SLD_1502_SAPP_NAUKA .... <zParser.cpp,#599>

A o to cały kod dialogu. Jest to dialog npc ktory ma nas uczyć po opłacie Siły. Robiłem na przykładzie innych npc. Ja nie mogę się dopatrzeć błędu.

//*********************************************************************
//    Info EXIT
//*********************************************************************
INSTANCE DIA_SLD_1502_Sapp_EXIT   (C_INFO)
{
    npc         = SLD_1502_Sapp;
    nr          = 999;
    condition   = DIA_SLD_1502_Sapp_EXIT_Condition;
    information = DIA_SLD_1502_Sapp_EXIT_Info;
    permanent   = TRUE;
    description = DIALOG_ENDE;
};

FUNC INT DIA_SLD_1502_Sapp_EXIT_Condition()
{
    return TRUE;
};

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

//*********************************************************************
//    Info Hello
//*********************************************************************
INSTANCE DIA_SLD_1502_Sapp_Hello   (C_INFO)
{
    npc         = SLD_1502_Sapp;
    nr          = 1;
    condition   = DIA_SLD_1502_Sapp_Hello_Condition;
    information = DIA_SLD_1502_Sapp_Hello_Info;
    permanent   = FALSE;
    description = "Ale z ciebie mutant.";
};

FUNC INT DIA_SLD_1502_Sapp_Hello_Condition()
{
    return TRUE;
};

FUNC VOID DIA_SLD_1502_Sapp_Hello_Info()
{
    AI_Output (other, self, "DIA_SLD_1502_Sapp_Hello_01_00"); //Ale z ciebie mutant.
  AI_Output (self, other, "DIA_SLD_1502_Sapp_Hello_15_01"); //Co ?!
  AI_Output (other, self, "DIA_SLD_1502_Sapp_Hello_01_02"); //Nic nic, po prostu nieźle jesteś napakowany, synthol leje się z ciebie jak z burej su...
  AI_Output (self, other, "DIA_SLD_1502_Sapp_Hello_15_03"); //Chłopcze, to są naturalne mięśnie, stworzone czystą, fizyczną pracą.
};

//*********************************************************************
//    Pytanie o nauke sily
//*********************************************************************
INSTANCE DIA_SLD_1502_Sapp_Pytanie   (C_INFO)
{
    npc         = SLD_1502_Sapp_Pytanie;
    nr          = 1;
    condition   = DIA_SLD_1502_Sapp_Pytanie_Condition;
    information = DIA_SLD_1502_Sapp_Pytanie_Info;
    permanent   = FALSE;
    description = "Chcę być tak nabity sterydami jak ty.";
};

FUNC INT DIA_SLD_1502_Sapp_Pytanie_Condition()
{
    if Npc_KnowsInfo (other, DIA_SLD_1502_Sapp_Hello)
    {
        return TRUE;
    };
};

FUNC VOID DIA_SLD_1502_Sapp_Pytanie_Info()
{
    AI_Output (other, self, "DIA_SLD_1502_Sapp_Pytanie_01_00"); //Chcę być tak nabity sterydami jak ty.
  AI_Output (self, other, "DIA_SLD_1502_Sapp_Pytanie_15_01"); //Powtarzam, to wszystko jest naturalne. Co do nauki...hmm... tak mogę ci pokazać jak się pakuję łapska.
  AI_Output (self, other, "DIA_SLD_1502_Sapp_Pytanie_15_02"); //Za 50 sztuk złota nauczę cie mojej nadludzkiej siły.


};

//*********************************************************************
//    Zaplata
//*********************************************************************
INSTANCE DIA_SLD_1502_Sapp_Kasa   (C_INFO)
{
    npc         = SLD_1502_Sapp_Kasa;
    nr          = 1;
    condition   = DIA_SLD_1502_Sapp_Kasa_Condition;
    information = DIA_SLD_1502_Sapp_Kasa_Info;
    permanent   = TRUE;
    description = "Chciałbym być tak silny jak ty (zapłać 50 sztuk złota).";
};

FUNC INT DIA_SLD_1502_Sapp_Kasa_Condition()
{
    if Npc_KnowsInfo (other, DIA_SLD_1502_Sapp_Pytanie)
  && (Sila_Sappa == FALSE)
    {
        return TRUE;
    };
};

FUNC VOID DIA_SLD_1502_Sapp_Kasa_Info()
{
    AI_Output (other, self, "DIA_SLD_1502_Sapp_Kasa_01_00"); //Oto kasa, chciałbym być tak silny jak ty.

  if B_GiveInvItems (other, self, ItMi_Gold, 50)
        {
            AI_Output (self, other, "DIA_SLD_1502_Sapp_Kasa_15_00");//Dobrze, możemy zacząć, gdy tylko będziesz gotowy.
            Sila_Sappa = TRUE;
        }
    else
        {
      AI_Output (self, other, "DIA_SLD_1502_Sapp_Kasa_15_00");//Nie masz kasy ? To po ciul mi zawracasz głowe ?
    };
};

//*********************************************************************
//    Nauka
//*********************************************************************
INSTANCE DIA_SLD_1502_Sapp_Nauka   (C_INFO)
{
    npc         = SLD_1502_Sapp_Nauka;
    nr          = 1;
    condition   = DIA_SLD_1502_Sapp_Nauka_Condition;
    information = DIA_SLD_1502_Sapp_Nauka_Info;
    permanent   = TRUE;
    description = "Chcę być napakowany.";
};

FUNC INT DIA_SLD_1502_Sapp_Nauka_Condition()
{
  if (Sila_Sappa == TRUE)
    {
        return TRUE;
    };
};

FUNC VOID DIA_SLD_1502_Sapp_Nauka_Info()
{
    AI_Output (other,self ,"DIA_SLD_1502_Sapp_Nauka_15_00"); //Chcę być napakowany.

    Info_ClearChoices (DIA_SLD_1502_Sapp_Nauka);
    Info_AddChoice        (DIA_SLD_1502_Sapp_Nauka, DIALOG_BACK, DIA_SLD_1502_Sapp_Nauka_Back);
    Info_AddChoice        (DIA_SLD_1502_Sapp_Nauka, B_BuildLearnString(PRINT_LearnSTR1            , B_GetLearnCostAttribute(other, ATR_STRENGTH))            ,DIA_SLD_1502_Sapp_Nauka_STR_1);
    Info_AddChoice        (DIA_SLD_1502_Sapp_Nauka, B_BuildLearnString(PRINT_LearnSTR5            , B_GetLearnCostAttribute(other, ATR_STRENGTH)*5)        ,DIA_SLD_1502_Sapp_Nauka_STR_5);
};

FUNC VOID DIA_SLD_1502_Sapp_Nauka_Back ()
{
    Info_ClearChoices (DIA_SLD_1502_Sapp_Nauka);
};

FUNC VOID DIA_SLD_1502_Sapp_Nauka_STR_1 ()
{
    B_TeachAttributePoints (self, other, ATR_STRENGTH, 1, T_HIGH);

    Info_ClearChoices     (DIA_SLD_1502_Sapp_Nauka);
    Info_AddChoice        (DIA_SLD_1502_Sapp_Nauka, DIALOG_BACK, DIA_SLD_1502_Sapp_Nauka_Back);
    Info_AddChoice        (DIA_SLD_1502_Sapp_Nauka, B_BuildLearnString(PRINT_LearnSTR1            , B_GetLearnCostAttribute(other, ATR_STRENGTH))            ,DIA_SLD_1502_Sapp_Nauka_STR_1);
    Info_AddChoice        (DIA_SLD_1502_Sapp_Nauka, B_BuildLearnString(PRINT_LearnSTR5            , B_GetLearnCostAttribute(other, ATR_STRENGTH)*5)        ,DIA_SLD_1502_Sapp_Nauka_STR_5);
};

FUNC VOID DIA_SLD_1502_Sapp_Nauka_STR_5 ()
{
    B_TeachAttributePoints (self, other, ATR_STRENGTH, 5, T_HIGH);

    Info_ClearChoices     (DIA_SLD_1502_Sapp_Nauka);
    Info_AddChoice        (DIA_SLD_1502_Sapp_Nauka, DIALOG_BACK, DIA_SLD_1502_Sapp_Nauka_Back);
    Info_AddChoice        (DIA_SLD_1502_Sapp_Nauka, B_BuildLearnString(PRINT_LearnSTR1            , B_GetLearnCostAttribute(other, ATR_STRENGTH))            ,DIA_SLD_1502_Sapp_Nauka_STR_1);
    Info_AddChoice        (DIA_SLD_1502_Sapp_Nauka, B_BuildLearnString(PRINT_LearnSTR5            , B_GetLearnCostAttribute(other, ATR_STRENGTH)*5)        ,DIA_SLD_1502_Sapp_Nauka_STR_5);
};     
                                                               

 
"Lók, jestem tfojim ojcem!"

Taliasan

Taliasan

Użytkownicy
posty378
Propsy171
Profesjabrak
  • Użytkownicy
W skrypcie dałeś w tamtych dialogach te nazwy: SLD_1502_SAPP_PYTANIE, SLD_1502_SAPP_KASA i SLD_1502_SAPP_NAUKA, w miejsce gdzie trzeba wpisać nazwę npc z którym rozmawiamy,

Post połączony: 2014-06-22, 19:35
INSTANCE DIA_SLD_1502_Sapp_Nauka   (C_INFO)
{
    npc         = SLD_1502_Sapp_Nauka;



 

Ayman

Ayman

Użytkownicy
posty64
  • Użytkownicy
Opcja "Znajdz i zamień", musiałem i to zmienić. Pisząc  w notatniku, ciężko się wykrywa takie błędy. Polecacie jakiś program ? Myśle by pisać w notepad +.

A mam jeszcze pytanie, właśnie przetestowałem ten skrypt, działa lecz gdy mam kase 50 sztu zlota, to pojawia się dialog który powinien sie pojawiac jak nie mam kasy.
 
"Lók, jestem tfojim ojcem!"

Taliasan

Taliasan

Użytkownicy
posty378
Propsy171
Profesjabrak
  • Użytkownicy
Tak powinien wyglądać skrypt
    if (Npc_HasItems (other, ItMi_Gold) >=50)
    {
    AI_Output (self, other, "DIA_SLD_1502_Sapp_Kasa_15_00");//Dobrze, możemy zacząć, gdy tylko będziesz gotowy.
    Sila_Sappa = TRUE;
    B_GiveInvItems (other, self, ItMi_Gold, 50);
    }

W takiej formie jak ty dałeś nie ma prawa zadziała warunek. Polecam ci program easy dialog maker, na pewno ci się przyda. Co edycji skryptów, To możesz uzywać notepada++  czy nawet gothic soucera czy inny tego typu program podświetlający składnie skryptowe
 

Ayman

Ayman

Użytkownicy
posty64
  • Użytkownicy
Nadal nie pojawia się dialog gdy mam te 50 sztuk złota, tylko ten gdybym nie miał. Wszystko działa, tylko dialogi są pomylone. A i to co na wczesniej napisałem, rownież działalo, spisałem to z NPC Carla, ten kowal koło alchemika co niepamięc sprzedaje, on ma taki skrypt odnosnie zapłaty za naukę siły.

FUNC VOID DIA_SLD_1502_Sapp_Kasa_Info()
{
AI_Output (other, self, "DIA_SLD_1502_Sapp_Kasa_01_00"); //Oto kasa, chciałbym być tak silny jak ty.

  if (Npc_HasItems (other, ItMi_Gold) >=50)
    {
      AI_Output (self, other, "DIA_SLD_1502_Sapp_Kasa_15_00");//Dobrze, możemy zacząć, gdy tylko będziesz gotowy.
      Sila_Sappa = TRUE;
      B_GiveInvItems (other, self, ItMi_Gold, 50);
    }
    else
{
      AI_Output (self, other, "DIA_SLD_1502_Sapp_Kasa_15_00");//Nie masz kasy ? To po ciul mi zawracasz głowe ?
    };
};

//**
 
"Lók, jestem tfojim ojcem!"

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Cytuj
FUNC INT DIA_SLD_1502_Sapp_Kasa_Condition()
{
    if (Npc_KnowsInfo (other, DIA_SLD_1502_Sapp_Pytanie))
    && (Sila_Sappa == FALSE)
    && (Npc_HasItems(other, ItMi_Gold) >= 50)
    {
        return TRUE;
    };
};
Reszte wyjeb.

Ayman

Ayman

Użytkownicy
posty64
  • Użytkownicy
Reszte czyli ? Taki kod mam. Chyba "ELSE" tu nie pasuje.

FUNC INT DIA_SLD_1502_Sapp_Kasa_Condition()
{
  if Npc_KnowsInfo (other, DIA_SLD_1502_Sapp_Pytanie)
  && (Sila_Sappa == FALSE)
  && (Npc_HasItems(other, ItMi_Gold) >= 50)
{
return TRUE;
};
};

FUNC VOID DIA_SLD_1502_Sapp_Kasa_Info()
{
  AI_Output (other, self, "DIA_SLD_1502_Sapp_Kasa_01_00"); //Oto kasa, chciałbym być tak silny jak ty.
  AI_Output (self, other, "DIA_SLD_1502_Sapp_Kasa_15_00"); //Dobrze, możemy zacząć, gdy tylko będziesz gotowy.
  Sila_Sappa = TRUE;
  B_GiveInvItems (other, self, ItMi_Gold, 50);
}
 else
 {
  AI_Output (self, other, "DIA_SLD_1502_Sapp_Kasa_15_00"); //Nie masz kasy ? To po ciul mi zawracasz głowę ?
 };
};

//
 
"Lók, jestem tfojim ojcem!"

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Else samo w sobie nie istnieje, musi je poprzedzać warunek if. Wykasuj:
}
 else
 {
  AI_Output (self, other, "DIA_SLD_1502_Sapp_Kasa_15_00"); //Nie masz kasy ? To po ciul mi zawracasz głowę ?
 };
 
Lieb Vaterland magst ruhig sein

Ayman

Ayman

Użytkownicy
posty64
  • Użytkownicy
No ale wtedy nie będę miał dialogu informującego, że sie nie mam wystarczającej kasy.  Po to jest ten dialog który mówicie bym usunął :)
 
"Lók, jestem tfojim ojcem!"

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
To pokaż poprzednią wersję Conditiona.
 
Lieb Vaterland magst ruhig sein

Ayman

Ayman

Użytkownicy
posty64
  • Użytkownicy
Poprzednia wersja:

Podejrzałem NPC Carl, kowal w Khorinis uczący siłę za 50 sztuk złota właśnie.

FUNC INT DIA_SLD_1502_Sapp_Kasa_Condition()
{
    if Npc_KnowsInfo (other, DIA_SLD_1502_Sapp_Pytanie)
  && (Sila_Sappa == FALSE)
    {
        return TRUE;
    };
};

FUNC VOID DIA_SLD_1502_Sapp_Kasa_Info()
{
    AI_Output (other, self, "DIA_SLD_1502_Sapp_Kasa_01_00"); //Oto kasa, chciałbym być tak silny jak ty.

  if B_GiveInvItems (other, self, ItMi_Gold, 50)
        {
            AI_Output (self, other, "DIA_SLD_1502_Sapp_Kasa_15_00");//Dobrze, możemy zacząć, gdy tylko będziesz gotowy.
            Sila_Sappa = TRUE;
        }
    else
        {
      AI_Output (self, other, "DIA_SLD_1502_Sapp_Kasa_15_00");//Nie masz kasy ? To po ciul mi zawracasz głowe ?
    };
};

A tu kod z dialogu Carla, na którym bazowałem.

FUNC INT DIA_Carl_bezahlen_Condition()
{
if Npc_KnowsInfo (other, DIA_Carl_Wieviel)
&& (Carl_TeachSTR == FALSE)
{
return TRUE;
};
};
FUNC VOID DIA_Carl_bezahlen_Info()
{
AI_Output (other, self, "DIA_Carl_bezahlen_15_00");//Chcę z tobą ćwiczyć.

if Npc_KnowsInfo (other,DIA_Edda_Statue)
{
AI_Output (self, other, "DIA_Carl_bezahlen_05_01");//Słyszałem, co zrobiłeś dla Eddy. Wyszkolę cię za darmo.
Carl_TeachSTR = TRUE;
}
else
{
if B_GiveInvItems (other, self, ItMi_Gold, 50)
{
AI_Output (self, other, "DIA_Carl_bezahlen_05_02");//Dobrze, możemy zacząć, gdy tylko będziesz gotowy.
Carl_TeachSTR = TRUE;
}
else
{
AI_Output (self, other, "DIA_Carl_bezahlen_05_03");//Zdobądź złoto, wtedy cię wyszkolę.
};
};
};             
 
"Lók, jestem tfojim ojcem!"

Taliasan

Taliasan

Użytkownicy
posty378
Propsy171
Profesjabrak
  • Użytkownicy
Spróbuj to wypróbować:
INSTANCE DIA_Sapp_Sapp_Kasa (C_INFO)
{
   npc          = SLD_1502_Sapp;
   nr           = 1;
   condition    = DIA_Sapp_Sapp_Kasa_Condition;
   information  = DIA_Sapp_Sapp_Kasa_Info;
   permanent   = TRUE;
   description   = "Oto kasa, chciałbym być tak silny jak ty.";};

FUNC INT DIA_Sapp_Sapp_Kasa_Condition()
{
    if (Npc_KnowsInfo (other, DIA_SLD_1502_Sapp_Pytanie))
    && (Sila_Sappa == FALSE)
    {
    return TRUE;
    };
};


FUNC VOID DIA_Sapp_Sapp_Kasa_Info()
{
    AI_Output (other, self ,"DIA_Sapp_Sapp_Kasa_15_01"); //Oto kasa, chciałbym być tak silny jak ty.
    if (Npc_HasItems (other, ItMi_Gold) >=50)
    {
        AI_Output (self, other ,"DIA_Sapp_Sapp_Kasa_03_02"); //Dobrze, możemy zacząć, gdy tylko będziesz gotowy.
        B_GiveInvItems (other, self, ItMi_Gold, 50);
        Sila_Sappa = TRUE;

    }
    else
    {
        AI_Output (self, other ,"DIA_Sapp_Sapp_Kasa_03_03"); //Nie masz kasy? To po ciul mi zawracasz głowę?
    };
};
 


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