Ahoj, stručně řečeno na tohle potřebuješ script(y).
Zaprvé, musíš si někam zapsat že postava mluvila s tou a tou NPC. Toho se dá docílit mnoha různými způsoby. Nejlepší způsob jsou proměnné (Set/Get-Local/Campaign/Persistent-Int/String/Float/aj.).
Takže v rozhovoru s danou NPC si musíš třeba na ukončovací větvi nastavit script který na postavu napíše tohle:
- Kód: Vybrat vše
void main()
{
object oPC = GetPCSpeaker();
SetLocalInt(oPC,"MluvilSeStraznikemFrantou",1);
}
a pak v rozhovoru s tou první npc musíš vytvořit dvě startovní větve rozhovoru, jednu která se objeví hráči který již se strážníkem mluvil a jednu která se objeví všem ostatním. Jako první dáš možnost kdy jsi se strážníkem mluvil a do scriptu "provede se když" dáš script který bude ověřovat zda hráč má proměnnou:
- Kód: Vybrat vše
int StartingConditional()
{
object oPC = GetPCSpeaker();
if(GetLocalInt(oPC,"MluvilSeStraznikemFrantou") == 1)
{
return TRUE;
}
return FALSE;
}
atp.
pozor lokální (Local) proměnné mizí po restartu, pokud neděláš singleplayer tak musíš zvážit jiné možnosti, ty jsou:
- lokální proměnná na předmětu v inventáři (aka ID karta nebo cokoliv jiného co se nedá odložit a víš že to hráč má vždy u sebe) - na arkhalii takový item ale nepoužíváme
- předmět, jestli jsi tu hrál možná jsi dostal do inventáře předmět vypadající jako list papíru který se jmenoval "úkol ve Snowgardu" a v popisku měl napsané co máš udělat, to je pravděpodobně nejjednodušší varianta, ověřuješ pak tag itemu když chceš vědět jestli hráč úkol má nebo nemá (aka máš 3tyhle itemy s tagem "ukol1cast1" "ukol1cast2" "ukol1cast3" pri startu das cast1 jakmile hráč něco udělá cast1 mu smažeš a dáš mu cast2 atp. jestli hráč má item ukol1cast1 ověříš ve scriptu funkcí GetItemPossesedBy(oPC,"ukol1cast1");
- persistentní proměnná - o tom jsem napsal článek na neverwinter.cz mrkni tam, pokud to má být pro Arkhalii tak ti dám bližíší info co tu používáme
Tedy jednoduše řečeno nauč se první scriptovat na neverwinter.cz je na to pěkný tutoriál, já jsem se z něj taky učil a tam jsem taky začínal. Případně si sežeň nějaký ten script generátor z vaultu, na tyhle jednoduchosti by měl stačit, vlastně přímo v toolsetu je script wizard který myslím Ice na tyhle "dej item, má item?, seber item" používá. Já scriptuju ručně takže ti nepovím jak to udělat přes toho wizarda.