Stránka 1 z 2

začátek s tvořením npc

Napsal: 20.3.2007 19:10
od PinHead
jak mám udělat jednoduché npc? podle razova návodu jsem napsal *.d, vytvořil *.cre a v NI si otevřel script lokace AR1000.bsc a když tam přidám



IF
Global("PinHeadexistuje","AR1000",0)
THEN
RESPONSE #100
SetGlobal("PinHeadexistuje","AR1000",1)
CreateCreature("PinHead",[9137.2046],3)
END

tak mi to napíše při kompilování error Resource not found: S:NewObject* - "PinHead" Kam ten soubor mám zkopírovat?

a ještě jak mám vytvořit *.tp2 a co má být jeho obsahem?

Napsal: 20.3.2007 19:55
od Razfallow
Skript nemůže najít tvou postavu, kterou chceš daným blokem vytvořit.

Jednoduché tp2:

Kód: Vybrat vše

BACKUP ~PinHeadNPC/backup~
AUTHOR ~PinHead~

BEGIN ~PinHead NPC~
//text za těmito odrážkami je při kompilaci ignorován
//nejdříve dialog
COMPILE ~PinHeadNPC/pinhead.d~ //změň si jméno souboru podle sebe

//kompilace skriptů
EXTEND_BOTTOM ~ar1000.bcs~ ~PinHeadNPC/pinhead.baf~ //změň si jméno souboru podle sebe

//kopírování postavy
COPY ~PinHeadNPC/pinhead.cre~ ~override~
SAY NAME1 ~PinHead~
SAY NAME2 ~PinHead~
WRITE_ASCII 0x2cc ~PINHEAD~ #8 //přiřazení dialogu; opět změn jméno, aby to sedělo s tvým
Vytvoř složku PinHeadNPC, v ní další složku backup. Do PinHeadNPC nakopíruj své soubory - cre, d, baf, tp2
Stáhni si weidu, rozbal ho a weidu.exe si nakopíruj do hlavního adresáře a změň název na Setup_PinHeadNPC.exe.
.tp2 pojmenuj pouze PinHeadNPC.tp2

Baf - je nekompilovaný skript. Otevři si nějaký textový editor, začni nový file a vlož do něj svůj blok pro vytvoření postavy v oblasti. Pak ten texťák ulož s příponou .baf.

Napsal: 20.3.2007 20:19
od PinHead
Razfallow píše:

WRITE_ASCII 0x2cc ~PINHEAD~ #8 //přiřazení dialogu; opět změn jméno, aby to sedělo s tvým[/code]
jaky typ souboru mam nahradit svym nazvem

Napsal: 20.3.2007 20:36
od Razfallow
PinHead píše:
Razfallow píše:

WRITE_ASCII 0x2cc ~PINHEAD~ #8 //přiřazení dialogu; opět změn jméno, aby to sedělo s tvým[/code]
jaky typ souboru mam nahradit svym nazvem
Tady jde o jméno dlg, které se vytvoří kompilací .d souboru. Tvůj .d soubor začíná např. takto:

BEGIN ~PINHEAD~

A právě PINHEAD bude jméno vytvořeného dlg.

Napsal: 22.3.2007 20:33
od PinHead
ještě se chci zeptat kde prřesně bude muj pinhead stát ve vládní čtvrti nebo z čeho to poznám, nemůžu ho najít

Kód: Vybrat vše

CreateCreature("PinHead",[9137.2046],3)

Napsal: 22.3.2007 21:01
od Razfallow
Souřadnice se ve hře zobrazí klávesou X.

Napsal: 22.3.2007 21:08
od PinHead
to vím, taky jsem to zkoušel, jenže v ty oblasti mapy byly max. 5k...takze ten 1 bod to teda asi nesplnuje...asi to hodim primo pred budovu vlady aby bylo jasno....... :think: :think: :think:

Napsal: 23.3.2007 7:29
od Razfallow
PinHead píše:to vím, taky jsem to zkoušel, jenže v ty oblasti mapy byly max. 5k...takze ten 1 bod to teda asi nesplnuje...asi to hodim primo pred budovu vlady aby bylo jasno....... :think: :think: :think:
No tak si ve hre najdi misto, kde bys chtel, aby byl, a pouzij souradnice toho mista.

Napsal: 23.3.2007 12:23
od PinHead
existuje někdě nějaký návod na weidu (jak pridat dialogy na situace, scripty atd) abych se tady nemusel na všechno ptát ;-)

Napsal: 23.3.2007 14:38
od drake127
PinHead píše:existuje někdě nějaký návod na weidu (jak pridat dialogy na situace, scripty atd) abych se tady nemusel na všechno ptát ;-)
Návod nevím, ale docela pěkně zpracovaná dokumentace + nějaké příklady jsou přímo ve WeiDU balíčku (anglicky).

Napsal: 23.3.2007 18:56
od PinHead
ách jo :-( pořád mi to nejde, instalace proběhne bez potíží a přesto se tam to npc neobjevuje :cry: už nevím kde může být chyba....přitom když do ar1000.bcs napisu, aby se objevil rudy drak, tak se objevi, ale postava nikde :-( .......a když to npc zkusím vyvolat pres konzoli, tak se objeví jakysi bojovník, kterého jsem už dávno smazal a nahradil jiným *.cre ( v scriptech jsem to samozdřejmě opravil)

Napsal: 23.3.2007 19:16
od drake127
Pokud bys ho opravdu smazal, tak tam není. To, co se objeví ve hře, najdeš ve složce override. To, co instaluješ pomocí tp2 souboru máš ve složce modu. Pokud změníš soubor v override, hra se změní hned (v případě cre stačí znovu nahrát pozici). Jenže po instalaci se ti změny ztratí.

Napsal: 23.3.2007 19:25
od PinHead
tak uz jsem ted pokročil; sice se neobjeví hned, ale po konzoli ano. Jenže se objevil nový problém; ten týpek mě pořád zdravím (když myslím pořád tak pořád; cca každe 3 sec dialogem, takže to vylučuje jakkékoliv hraní :-( je nějaký script aby postava nemohla mluvit? (a abych s ni ale mohl mluvit o pridani\vyhozeni z druziny)

Napsal: 24.3.2007 19:25
od Vlasák
PinHead: ve scriptech je třeba používat scripting name (death variable) a ne název .cre souboru. To není zrovna případ CreateCreature akce, ale některých podmínek či akcí ano.

S těmi dialogy - postupuj fakt dle toho návodu, co psal Raz ;-) Tam to NPC má script tento ;-)

Kód: Vybrat vše

IF
See([PC])
NumTimesTalkedTo(0)
THEN
RESPONSE #100
Dialogue(Nearest([PC]))
END
Abys chápal, v čem je problém - tvůj script má nějakou podmínku, která je zřejmě stále splněna (např. pouhé See([PC])). Musíš tam dodat jistou logiku, která zajistí, že podmínka bude splněna pouze jednou (tj. např. ono NumTimesTalkedTo(0) - což znamená, že počet dialogů, které postava vedla, je 0 - toto je samozřejmě splněné pouze do prvního dialogu a pak už ne ;-) ; anebo test na nulovost proměnné, kterou v zápětí v související akci nastavíš na nenulové číslo). Ve scriptech je nutno dávat pozor i na tu globální sémantiku celého scriptu a pravidla průchodu scriptem - tj. jak často se jednotlivé bloky mají provádět a co se ve scriptu vlastně děje.

Na WeiDU samotné existuje ta dokumentace, která je velmi dobrá. Na konkrétní věci pak musíš následovat konkrétní tutorialy - weidu je pouze prostředek.

Kupříkladu
Úplný průvodce scriptováním
Průvodce AI scriptováním

Napsal: 16.10.2007 12:22
od Bhaall
Můžete mi někdo prosim Vás poradit v čem mám chybu?

Kód: Vybrat vše

BEGIN T1Taya

IF ~NumTimesTalkedTo(0)~ THEN BEGIN Prvnisetkani

SAY ~Hmm, *prohlíží si ho* bud zdráv.~

IF ~~ THEN REPLY ~Zdravím, kdopak jsi?~ GOTO Uvitani

IF ~~ THEN REPLY ~Trhni si ty běhno!~ GOTO Trhnisi

END

IF ~~ THEN BEGIN Uvitani

SAY ~*Ušklíbne se*, říkají mi Taya~

IF ~~ THEN REPLY ~Hmm Tayo, a co tu u Devíti pekel děláš?!~ GOTO cotudelas

END

IF ~~ THEN BEGIN Carodej

SAY ~Co myslíš, že asi v téhle blbé kleci dělám!Ten čarofuk mě zajal...~

IF ~~ THEN REPLY ~Aha, jasně...co bys řekla tomu spojit síly a najít společně cestu ven?~ GOTO cesta

IF ~~ THEN REPLY ~Hehe, blbý co?~ GOTO Blby

END

IF ~~ THEN BEGIN Parta

SAY ~Hmm, proč ne...~

IF ~~ THEN REPLY ~Eh, vlastně ne, nepotřebuju tě, ale nikam nechod!*smeje se*~ GOTO fuckoff

IF ~~ THEN REPLY ~Tak jdem, vypadneme odsud~ DO ~SetGlobal("Tayasepridala","LOCALS",1)

JoinParty()~ EXIT


END

IF ~NumTimesTalkedToGT(0)~ THEN BEGIN Rozhovorponavratu

SAY ~Ha!Takže mě tu přece jenom nenecháš zhnít!~

IF ~~THEN REPLY ~No jo tak teda pojd...~ DO ~SetGlobal("Tayasepdirada","LOCALS",1)
JoinParty()~ EXIT

IF ~~THEN REPLY ~Tak to se pleteš děvče...~ GOTO Odmitnuta

IF ~~THEN EXIT

END