Menu

Delší životnost vyvolaných monster v G2A [scripty]

Vše o tvorbě a úpravách módů
Tak jsem projizdel forum a nasel jsme v jeden muj stary dotaz:
Jenom takovej dotaz, nejde nahodou prodlouzit "trvanlivost" vyvolanych monster jako treba armada temnot a kostlivece tak, aby se po case nerozpadly, ale zustali "zivy" dokud je nekdo, nebo neco nezabije? Podobne jako to bylo v G1
A protoze me to desne stve :D pokladam tuhle otazku znova- lepe receno, jak moc by bylo slozity tohle nastavit? nejak ve skriptech asi, ale jak?
Jen když se přestanete bát smrti, nebojíte se žít!
Ten, kdo překoval meče na pluhy, bude orat pro toho, kdo tak neučinil.
Obrázek
http://www.youtube.com/watch?v=EpJV6ZCo84c&feature=related
Uživatelský avatar
Lovec-mag
Uživatel
 
Příspěvky: 381
Registrován: ned 11. kvě 2008 10:35:48
Bydliště: Mezi nebem a zemí.

jj je to jenom o skriptech ale jak se pamatuju i v g1 se vyvolana monstra po case rozpadli protoze im ubudlo trocha hp za sekundu az nakonec zemreli sami nevim jestli je to v g2 jinak .....ale najpr bych chtel vedet jestli by ses s tim mnel chut pohrat. protoze jestli ne tak abych to nedelal zbytecne
Uživatelský avatar
mark56
Uživatel
 
Příspěvky: 495
Registrován: pát 13. úno 2009 20:56:24

Rozhodne mam chut si s tim pohrat :) jen prosim kdyz budes "odborne" vyrazivo trosku vysvetli co to znamena :wink: jinak diky za ochotu, pokud to nebude nejak eeextra slozity, urcite se na to vrhnu :P

A k tomu g1, ja nvm ale pamatuju se ze jsem tam jednou vyvolal kostlivce na ceste do bazinyho tabora na zac. 1 kap a kdyz jsem tam tudy sel skoro na konci kap z5, porad tam byli... ( najednou ke me pribehli, jak jsem prosel tim mistem a Hp meli plny tak jako kdyz jsem je opustil...)
Jen když se přestanete bát smrti, nebojíte se žít!
Ten, kdo překoval meče na pluhy, bude orat pro toho, kdo tak neučinil.
Obrázek
http://www.youtube.com/watch?v=EpJV6ZCo84c&feature=related
Uživatelský avatar
Lovec-mag
Uživatel
 
Příspěvky: 381
Registrován: ned 11. kvě 2008 10:35:48
Bydliště: Mezi nebem a zemí.

hmm sry ze sem to jeste neudelal ale tak jakosi sem se k tomu jeste nedostal pokousim se v nejblizsim case
Uživatelský avatar
mark56
Uživatel
 
Příspěvky: 495
Registrován: pát 13. úno 2009 20:56:24

jj chapu.. a porad na to cekam, neboj :P
Jen když se přestanete bát smrti, nebojíte se žít!
Ten, kdo překoval meče na pluhy, bude orat pro toho, kdo tak neučinil.
Obrázek
http://www.youtube.com/watch?v=EpJV6ZCo84c&feature=related
Uživatelský avatar
Lovec-mag
Uživatel
 
Příspěvky: 381
Registrován: ned 11. kvě 2008 10:35:48
Bydliště: Mezi nebem a zemí.

Mno... :) něco jsem našel a domnívám se že je to to co hledáš, ale zatím nevím co přesně stím udělat (hádám že něco vymazat) aby kostlivec například zůstal ve hře napořád.

Takže soubor se jmenuje "ZS_MM_RTN_Summoned.d" a nachází se ve "Gothic 2\_work\data\Scripts\CONTENT\AI\Monster\RTN_Monster"
Doporučuji udělat si zálohu souboru.

EDIT: Jo je to ono, mezi bláboly kterým jsem vtom scriptu nerozumněl (teda některým) jsou i 3 takovéto řádky:

"Npc_ChangeAttribute (self, ATR_HITPOINTS, -self.attribute[ATR_HITPOINTS_MAX]);"

Jeden navrchu, další někde uprostřed a poslední úplně dole, já změnil prostřední a poslední na:

"Npc_ChangeAttribute (self, ATR_HITPOINTS, 1);"

Což znamená že při dosažení momentu kdy měly vyvolané bytosti zemřít se jim doplní 1 bod zdraví, no je to nějaký divný protože to funguje to jako regen, takže 1 HP každou sekundu.
Mělo by to fungovat na všechny bytosti které vyvoláš runou / svitkem.
Pokud se od nich hodně vzdálíš tak se ale i tak rozpadnou / chcípnou. :sad:
Jak zmněnit / prodloužit dobu životnosti jsem však nenašel, a po tomto jsem to ani nehledal.

Pokud jsem udělal nějakou chybu a celé to nefunguje tak se omlouvám, jsem začátečník v modování.
Uživatelský avatar
Xko
Uživatel
 
Příspěvky: 136
Registrován: úte 19. dub 2011 14:38:01
Bydliště: Old Camp, House of Elites

Diky, ja to vyzkousim a kdyztak napisu. Nevadi mi, ze se rozpadnou kdyz od nich utecu, me slo o to, aby zustali zivy po mem boku behem delsiho boje. A jeste jednou diky, zkusim a uvidim :)
Jen když se přestanete bát smrti, nebojíte se žít!
Ten, kdo překoval meče na pluhy, bude orat pro toho, kdo tak neučinil.
Obrázek
http://www.youtube.com/watch?v=EpJV6ZCo84c&feature=related
Uživatelský avatar
Lovec-mag
Uživatel
 
Příspěvky: 381
Registrován: ned 11. kvě 2008 10:35:48
Bydliště: Mezi nebem a zemí.

EDIT: Jo je to ono, mezi bláboly kterým jsem vtom scriptu nerozumněl (teda některým) jsou i 3 takovéto řádky:

"Npc_ChangeAttribute (self, ATR_HITPOINTS, -self.attribute[ATR_HITPOINTS_MAX]);"

tahle funkce udela to ze jestli na ne klines (jakoze chcees s nima pokecat ) tak ich to zabije tohle si tam nehejte protoze np budete chtit jit do mesta a pak to bude vice mene problem .
tenhle skript je loop cize opakovani ˇˇ
SPOILER:
Kliknutím odkryjete skrytý text
func int ZS_MM_Rtn_Summoned_Loop()
{
// ------ beim Spieler bleiben ------
B_MM_WispDetect ();
if (Npc_GetDistToNpc (self, hero) > 500)
{
AI_GotoNpc (self, hero);
}
else //<= 500
{
if (Npc_GetStateTime(self) >= 1)
{
// ------ zum Spieler drehen ------
if (!Npc_CanSeeNpc(self, hero))
{
AI_TurnToNpc (self, hero);
};

// ------ Summon Time -------
self.aivar[AIV_SummonTime] = (self.aivar[AIV_SummonTime] + Npc_GetStateTime(self)); //weil AI_Goto länger dauern kann

if (self.aivar[AIV_SummonTime] >= MONSTER_SUMMON_TIME)
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, -self.attribute[ATR_HITPOINTS_MAX]);
};

Npc_SetStateTime (self, 0);
};
};

self.wp = Npc_GetNearestWP (self);
return LOOP_CONTINUE;
};
Skrytý text může obsahovat důležité informace o obsahu, které mohou pokazit prožitek ze hry, nebo zkazit nějaké překvapení připravené pro hráče.

ale nas zajima jen tahle cast skriptu
self.aivar[AIV_SummonTime] = (self.aivar[AIV_SummonTime] + Npc_GetStateTime(self)); //weil AI_Goto länger dauern kann

if (self.aivar[AIV_SummonTime] >= MONSTER_SUMMON_TIME)
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, -self.attribute[ATR_HITPOINTS_MAX]);
};

Npc_SetStateTime (self, 0);

takze predpokladame ze tenhle loop ma opakovani kazdou sekundu takze se nam stale zvetsuje nejaka premenna o hodnotu Npc_GetStateTime(self) a jestli je vyzsi nez konstanta MONSTER_SUMMON_TIME jednoducho mu vezme vse HP aneb vezme mu z aktualniho hp maximum jeho hp staci tohle cele vymazat a mate to
PS tady to mate....otvorit si subor , skopcit a nahradit :wink:
SPOILER:
Kliknutím odkryjete skrytý text
// ******************
// ZS_MM_Rtn_Summoned
// ******************

func void B_SummonedAssessTalk()
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, -self.attribute[ATR_HITPOINTS_MAX]);
};

func void ZS_MM_Rtn_Summoned ()
{
Npc_SetPercTime (self, 1);
Npc_PercEnable (self, PERC_ASSESSPLAYER, B_MM_AssessPlayer);
Npc_PercEnable (self, PERC_ASSESSENEMY, B_MM_AssessEnemy);

Npc_PercEnable (self, PERC_ASSESSMAGIC, B_AssessMagic);
Npc_PercEnable (self, PERC_ASSESSDAMAGE, B_MM_AssessDamage);
Npc_PercEnable (self, PERC_ASSESSFIGHTSOUND, B_MM_AssessOthersDamage);

if (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(Wisp_Detector))
{
Npc_PercEnable (self, PERC_ASSESSTALK, B_AssessTalk);
}
else
{
Npc_PercEnable (self, PERC_ASSESSTALK, B_SummonedAssessTalk);
};

// FUNC

B_SetAttitude (self, ATT_FRIENDLY);
self.aivar[AIV_PARTYMEMBER] = TRUE;

AI_StandUp (self);
AI_SetWalkmode (self, NPC_RUN);
};

func int ZS_MM_Rtn_Summoned_Loop()
{
// ------ beim Spieler bleiben ------
B_MM_WispDetect ();
if (Npc_GetDistToNpc (self, hero) > 500)
{
AI_GotoNpc (self, hero);
}
else //<= 500
{
if (Npc_GetStateTime(self) >= 1)
{
// ------ zum Spieler drehen ------
if (!Npc_CanSeeNpc(self, hero))
{
AI_TurnToNpc (self, hero);
};
};
};

self.wp = Npc_GetNearestWP (self);
return LOOP_CONTINUE;
};

func void ZS_MM_Rtn_Summoned_End()
{

};

/*// ------ MANA - Entzug ------
if (self.aivar[AIV_MM_REAL_ID] == ID_SUMMONED_GOBBO_SKELETON)
{
Npc_ChangeAttribute (hero, ATR_MANA, -1);
};

if (self.aivar[AIV_MM_REAL_ID] == ID_SUMMONED_WOLF)
{
Npc_ChangeAttribute (hero, ATR_MANA, -2);
};

if (self.aivar[AIV_MM_REAL_ID] == ID_SUMMONED_SKELETON)
{
Npc_ChangeAttribute (hero, ATR_MANA, -3);
};

if (self.aivar[AIV_MM_REAL_ID] == ID_SUMMONED_GOLEM)
{
Npc_ChangeAttribute (hero, ATR_MANA, -4);
};

if (self.aivar[AIV_MM_REAL_ID] == ID_SUMMONED_DEMON)
{
Npc_ChangeAttribute (hero, ATR_MANA, -5);
};

if (hero.attribute[ATR_MANA] <= 0)
{
if (self.aivar[AIV_MM_REAL_ID] == ID_SUMMONED_DEMON)
{
B_SetAttitude (self, ATT_HOSTILE);
}
else
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, -self.attribute[ATR_HITPOINTS_MAX]);
};
};*/
Skrytý text může obsahovat důležité informace o obsahu, které mohou pokazit prožitek ze hry, nebo zkazit nějaké překvapení připravené pro hráče.
Uživatelský avatar
mark56
Uživatel
 
Příspěvky: 495
Registrován: pát 13. úno 2009 20:56:24

Diky, tohkle presne jsem potreboval vedet... ale mam jeden problem
Gothic 2\_work\data\Scripts\CONTENT\AI\Monster\RTN_Monster"

Ve slozce CONTENT mam jenom slozku CUTSCENE a v ni soubory OU, OU.bin a podobne... :?:
Jen když se přestanete bát smrti, nebojíte se žít!
Ten, kdo překoval meče na pluhy, bude orat pro toho, kdo tak neučinil.
Obrázek
http://www.youtube.com/watch?v=EpJV6ZCo84c&feature=related
Uživatelský avatar
Lovec-mag
Uživatel
 
Příspěvky: 381
Registrován: ned 11. kvě 2008 10:35:48
Bydliště: Mezi nebem a zemí.

aha, no tak to potřebuješ MDK soubory...

Tady to stáhneš http://www.worldofgothic.com/dl/?go=dlfile&fileid=87
Chvíli potrvá než se to nainstaluje (záleží jestli rozbalíš všechno nebo jen scripty), mezitím si stáhneš i český MDK do toho http://www.gothicz.net/gothic-2-noc-havrana/cestina/ (nefungujou samostatně bez německých MDK).

Jinak pokud teda neděláš objemný mod(pokud nechceš mněnit hudbu, textury,modely atd) tak doporučuju jen rozbalit scripty, je to možnost "basis" v německým instalátoru.

zabere to kolem 50mb navíc odhaduju, pokud ale rozbalíš vše tak okolo 7BG.
Uživatelský avatar
Xko
Uživatel
 
Příspěvky: 136
Registrován: úte 19. dub 2011 14:38:01
Bydliště: Old Camp, House of Elites

on nechce delat mod ale len zlepsit gameplay .... jestli se nemylim takze staci mu verze obsahujici jenom ty nejnutnejsi veci
Uživatelský avatar
mark56
Uživatel
 
Příspěvky: 495
Registrován: pát 13. úno 2009 20:56:24

nj tak to bude stačit volba "basis" vtom instalatoru. (jenže to sem si říkal taky než mě chytla tvůrčí nálada a já začal shánět programy na modelování apod. :lol: )
Uživatelský avatar
Xko
Uživatel
 
Příspěvky: 136
Registrován: úte 19. dub 2011 14:38:01
Bydliště: Old Camp, House of Elites

Tak to bychom meli, ted jeste jeden, doufam ze posledni, problem.
Takže soubor se jmenuje "ZS_MM_RTN_Summoned.d"
V jakym programu muzu ten soubor otevrit? :)

btw. Delat mody, no tak chut by byla a napadu jeste vic, ale momentalne na to nemam cas. Mozna nekdy pozdejc si o tom neco zjistim a zkusim neco ztvorit :P
Jen když se přestanete bát smrti, nebojíte se žít!
Ten, kdo překoval meče na pluhy, bude orat pro toho, kdo tak neučinil.
Obrázek
http://www.youtube.com/watch?v=EpJV6ZCo84c&feature=related
Uživatelský avatar
Lovec-mag
Uživatel
 
Příspěvky: 381
Registrován: ned 11. kvě 2008 10:35:48
Bydliště: Mezi nebem a zemí.

otevřít ho můžeš klidně v poznámkovým bloku, já to tak dělám furt, i když na to mám i jiný program
Uživatelský avatar
Xko
Uživatel
 
Příspěvky: 136
Registrován: úte 19. dub 2011 14:38:01
Bydliště: Old Camp, House of Elites

no onej gothic sourcerer je dost pekny je to vlastne jako macro verze visual studia a to ti zrychli praci np farebne ti vyznacuje veci jako func ... var a pod takzee hned vyz jestli si se nesekl v psani bebo taky farebne ukaze zacatek a konec funcke (myslim tim tyto zatvorky { } ) snad jedine co bych dodal je asi ukazovani zda jsme nezapomneli ; na konci radku protoze to je nejvetsi muceni v skriptovani jako kdyz uz pustis gothic a nakonec ti napse ze ti ne 2000 radku chyby ; :D
Uživatelský avatar
mark56
Uživatel
 
Příspěvky: 495
Registrován: pát 13. úno 2009 20:56:24

Další

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé

cron