Mam problem. W worldED manualu jest tabelka, w której zamieszczone są informacje jak mi się zdaje o skrótach, które należy umieścić w dialogu w polu test field. Problem jest następujący: nie ma tej części tabeli! prubowałem ściągnąć go jeszcze raz z ArcanumWorld ale nie pomogło. Czy mógł by ktoś zamieścić gdzieś w tym temacie brakujący fragment tabelki?
Przepraszam za kiepskie wklejenie ale nie chce mi się całego tekstu edytować.

Dialogue Test Field
The Test field is non-blank only on certain PC lines that the designer wishes to restrict to certain PC’s. The general format of a test field is
code num1 num2
where code is a 2-letter code possibly followed by one or two numbers. Multiple tests can be placed in one field, separated by commas, and their restriction is AND’ed together (meaning the test only succeeds if all of the individual tests succeed).
Test codes and their numbers are:
$$

if num1 > 0, true if PC and followers have at least num1 gold
if num1 < 0, true if PC and followers have no more than -num1 gold
al

if num1 > 0, true if PC’s alignment is >= num1
if num1 < 0, true if PC’s alignment is <= -num1
ar

if num1 > 0, true if PC is aware of area num1 (it is marked on his map)
if num1 < 0, true if PC is NOT aware of area -num1
ch

if num1 > 0, true if PC’s Charisma is >= num1
if num1 < 0, true if PC’s Charisma is <= -num1
fo

if num1 is 0, true if NPC is not a follower of PC
if num1 is 1, true if NPC is a follower of PC
gf

true if global flag num1 is equal to value num2
gv

true if global variable num1 is equal to value num2
ha

if num1 > 0, true if PC’s Haggle is >= num1
if num1 < 0, true if PC’s Haggle is <= -num1
ia

if num1 > 0, true if PC is in area num1
if num1 < 0, true if PC is NOT in area –num1
in

if num1 >= 0, true if PC or any follower has item with name index num1
if num1 < 0, true if NPC has item with name index –num1
lc

true if local counter num1 is equal to num2
le

if num1 > 0, true if PC’s level is >= num1
if num1 < 0, true if PC’s level is <= -num1
lf

true if local flag num1 is equal to num2
ma

if num1 > 0, true if PC’s Magical Aptitude is >= num1
if num1 < 0, true if PC’s Magical Aptitude is <= -num1
me

if num1 is 0, true if NPC has not met PC before
if num1 is 1, true if NPC has met PC before
na

if num1 > 0, true if PC’s alignment is >= -num1
if num1 < 0, true if PC’s alignment is <= num1
Examples:
Na 100 is true if the PC’s alignment is –100 or greater (-90, -50, 0, 80, 500, etc)
Na –100 is true if the PC’s alignment is –100 or lower ( -150, -300, -500, etc)
ni

if num1 >= 0, true if PC and followers do NOT have item with name index num1
if num1 < 0, true if NPC does NOT have item with name index –num1
pa

if num1 > 0, true if follower with name index num1 is in the PC’s party
if num1 < 0, true if follower with name index num1 is NOT in the PC’s party
pe

if num1 > 0, true if PC’s Perception is >= num1
if num1 < 0, true if PC’s Perception is <= -num1
pf

true if PC flag num1 is equal to value num2
ps

if num1 > 0, true if PC’s Persuasion is >= num1
if num1 < 0, true if PC’s Persuasion is <= -num1
pv

true if PC variable num1 is equal to value num2
qa

true if quest num1 is in a state >= num2
qb

true if quest num1 is in a state <= num2
qu

true if quest num1 is in state num2
ra

if num1 > 0, true if PC’s race is num1
if num1 < 0, true if PC’s race is not –num1
re

if num1 > 0, true if NPC’s reaction to PC is >= num1
if num1 < 0, true if NPC’s reaction to PC is <= -num1
rp

if num1 > 0, true if PC has the reputation num
if num1 < 0, true if PC does NOT have rumor –num
rq

if num1 > 0, true if rumor num1 is quelled
if num1 < 0, true if rumor –num1 is NOT quelled
ru

if num1 > 0, true if PC has rumor num1 in log
if num1 < 0, true if PC does NOT have rumor –num1 in log
sc

if num2 > 0, true if PC knows at least num2 spells in college num1
if num2 <= 0, true if PC knows no more than -num2 spells in college num1
sk

if num2 > 0, true if PC’s rank in skill num1 is >= num2
if num2 < 0, true if PC’s rank in skill num1 is <= -num2
ss

if num1 > 0, true if the current story state is >= num1
if num1 < 0, true if the current story state is <= -num1
ta

if num1 > 0, true if PC’s Tech Aptitude is >= num1
if num1 < 0, true if PC’s Tech Aptitude is <= -num1
tr

if num2 > 0, true if PC’s training in skill num1 is >= num2
if num2 < 0, true if PC’s training in skill num1 is <= -num2
wa

if num1 is 0, true if NPC is not currently waiting for his leader to pick him up
if num1 is 1, true if NPC is currently waiting for his leader to pick him up
wt

if num1 is 0, true if NPC has not waited for his leader and the time expired
if num1 is 1, true if NPC waited for his leader and the time expired
Example:
{ps 3, al –500} true if the PC’s perception is >= 3 and his alignment is below –500
Here are some expected ranges to test for each code
$$

ranges from 0 to millions of gold
al

ranges from –1000 (pure evil) to 1000 (pure goodness) with 0 being neutral. 100 is tinged with good, 300 is squarely good, 500 is quite good, 700 is damn good, 900 is saintly. Reverse for evil.
ar

indexes are stored in data/mes/area.mes
ch

ranges from 1 (very hateable personality) to 20 (god-like presence), with 10 being average. 3 is very annoying, 7 is annoying, 13 is nice to be around, and 17 is love to be around.
fo

num1 MUST be 0 or 1
gf

num1 ranges from 1000 to 3199
gv

num1 ranges from 1000 to 1999
ha
ranges from 1 (couldn’t sell a life preserver to a drowning man) to 20 (could sell a refrigerator to an Eskimo), with 5 being default. 3 means he can rarely get a good deal, 7 means he can sometimes get a good deal from nice people, 10 means he can negotiate good deals but rarely great ones, 15 means he can usually get great deals.
ia

indexes are stored in data/mes/area.mes
in

indexes are stored in data/oemes/oname.mes
lc

num1 ranges from 0 to 3, num2 from 0 to 255
le

levels can range from 1 to 20
lf

num1 ranges from 0 to 31, num2 from 0 to 1
ma

this ranges from 0 to 100, with 0 being the default. 100 is a master mage, 80 is an awesome mage, 60 is a great mage, 40 is a good mage, and 20 is a starting mage.
me

num1 MUST be 0 or 1
na

ranges from –1000 (pure evil) to 1000 (pure goodness) with 0 being neutral. 100 is tinged with good, 300 is squarely good, 500 is quite good, 700 is damn good, 900 is saintly. Reverse for evil.
ni

indexes are stored in data/oemes/oname.mes
pa

indexes are stored in data/oemes/oname.mes
pe

ranges from 1 (notices nothing) to 20 (notices everything), with 10 being average. 3 will miss a lot of stuff, 7 will miss things that are not obvious and some that are, 10 will miss some non-obvious things, 13 will rarely miss hidden things, and 17 will notice anything that is not well-hidden.
pf

num1 ranges from 1000 to 3199
ps

ranges from 1 (no one cares about his opinion) to 20 (people think his words are law), with 5 being default. 3 means he must struggle to convince people the sky is blue, 7 means he can convince people with great effort, 10 means he can convince people to do things if they are predisposed, 15 means he can convince people to do things they might regret.
pv

num1 ranges from 1000 to 1999
qa

the states are unknown 0, mentioned 1, active 2, achieved 3, completed 4, other 5 and botched 6.
qb

the states are unknown 0, mentioned 1, active 2, achieved 3, completed 4, other 5 and botched 6.
qu

the states are unknown 0, mentioned 1, active 2, achieved 3, completed 4, other 5 and botched 6.
ra

races are 1.human, 2.dwarf, 3.elf, 4.half elf, 5.gnome, 6.halfling, 7.half orc, 8.half ogre
re

reaction is usually between 0 and 100, with 50 being neutral. Below 0 is pure hatred, and above 100 is pure love.
rp

reputations are 1000 or greater
rq

rumor numbers are 1000 or greater
ru

rumor numbers are 1000 or greater
sc

spell colleges range from 0-15 and spells known from 0-5
sk

skills range from 0-11 for basic skills, and 12-15 for tech skills. The rank ranges from 0-20.
ss

The story state value ranges from 0 on up
ta

this ranges from 0 to 100, with 0 being the default. 100 is a master technologist, 80 is an awesome technologist, 60 is a great technologist, 40 is a good technologist, and 20 is a starting technologist.
tr
skills range from 0-11 for basic skills, and 12-15 for tech skills. The training ranges from 0-3, 0 being untrained and 3 being master.

Dialogue Result Field
The Result field can be filled with a number of results to be triggered if the line is spoken by a PC or an NPC. These results are ONLY triggered in dialog and are NOT triggered if the line is used as a float, barter or other kind of message. The general format of a result field is
code num1 num2
where code is a 2-letter code possibly followed by one or two numbers. Multiple results can be placed in one field, separated by commas, and all of their results are triggered in order.
Result codes and their numbers are:
$$

if num1 >= 0, add num1 money to PC
if num1 < 0, remove this much gold from PC and followers
al

if +num1, then add num1 to PC’s alignment
if -num1, then subtract num1 from PC’s alignment
if <num1, then PC’s alignment cannot be greater than num1
if >num1, then PC’s alignment cannot be less than num1
if num1, then set PC’s alignment to num1
ce

start the character editor on the NPC in passive mode (this will terminate dialog)
co

start combat between speakers and terminate dialog
et

ONLY USABLE ON PC LINES!
Tests whether PC can have expert training in skill num1. If he can, then, continue dialog at num2. If he cannot, the NPC will say why and then dialog will continue at the response line for this line. Please note that only two reasons are tested for (not enough rank and no training) and that specifically we do not test for money or if the PC already has expert training (or higher).
fl

float line num1 above NPC’s head and terminate dialog
fp

give 1 fate point to the PC
gf

set global flag num1 equal to value num2 (can only be 0 or 1)
gv

set global variable num1 equal to value num2
ii

start the inventory UI in identify mode
in

if num >= 0, transfer item with name index num1 from PC or follower to NPC
if num < 0, transfer item with name index -num1 from NPC to PC
jo

ONLY USABLE ON PC LINES!
ask NPC to join PC’s group. If num1 is 0, then pay attention to charisma limits. If num1 is 1, then override charisma limits. If successful, continue dialog at num2. If unsuccessful, the NPC will say why and then dialog will continue at the response line for this line.
lc

set local counter num1 equal to num2
lf

set local flag num1 equal to num2
lv

make NPC leave the party
mm

mark map area num1 as known on PC’s map
nk

kill the NPC involved in this dialog
np

add newspaper num1 with priority num2 (0 means no priority, 1 means high priority – make this tomorrow’s paper)
or

Set NPC’s origin to num
pf

set PC flag num1 equal to value num2 (can only be 0 or 1)
pv

set PC variable num1 equal to value num2
qu

set quest num1 as being in state num2. the states are unknown 0, mentioned 1, active 2, achieved 3, completed 4, other 5 and botched 6.
re

if +num1, then add num1 to NPC’s reaction to PC
if -num1, then subtract num1 from NPC’s reaction to PC
if <num1, then NPC’s reaction to PC cannot be greater than num1
if >num1, then NPC’s reaction to PC cannot be less than num1
if num1, then set NPC’s reaction to PC to num1
ri

start the inventory UI in repair mode
rp

if num1 > 0, add reputation num1 to PC
if num1 < 0, remove reputation –num1 from PC
rq

quell rumor num
ru

add rumor num to PC log
sc

NPC will stay close
so

NPC will spread out
ss

set the current story state to num1 if it is lower than num1
su

start the schematic UI on the PC
tr

set the training of skill num1 to num2
uw

ONLY USABLE ON PC LINES!
ask NPC to unwait and rejoin PC’s group (assumes NPC was told to wait). If num1 is 0, then pay attention to charisma limits. If num1 is 1, then override charisma limits. If successful, continue dialog at num2. If unsuccessful, the NPC will say why and then dialog will continue at the response line for this line.
wa

make the NPC wait here
xp

award experience points to the PC as if he had solved a quest of level num1
Example:
{re –5, fl 5} the NPC’s reaction to the PC is reduced by 5, he will float line 5 above his head, and dialog is over
Nic nie szkodzi ze brzydko ważne że jest. Dzieki
Mam jeszcze jedną prośbę. Dostałem już brakującą część tabeli, ale chyba nie umiem jej wykorzystać w praktyce . A mianowicie nie potrafie stworzyć dialogu/skrptu który zawierał by misję w której chodzi o przyniesienie przedmiotu do NPC. Wszystko jest fajnie, dostaje zadanie, jest ono zapisane w dziennkiu, ale jak wracam z przedmiotem to dialog "jedzie" od początku. Nie mam żadnego pomysłu jak to ustawić. Jakieś pomysły?
Pomysłu to nie trzeba specjalnie do tego. Kluczem jest plik *.src, żeby dialog uruchamiał się od różnych linijek w zależności od sytuacji powinieneś to przewidzieć w skrypcie. Najprostsza metoda to zwyczajny warunek IF. Czyli:

JEŻELI gracz ma zaakceptowane zadanie ileś tam ileś TO odpal linie dialogową jakąś tam W PRZECIWNYM WYPADKU odpal inną linię...

Chociaż ja polecam zawsze wskakiwanie do kolejnej lini skryptu gdzie w przyszłości można inne warunki dodawać.
ok, to rozumiem. Ale jak użyć test field? w lini PC czy NPC? i jescze takie pytanie: jaki jest skrót do komendy "transfer item"? Czy jest to 'in' czy 'lc' ? chociaz własciwie prubowałem z obiemy i nie działało nic pisze np: in30020 albo lc30020 i nie transferuje. moze jestem topornym uczniem ale zdaje mi sie ze nie zrobilem zadnego bledu w dialogu bo sprawdzałem po kilka razy kazda linijke i jej odnosniki.
Wszystkie testy należy wpisywać w lini PC... Opisz mi dokładnie co chcesz zrobić a ja ci napiszę przykładowy kod dialogu i skrypt na którym na uczysz się jak to robić w pszyszłości.
dzieki
pomysl jest zaczerpniety z tego forum a mianowicie:
PC ma przynies obiekt "zmieniacz głosu" (30020) NPC. W nagrode dostaje 100 monet.
mój dialog wyglada tak jak w załączniku

dodam tylko ze linia 41 to cos w stylu: pospiesz sie

skrypt wyglada tak:

If PC playe has quest 1004 in state 0 THEN dialog 1
If PC playe has quest 1004 in state 3 THEN dialog 28
If PC playe has quest 1004 in state 6 THEN dialog 40
If PC playe has quest 1004 in state 4 THEN dialog 35
Return and run
----------------------------------------
Na pierwszy rzut oka to w nawiasie testu jak i rezultatu powinno być 'in NR' gdzie NR to internal number obiektu, mam nadzieję że ustawiłeś w edytorze wewnętrzny numer tego przedmiotu.
jesli chodzi o ten w gamedesc.mes to ustawilem, chyba ze jest cos jeszcze o czym nie wiem? w world ED tylko nazwe przedmiotu przy known zmienilem na ZMieniacz głosu, moze cos jeszcze trzeba?
tak jak myślałem, najpopularniejszy błąd jest taki, że ludzie nie zdają sobie sprawy iż gamedesc.mes to tylko teksty które widzi gracz odpalający naszego moda. Natomiast dla moderatora i skryptów ważny jest inny plik który przechowuje nazwy identyfikacyjne.

W katalogu twojego moda jest oprucz folderu 'mes' inny o wdzięcznej nazwie 'oemes'. Tam znajdziesz plik 'gameoname.mes' w którym dodajesz pod odpowiedni numer (pamiętając o hierarchi przedmiotów - instrukcje znajdziesz w tymże pliku) swoją wewnętrzną nazwę rozpoznawaną przez skrypty.

Np. ja żeby dodać jakiś przedmiot charakterystyczny (w moim przypadku był to kawałek lawy, ale o zmienionej nazwie) rozpoznawalny przez skrypt, pod linijkę: {5800}{Generic} dopisałem: {5801}{Fragment Ognistego Golema}

Teraz w edytorze pozostało mi do owego przedmiotu dodać te wewnętrzną nazwę (pole INTERNAL NAME jeżeli dobrze pamiętam) wybierając ją z listy rozwijanej.

Następnie by wykożystać jakoś ten przedmiot w skryptach, muszę posługiwać się jego numetrem, w moim przypadku było to 5081.

Mam nadzieję, że pomogłem. Jeżeli nie, proszę o kolejne uściślenia, a ja postaram się pomóc.

Pozdrawiam.
rzeczywiscie, teraz wszystko dziala. Dzieki bardzo i powodzenia z 'death god' (albo ZŚ) trzymam za was kciuki
Jestem w stanie odpowiedzieć na prawie wszystkie pytania związane z modowaniem Arcanum, więc jeżeli ktoś chce jeszcze o coś zapytać niech wali śmiało. Postaram się pomóc.

Im więcej osób pozna działąnie skryptów i edytora Arcanum tym dłużej ta gra będzie żyła.