Gothic 2 - licznik potworów w dzienniku 5764 14

O temacie

Autor Graveir

Zaczęty 24.04.2017 roku

Wyświetleń 5764

Odpowiedzi 14

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Może mi ktoś powiedzieć, jak napisać(albo w miarę zrozumiały sposób nakierować) na sposób tworzenia liczników zabitych potworów? Wiem, że w MT był licznik w książce, w Atariar Edition i chyba Returningu też on występował. Spróbowałem stworzyć coś takiego:
if (self.guild == GIL_ZOMBIE)
{
ZombieKilled = (ZombieKilled + 1);
var string d;
d = concatstrings("Zabite zombie: ", inttostring(ZombieKilled));
if (FirstZombie == FALSE)
{
FirstZombie = TRUE;
Log_CreateTopic (Topic_Licznik,LOG_NOTE);
B_LogEntry (Topic_Licznik,d);
};
};
Ale nie działa. W sensie nie zlicza mi zabójstw. Bo po zabiciu pierwszego zombiaka dostaję wpis, który pokazuje się jako "Zabite zombie: 1", ale później nie aktualizuje się liczba. Powyższy wpis dodany do ZS_Dead. Ktoś nakieruje?
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Dodajesz zmienne dla każdego potwora, po czym dodajesz do ZS_Dead warunek, że jeśli npc to np. wilk to zmienna wilka się wypełnia (oczywiście musisz pamiętać o warunku, że jeśli hero zabił zwierzę/potwora). Npc is player starczy oraz odpowiednie zmienne npc (other, self).
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Na początku chcę sprawdzić, czy będzie to działać według gildii(czyli zombie). Bo zrobiłem tak:
if (self.guild == GIL_ZOMBIE)
&& Npc_IsPlayer (other)
{
ZombieKilled = ZombieKilled + 1;
var string d;
d = concatstrings("Zabite zombie: ", inttostring(ZombieKilled));
if (FirstZombie == FALSE)
{
FirstZombie = TRUE;
Log_CreateTopic (Topic_Licznik,LOG_NOTE);
B_LogEntry (Topic_Licznik,d);
};
};
I na próbę przyzwałem Diego. Po tym, jak on zabił zombie to ja nie dostałem wpisu do dziennika, czyli teoretycznie ta część skryptu rozwiązana. A te zmienne to muszę dodać do każdego potworka czy można jakoś zrobić to przy pomocy warunku gildyjnego?
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Musisz jakoś naliczać te potwory (jeśli robisz dokładnie jak w MT). ZombieKilled = ZombieKilled + 1; zaliczy Ci jednego zombie. Tak samo musisz zrobić ze wszystkimi innymi potworami.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Ale podobnie naliczało przy zadaniu z Bloodwynem.
if  Hlp_GetInstanceID (self) == Hlp_GetInstanceID (Goldminecrawler)
{
if (Minecrawler_Killed >= 9)
&& (Bloodwyn_Spawn == FALSE)
{
AI_Teleport (Bloodwyn,"ADW_MINE_TO_MC_03");
B_StartOtherRoutine (Bloodwyn,"MINE");
B_GivePlayerXP (XP_Addon_Bloodywyn);
Bloodwyn_Spawn = TRUE;
}
else
{
Minecrawler_Killed = (Minecrawler_Killed + 1);

};
};
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

bgb

bgb

Użytkownicy
posty848
Propsy593
Profesjabrak
  • Użytkownicy
Tutaj problemem nie jest zliczanie do zmiennej tylko jej aktualizowanie w dzienniku.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Już wiem o co Ci chodzi i co spierdoliłeś. Popatrz się na swój warunek, gdzie dodajesz napis i zadanie, po czym przetłumacz sobie, co on robi po kolei.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Ty mówisz o tym fragmencie z Bloodwynem, co wkleiłem, czy moim? Bo w moim jest tak:
>Jeśli gildia innej postaci niż Bezio(czyli self) jest gildią oznaczoną jako Zombie oraz Npc jest postacią(przynajmniej tak to rozumiem) oznaczoną jako other(czyli w tym przypadku główna postać) to dzieją się następujące rzeczy:
*Zmienna KilledZombie zwiększa się o 1
*d to zmienna tekstowa
A ostatni warunek to:
>Jeśli zmienna FirstZombie nie została wywołana(FALSE) to wartość zmienia się na wartość wywołaną(TRUE), a następnie tworzy wpis w dzienniku w sekcji Notatki, dodając dane zdefiniowane w zmiennej "d".
Przynajmniej ja tak to rozumiem.
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Nie. Masz zapisane, że jeśli npc to player, oraz zmienna FirstZombie jest false, to doda zapis do dziennika i zmieni FirstZombie na true. Czyli stanie się to tylko raz. Zawsze będzie tylko jeden zombie, nawet, jeśli zabijesz ich dwadzieścia.

if (self.guild == GIL_ZOMBIE)
{
ZombieKilled = (ZombieKilled + 1);
var string d;
d = concatstrings("Zabite zombie: ", inttostring(ZombieKilled));
if (FirstZombie == FALSE)
{
FirstZombie = TRUE;
Log_CreateTopic (Topic_Licznik,LOG_NOTE);
};
B_LogEntry (Topic_Licznik,d);
};
Tak to powinno wyglądać, jeśli chcesz, żeby cały czas dodawał się nowy zapis w dzienniku po zabiciu zombie.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
No właśnie nie do końca o to mi chodziło. Tak jak napisał bgb - aktualizowanie liczby w dzienniku, nie tworzenie nowego wpisu za każdym razem, kiedy zabiję zombie. Bo obstawiam, że w pewnym momencie silnik by albo nie wytrzymał i wywoływał access violation albo przestał tworzyć nowe wpisy.
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
A no to widzisz. Tego nie zrobisz. Musiałbyś przerobić (albo dostać się do zmiennej tekstowej) system zadań.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Czyli tutaj do gry już musi wejść Lego/Ikarus?
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Tak, a to tylko dlatego, że cały system (wewnętrzny) zadań jest w silniku. To, czego się używa do dodawania zadań to tylko funkcje zewnętrzne.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Dobra, w takim razie temat do zamknięcia. Chociaż nawet do głowy nie przyszło mi powielenie sposobu z MT to jednak zrobię to przy pomocy listów w grze.
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Lehona

Lehona

Użytkownicy
posty196
Propsy190
  • Użytkownicy
I'm pretty sure you can just delete the log entry and create a new one with updated values.
 
Unless specified otherwise, my posts are always about Gothic 2 Night of the Raven.


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