Forum Modders
Forum modderów gier cRPG
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

[Respawn]-Czyli odnawianie się potworów
Idź do strony 1, 2  Następny
 
Napisz nowy temat   Odpowiedz do tematu    Forum Modders Strona Główna -> Skrypty
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
orcwarrior
Administrator
Administrator



Dołączył: 24 Sie 2005
Posty: 495
Przeczytał: 0 tematów

Skąd: Brzeziny

PostWysłany: 2006/01/30 23:42    Temat postu: [Respawn]-Czyli odnawianie się potworów

Gra wychodz na to ze jest doś trudna aby można było nauczyć się wiekszosci umiejetnosci itp. trzeba bedzie dużo PN a do dużo pn potrzeba duzo doswiadczenia a do duzo doswiadczenia potrzebny jest respawn(nie marzę o robieniu 5 questów na dzien )
Ja mam taki pomysł aby dodać pare besti z osobnym instance dajmy na to:
Func void CanionCheck
{
if (NpcIsDead(TrollFromCanion))
{
KaniononRespawn = Wld_GetDay();
//hmm teraz wazne do zyska jako się bardzo nie znam to jak zrobić aby ta funkcja zadziałała aby skrypt sprawdził akurat wtedy ze TrollFromCanion niezyje?
};
};
Func Void DayTollerance()
{
//blah blah blah
Wld_GetDay()=Wld_GetDay()+1;
if (KanionRespawn= Wld_getday()-5;//Troll pojawia sie co 5 dni
{RespawnCanion();};
i}'
Func void RespawnCanion()
{
insert Npc(TrollFromCanion);
insert npc(gobbo)
//(...)
};
Co myślisz o takiej formie skryptu?
i czy sprawdzanie czy ten troll jest martwy jest mozliwe


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
zysk
Administrator
Administrator



Dołączył: 26 Sty 2006
Posty: 49
Przeczytał: 0 tematów


PostWysłany: 2006/01/31 14:10    Temat postu:

Nie.
Ja bym raczej widział coś takiego:
-zmienne
Kod:

const monster_number=1000; //Ilość potworów
const respawn_delay=4; //Czas do respawn'u
var int respawn_instance[monster_number]; // Instancje potworów które się pojawią
var string respawn_waypoint[monster_number]; // Gdzie się pojawią...
var int respawn_day[monster_number]; // i kiedy
var int respawn_oldest; // Najdawniej zabity potwór.
respawn_oldest=0;
var respawn_next; // Numer następnego potwora.
respawn_next=0;

-funkcja przy śmierci - do uruchomienia w ZS_dead w if C_NpcIsMonster(self)
Kod:

func void addrespawn()
{
if(/*potwór jest przywołany lub powiązany z misją*/)
{return;};// ten potwór się nie respawnuje
respawn_waypoint[respawn_next]=self.spawnpoint; //Ustawiamy opcje nastęnego potwora.
respawn_instance[respawn_next]=Hlp_GetInstanceID(self);
respawn_day[respawn_next]=Wld_Getday()+respawn_delay;
respawn_next=respawn_next+1; // podnosimy numer następnego potwora.
if (respawn_next==monster_number) //jeśli przekroczyliśmy zakres wracamy na początek
{
respawn_next=0
};
};

- funkcja do uruchomienia w PC_Sleep (po zmianie dnia)
Kod:

func void nowrespawn()
{
if(respawn_oldest==respawn_next||Wld_getday()<respawn_day[respawn_oldest]) //jeśli brak potwórów w pamięci lub ma się dziś nie pojawić.
{
return;
};
Wld_InsertNpc(respawn_instance[respawn_oldest],respawn_waypoint[respawn_oldest]);
respawn_oldest=respawn_oldest+1;
if(respawn_oldest==monster_number)
{
respawn_oldest=0
};
nowrespawn(); // prubój dalej
};


Post został pochwalony 0 razy

Ostatnio zmieniony przez zysk dnia 2006/01/31 15:03, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
kazzmir
Administrator
Administrator



Dołączył: 24 Sie 2005
Posty: 354
Przeczytał: 0 tematów

Skąd: kraków

PostWysłany: 2006/01/31 14:14    Temat postu:

nic z tego nie kapuje ale wygląda prof. jestem za tym bo sam tak robiłem w G że za każdym razem jak wybiłem jedne monstery wracałem znowu po ich odnowieniu się. takich powrotów im więcej tym lepiej. nawet kilka na rozdział i do tego dodałbym modyfikację że kolejne odnawiają się coraz mocniejsze (więcej punktów doświadczenia) tak jak gracz staje się coraz lepszy.

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
zysk
Administrator
Administrator



Dołączył: 26 Sty 2006
Posty: 49
Przeczytał: 0 tematów


PostWysłany: 2006/01/31 14:17    Temat postu:

kazzmir napisał:
nic z tego nie kapuje ale wygląda prof. jestem za tym bo sam tak robiłem w G że za każdym razem jak wybiłem jedne monstery wracałem znowu po ich odnowieniu się. takich powrotów im więcej tym lepiej. nawet kilka na rozdział i do tego dodałbym modyfikację że kolejne odnawiają się coraz mocniejsze (więcej punktów doświadczenia) tak jak gracz staje się coraz lepszy.

He, wtedy by nabijano poziom bez końca, ale losowe potwory Orcwarriora mogą być zależne od rozdziału.


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
kazzmir
Administrator
Administrator



Dołączył: 24 Sie 2005
Posty: 354
Przeczytał: 0 tematów

Skąd: kraków

PostWysłany: 2006/01/31 14:20    Temat postu:

no ale wiadomo że kiedyś gra się jednak kończy. to był tylko pomysł.

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
orcwarrior
Administrator
Administrator



Dołączył: 24 Sie 2005
Posty: 495
Przeczytał: 0 tematów

Skąd: Brzeziny

PostWysłany: 2006/01/31 15:10    Temat postu:

Heh..mi jest cięzko zrozumić co tam pisze;) dobrze by było aby respawn był by co pare dni-jak napisałeś ale i monstery zalezne od leva-możesz dokładniej wytłumaczyć o co w tym chodzi? myśle ze z moim respawnem było by wiecej roboty ale chyba był by lepszy,choć puki co nie mówie nic napewno bo do konca tego nie rozumiem ;P

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
zysk
Administrator
Administrator



Dołączył: 26 Sty 2006
Posty: 49
Przeczytał: 0 tematów


PostWysłany: 2006/01/31 16:13    Temat postu:

orcwarrior napisał:
Heh..mi jest cięzko zrozumić co tam pisze;) dobrze by było aby respawn był by co pare dni-jak napisałeś ale i monstery zalezne od leva-możesz dokładniej wytłumaczyć o co w tym chodzi? myśle ze z moim respawnem było by wiecej roboty ale chyba był by lepszy,choć puki co nie mówie nic napewno bo do konca tego nie rozumiem ;P

W momencie gdy zabijasz potwora komputer zapamiętuję jego instancję, miejsce pojawienia oraz oblicza kiedy się pojawi. Podczas snu sprawdza czy nadszedł już czas (i może wstawić).


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
kazzmir
Administrator
Administrator



Dołączył: 24 Sie 2005
Posty: 354
Przeczytał: 0 tematów

Skąd: kraków

PostWysłany: 2006/01/31 16:19    Temat postu:

to może żeby się silniejsze odradzały? albo żeby 2 się zamiast jednego pojawiały, nie za każdym razem. tak żeby wprowadzić jakiś stopień zmian tak żeby były nieprzewidywalne za pierwszym razem gdy się będzie grało.

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
zysk
Administrator
Administrator



Dołączył: 26 Sty 2006
Posty: 49
Przeczytał: 0 tematów


PostWysłany: 2006/01/31 16:22    Temat postu:

kazzmir napisał:
to może żeby się silniejsze odradzały? albo żeby 2 się zamiast jednego pojawiały, nie za każdym razem. tak żeby wprowadzić jakiś stopień zmian tak żeby były nieprzewidywalne za pierwszym razem gdy się będzie grało.
Wystarczy że za każdym razem będą powstawać w zależności od rozdziału lub poziomu bohatera.

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
kazzmir
Administrator
Administrator



Dołączył: 24 Sie 2005
Posty: 354
Przeczytał: 0 tematów

Skąd: kraków

PostWysłany: 2006/01/31 16:25    Temat postu:

w zasadzie nie chodzi mi tylko o to żeby coś się pojawiało ale przewidywalność w grach irytuje mnie. czy jest taka możliwość czy nie ma żeby zrobić coś czego gracz się nie będzie spodziewał?

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
orcwarrior
Administrator
Administrator



Dołączył: 24 Sie 2005
Posty: 495
Przeczytał: 0 tematów

Skąd: Brzeziny

PostWysłany: 2006/01/31 16:26    Temat postu:

a gdyby tak do tych zapamiętywanych atrybutów dodać level potwora i aby podporzykdkowywał level do jednej z 4 grup-easy,medium,hard,Troll:P-te przypoządkowania mogły by być w pliku z atrybutami potworów(Mst*) i dać tam gdzie jest dodawanie potworów:
__________________________________________________________________

if (beastgroup=2(medium)
{
var int randombst;
var int addedbeastnum;
addedbeastnum = Hlp_Random(25);//
randombst = Hlp_Random(14);//powiedzmy ze jest 14 besti z grupy medium
if (random bst == 1)//Dodanie scierwojada preriowego
{
if (addedbeastnum ==1)//1/25 ze doda się 2 potwory za jeden aby potworów troche przybywało
{
Wld_InsertNpc (GLScavenger,respawn_waypoint[monster_number]) ;
Wld_InsertNpc (GLScavenger,respawn_waypoint[monster_number]) ;
}
else
{Wld_InsertNpc (GLScavenger,respawn_waypoint[monster_number]) ;};
________________________________________________________________

//Taki script może być nienajgorszy a jego zrobienie długo nie potrwa co o tym sądzicię???


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
kazzmir
Administrator
Administrator



Dołączył: 24 Sie 2005
Posty: 354
Przeczytał: 0 tematów

Skąd: kraków

PostWysłany: 2006/01/31 16:30    Temat postu:

orcwarrior napisał:

...ze doda się 2 potwory za jeden aby potworów troche przybywało...


podoba mi się to, ale reszty nie kapuje. wiecie o co mi chodzi jeżeli podzielacie moje zdanie to OK. jeżeli nie to niech was chuck norris


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
zysk
Administrator
Administrator



Dołączył: 26 Sty 2006
Posty: 49
Przeczytał: 0 tematów


PostWysłany: 2006/01/31 16:58    Temat postu:

ja bym tam zrobiłm aby poprostu była losowana odmiana potwora w zależności od poziomu bohatera. np. dla ścierwojadów:
rodzaj=poziom+losuj(10)
rodzaj - jeśli więcej niż 10 to ścierwojad preriowy, innaczej zwykły
poziom - poziom bohatera
losuj(n) - losowa liczba od 0 do n-1


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
kazzmir
Administrator
Administrator



Dołączył: 24 Sie 2005
Posty: 354
Przeczytał: 0 tematów

Skąd: kraków

PostWysłany: 2006/01/31 16:59    Temat postu:

a od czasu do czasu można zrobić bonus w postaci np wilka czy innego monstera?

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
orcwarrior
Administrator
Administrator



Dołączył: 24 Sie 2005
Posty: 495
Przeczytał: 0 tematów

Skąd: Brzeziny

PostWysłany: 2006/01/31 17:01    Temat postu:

zgadzam się z kazzmirem od czasu do czasu czyli ok 1/25
Dobra teraz te skrypty trzeba poskładać w całość
BTW:To o następnym dniu można dodać to SetDayTolerance(folder Story/B)


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Modders Strona Główna -> Skrypty Wszystkie czasy w strefie CET (Europa)
Idź do strony 1, 2  Następny
Strona 1 z 2

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
Regulamin