Problem z monologiem (pojawia się monolog spania zamiast innego) 3184 12

O temacie

Autor pawbuj

Zaczęty 28.06.2014 roku

Wyświetleń 3184

Odpowiedzi 12

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
nie wiem czy już to było, ale podczas nowego monologu (modlenie się do posągu) niekiedy załącza się monolog snu .
co mogę robić nie tak?

druga sprawa - mam animacje pieczenia ścierwojada przy ognisku i kiedy nie jest ono używane to nie możemy przez nie przechodzić, natomiast kiedy jest już w użyciu - to tak.

pomoże ktoś?
 

kaczka

kaczka

RaveN Studio
Definitely not kaczka!
posty2280
Propsy2392
NagrodyV
ProfesjaLvl designer
  • RaveN Studio
  • Definitely not kaczka!
pawbuj :| Primo, mało zrozumiale to napisałeś, druga sprawa, daj skrypty
 

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
// *Script was make in Easy Dialog Maker (EDM)
// *Script was make in Easy Dialog Maker (EDM)

func void INNOS_PRAY_S1 ()
{
   var C_NPC her;    her = Hlp_GetNpc(PC_Hero);
   var C_NPC rock; rock = Hlp_GetNpc(PC_Rockefeller);
   
   //***ALT** if   (Hlp_GetInstanceID (self)== Hlp_GetInstanceID (Hero)) // MH: geändert, damit kontrollierte NSCs nicht schlafen können!
   if ( (Hlp_GetInstanceID(self)==Hlp_GetInstanceID(her))||(Hlp_GetInstanceID(self)==Hlp_GetInstanceID(rock)) )
   {   
   MOBUSE = M_PRAY;//dodatkowy monolog
      self.aivar[AIV_INVINCIBLE]=TRUE;
      Ai_ProcessInfos (her);
   };
};
//========================================
//-----------------> OPCJA *KONIEC*
//========================================

INSTANCE DIA_PC_HERO_EXIT_INNOS(C_INFO)
{
   npc             = PC_HERO;
   nr              = 999;
   condition   = DIA_PC_HERO_EXIT_INNOS_Condition;
   information   = DIA_PC_HERO_EXIT_INNOS_Info;
   permanent   = TRUE;
   description     = "KONIEC";
};

FUNC INT DIA_PC_HERO_EXIT_INNOS_Condition()
{
if (MOBUSE == M_PRAY)
{
    return TRUE;
   };
};

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

//========================================
//-----------------> HIT_POINTS
//========================================
//edit by Nocturn

INSTANCE DIA_PC_HERO_HIT_POINTS (C_INFO)
{
   npc          = PC_HERO;
   nr           = 1;
   condition    = DIA_PC_HERO_HIT_POINTS_Condition;
   information  = DIA_PC_HERO_HIT_POINTS_Info;
   permanent   = TRUE;
   description   = "Daj mi punkty życia!";
};

FUNC INT DIA_PC_HERO_HIT_POINTS_Condition()
{
if (MOBUSE == M_PRAY)
{
    return TRUE;
   };
};

FUNC VOID DIA_PC_HERO_HIT_POINTS_Info()
{
    Info_ClearChoices   (DIA_PC_HERO_HIT_POINTS);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(Wróć)", DIA_PC_HERO_HIT_POINTS_BACK);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(40 punktów życia (2000 bryłek rudy, 20 PN))", DIA_PC_HERO_HIT_POINTS_40HP_ADD);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(20 punktów życia (1000 bryłek rudy, 10 PN))", DIA_PC_HERO_HIT_POINTS_20HP_ADD);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(10 punktów życia (500 bryłek rudy, 5 PN))", DIA_PC_HERO_HIT_POINTS_10HP_ADD);
   Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(2 punkty życia (100 bryłek rudy, 1 PN))", DIA_PC_HERO_HIT_POINTS_2HP_ADD);
};

FUNC VOID DIA_PC_HERO_HIT_POINTS_BACK()
{
    Info_ClearChoices      (DIA_PC_HERO_HIT_POINTS);
};

FUNC VOID DIA_PC_HERO_HIT_POINTS_2HP_ADD()
{
if (Npc_HasItems (hero,ItMiNugget) >= 100)
{
if (hero.lp >= 1)
{
hero.lp = hero.lp - 1;
    hero.attribute[ATR_HITPOINTS_MAX] = hero.attribute[ATR_HITPOINTS_MAX] + 2;
    Npc_RemoveInvItems (hero,ItMiNugget, 100);
   } else {
   PrintScreen   ("Za mało doświadczenia!", -1,60,yell_font,2);
   };
   }
   else
   {
   PrintScreen   ("Brakuje ci rudy! ", -1,38,yell_font,2);
   };
   Info_ClearChoices      (DIA_PC_HERO_HIT_POINTS);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(Wróć)", DIA_PC_HERO_HIT_POINTS_BACK);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(40 punktów życia (2000 bryłek rudy, 20 PN))", DIA_PC_HERO_HIT_POINTS_40HP_ADD);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(20 punktów życia (1000 bryłek rudy, 10 PN))", DIA_PC_HERO_HIT_POINTS_20HP_ADD);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(10 punktów życia (500 bryłek rudy, 5 PN))", DIA_PC_HERO_HIT_POINTS_10HP_ADD);
   Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(2 punkty życia (100 bryłek rudy, 1 PN))", DIA_PC_HERO_HIT_POINTS_2HP_ADD);
};

FUNC VOID DIA_PC_HERO_HIT_POINTS_10HP_ADD()
{
if (Npc_HasItems (hero,ItMiNugget) >= 500)
   {
   if (hero.lp >= 5)
{
hero.lp = hero.lp - 5;
    hero.attribute[ATR_HITPOINTS_MAX] = hero.attribute[ATR_HITPOINTS_MAX] + 10;
    Npc_RemoveInvItems (hero,ItMiNugget, 500);
      } else {
   PrintScreen   ("Za mało doświadczenia!", -1,60,"font_new_10_red.tga",2);
   };
   }
   else
   {
   PrintScreen   ("Brakuje ci rudy! ", -1,38,yell_font,2);
   };
   Info_ClearChoices      (DIA_PC_HERO_HIT_POINTS);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(Wróć)", DIA_PC_HERO_HIT_POINTS_BACK);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(40 punktów życia (2000 bryłek rudy, 20 PN))", DIA_PC_HERO_HIT_POINTS_40HP_ADD);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(20 punktów życia (1000 bryłek rudy, 10 PN))", DIA_PC_HERO_HIT_POINTS_20HP_ADD);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(10 punktów życia (500 bryłek rudy, 5 PN))", DIA_PC_HERO_HIT_POINTS_10HP_ADD);
   Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(2 punkty życia (100 bryłek rudy, 1 PN))", DIA_PC_HERO_HIT_POINTS_2HP_ADD);
};

FUNC VOID DIA_PC_HERO_HIT_POINTS_20HP_ADD()
{
if (Npc_HasItems (hero,ItMiNugget) >= 1000)
   {
   if (hero.lp >= 10)
{
hero.lp = hero.lp - 10;
    hero.attribute[ATR_HITPOINTS_MAX] = hero.attribute[ATR_HITPOINTS_MAX] + 20;
    Npc_RemoveInvItems (hero,ItMiNugget, 1000);
      } else {
   PrintScreen   ("Za mało doświadczenia!", -1,60,yell_font,2);
   };
   }
   else
   {
   PrintScreen   ("Brakuje ci rudy! ", -1,38,"font_new_10_red.tga",2);
   };
   Info_ClearChoices      (DIA_PC_HERO_HIT_POINTS);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(Wróć)", DIA_PC_HERO_HIT_POINTS_BACK);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(40 punktów życia (2000 bryłek rudy, 20 PN))", DIA_PC_HERO_HIT_POINTS_40HP_ADD);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(20 punktów życia (1000 bryłek rudy, 10 PN))", DIA_PC_HERO_HIT_POINTS_20HP_ADD);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(10 punktów życia (500 bryłek rudy, 5 PN))", DIA_PC_HERO_HIT_POINTS_10HP_ADD);
   Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(2 punkty życia (100 bryłek rudy, 1 PN))", DIA_PC_HERO_HIT_POINTS_2HP_ADD);
};

FUNC VOID DIA_PC_HERO_HIT_POINTS_40HP_ADD()
   {
   if (Npc_HasItems (hero,ItMiNugget) >= 2000)
   {
   if (hero.lp >= 20)
{
hero.lp = hero.lp - 20;
    hero.attribute[ATR_HITPOINTS_MAX] = hero.attribute[ATR_HITPOINTS_MAX] + 40;
    Npc_RemoveInvItems (hero,ItMiNugget, 2000);
      } else {
   PrintScreen   ("Za mało doświadczenia!", -1,60,yell_font,2);
   };
   }
   else
   {
   PrintScreen   ("Brakuje ci rudy! ", -1,38,yell_font,2);
   };
   Info_ClearChoices      (DIA_PC_HERO_HIT_POINTS);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(Wróć)", DIA_PC_HERO_HIT_POINTS_BACK);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(40 punktów życia (2000 bryłek rudy, 20 PN))", DIA_PC_HERO_HIT_POINTS_40HP_ADD);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(20 punktów życia (1000 bryłek rudy, 10 PN))", DIA_PC_HERO_HIT_POINTS_20HP_ADD);
    Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(10 punktów życia (500 bryłek rudy, 5 PN))", DIA_PC_HERO_HIT_POINTS_10HP_ADD);
   Info_AddChoice      (DIA_PC_HERO_HIT_POINTS, "(2 punkty życia (100 bryłek rudy, 1 PN))", DIA_PC_HERO_HIT_POINTS_2HP_ADD);
};

//========================================
//-----------------> ADD_MANA
//========================================
//edit by Nocturn

INSTANCE DIA_PC_HERO_ADD_MANA (C_INFO)
{
   npc          = PC_HERO;
   nr           = 1;
   condition    = DIA_PC_HERO_ADD_MANA_Condition;
   information  = DIA_PC_HERO_ADD_MANA_Info;
   permanent   = true;
   description   = "Daj mi manę!";
};

FUNC INT DIA_PC_HERO_ADD_MANA_Condition()
{
if (MOBUSE == M_PRAY)
{
    return TRUE;
   };
};

FUNC VOID DIA_PC_HERO_ADD_MANA_Info()
{
    Info_ClearChoices      (DIA_PC_HERO_ADD_MANA);
    Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "(Wróć)", DIA_PC_HERO_ADD_MANA_BACK);
    Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "20 punktów many (2000 bryłek rudy, 20 PN)", DIA_PC_HERO_ADD_MANA_20MANA_ADD);
   Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "10 punktów many (1000 bryłek rudy, 10 PN)", DIA_PC_HERO_ADD_MANA_10MANA_ADD);
   Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "5 punkt many (500 bryłek rudy, 5 PN)", DIA_PC_HERO_ADD_MANA_5MANA_ADD);
   Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "1 punkt many (100 bryłek rudy, 1 PN)", DIA_PC_HERO_ADD_MANA_1MANA_ADD);
};

FUNC VOID DIA_PC_HERO_ADD_MANA_BACK()
{
    Info_ClearChoices      (DIA_PC_HERO_ADD_MANA);
};

FUNC VOID DIA_PC_HERO_ADD_MANA_1MANA_ADD()
{
if (Npc_HasItems (hero,ItMiNugget) >= 100)
{
   B_BuyAttributePoints (other, ATR_MANA_MAX, 1);
    Npc_RemoveInvItems (hero,ItMiNugget, 100);
   }
   else
   {
   PrintScreen   ("Brakuje ci rudy! ", 1,-1,yell_font,2);
   };
   Info_ClearChoices      (DIA_PC_HERO_ADD_MANA);
    Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "(Wróć)", DIA_PC_HERO_ADD_MANA_BACK);
    Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "20 punktów many (2000 bryłek rudy, 20 PN)", DIA_PC_HERO_ADD_MANA_20MANA_ADD);
   Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "10 punktów many (1000 bryłek rudy, 10 PN)", DIA_PC_HERO_ADD_MANA_10MANA_ADD);
   Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "5 punkt many (500 bryłek rudy, 5 PN)", DIA_PC_HERO_ADD_MANA_5MANA_ADD);
   Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "1 punkt many (100 bryłek rudy, 1 PN)", DIA_PC_HERO_ADD_MANA_1MANA_ADD);
};

FUNC VOID DIA_PC_HERO_ADD_MANA_5MANA_ADD()
{
if (Npc_HasItems (hero,ItMiNugget) >= 500)
{
   B_BuyAttributePoints (other, ATR_MANA_MAX, 5);
    Npc_RemoveInvItems (hero,ItMiNugget, 500);
   }
   else
   {
   PrintScreen   ("Brakuje ci rudy! ", 1,-1,yell_font,2);
   };
   Info_ClearChoices      (DIA_PC_HERO_ADD_MANA);
    Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "(Wróć)", DIA_PC_HERO_ADD_MANA_BACK);
    Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "20 punktów many (2000 bryłek rudy, 20 PN)", DIA_PC_HERO_ADD_MANA_20MANA_ADD);
   Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "10 punktów many (1000 bryłek rudy, 10 PN)", DIA_PC_HERO_ADD_MANA_10MANA_ADD);
   Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "5 punkt many (500 bryłek rudy, 5 PN)", DIA_PC_HERO_ADD_MANA_5MANA_ADD);
   Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "1 punkt many (100 bryłek rudy, 1 PN)", DIA_PC_HERO_ADD_MANA_1MANA_ADD);
};

FUNC VOID DIA_PC_HERO_ADD_MANA_10MANA_ADD()
{
   if (Npc_HasItems (hero,ItMiNugget) >= 1000)
   {
   B_BuyAttributePoints (other, ATR_MANA_MAX, 10*LPCOST_ATTRIBUTE_MANA);
    Npc_RemoveInvItems (hero,ItMiNugget, 1000);
   }
   else
   {
   PrintScreen   ("Brakuje ci rudy! ", 1,-1,yell_font,2);
   };
   Info_ClearChoices      (DIA_PC_HERO_ADD_MANA);
    Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "(Wróć)", DIA_PC_HERO_ADD_MANA_BACK);
    Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "20 punktów many (2000 bryłek rudy, 20 PN)", DIA_PC_HERO_ADD_MANA_20MANA_ADD);
   Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "10 punktów many (1000 bryłek rudy, 10 PN)", DIA_PC_HERO_ADD_MANA_10MANA_ADD);
   Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "5 punkt many (500 bryłek rudy, 5 PN)", DIA_PC_HERO_ADD_MANA_5MANA_ADD);
   Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "1 punkt many (100 bryłek rudy, 1 PN)", DIA_PC_HERO_ADD_MANA_1MANA_ADD);
};

FUNC VOID DIA_PC_HERO_ADD_MANA_20MANA_ADD()
{
   if (Npc_HasItems (hero,ItMiNugget) >= 2000)
   {
   B_BuyAttributePoints (other, ATR_MANA_MAX, 20*LPCOST_ATTRIBUTE_MANA);
    Npc_RemoveInvItems (hero,ItMiNugget, 2000);
   }
   else
   {
   PrintScreen   ("Brakuje ci rudy! ", 1,-1,yell_font,2);
   };
   Info_ClearChoices      (DIA_PC_HERO_ADD_MANA);
    Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "(Wróć)", DIA_PC_HERO_ADD_MANA_BACK);
    Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "20 punktów many (2000 bryłek rudy, 20 PN)", DIA_PC_HERO_ADD_MANA_20MANA_ADD);
   Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "10 punktów many (1000 bryłek rudy, 10 PN)", DIA_PC_HERO_ADD_MANA_10MANA_ADD);
   Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "5 punkt many (500 bryłek rudy, 5 PN)", DIA_PC_HERO_ADD_MANA_5MANA_ADD);
   Info_AddChoice      (DIA_PC_HERO_ADD_MANA, "1 punkt many (100 bryłek rudy, 1 PN)", DIA_PC_HERO_ADD_MANA_1MANA_ADD);
};

//========================================
//-----------------> MAGIC_SWORD_1
//========================================
//edit by Nocturn

INSTANCE DIA_PC_HERO_MAGIC_SWORD_1 (C_INFO)
{
   npc          = PC_HERO;
   nr           = 2;
   condition    = DIA_PC_HERO_MAGIC_SWORD_1_Condition;
   information  = DIA_PC_HERO_MAGIC_SWORD_1_Info;
   permanent   = FALSE;
   description   = "Ulepsz: Miecz magicznego deszczu (250 złotych monet)";
};

FUNC INT DIA_PC_HERO_MAGIC_SWORD_1_Condition()
{
    if //(Npc_HasItems (hero, Miecz1H17) >=1)
     (Npc_HasItems (hero, ItMi_Stuff_OldCoin_01) >=250)
    {
    return TRUE;
    };
};


FUNC VOID DIA_PC_HERO_MAGIC_SWORD_1_Info()
{
    //B_GiveInvItems (hero,PC_THIEF, Miecz1H17, 1);
    //CreateInvItems (hero, Miecz1H18, 1);
    //B_GiveInvItems (hero, PC_THIEF, ItMi_Stuff_OldCoin_01, 250);
   //PrintScreen   ("Miecz magicznego deszczu został ulepszony! ", -1,70,"font_new_10_green.tga",2);   
};


 

kaczka

kaczka

RaveN Studio
Definitely not kaczka!
posty2280
Propsy2392
NagrodyV
ProfesjaLvl designer
  • RaveN Studio
  • Definitely not kaczka!

kaczka
RaveN Studio

problem z monologiem
#3 2014-06-28, 16:25(Ostatnia zmiana: 2014-06-28, 16:38)
Cytuj
// *Script was make in Easy Dialog Maker (EDM)
:|

A monolog snu?

@DOWN:
Jestem ślepy :|
 

Splash

Splash

Moderator
posty4211
Propsy3412
ProfesjaNierób
  • Moderator
Twój problem polega pewnie na tym, że w monologu posągu znajduje się
PLAYER_MOBSI_PRODUCTION = MOBSI_SLEEPABIT;
Jeśli coś takiego znajdziesz w monologu posągu, zamień to na
PLAYER_MOBSI_PRODUCTION = MOBSI_PRAYIDOL;
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

gothic1210
  • Gość
Cytuj
// *Script was make in Easy Dialog Maker (EDM)
:|
[...]
I co z tego?
Twój problem polega pewnie na tym, że w monologu posągu znajduje się
PLAYER_MOBSI_PRODUCTION = MOBSI_SLEEPABIT;
Jeśli coś takiego znajdziesz w monologu posągu, zamień to na
PLAYER_MOBSI_PRODUCTION = MOBSI_PRAYIDOL;
W tym skrypcie nie ma czegoś takiego. To stary monolog z Er.
Pawbuj, spróbuj zamienić INNOS_PRAY_S1 na  M_PRAY_S1.
 

Splash

Splash

Moderator
posty4211
Propsy3412
ProfesjaNierób
  • Moderator
Czyli to jest skrypt do G1 :I Nie bawiłem się monologami w G1. Więc aby nie pojawiały się opcje dialogowe spania, trzeba wstawić warunki do każdej opcji dialogowej sprawdzające czy postać modli się do posągu czy leży w łóżku - tak samo jak to jest w G2, bo w G1 był tylko monolog spania o ile pamiętam, więc nie było potrzeby wstawiania warunków.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

gothic1210
  • Gość
Dokładnie tak.
Ja przypuszczam jednak, że błąd leży w tym, że w Spacerze ma przy posągu wpisane M_PRAY zamiast INNOS_PRAY. A to powinno się odnosić do funkcji, która zmienia zmienną MOBUSE.  
Pawbuj, dostałeś działającego gotowca to nie wiem po co kombinujesz. : - ) 
 

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
Dokładnie tak.
Ja przypuszczam jednak, że błąd leży w tym, że w Spacerze ma przy posągu wpisane M_PRAY zamiast INNOS_PRAY. A to powinno się odnosić do funkcji, która zmienia zmienną MOBUSE. 
Pawbuj, dostałeś działającego gotowca to nie wiem po co kombinujesz. : - )
dostałem mości panienko , ale i tak go poprawiałem. bez tego by nie przeszło. Przecież mam tez inne monologi i zmienne :)

drugi raz uruchomiłem i tego nie było - nie wiem czy się nie powtórzy ten bug (czas pokaże).

druga cześć pytania o te palenisko , przez które w trakcie ruchu obrotu rożna można przechodzić, czemu tak jest?



var int randomly;var int notattack;
func void randomenemy ()
{
if (notattack == 0)
{
randomly = Hlp_Random(100);  //80% szansy
if ((hero.level) < 6) && (randomly < 80)
{
PrintScreen ("Broń się przed bandytą!", 1,91,"font_old_10_blue.tga",4);

Wld_InsertNpc (Non_2017_Assassin,Npc_GetNearestWP(hero));
}
else if ((hero.level) < 6) && (randomly > 79)//20% szansy
{
PrintScreen ("Bandyci zaczaili się na Ciebie", 1,91,"font_old_10_blue.tga",4);
Wld_InsertNpc (Non_2017_Assassin,Npc_GetNearestWP(hero));
Wld_InsertNpc (Non_2017_Assassin,Npc_GetNearestWP(hero));
}
if ((hero.level) > 5) && ((hero.level) < 11) && (randomly < 80)
{
PrintScreen ("Broń się przed agresywnym zabijaką!", 1,91,"font_old_10_blue.tga",4);

Wld_InsertNpc (Non_2014_Assassin,Npc_GetNearestWP(hero));
}
else if ((hero.level) > 5) && ((hero.level) < 11) && (randomly > 79)//20% szansy
{
PrintScreen ("Chamy zaczaili się na Ciebie", 1,91,"font_old_10_blue.tga",4);
Wld_InsertNpc (Non_2014_Assassin,Npc_GetNearestWP(hero));
Wld_InsertNpc (Non_2017_Assassin,Npc_GetNearestWP(hero));
}
else if ((hero.level) > 10) && ((hero.level) < 16) && (randomly < 80)
{
PrintScreen ("Broń się przed agresywnym łotrem!", 1,91,"font_old_10_blue.tga",4);

Wld_InsertNpc (Non_2015_Assassin,Npc_GetNearestWP(hero));
}
else if ((hero.level) > 10) && ((hero.level) < 16) && (randomly > 79)//20% szansy
{
PrintScreen ("Zbiry zaczaili się na Ciebie", 1,91,"font_old_10_blue.tga",4);
Wld_InsertNpc (Non_2015_Assassin,Npc_GetNearestWP(hero));
Wld_InsertNpc (Non_2017_Assassin,Npc_GetNearestWP(hero));
}
else if ((hero.level) > 15) && ((hero.level) < 21) && (randomly < 80)
{
PrintScreen ("Broń się przed bezwględnym assassynem! ", 1,91,"font_old_10_blue.tga",4);

Wld_InsertNpc (Non_2016_Assassin,Npc_GetNearestWP(hero));
}
else if ((hero.level) > 15) && ((hero.level) < 21) && (randomly > 79)//20% szansy
{
PrintScreen ("Zabójcy zaczaili się na Ciebie", 1,91,"font_old_10_blue.tga",4);
Wld_InsertNpc (Non_2015_Assassin,Npc_GetNearestWP(hero));
Wld_InsertNpc (Non_2017_Assassin,Npc_GetNearestWP(hero));
}
else if ((hero.level) > 20) && ((hero.level) < 26) && (randomly < 80)
{
PrintScreen ("Broń się przed fanatycznym akolitą!", 1,91,"font_old_10_blue.tga",4);

Wld_InsertNpc (Non_2016_Assassin,Npc_GetNearestWP(hero));
}
else if ((hero.level) > 20) && ((hero.level) < 26) && (randomly > 79)//20% szansy
{
PrintScreen ("Akolici pragną Cię zgładzić!", 1,91,"font_old_10_blue.tga",4);
Wld_InsertNpc (Non_2016_Assassin,Npc_GetNearestWP(hero));
Wld_InsertNpc (Non_2017_Assassin,Npc_GetNearestWP(hero));
}
else if ((hero.level) > 25) && ((hero.level) < 31) && (randomly < 80)
{
PrintScreen ("Broń się przed fanatycznymi akolitami!", 1,91,"font_old_10_blue.tga",4);

Wld_InsertNpc (Non_2016_Assassin,Npc_GetNearestWP(hero));
Wld_InsertNpc (Non_2015_Assassin,Npc_GetNearestWP(hero));
}
else if ((hero.level) > 25) && ((hero.level) < 31) && (randomly > 79)//20% szansy
{
PrintScreen ("Zakon iluminatów pragnie Cię zgładzić!", 1,91,"font_old_10_blue.tga",4);
Wld_InsertNpc (Non_2014_Assassin,Npc_GetNearestWP(hero));
Wld_InsertNpc (Non_2015_Assassin,Npc_GetNearestWP(hero));
Wld_InsertNpc (Non_2016_Assassin,Npc_GetNearestWP(hero));
Wld_InsertNpc (Non_2017_Assassin,Npc_GetNearestWP(hero));
notattack = 1;
};};};
//****************************
// PC_Sleep
//****************************
var int dagger;
var int axe;
var int damages;


func void PC_Sleep (var int t)
{
MOBUSE=0;//dodatkowe monologi
AI_StopProcessInfos(self); // [SK] ->muss hier stehen um das update zu gewährleisten
self.aivar[AIV_INVINCIBLE]=FALSE;
if (Wld_IsTime(00,00,t,00))
{
Wld_SetTime (t,00);
}
else
{
t = t + 24;
Wld_SetTime (t,00);
};
//-------- AssessEnterRoom-Wahrnehmung versenden --------
PrintGlobals (PD_ITEM_MOBSI);
Npc_SendPassivePerc (hero, PERC_ASSESSENTERROOM, NULL, hero); //...damit der Spieler dieses Feature nicht zum Hütteplündern ausnutzt!

Zmienna = Hlp_Random (250);


 if (Zmienna <= 30)//30% szansy na pełny wypoczynek
{

PrintScreen ("Udało ci się solidnie wypocząć!", 1,91,"font_old_10_white.tga",4);
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS_MAX];
hero.attribute[ATR_MANA] = hero.attribute[ATR_MANA_MAX];
}
else if(Zmienna > 30) && (Zmienna <= 40)
{
PrintScreen ("Udało ci się wypocząć.", 1,91,"font_old_10_white.tga",4);
hero.attribute[ATR_HITPOINTS] =  hero.attribute[ATR_HITPOINTS] + ((hero.attribute[ATR_HITPOINTS_MAX] - hero.attribute[ATR_HITPOINTS])*2/3);
}
else if(Zmienna > 40) && (Zmienna <= 60)
{
PrintScreen ("Udało ci się trochę wypocząć.", 1,91,"font_old_10_white.tga",4);
hero.attribute[ATR_HITPOINTS] =  hero.attribute[ATR_HITPOINTS] + ((hero.attribute[ATR_HITPOINTS_MAX] - hero.attribute[ATR_HITPOINTS])/3);
}
else if(Zmienna > 60) && (Zmienna <= 80)
{
PrintScreen ("Łózko było za twarde...Nie wyspałeś się.", 1,91,"font_old_10_white.tga",4);

hero.attribute[ATR_HITPOINTS] =  hero.attribute[ATR_HITPOINTS] + ((hero.attribute[ATR_HITPOINTS_MAX] - hero.attribute[ATR_HITPOINTS])/6);
}
else if(Zmienna > 80) && (Zmienna <= 115)
{
PrintScreen ("Zostałeś ugodzony sztyletem...", 1,91,"font_old_10_white.tga",4);

damages = hero.attribute[ATR_HITPOINTS_MAX] ;
dagger = Hlp_Random (damages/2);

hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] - dagger;
}
else if(Zmienna > 115) && (Zmienna <= 130)
{
PrintScreen ("Zostałeś uderzony toporem...", 1,91,"font_old_10_white.tga",4);

damages = hero.attribute[ATR_HITPOINTS_MAX] ;
axe = Hlp_Random (damages);
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] - axe;
}
else if(Zmienna > 130) && (Zmienna <= 135)
{
PrintScreen ("G", 3,54,"PAWBUJ2.TGA",3);//biceps
PrintScreen ("Siła + 1", 10,57,"font_old_10_white.tga",3);

hero.attribute[ATR_STRENGTH] = hero.attribute[ATR_STRENGTH] + 1;
}
else if(Zmienna > 135) && (Zmienna <= 140)
{
hero.attribute[ATR_HITPOINTS_MAX] = hero.attribute[ATR_HITPOINTS_MAX] + 1;
PrintScreen ("E", 3,54,"PAWBUJ2.TGA",3);////biceps
PrintScreen ("Punkty życia + 1", 10,57,"font_old_10_white.tga",3);

}
else if(Zmienna > 140) && (Zmienna <= 174) && (Npc_HasItems (hero, ItMiNugget) > 0)
{
var int xys;
xys = Npc_HasItems(hero, ItMiNugget);
var C_NPC npc; npc = Hlp_GetNpc(hero);
var int thief;
thief = Hlp_Random (xys);
if (thief > 0)//
{
Npc_RemoveInvItems (hero,ItMiNugget, (thief/2));//losowa kradziez podczas snu
var string zlodziej;
var string zlodzieje;
zlodzieje = ConcatStrings (IntToString(thief/2),  " bryłek rudy.");
zlodziej = ConcatStrings ("Skradziono ci: ",zlodzieje );

PrintScreen (zlodziej, 1,91,"font_old_10_white.tga",4);
};
}
else if(Zmienna > 174) && ((Zmienna <= 193)) && (notattack == 0)
{
randomenemy ();//NPC atakuja bandyci i assasasyni
}
else //if(Zmienna > 193)
{
PrintScreen ("Sen nie przyniósł żadnej ulgi", 1,91,"font_old_10_white.tga",4);

};
AI_OutputSVM_Overlay(hero,NULL,"$Awake");
};

func void SLEEPABIT_S1 ()
{
MOBUSE=M_SLEEP;//dodatkowy monolog
var C_NPC her; her = Hlp_GetNpc(PC_Hero);
var C_NPC rock; rock = Hlp_GetNpc(PC_Rockefeller);

//***ALT** if (Hlp_GetInstanceID (self)== Hlp_GetInstanceID (Hero)) // MH: geändert, damit kontrollierte NSCs nicht schlafen können!
if ( (Hlp_GetInstanceID(self)==Hlp_GetInstanceID(her))||(Hlp_GetInstanceID(self)==Hlp_GetInstanceID(rock)) )
{
self.aivar[AIV_INVINCIBLE]=TRUE;
Ai_ProcessInfos (her);
};
};






//-------------------- Gar nicht schlafen -------------------------

INSTANCE PC_NoSleep (c_Info)

{
npc = PC_Hero;
nr = 999;
condition = PC_NoSleep_Condition;
information = PC_NoSleep_Info;
important = 0;
permanent = 1;
description = DIALOG_ENDE;
};

FUNC INT PC_NoSleep_Condition()
 {
  if (MOBUSE == M_SLEEP)
    {
        return 1;
    };
     };

func VOID PC_NoSleep_Info()
{
AI_StopProcessInfos (self);
self.aivar[AIV_INVINCIBLE]=FALSE;

};
//---------------------- świt --------------------------------------

INSTANCE PC_SleepTime_Dawn (C_INFO)
{
npc = PC_Hero;
condition = PC_SleepTime_Dawn_Condition;
information = PC_SleepTime_Dawn_Info;
important = 0;
permanent = 1;
description = "Śpij do następnego wschodu słońca";
};

FUNC INT PC_SleepTime_Dawn_Condition()
{
  if (MOBUSE == M_SLEEP)
    {
        return 1;
    };
     };


func void PC_SleepTime_Dawn_Info ()
{
PC_Sleep (4); // SN: geändert, da um 7 Uhr noch keiner der NSCs wach ist!
};



//---------------------- morgens --------------------------------------

INSTANCE PC_SleepTime_Morning (C_INFO)
{
npc = PC_Hero;
condition = PC_SleepTime_Morning_Condition;
information = PC_SleepTime_Morning_Info;
important = 0;
permanent = 1;
description = "Śpij do następnego poranka";
};

FUNC INT PC_SleepTime_Morning_Condition()
{
  if (MOBUSE == M_SLEEP)
    {
        return 1;
    };
     };


func void PC_SleepTime_Morning_Info ()
{
PC_Sleep (8); // SN: geändert, da um 7 Uhr noch keiner der NSCs wach ist!
};

//--------------------- mittags -----------------------------------------

INSTANCE PC_SleepTime_Noon (C_INFO)
{
npc = PC_Hero;
condition = PC_SleepTime_Noon_Condition;
information = PC_SleepTime_Noon_Info;
important = 0;
permanent = 1;
description = "Śpij do południa";
};

FUNC INT PC_SleepTime_Noon_Condition()
 {
  if (MOBUSE == M_SLEEP)
    {
        return 1;
    };
     };

func void PC_SleepTime_Noon_Info ()
{
PC_Sleep (12);
};

//--------------------- popołudnie -----------------------------------------

INSTANCE PC_SleepTime_AfterNoon (C_INFO)
{
npc = PC_Hero;
condition = PC_SleepTime_AfterNoon_Condition;
information = PC_SleepTime_AfterNoon_Info;
important = 0;
permanent = 1;
description = "Śpij do popołudnia";
};

FUNC INT PC_SleepTime_AfterNoon_Condition()
 {
  if (MOBUSE == M_SLEEP)
    {
        return 1;
    };
     };

func void PC_SleepTime_AfterNoon_Info ()
{
PC_Sleep (16);
};



//---------------------- abend --------------------------------------

INSTANCE PC_SleepTime_Evening (C_INFO)
{
npc = PC_Hero;
condition = PC_SleepTime_Evening_Condition;
information = PC_SleepTime_Evening_Info;
important = 0;
permanent = 1;
description = "Śpij do następnego wieczora";
};

FUNC INT PC_SleepTime_Evening_Condition()
 {
  if (MOBUSE == M_SLEEP)
    {
        return 1;
    };
     };

func void PC_SleepTime_Evening_Info ()
{
PC_Sleep (19);
};

//------------------------ nacht -----------------------------------------

instance PC_SleepTime_Midnight (C_INFO)
{
npc = PC_Hero;
condition = PC_SleepTime_Midnight_Condition;
information = PC_SleepTime_Midnight_Info;
important = 0;
permanent = 1;
description = "Śpij do północy";
};

FUNC INT PC_SleepTime_Midnight_Condition()
 {
  if (MOBUSE == M_SLEEP)
    {
        return 1;
    };
 };
func VOID PC_SleepTime_Midnight_Info()
{
PC_Sleep (0);
};

Post połączony: 2014-06-28, 19:22

http://ifotos.pl/zobacz/prayJPG_ewrphsr.JPG/

tu jest zrzut, problem znowy się pojawił.
 

gothic1210
  • Gość
Cytuj
dostałem mości panienko
Och, jakie uprzejmości :3 Teraz moja kolej.
Monsieur Pawbuj, to co jest w Spacerze powinno się odnosić do funkcji, która zmienia wartość zmiennej MOBUSE, czyli do tej, którą masz na początku monologu.
Co do drugiego zapytania to kompletnie nie rozumiem o co chodzi. Wyjaśniasz dość nielogicznie. Jak obracasz rożnem to...? Jakiś NPC przez niego przełazi? No postać bohatera chyba nie chodzi jak wykonuje interakcje, co? Czy chodzi o to, że jak jakiś NPC obraca to ty możesz przejść? Wrzuć screen ze Spacera z ustawieniami tego obiektu.

I jeszcze jakby Pan był łaskaw używać dużych liter to wpłynęłoby to pozytywnie na estetykę pańskich postów.  :)
 

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio

chicken
RaveN Studio

problem z monologiem
#10 2014-06-29, 10:10(Ostatnia zmiana: 2014-06-29, 13:05)
Twój problem polega pewnie na tym, że w monologu posągu znajduje się
PLAYER_MOBSI_PRODUCTION = MOBSI_SLEEPABIT;
Jeśli coś takiego znajdziesz w monologu posągu, zamień to na
PLAYER_MOBSI_PRODUCTION = MOBSI_PRAYIDOL;
Sprawdź, czy te dwie stałe nie mają takiej samej wartości. Jeśli tak, to zmień.
Najlepiej pokaż obie stałe i oba monologi.
Cytuj
dostałem mości panienko
To jest chłop... :lol2:

gothic1210
  • Gość
Twój problem polega pewnie na tym, że w monologu posągu znajduje się
PLAYER_MOBSI_PRODUCTION = MOBSI_SLEEPABIT;
Jeśli coś takiego znajdziesz w monologu posągu, zamień to na
PLAYER_MOBSI_PRODUCTION = MOBSI_PRAYIDOL;
Sprawdź, czy te dwie stałe nie mają takiej samej wartości. Jeśli tak, to zmień.
Najlepiej pokaż obie stałe i oba monologi.
To jest skrypt do G1 w którym nie ma czegoś takiego.
 

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
odnośnie paleniska - koleś praży ścierwojada, a w tym czasie można przez moba przejść. ot cała logika.
 


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