začátek s tvořením npc

Vytváření nových modů není tak obtížné, zkuste si to taky.

Moderátor: Razfallow

Uživatelský avatar
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

Příspěvek od PinHead » 20.3.2007 19:10

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?
Miluju ŠPENDLÍKY A HLAVY!!!!!!!!!!!
Adun Toridas!

Uživatelský avatar
Razfallow
Dabus
Příspěvky: 1373
Registrován: 24.9.2005 22:54
Bydliště: Sigil
Kontaktovat uživatele:

Příspěvek od Razfallow » 20.3.2007 19:55

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.

Kód: Vybrat vše

IF
  Detect([SPAMMER])
THEN
    RESPONSE #100
             ReallyForceSpell(WIZARD_POWER_WORD_KILL,LastSeenBy(Myself))
END
[/size]

Uživatelský avatar
PinHead
Sigilan
Příspěvky: 193
Registrován: 8.1.2007 19:51
Bydliště: pláž v Nikdyzimě
Kontaktovat uživatele:

Příspěvek od PinHead » 20.3.2007 20:19

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
Miluju ŠPENDLÍKY A HLAVY!!!!!!!!!!!
Adun Toridas!

Uživatelský avatar
Razfallow
Dabus
Příspěvky: 1373
Registrován: 24.9.2005 22:54
Bydliště: Sigil
Kontaktovat uživatele:

Příspěvek od Razfallow » 20.3.2007 20:36

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.

Kód: Vybrat vše

IF
  Detect([SPAMMER])
THEN
    RESPONSE #100
             ReallyForceSpell(WIZARD_POWER_WORD_KILL,LastSeenBy(Myself))
END
[/size]

Uživatelský avatar
PinHead
Sigilan
Příspěvky: 193
Registrován: 8.1.2007 19:51
Bydliště: pláž v Nikdyzimě
Kontaktovat uživatele:

Příspěvek od PinHead » 22.3.2007 20:33

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!

Uživatelský avatar
Razfallow
Dabus
Příspěvky: 1373
Registrován: 24.9.2005 22:54
Bydliště: Sigil
Kontaktovat uživatele:

Příspěvek od Razfallow » 22.3.2007 21:01

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
[/size]

Uživatelský avatar
PinHead
Sigilan
Příspěvky: 193
Registrován: 8.1.2007 19:51
Bydliště: pláž v Nikdyzimě
Kontaktovat uživatele:

Příspěvek od PinHead » 22.3.2007 21:08

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:
Miluju ŠPENDLÍKY A HLAVY!!!!!!!!!!!
Adun Toridas!

Uživatelský avatar
Razfallow
Dabus
Příspěvky: 1373
Registrován: 24.9.2005 22:54
Bydliště: Sigil
Kontaktovat uživatele:

Příspěvek od Razfallow » 23.3.2007 7:29

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.

Kód: Vybrat vše

IF
  Detect([SPAMMER])
THEN
    RESPONSE #100
             ReallyForceSpell(WIZARD_POWER_WORD_KILL,LastSeenBy(Myself))
END
[/size]

Uživatelský avatar
PinHead
Sigilan
Příspěvky: 193
Registrován: 8.1.2007 19:51
Bydliště: pláž v Nikdyzimě
Kontaktovat uživatele:

Příspěvek od PinHead » 23.3.2007 12:23

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 ;-)
Miluju ŠPENDLÍKY A HLAVY!!!!!!!!!!!
Adun Toridas!

Uživatelský avatar
drake127
Sigil Team
Příspěvky: 2358
Registrován: 24.9.2005 22:28
Bydliště: Jihlava, Czech Republic
Kontaktovat uživatele:

Příspěvek od drake127 » 23.3.2007 14:38

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).
Žralok, který štěká, nekouše.

Uživatelský avatar
PinHead
Sigilan
Příspěvky: 193
Registrován: 8.1.2007 19:51
Bydliště: pláž v Nikdyzimě
Kontaktovat uživatele:

Příspěvek od PinHead » 23.3.2007 18:56

á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)
Miluju ŠPENDLÍKY A HLAVY!!!!!!!!!!!
Adun Toridas!

Uživatelský avatar
drake127
Sigil Team
Příspěvky: 2358
Registrován: 24.9.2005 22:28
Bydliště: Jihlava, Czech Republic
Kontaktovat uživatele:

Příspěvek od drake127 » 23.3.2007 19:16

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.

Uživatelský avatar
PinHead
Sigilan
Příspěvky: 193
Registrován: 8.1.2007 19:51
Bydliště: pláž v Nikdyzimě
Kontaktovat uživatele:

Příspěvek od PinHead » 23.3.2007 19:25

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!

Uživatelský avatar
Vlasák
Sigilan
Příspěvky: 3017
Registrován: 26.9.2005 7:56
Bydliště: Praha
Kontaktovat uživatele:

Příspěvek od Vlasák » 24.3.2007 19:25

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
Infinity forever! - Baldur's Gate II add-on CZ
Fórum plné RPG - RPG fórum


Obrázek

Uživatelský avatar
Bhaall
Sigilan
Příspěvky: 547
Registrován: 29.9.2005 1:19
Bydliště: Šedozem
Kontaktovat uživatele:

Příspěvek od Bhaall » 16.10.2007 12:22

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.

Odpovědět

Zpět na „Infinity Engine“