npc的{6}一般也是空的,不过如果这个人有语音或者其他什么东西的话则另当别论。
例如:{1}{I can't believe it...! I mean, you... And then the zeppelin...! And the fire...! And the altar says that...! Do you have any idea what all of this means?}{I can't believe it...! I mean, you... And then the zeppelin...! And the fire...! And the altar says that...! Do you have any idea what all of this means?}{}{1}{}{gf2004 1, gf2626 1, gf2627 1, in -2804, gf2129 1, qu1010 2, ru2013},
这个是游戏开始的第一句话,出自virgil之口,不过这里他对男女玩家说的话都一样。大家注意到第5个{}并不是空的,里面有个1,不过这种情况并不常见,而且我也不知道它的含义是什么,姑且无视……
傻子说:{Sub pheranian kee op}{}{-4}当时谁都不明白这是什么意思
后来看到正常人说的{He's waiting at the Kensington Broadway kiosk for you.}{}{5}
然后我们到他所说的地方去看了一眼,哪里原来是tarant地铁的所在地,这时才恍然大悟原来说的是subterranean kiosk!一个傻瓜难倒了一群人啊
1 {me 1} / {me 0}
前者代表主角之前和这个npc见过面,并且知道对方的名字,后者则相反
比如:
{6}{Sir! Who are you? How can I help?}{}{5}{me 0}{9}{}
这个是主角看到垂死的Kendrick 说的话,但是此时主角并不认识他。
{3}{Kendrick! What's happened here?}{}{5}{me 1}{5}{}
这句话主角直接叫出了他的名字,因为参数是me 1 ,这也说明在Kendrick还活的很健康的时候主角就和他对过话了。
为了方便记忆,我们姑且想象他的含义是 met once.
2
其他游戏中的常见参数
同样 正书代表大于等于,负数代表小于等于
例如:
{4}{Please excuse my intrusion, sir. I meant no offense.}{}{5}{re-40, ch-9}{12}{ }
这里的{re-40, ch-9}代表 假如对方的reaction小于等于40,而且你的魅力CH又小于等于9,该选项就会出现
还有
{98}{I'll leave now and return when I have the funds available.}{}{5}{$$-999}{}{fl 133}
$$代表你的钱数,对方向你索要1000金币,如果你的钱数不足1000,这个选项就出现了
下面这个{6}是本文的重点了。它的作用非常关键,原理倒是简单的无话可说
请看下面的对话
{2}{And who might you be?}{}{5}{re 41, lf1 0}{30}{}
……
……
{30}{I be Jacob Bens. ...}{I be Jacob Bens. ...}{}{}{}{lf1 1}
明显的,前一句话是主角说的,问对方叫什么,第6个{}内容是30;再看后一句的文本编号,{30},内容是说 “我叫雅各布 本斯。”非常明显两句话是关联的,而且
主角的语句中第六个{}里的数字,就是接下来npc的回应的句子。
1
{44}{You're Dr. Fenwick? You aren't what I expected.}{}{5}{gf2125 1}{58}{}
主角说 “你就是芬威克博士?和我想象的有点出入。”看第六个{},58,我们来找找第58句:
{58}{Yep. I get that a lot. Most people mistake me for the janitor, or some such nonsense. Must be because I'm just not interested in all the high falootin' nonsense most "Doctors" spout, I reckon.}{Yep. I get that a lot. Most people mistake me for the janitor, or some such nonsense. Must be because I'm just not interested in all the high falootin' nonsense most "Doctors" spout, I reckon.}{}{}{}{}
这位仁兄说“是啊,经常有人这么说。很多人都以为我是个传达室的老头呢!……”如果不知道这两句的关系,我想你很难决定什么叫做“Yep. I get that a lot.”尽管你每个字都认识。
2
{124}{you will get youself in to trouble for your lacking of manners.}{}{5}{}{fl131}{co}
{131}{you will be dead for lacking a head!}{you will be dead for lacking a head!}{}{}{}{}
这里主角先说 你没礼貌会惹上麻烦的。
结果对方回答:你没了脑袋会死的。
了解了这一层关系,翻译的时候应当注意把这里翻译成对仗的形式。而不是简单的翻译成 我要把你的脑袋拧下来。这种对仗在文本里也很常见,基本都是在寻衅的时候 = =
3
{287}{What are you going on about? I'm the only one of my clan here.}{What are you going on about? I'm the only one of my clan here.}{}{}{}{}
句子倒是没有什么生词,但是并不知道他确切指的什么——going on about是个十分暧昧的短语呢,这句话的编号是287,如果你在文本中搜索{287}就会发现这样的句子:
{248}{Weren't you and your clan banished for sharing your technology?}{}{5}{lf0 0, gf1040 0,lf7 0,lf2 0}{287}{}
主角说 “你和你的部落不是因为科技泄漏而被放逐的吗?”而我们 已经看到了npc的回应,所以我们可以确定npc的话应该翻译成“你在说些什么啊?只有我被放逐了而已”
顺带一提:有很多人问,这个{C: }{d:}是盘符还是dos命令,其实都不是。这是奥秘的“通用文本”,通常出现在见面打招呼和对话结束等地方,它代表一系列意思相近的句子,在游戏中则会随意选择其中的一句。
比如这里的{E:},在游戏里有可能就是一句普通的 farewell,或者goodbye,也有可能是 good day to you ,说完了对话自然也结束了,于是有个{0}
2
{191}{as a matter of fact, I have met many fine humans. But as a race, you lack maturity.}{as a matter of fact, I have met many fine humans. But as a race, you lack maturity.}{}{}{}{ }
{193}{As an individual, you are soon to lack a head.}{}{5}{}{0}{fl 340 ,co}
3
{151}{If you are so coarse an individual, so be it. Here's 200 coins for your trouble.}{If you are so coarse an individual, so be it. Here's 200 coins for your trouble.}{}{}{}{$$200 }
{215}{Wait, you have been a good sport about this. Please accept this fine pistol as a token of our friendship, I have an endless supply of these things. Occupational hazard I guess.}{Wait, you have been a good sport about this. Please accept this fine pistol as a token of our friendship, I have an endless supply of these things. Occupational hazard I guess.}{}{}{}{in -2032}
他奖励你一柄手枪,而这句话要如何触发呢? 找他的前一句话:
主角是这么说的:
{201}{You have a twisted sense of Logic, sir. Good bye.}{}{5}{lf23 1}{215}{}
{218}{You are welcome. Come on back for a friendly exchange of witicisms(?witticism) any time! Good day.}{You are welcome. Come on back for a friendly exchange of witicisms any time! Good day.}{}{}{}{}
$$ 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
$$ 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.
$$ 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
NPC-Only G: Greeting optional params
M: Money $,number
PC-Only A: Appreciate
B: Barter/Gamble
C: Check story state
D: Directions $,number list
E: Exit
F: Forget it
H: Healing
K: asK more questions
L: Load WorldMap
N: No
P: newsPaper
Q: Quest
S: Sorry
T: Training number list
U: Use skill number
W: Who are you?
X: X Marks the Map $,number list
Y: Yes
Z: Zap spell number
Both I: Insult
R: Rumor $,number list