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
Napsal: 23.3.2007 7:29
od Razfallow
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
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