začátek s tvořením npc
Moderátor: Razfallow
- PinHead
- Sigilan
- Příspěvky: 193
- Registrován: 8.1.2007 19:51
- Bydliště: pláž v Nikdyzimě
- Kontaktovat uživatele:
začátek s tvořením npc
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?
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?
Miluju ŠPENDLÍKY A HLAVY!!!!!!!!!!!
Adun Toridas!
Adun Toridas!
Skript nemůže najít tvou postavu, kterou chceš daným blokem vytvořit.
Jednoduché tp2:
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.
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
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.
Kód: Vybrat vše
IF
Detect([SPAMMER])
THEN
RESPONSE #100
ReallyForceSpell(WIZARD_POWER_WORD_KILL,LastSeenBy(Myself))
END
Tady jde o jméno dlg, které se vytvoří kompilací .d souboru. Tvůj .d soubor začíná např. takto:PinHead píše:jaky typ souboru mam nahradit svym nazvemRazfallow 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]
BEGIN ~PINHEAD~
A právě PINHEAD bude jméno vytvořeného dlg.
Kód: Vybrat vše
IF
Detect([SPAMMER])
THEN
RESPONSE #100
ReallyForceSpell(WIZARD_POWER_WORD_KILL,LastSeenBy(Myself))
END
- PinHead
- Sigilan
- Příspěvky: 193
- Registrován: 8.1.2007 19:51
- Bydliště: pláž v Nikdyzimě
- Kontaktovat uživatele:
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)
Miluju ŠPENDLÍKY A HLAVY!!!!!!!!!!!
Adun Toridas!
Adun Toridas!
Souřadnice se ve hře zobrazí klávesou X.
Kód: Vybrat vše
IF
Detect([SPAMMER])
THEN
RESPONSE #100
ReallyForceSpell(WIZARD_POWER_WORD_KILL,LastSeenBy(Myself))
END
No tak si ve hre najdi misto, kde bys chtel, aby byl, a pouzij souradnice toho mista.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.......
Kód: Vybrat vše
IF
Detect([SPAMMER])
THEN
RESPONSE #100
ReallyForceSpell(WIZARD_POWER_WORD_KILL,LastSeenBy(Myself))
END
- PinHead
- Sigilan
- Příspěvky: 193
- Registrován: 8.1.2007 19:51
- Bydliště: pláž v Nikdyzimě
- Kontaktovat uživatele:
á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)
Miluju ŠPENDLÍKY A HLAVY!!!!!!!!!!!
Adun Toridas!
Adun Toridas!
- drake127
- Sigil Team
- Příspěvky: 2358
- Registrován: 24.9.2005 22:28
- Bydliště: Jihlava, Czech Republic
- Kontaktovat uživatele:
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í.
Žralok, který štěká, nekouše.
- PinHead
- Sigilan
- Příspěvky: 193
- Registrován: 8.1.2007 19:51
- Bydliště: pláž v Nikdyzimě
- Kontaktovat uživatele:
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)
Miluju ŠPENDLÍKY A HLAVY!!!!!!!!!!!
Adun Toridas!
Adun Toridas!
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
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
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
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
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
...There is no path too perilous, or hazard too great.
The specter of death does not daunt me...for I am already dead...
Giving birth to this nightmare is my most coveted dream.
I will see them all burn!
As my pain ends...theirs begins.
The specter of death does not daunt me...for I am already dead...
Giving birth to this nightmare is my most coveted dream.
I will see them all burn!
As my pain ends...theirs begins.