Pokazanie obecnego doświadczenia przy otrzynamanuy XP. 462 3

O temacie

Autor lucki666

Zaczęty 3.01.2021 roku

Wyświetleń 462

Odpowiedzi 3

lucki666

lucki666

Użytkownicy
posty62
Propsy40
ProfesjaSkrypter
  • Użytkownicy

Widziałem w jednym z modów, że podczas zdobycia doświadczenia, pokazuje się obok również stan obecnego XP oraz limit do następnego poziomu. Jest to bardzo fajna opcja, bo sam co kilkanaście minut zawsze sprawdzam "ile do poziomu".

tak jak na zdjęciu

Chciałbym tylko zmienić, że "Stan" pokazywałby się niżej, a nie obok. Jak to przyjaciele uzyskać?

Mój skrypt pliku B_GivePlayerXP, ale zamiast stanu pokazuje się napis w cudzysłowie.
Dołączam zdjęcie.
Spoiler
// **************
// B_GivePlayerXP
// **************

func void B_GivePlayerXP (var int add_xp)
{
   if (hero.level == 0)
   {
      hero.exp_next = 500;
   };
   //----------------------------------------------------------------------------
   hero.exp = hero.exp + add_xp;

   //----------------------------------------------------------------------------
   var string concatText;
   concatText = PRINT_XPGained;
   concatText = ConcatStrings (concatText,   IntToString(add_xp));
   PrintScreen   (concatText, 2, 62, FONT_ScreenSmall, 3);
   PrintScreen   (" hero.exp/hero.exp_next ", 2, 64, FONT_ScreenSmall, 3);

   //----------------------------------------------------------------------------
   if ( hero.exp >= hero.exp_next ) // ( XP > (500*((hero.level+2)/2)*(hero.level+1)) )
   {
      hero.level = hero.level+1;
      hero.exp_next = hero.exp_next +((hero.level+1)*500);
      
      hero.attribute[ATR_HITPOINTS_MAX]    = hero.attribute[ATR_HITPOINTS_MAX]   + HP_PER_LEVEL;
      hero.attribute[ATR_HITPOINTS]       = hero.attribute[ATR_HITPOINTS]      + HP_PER_LEVEL;
      
      hero.LP = hero.LP + LP_PER_LEVEL;
            
      PrintScreen (PRINT_LevelUp, 2, 50, FONT_Screen, 6);            
      Snd_Play ("LevelUp");
   };
   B_Checklog ();
};
 

Cruc

Cruc

Użytkownicy
posty655
Propsy224
Profesjabrak
  • Użytkownicy
No ale masz stan niżej, więc w czym problem?
 
while (!success) try{...}

Splash

Splash

Moderator
posty4157
Propsy3356
ProfesjaNierób
  • Moderator
var string str; str = ConcatStrings(IntToString(hero.exp), " / ");
str = ConcatStrings(str, IntToString(hero.exp_next));
PrintScreen(str, 2, 64, FONT_ScreenSmall, 3);
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...

lucki666

lucki666

Użytkownicy
posty62
Propsy40
ProfesjaSkrypter
  • Użytkownicy
Super, działa. Wielkie dzięki.

@Splash A podpowiesz mi proszę jak dodać napis "Stan doświadczenia:" X / Y w tej samej linijce?
 


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