Prosty skrypt handlu 2570 5

O temacie

Autor Lobos

Zaczęty 12.07.2016 roku

Wyświetleń 2570

Odpowiedzi 5

Lobos

Lobos

Użytkownicy
posty594
Propsy360
Profesjabrak
  • Użytkownicy
//========================================
//-----------------> HANDEL
//========================================

INSTANCE DIA_Derek_HANDEL (C_INFO)
{
   npc          = SLD_3224_Derek;
   nr           = 2;
   condition    = DIA_Derek_HANDEL_Condition;
   information  = DIA_Derek_HANDEL_Info;
   permanent = TRUE;
   description = "Poka¿ mi co tam masz";
};

FUNC INT DIA_Derek_HANDEL_Condition()
{
if (Npc_KnowsInfo (other, DIA_Derek_HELLO1))
    {
return TRUE;
    };
};


FUNC VOID DIA_Derek_HANDEL_Info()
{
    AI_Output (other, self ,"DIA_Derek_HANDEL_15_01"); //Poka¿ mi co tam masz
    if (hero.guild == GIL_NONE)
|| (hero.guild == GIL_STRF)
         
    {
         AI_Output (self, other ,"DIA_Derek_HANDEL_03_02"); //Nie doslysza³eœ baranie ?
         AI_Output (self, other ,"DIA_Derek_HANDEL_03_03"); //Broñ sprzedaje wy³¹cznie cz³onkom naszego oddzialu
       
    }
    if  (hero.guild == GIL_DJG)
|| (hero.guild == GIL_SLD)
    {
         AI_Output (self, other ,"DIA_Derek_HANDEL_03_04"); //Wybieraj
B_GiveTradeInv (self);
}
else
{
AI_Output (self, other ,"DIA_Derek_HANDEL_03_05"); //Broñ sprzedaje wy³¹cznie cz³onkom naszego oddzialu, a ty nie zdajesz sie byc jednym z nas.
};
};


No więc tak. Skrypt do linijki drugiego IF działa dobrze. Derek mówi do bohatera "wybieraj" ale nie pokazuje towaru. Trzeci warunek else też nie działa tak jakbym chciał. Chce by ostatnia opcja dialogowa pojawiała sie w przypadku gdy bohater należy do innej gildi niż te wymienione w skrypcie. Gdzie jest błąd ?
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
if (hero.guild != GIL_PAL) //Jeśli hero nie jest paladynem
do instance dialogu musiszdodać    trade      = TRUE;
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Lobos

Lobos

Użytkownicy
posty594
Propsy360
Profesjabrak
  • Użytkownicy
//========================================
//-----------------> HANDEL
//========================================

INSTANCE DIA_Derek_HANDEL (C_INFO)
{
   npc          = SLD_3224_Derek;
   nr           = 2;
   condition    = DIA_Derek_HANDEL_Condition;
   information  = DIA_Derek_HANDEL_Info;
   permanent = TRUE;
   trade        = TRUE;
   description = "Poka¿ mi co tam masz";
};

FUNC INT DIA_Derek_HANDEL_Condition()
{
if (Npc_KnowsInfo (other, DIA_Derek_HELLO1))
    {
return TRUE;
    };
};


FUNC VOID DIA_Derek_HANDEL_Info()
{
    AI_Output (other, self ,"DIA_Derek_HANDEL_15_01"); //Poka¿ mi co tam masz
    if (hero.guild == GIL_NONE)
|| (hero.guild == GIL_STRF)
         
    {
         AI_Output (self, other ,"DIA_Derek_HANDEL_03_02"); //Nie doslysza³eœ baranie ?
         AI_Output (self, other ,"DIA_Derek_HANDEL_03_03"); //Broñ sprzedaje wy³¹cznie cz³onkom naszego oddzialu
       
    }
    if  (hero.guild == GIL_DJG)
|| (hero.guild == GIL_SLD)
    {
         AI_Output (self, other ,"DIA_Derek_HANDEL_03_04"); //Wybieraj
B_GiveTradeInv (self);
}
else if (hero.guild != GIL_DJG) // jesli nie jest djg
|| (hero.guild != GIL_STRF)
|| (hero.guild != GIL_NONE)
|| (hero.guild != GIL_SLD)
{
AI_Output (self, other ,"DIA_Derek_HANDEL_03_05"); //Broñ sprzedaje wy³¹cznie cz³onkom naszego oddzialu, a ty nie zdajesz sie byc jednym z nas.
};
};


Rozpisałem to tak. Efekt jest taki że teraz każdemu pokazuje swoje towary a trzeci ostatni warunek działa tak że wywala dialog niezależnie od gildi
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Masz chaos w skryptcie. Zrób po prostu dwa warunki. Jeśli gildia spełnia wymagania = handel, jesli nie = dialog.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Lobos

Lobos

Użytkownicy
posty594
Propsy360
Profesjabrak
  • Użytkownicy
A jednak mi się udało :)
Wystarczyło odpowiednio pokombinować z warunkami
FUNC VOID DIA_Derek_HANDEL_Info()
{
    AI_Output (other, self ,"DIA_Derek_HANDEL_15_01"); //Poka¿ mi co tam masz
    if (hero.guild == GIL_NONE)
|| (hero.guild == GIL_STRF)
         
    {
         AI_Output (self, other ,"DIA_Derek_HANDEL_03_02"); //Nie doslysza³eœ baranie ?
         AI_Output (self, other ,"DIA_Derek_HANDEL_03_03"); //Broñ sprzedaje wy³¹cznie cz³onkom naszego oddzialu
       
    }
    else if (hero.guild == GIL_DJG)
|| (hero.guild == GIL_SLD)
    {
         AI_Output (self, other ,"DIA_Derek_HANDEL_03_04"); //Wybieraj
B_GiveTradeInv (self);
}
else
{
AI_Output (self, other ,"DIA_Derek_HANDEL_03_05"); //Broñ sprzedaje wy³¹cznie cz³onkom naszego oddzialu, a ty nie zdajesz sie byc jednym z nas.
};
};

 

LenikTeam

LenikTeam

Użytkownicy
posty22
Propsy3
ProfesjaGracz
  • Użytkownicy
pobierz easy dialog maker i tam daj plik odpowiadający za handel
 


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