Skrypt losowosci - problem 2902 3

O temacie

Autor Tasilvar

Zaczęty 4.08.2009 roku

Wyświetleń 2902

Odpowiedzi 3

Tasilvar

Tasilvar

Użytkownicy
zwykły user
posty264
Propsy17
ProfesjaSkrypter
  • Użytkownicy
  • zwykły user

Tasilvar

Skrypt losowosci - problem
2009-08-04, 12:03(Ostatnia zmiana: 2009-08-04, 12:05)
Otóż sporządzony został jak narazie prosty skrypt 'gry w kości' oto on:

///////////////////////////////////////////////////////
////////////// EXIT
///////////////////////////////////////////////////////
instance Dia_Hazardzista_EXIT (C_INFO)
{
npc = NON_0090089_Hazardzista;
nr = 999
condition = Dia_Hazardzista_EXIT_condition;
information = Dia_Hazardzista_EXIT_info;
permanent = TRUE;
description = DIALOG_ENDE;
};

FUNC int Dia_Hazardzista_EXIT_condition()
{
return TRUE;
};

FUNC VOID DIA_Hazardzista_EXIT_info()
{
AI_StopProcessInfos (self);
};
var int zmienna;
///////////////////////////////////////////////////////
////////////// Hazard21
///////////////////////////////////////////////////////
instance Dia_Hazardzista_Hazard21 (C_INFO)
{
npc = NON_0090089_Hazardzista;
nr = 1;
condition = Dia_Hazardzista_Hazard21_condition;
information = Dia_Hazardzista_Hazard21_info;
permanent = TRUE;
important = FALSE;
description = "Grasz w kości?";
};

FUNC int Dia_Hazardzista_Hazard21_condition()
{
return TRUE;
};

FUNC VOID DIA_Hazardzista_Hazard21_info()
{
AI_Output (other,self,"DIA_Hazardzista_Hazard21_1_01"); //Grasz w kości?
AI_Output (self, other,"DIA_Hazardzista_Hazard21_1_02"); //Tak. Jeżeli chcesz to zagramy.

Info_ClearChoices (DIA_Hazardzista_Hazard21);
Info_Addchoice (DIA_Hazardzista_Hazard21,"Nie dzięki.",DIA_Hazardzista_Hazard21_bayaby);
Info_Addchoice (DIA_Hazardzista_Hazard21,"Pewnie!",DIA_Hazardzista_Hazard21_YESYESJUP);
};

func void DIA_Hazardzista_Hazard21_bayaby()
{
AI_Output (other,self,"DIA_Hazardzista_Hazard21_2_01"); //Nie dzięki.
AI_Output (self, other,"DIA_Hazardzista_Hazard21_2_02"); //Wiedziałem że zrobisz w gacie i stchórzysz.
AI_StopProcessInfos (self);
Info_ClearChoices (DIA_Hazardzista_Hazard21);
};

func void DIA_Hazardzista_Hazard21_YESYESJUP()
{
AI_Output (other,self,"DIA_Hazardzista_Hazard21_3_01"); //Pewnie!
AI_Output (self, other,"DIA_Hazardzista_Hazard21_3_02"); //Dobra. Zasady są takie:
AI_Output (self, other,"DIA_Hazardzista_Hazard21_3_03"); //Po pierwsze: Płacisz 20 bryłek.
AI_Output (self, other,"DIA_Hazardzista_Hazard21_3_04"); //Po drugie: jak wypadnie powyżej 4 oczek przegrywasz ,a jak niżej wygrywasz
Info_ClearChoices (DIA_Hazardzista_Hazard21);
};
///////////////////////////////////////////////////////
////////////// kiscan
///////////////////////////////////////////////////////
instance Dia_Hazardzista_kiscan (C_INFO)
{
npc = NON_0090089_Hazardzista;
nr = 4;
condition = Dia_Hazardzista_kiscan_condition;
information = Dia_Hazardzista_kiscan_info;
permanent = TRUE;
important = FALSE;
description = "(Rzuć koścmi)";
};

FUNC int Dia_Hazardzista_kiscan_condition()
{
IF (Npc_KnowsInfo(hero, Dia_Hazardzista_Hazard21))

{
return TRUE;
};
};

FUNC VOID DIA_Hazardzista_kiscan_info()
{
Zmienna = Hlp_Random (9);
if (Zmienna <= 4)
AI_Output (other,self,"DIA_Hazardzista_kiscan_1_01"); //(Rzuć koścmi)
AI_Output (other,self,"DIA_Hazardzista_kiscan_1_02"); //HA! Jest poniżej 4 oczek ruda jest moja!
AI_Output (self,other,"DIA_Hazardzista_kiscan_1_03"); //Cholera. Zagraj jeszcze kiedyś.
CreateInvItem (self, itminugget, 20);
B_GiveInvItems (self, hero, itminugget, 20);
};
else if (Zmienna > 4)
{
AI_Output (self, other,"DIA_Hazardzista_kiscan_1_04"); //Hehe wygrałem dawaj moją rude!
AI_Output (other,self,"DIA_Hazardzista_kiscan_1_05"); //Kurwa. Masz.
B_GiveInvItems (hero, self, itminugget, 20);
};
else if (Npc_HasItems(other,itminugget)>=20)
{
AI_Output (self, other,"DIA_Hazardzista_kiscan_1_06"); //Uważasz że jestem głupi? Nie masz 20 bryek rudy głupcze!
AI_StopProcessInfos (self);
};

Podczas repreasowania pojawia się błąd w 96 linijce
A dokładnie to brzmi on: U:PAR: Expected '{' (line 96)

wie ktoś może o co bliżej chodzi?

to musi być gdzieś tu:

Zmienna = Hlp_Random (9);
if (Zmienna <= 4)
AI_Output (other,self,"DIA_Hazardzista_kiscan_1_01"); //(Rzuć koścmi)
AI_Output (other,self,"DIA_Hazardzista_kiscan_1_02"); //HA! Jest poniżej 4 oczek ruda jest moja!
AI_Output (self,other,"DIA_Hazardzista_kiscan_1_03"); //Cholera. Zagraj jeszcze kiedyś.
 

gothI

gothI

Użytkownicy
posty167
  • Użytkownicy
po if nie masz "{"

zmien
Cytuj
Zmienna = Hlp_Random (9);
if (Zmienna <= 4)
AI_Output (other,self,"DIA_Hazardzista_kiscan_1_01"); //(Rzuć koścmi)
AI_Output (other,self,"DIA_Hazardzista_kiscan_1_02"); //HA! Jest poniżej

na

Cytuj
Zmienna = Hlp_Random (9);
if (Zmienna <= 4)
{            
AI_Output (other,self,"DIA_Hazardzista_kiscan_1_01"); //(Rzuć koścmi)
AI_Output (other,self,"DIA_Hazardzista_kiscan_1_02"); //HA! Jest poniżej
 
GG:10938162

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy

pawbuj

Skrypt losowosci - problem
#2 2009-08-13, 22:14(Ostatnia zmiana: 2009-08-13, 23:27)
Otóż mam problem, chce zrobic aby było 33% szansy, że jeżeli kirgo wygra, to nas dobije, niestety nic się nie dzieje.
Cytuj
Cytuj
var int Zmienna;
INSTANCE DIA_Gardist_KIRGOS (C_INFO)
{
   npc            = Grd_251_Kirgo;
   nr            = 1;
   condition   = DIA_Gardist_KIRGOS_Condition;
   information   = DIA_Gardist_KIRGOS_Info;
   important = 1;
   permanent   = 0;   
   description = "Walczyłem z Kirgo!";
};                      

FUNC int DIA_Gardist_KIRGOS_Condition()
{
   var C_NPC Kirgo;    Kirgo = Hlp_GetNpc(Grd_251_Kirgo);         

   if (  (Kirgo_Charged == TRUE) && ( (Kirgo.aivar[AIV_WASDEFEATEDBYSC] == TRUE) || (Kirgo.aivar[AIV_HASDEFEATEDSC] == TRUE) ) )
   {
      return 1;
   };
};

FUNC void DIA_Gardist_KIRGOS_Info()
{
   var C_NPC Kirgo;    Kirgo = Hlp_GetNpc(Grd_251_Kirgo);   
   
   
   if (Kirgo.aivar[AIV_HASDEFEATEDSC] == TRUE)
   {
      AI_Output (self,other,"ZS_Gom2"); //Daleko ci jeszcze do mnie!
      B_ExchangeRoutine (STT_2017_Mach, "g1");
      Npc_ExchangeRoutine(self,"START");
      Zmienna = Hlp_Random (9);
      };
 if (Zmienna <= 3)//33% szansy na smierć
{
Npc_SetAttitude    ( self, ATT_HOSTILE );
Npc_SetTempAttitude    ( self ATT_HOSTILE );
Npc_SetTarget (self other);
AI_StartState (self ZS_Attack, 1, "");   
      
      
   }
   else if (Kirgo.aivar[AIV_WASDEFEATEDBYSC] == TRUE)
   {
      AI_Output (self,other,"ZS_Gom1"); //Szacunek dla Ciebie wojowniku!
      
      B_ExchangeRoutine (STT_2017_Mach, "g1");         
      B_GiveXP (XP_kirgovictory);
      Npc_ExchangeRoutine(self,"START");
   };
      };
tak przy kazji, poprawiłem już skrypt przez edycję i post może być skasowany
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Może ci po prostu nie wylosowało? Najlepiej przetestuj skrypt z 10 razy, może wylosuję :lol2:


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