Problem ze skryptem dialogu 1992 2

O temacie

Autor TuptuS_

Zaczęty 27.04.2014 roku

Wyświetleń 1992

Odpowiedzi 2

TuptuS_

TuptuS_

Użytkownicy
Gods of Destruction
posty44
Propsy5
ProfesjaSkrypter
  • Użytkownicy
  • Gods of Destruction
Witam.

Opcja dialogowa nie pojawia się w grze. Inne występują. Tak jakby NPC nie spełniał warunków, a je spełnia. Dialog hello2 odbyty oraz umiejętność broni jednoręcznej spełniony.

//========================================
//-----------------> HELLO5
//========================================

INSTANCE DIA_Gannar_HELLO5 (C_INFO)
{
   npc          = PIR_502003_Gannar;
   nr           = 5;
   condition    = DIA_Gannar_HELLO5_Condition;
   information  = DIA_Gannar_HELLO5_Info;
   permanent = FALSE;
   description = "Już jestem lepszy!";
};

FUNC INT DIA_Gannar_HELLO5_Condition()
{
    if (Npc_KnowsInfo (other, DIA_Gannar_HELLO2))
    && (Npc_GetTalentSkill(other, NPC_TALENT_1H) >= 29)
    {
    return TRUE;
    };
};


FUNC VOID DIA_Gannar_HELLO5_Info()
{
    AI_Output (other, self ,"DIA_Gannar_HELLO5_15_01"); //Już jestem lepszy!
    AI_Output (self, other ,"DIA_Gannar_HELLO5_03_02"); //No to dobrze.
    AI_Output (self, other ,"DIA_Gannar_HELLO5_03_03"); //Mój głos masz.
    AI_Output (self, other ,"DIA_Gannar_HELLO5_03_04"); //A co z resztą chłopaków?
    AI_Output (other, self ,"DIA_Gannar_HELLO5_15_05"); //Pracuje nad tym.
    B_LogEntry                     (TOPIC_Trening_Piraci,"Nauczyłem się walki, a Gannar dał mi swój głos.");
    Log_SetTopicStatus       (TOPIC_Trening_Piraci, LOG_SUCCESS);
    MIS_Trening_Piraci = LOG_SUCCESS;

    B_GivePlayerXP (150);
    B_LogEntry                     (TOPIC_Pomoc,"Nauczyłem się walki, a Gannar dał mi swój głos. Trzeba zająć się resztą i dostać się do górnego obozu.");

    B_GivePlayerXP (150);
    AI_StopProcessInfos (self);
};

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio

chicken
RaveN Studio

Problem ze skryptem dialogu
#1 2014-04-27, 15:31(Ostatnia zmiana: 2014-04-27, 15:41)
Witam.

Opcja dialogowa nie pojawia się w grze. Inne występują. Tak jakby NPC nie spełniał warunków, a je spełnia. Dialog hello2 odbyty oraz umiejętność broni jednoręcznej spełniony.

//========================================
//-----------------> HELLO5
//========================================

INSTANCE DIA_Gannar_HELLO5 (C_INFO)
{
   npc          = PIR_502003_Gannar;
   nr           = 5;
   condition    = DIA_Gannar_HELLO5_Condition;
   information  = DIA_Gannar_HELLO5_Info;
   permanent = FALSE;
   description = "Już jestem lepszy!";
};

FUNC INT DIA_Gannar_HELLO5_Condition()
{
    if (Npc_KnowsInfo (other, DIA_Gannar_HELLO2))
    && (Npc_GetTalentSkill(other, NPC_TALENT_1H) >= 29)
    {
    return TRUE;
    };
};


FUNC VOID DIA_Gannar_HELLO5_Info()
{
    AI_Output (other, self ,"DIA_Gannar_HELLO5_15_01"); //Już jestem lepszy!
    AI_Output (self, other ,"DIA_Gannar_HELLO5_03_02"); //No to dobrze.
    AI_Output (self, other ,"DIA_Gannar_HELLO5_03_03"); //Mój głos masz.
    AI_Output (self, other ,"DIA_Gannar_HELLO5_03_04"); //A co z resztą chłopaków?
    AI_Output (other, self ,"DIA_Gannar_HELLO5_15_05"); //Pracuje nad tym.
    B_LogEntry                     (TOPIC_Trening_Piraci,"Nauczyłem się walki, a Gannar dał mi swój głos.");
    Log_SetTopicStatus       (TOPIC_Trening_Piraci, LOG_SUCCESS);
    MIS_Trening_Piraci = LOG_SUCCESS;

    B_GivePlayerXP (150);
    B_LogEntry                     (TOPIC_Pomoc,"Nauczyłem się walki, a Gannar dał mi swój głos. Trzeba zająć się resztą i dostać się do górnego obozu.");

    B_GivePlayerXP (150);
    AI_StopProcessInfos (self);
};
Problemem jest ten warunek:
&& (Npc_GetTalentSkill(other, NPC_TALENT_1H) >= 29)
Ty sprawdzasz czy npc other( bohater ) ma 29 poziom posługiwania się mieczami jednoręcznymi, a podejrzewam, że Tobie chodzi o sprawdzanie ilości na szansę krytyczną. Jeśli chodzi Ci o g2 to sprawdzaj tak:
&& (other.HitChance[TuWpiszTalent] >= TuWpiszIlość)Edit: Przy okazji zauważyłem, że dwa razy dajesz bohaterowi expa, napisałeś 2x > B_GivePlayerXP (150);.
Usuń jeśli jedno jest zbędne lub po prostu zamień na B_GivePlayerXP (300);.

TuptuS_

TuptuS_

Użytkownicy
Gods of Destruction
posty44
Propsy5
ProfesjaSkrypter
  • Użytkownicy
  • Gods of Destruction
Okej, sprawdziłem do g2 i działa, kłódkę poproszę i dzięki za odpowiedź.


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