Funkcja resetowania nie działa 4512 8

O temacie

Autor Lobos

Zaczęty 15.09.2019 roku

Wyświetleń 4512

Odpowiedzi 8

Lobos

Lobos

Użytkownicy
posty594
Propsy360
Profesjabrak
  • Użytkownicy
Chcę żeby można było wykopać 5 bryłek złota dziennie.
Dałem coś takiego w goldhacken.d
instance PC_Goldhacken_Addon_Hour(C_Info)
{
npc = PC_Hero;
nr = 2;
condition = PC_Goldhacken_Addon_Hour_Condition;
information = PC_Goldhacken_Addon_Hour_Info;
permanent = TRUE;
description = "Odłup trochę.";
};


func int PC_Goldhacken_Addon_Hour_Condition()
{
if(PLAYER_MOBSI_PRODUCTION == MOBSI_GOLDHACKEN)

{
return TRUE;
};
};


var int GoldCounter;

func void PC_Goldhacken_Addon_Hour_Info()
{


var int CurrentChance;
var int MultiNugget;
if (punkty_zmeczenia == 5)
{
PrintScreen("Na dzisiaj już wystarczy...",-1,-1,FONT_ScreenSmall,2);
b_endproductiondialog();
}
else
{

Po else już jest oryginalna funkcja z G2NK
Potem napisałem krótką funkcję która miała resetować te punkty_zmęczenia na 0 ale po nowym dniu nie resetuje i nadal punkty są na 5.

func void kopanie ()
{
if (Wld_GetDay()+1)
{

punkty_zmeczenia = 0;

};
};
Czemu to się nie wywołuje ?

 

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Musisz zapisywać do zmiennej globalnej dzień w którym postać przestaje kopać.
var int dzien;
if (punkty_zmeczenia == 5)
{
PrintScreen("Na dzisiaj już wystarczy...",-1,-1,FONT_ScreenSmall,2);
b_endproductiondialog();
dzien = Wld_GetDay();
}

func void kopanie ()
{
if (Wld_GetDay() > dzien)
{

punkty_zmeczenia = 0;

};
};
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Lobos

Lobos

Użytkownicy
posty594
Propsy360
Profesjabrak
  • Użytkownicy
To niestety nie pomogło. Ta funkcja się nie odpala.
 

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Jeśli to, co pokazałeś to cały kod, to się nie dziw, że nie działa skoro funkcja nie jest nigdzie wywoływana.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Lobos

Lobos

Użytkownicy
posty594
Propsy360
Profesjabrak
  • Użytkownicy
No dobra. Wywołałem funkcję tick tockiem co sekunde, ale teraz co sekunde mi resetuje punkty bo cały czas jest nowy dzień. Jakieś pomysły na warunek który by to naprawił?
 

outlander

outlander

Użytkownicy
posty471
Propsy237
ProfesjaReżyser
  • Użytkownicy
Może zrób tak: sumuj wydobyte bryłki do zmiennej, daj warunek blokujący wydobycie jeśli zmienna jest "pełna" (czyli masz wydobyte te 5 bryłek), zeruj zmienną codziennie (w G1 np przez refesharmor a w G2 jakoś tam inaczej, nie wiem dokładnie, ale nie powinno to być trudne).
 

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
func void PC_Goldhacken_Addon_Hour_Info()
{
var int punkty_zmeczenia;
var int odpoczynek;

if (punkty_zmeczenia < 5) {
punkty_zmeczenia += 1;
};

if (punkty_zmeczenia >= 5) {
PrintScreen("Na dzisiaj już wystarczy...",-1,-1,FONT_ScreenSmall,2);
b_endproductiondialog();

if (odpoczynek == 0) {
odpoczynek = Wld_GetDay() + 1;
};
};

if (odpoczynek > 0 && Wld_GetDay() > odpoczynek) {
punkty_zmeczenia = 0;
odpoczynek = 0;
};

<reszta skryptu>
};
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Lobos

Lobos

Użytkownicy
posty594
Propsy360
Profesjabrak
  • Użytkownicy
Dzięki za kod Splash tylko coś nie działa. Pierwszego dnia dało się wydobyć 3 bryłki czyli kliknąć w opcję "wykop trochę" 3 razy. Następnego dnia można kopać do woli. Próbowałem się wzorować na monologu modlitwy przy kapliczce.
Niby znalazłem rozwiązanie, które powinno działać ale na złość nie działa.

Dodałem ten warunek do ticktocka
&& (punkty_zmeczenia >= 5)Tick tock powinien się wtedy odpalać i zerować zmęczenie dopiero gdy znów je nabijemy tak jak pisał Outlander, ale nie robi tego i cały czas resetuje punkty.

func void TICK_TOCK ()
{
if (Wld_GetDay() > dzien_kopania)
&& (punkty_zmeczenia >= 5)

{
punkty_zmeczenia = 0;

};
};
 

Lobos

Lobos

Użytkownicy
posty594
Propsy360
Profesjabrak
  • Użytkownicy
up
Ktoś ma pomysł jak to zrobić? Ja rozkładam ręce, a bardzo potrzebny mi ten skrypt.
 


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