Prosím tě..Nachjuamifiči píše:Třeba budu postiženej a nepovedenej experiment nějakyho nekromanta. Přicestuju z daleka až k vám ve snaze najít nějaký lék či způsob, jak ze sebe ,,něco" udělat...
Ne.…
Moderátoři: Dungeon Servant, World Builder, Dungeon Master
A kdyz uz neco zajimavyho vymyslis, tak to nepis sem, ale nech to na IC odhalení ve hře!Nachjuamifiči píše:Ber to jako narychlo splácany něcoThe_Balrog píše:Prosím tě..Nachjuamifiči píše:Třeba budu postiženej a nepovedenej experiment nějakyho nekromanta. Přicestuju z daleka až k vám ve snaze najít nějaký lék či způsob, jak ze sebe ,,něco" udělat...
Ne.…
Ale ano, prosímtě, ANO *brousí si svůj Holy Avenger*The_Balrog píše:Prosím tě..Nachjuamifiči píše:Třeba budu postiženej a nepovedenej experiment nějakyho nekromanta. Přicestuju z daleka až k vám ve snaze najít nějaký lék či způsob, jak ze sebe ,,něco" udělat...
Ne.…
Ten předmět nemusíš mít vybavený. Skript na něj navážeš už tím, že ho vyhledáváš podle tagu - proto tag musí být přesně "xpgiver" bez úvozovek.Nachjuamifiči píše: Tak nic. Předmět tam je ale bez účinku. Udělal sem vše jaks napsal.…
-Předmět má být v inventáři, nebo se tim musím vybavit?
-A má přidělovat permanentně XP, i když třeba prodávám?
-Když sem vyvtořil nový xpgiver (prsten např.) nepřidělím mu ve vlastnostech žádny odkazy na tento skript nebo nějaky zvláštní nastavení?
Kód: Vybrat vše
void main()
{
object oPC=GetFirstPC();
int nCounterXP=GetLocalInt(GetItemPossessor(GetObjectByTag("xpgiver")),"counter_XP")+1;
if(nCounterXP==1 && GetIsObjectValid(oPC)==TRUE)
{
GiveXPToCreature(GetItemPossessor(GetObjectByTag("xpgiver")),100);
nCounterXP=0;
oPC=GetNextPC();
}
SetLocalInt(GetItemPossessor(GetObjectByTag("xpgiver")), "counter_XP", nCounterXP);
}
Právě já to zkoušel jenom přes SP, hráče nemám teď k dispozici Ale mělo by to jet i v SP, ne? Ok, vyzkouším druhou variantu. Ještě mi bylo doporučeno změnit ve vlastnostech modulu koeficient násobku přidělovaných XP, ale nemůžu ho tam nějak najít. Toolset mám v češtině.darmian píše:….Nachjuamifiči píše: Tak nic. Předmět tam je ale bez účinku. Udělal sem vše jaks napsal.…
-Předmět má být v inventáři, nebo se tim musím vybavit?
-A má přidělovat permanentně XP, i když třeba prodávám?
-Když sem vyvtořil nový xpgiver (prsten např.) nepřidělím mu ve vlastnostech žádny odkazy na tento skript nebo nějaky zvláštní nastavení?
A ulož to jako třeba "skript_xp". Pamatuj ale, že jestliže hrajete kampaň, tak ta má asi milion modulů, takže tenhle postup musíš udělat v každém z těch modulů. Moduly kampaně by v Heartbeatu nic mít neměli... A co se týče těch předmětů, tak samozřejmě rozdat jenom v počáteční lokaci...
BTW: tenhle skript je jiný,než ten první. Ale nechápu, proč ti to nefungovalo. Ten skript je v pořádku, akorát, že to vyhledalo jenom prvního s tímhle předmětem a pak mu to dávalo XP - nemám server, tak si to řádně nemůžu ověřit na vícero lidech, leda na sobě a to jaksi pro multiplayer není úplně ideálně, ale tohle by fungovat mohlo.
Kód: Vybrat vše
void main() // -> tady může být i něco jiného, než void main. Třeba HeartBeat() atp., ale to neřeš.
{
.
.
.
nějaký skript
.
.
.
object oPC=GetFirstPC();
int nCounterXP=GetLocalInt(GetItemPossessor(GetObjectByTag("xpgiver")),"counter_XP")+1;
if(nCounterXP==1 && GetIsObjectValid(oPC)==TRUE)
{
GiveXPToCreature(GetItemPossessor(GetObjectByTag("xpgiver")),100);
nCounterXP=0;
oPC=GetNextPC();
}
SetLocalInt(GetItemPossessor(GetObjectByTag("xpgiver")), "counter_XP", nCounterXP);
}
Kód: Vybrat vše
void main()
{
if (GetLocalInt(GetModule(),"NW_G_M2MainPlotActive") > 0)
{
SetLocalInt(GetModule(),"NW_G_M2MainPlotActive",GetLocalInt(GetModule(),"NW_G_M2MainPlotActive") - 1);
}
if (GetLocalInt(GetModule(),"NW_G_M2MainPlotDelay") > 1)
{
SetLocalInt(GetModule(),"NW_G_M2MainPlotDelay",GetLocalInt(GetModule(),"NW_G_M2MainPlotDelay") - 1);
}
else if (GetLocalInt(GetModule(),"NW_G_M2MainPlotDelay") == 1)
{
if (GetLocalInt(GetModule(),"NW_G_M2Q6MainPlot") < 4)
{
SetLocalInt(GetModule(),"NW_G_M2Q6MainPlot",4);
}
}
int nCounterXP=GetLocalInt(GetItemPossessor(GetObjectByTag("xpgiver")),"counter_XP")+1;
if(nCounterXP==1)
{
GiveXPToCreature(GetItemPossessor(GetObjectByTag("xpgiver")),100);
nCounterXP=0;
}
SetLocalInt(GetItemPossessor(GetObjectByTag("xpgiver")), "counter_XP", nCounterXP);
}
Kód: Vybrat vše
void main()
{
if (GetLocalInt(GetModule(),"NW_G_M2MainPlotActive") > 0)
{
SetLocalInt(GetModule(),"NW_G_M2MainPlotActive",GetLocalInt(GetModule(),"NW_G_M2MainPlotActive") - 1);
}
if (GetLocalInt(GetModule(),"NW_G_M2MainPlotDelay") > 1)
{
SetLocalInt(GetModule(),"NW_G_M2MainPlotDelay",GetLocalInt(GetModule(),"NW_G_M2MainPlotDelay") - 1);
}
else if (GetLocalInt(GetModule(),"NW_G_M2MainPlotDelay") == 1)
{
if (GetLocalInt(GetModule(),"NW_G_M2Q6MainPlot") < 4)
{
SetLocalInt(GetModule(),"NW_G_M2Q6MainPlot",4);
}
}
object oPC=GetFirstPC();
int nCounterXP=GetLocalInt(GetItemPossessor(GetObjectByTag("xpgiver")),"counter_XP")+1;
if(nCounterXP==1 && GetIsObjectValid(oPC)==TRUE)
{
GiveXPToCreature(GetItemPossessor(GetObjectByTag("xpgiver")),100);
nCounterXP=0;
oPC=GetNextPC();
}
SetLocalInt(GetItemPossessor(GetObjectByTag("xpgiver")), "counter_XP", nCounterXP);
}
...jojo, to pak jednoho potkají Dx (občas i) killy a rady, ať si najdeš nějaké hráčské uskupení .Sethiel píše:Já jsem jen chtěl říct, aby ses nedivil, že pak budeš sám, pokud budeš hrát něco takovýho. A hrát na online serveru sám je podle mě pěkná pruda. Nejkrásnější věci jdou právě z toho, že hraješ s ostatními … což si jako nemrtvý nedokážu představit.
Řekl bych, že tohle začátečníci nevnímají (já to taky nevnímal, chtěl jsem si na začátku udělat nějakou drsňáckou postavu) … ale samotářské postavy to nemají jednoduché. Ať už jsou sami z přesvědčení, nebo jim nic jiného nezbývá.