Co udělat proto, aby npc něco dalo hráči

Jde o to, že se řekněme snažíte udělat nějaký quest, kde je potřeba aby NPC předalo hráči řekněme klíč nebo jiný item potřebný dál. Tady máte podrobný návod pro 55i...

Pozn.: Sandal
Jde o to, že se řekněme snažíte udělat nějaký quest, kde je potřeba aby NPC předalo hráči řekněme klíč nebo jiný item potřebný dál. Tady máte podrobný návod pro 55i...

Pokud chceme aby s hráčem NPC také komunikovalo je třeba naskriptovat v podstatě nové NPC
Což by neměl být pro nikoho žádný problém. Pro jistotu ale přidávám skript jedné z postav z jednoho
questu co jsem dělal.


//Za 1000gp da hraci dopis pro umrela,tim jeho role konci
[CHARDEF C_H_ARAK] // - pomocí tohoto budete vkládat NPC do hry .add c_h_arak
NAME=Arak //-jméno NPC
ID=0190 // - ID použitého NPC tohle patří mám dojem alchymistovi
ICON=0491 // - Ikona NPC při použití ve hře pro respawn

TSPEECH=spk_shrink_quest_arak //-tato část je nejdůležitější,
díky ní bude schopen předat předmět. je to speech tedy soubor
řeči, který má NPC použít a podle kterého má reagovat na to co
mu hráč říká

// - příkaz pro vytvoření NPC
ON=@Create
NPC=brain_vendor
COLOR=colors_skin
STR={36 50}
DEX={36 50}
INT={51 65}

// - jaké má mít NPC skilly
ALCHEMY={55.0 78.0}
TasteID={55.0 78.0}
WRESTLING={15.0 38.0}
MAGICRESISTANCE={25.0 48.0}
TACTICS={15.0 38.0}
POISONING={35.0 55.0}

//- jak má NPC vypadat
ITEMNEWBIE=random_male_hair
COLOR=colors_hair
ITEMNEWBIE=random_facial_hair
COLOR=match_hair

// - co má mít NPC na sobě
ON=@NPCRestock
ITEM=RANDOM_LIGHT
ITEM=i_shirt_plain
COLOR=colors_all
ITEM=random_pants
COLOR=colors_all
ITEM=i_robe
COLOR=colors_red
ITEM=random_shoes
COLOR=colors_neutral
ITEM=random_coin_purse

CATEGORY=Civilized
SUBSECTION=Lynx quests
DESCRIPTION=Arak

A zde je už soubor řeči kterou má NPC použít
příkazů ON=cokoliv můžete použít vlastně kdykoliv, jsou to slova, na která má NPC reagovat určitpu činností
Tedy může třeba odpovědět nebo se teleportovat nebo cokoliv jiného.Pokud kolem slova použijete hvězdičku
bude na něj NPC reagovat i ve větě, pokud ne, musí hráč říct pouze toto slovo.

Pokud použijete ON=neco je třeba, aby za tímto trigerem byl vždy trigger ktery na to ON=neco reaguje.

Příklad:
ON=ahoj //slovo ktere u NPC vyvola určitou reakci

SAY=bud zdrav // reakce ze strany NPC

Stejnětak je možné, aby NPC reagovalo na více slov stejnou reakcí.Zde plati pro skupinu triggeru ON=neco jednotna odpoved

Příklad:
ON=ahoj
ON=nazdar
ON=zdravim

SAY=bud zdrav

Další možností je, že za ON=něco bude zařazen skript, což je vlastně účelem celého tohoto článečku.

Příklad:

ON=mam
SAY=to je dobre
SRC.NEWITEM={i_neco}
SRC.ACT.BOUNCE

Pochopitelne zde misto textu lze použít spousta jiných trigerů třeba ON=dclick kdy se skript spustí při poklikání na určitý item a podobně ale to už jsme trochu někde jinde.


Zde je speech skript patřící k toomu v úvodu článku.Je zde jasně vidět použití výšeuvedených příkladů.

[SPEECH spk_shrink_quest_arak] // Arak speech
ON='umrelo'
SAY=Posila te jak vidim nas spolecny pritel, to je vice nez dobre doporuceni.

ON=delmore
SAY=Ano, slysel jsem o jeho smrti, zarazi me ze si nedokazal namichat lek.

ON=dopis
SAY=Nejsem si jist zda ti ho mam dat, ale kryz rikas ze te posila Umerlo, nemel by jsi 1000 zlatych?

ON=*mam*
ON=*dej*
ON=*chci*
IF <SRC.RESTEST 1000 i_gold> // - pokud má hráč u sebe 1k gp
SRC.CONSUME 1000 i_gold // - sebere hráči NPC 1k gp
SAY Dekuji ti priteli, ted jsem si jist ze nejsi podvodnik.Zde mas dopis pro naseho pritele. // - řekne
SRC.NEWITEM={i_dopis} // - vytvoří předmět který zde určíte
SRC.ACT.BOUNCE // - strčí jej hráči do batohu
ELSE // - ale pokud hráč nemá 1k gp
SAY Hmm, nezda se ze by ti o ten dopis opravdu slo, prijd az budes mit penize. // - odpoví
ENDIF // - ukončení dotazů
Return 1 // - znamená že lze akci opakovat


V praxi to celé vypadá tak že příjde hráč a v batohu má 1k gp, řekne "mám" a v tu chvíli mu NPC
dá určený předmět a sebere 1kgp a odpoví.

Tohle všechno může obsahovat jeden skript čili jeden soubor, řekněme test.scp
Většinou je potřeba aby jste si itemy které chcete použít naskriptovali ale to myslím netřeba říkat
vlastně celý quest může být v jednom souboru. Začínám z toho být nějaký zmatený takže pokud si s něčím nebudete vědět rady tak klidně napište.