论坛 / 「传奇世界」 / 问天引擎的更新说明 回复

管理员 · 2007-04-17 13:27:24
问天引擎的更新说明

10、11月更新
---------------
1、魔法字体、魔法文字颜料物品设置:
stdMode=31
anicount=255
AC:文字颜色
MAC:文字字体
DC=0

2、彩色魔法颜色物品设置
stdMode=31
anicount=255
AC:0
MAC:0
DC=技能编号,DC2=0
MC,MC2,SC,SC2 四个字段分别表示颜色的4个字节,从低到高


12.20
-----------
1、增加丛林豹系统
豹魔石:StdMode=49,Shape=51
豹粮: StdMode=49,Shape=52,DuraMax=每个豹粮增加的经验值数


12.22
-----------
1、修正摆摊方向问题,现在跟盛大相同了。
2、修正丛林豹包裹大小,和官方一致。

12.23
-----------
1、增加脚本命令:MAPMOVEHUM 源地图 目的地图
作用和GM命令MAPMOVE一样,执行该脚本命令的人物不会被传送
源或目的地图可以使用SELF表示当前人物地图

2、增加烟花脚本命令:SKYROCKET 地图 X Y 烟花效果代码
当地图是“SELF” 时,地图使用该人物所在地图,坐标是相对当前人物的坐标
3、增加条件检测命令:
CHECKYEAR >=< 年
CHECKMONTH >=< 月
CHECKDAY >=< 日
4、实现摊位类型卷轴
StdMode =3
Shape =16
Weight =1
Looks =502
AC =摊位类型(1:门庭若市(货架式);2:生意兴隆(车式))
DuraMax =允许使用的最大次数
其他=0
5、实现摊位旗帜卷轴
StdMode =3
Shape =17
Weight =1
Looks =502
AC =旗帜类型(1:红色旗帜)
MAC =红色旗帜:42
MAC2 =红色旗帜:60
DC =红色旗帜:255
DC2 =红色旗帜:255
DuraMax=允许使用的最大次数
其他=0
6、修改为变身后不能看到翅膀(与官方不同),但同时看不到绿色封号.
7、天气卷轴使用官方分类法,设置如下:
StdMode =36
Shape =1
Weight =1
Looks =502
AC =天气效果编号(低字节)
AC2 =天气效果编号(高字节)
MAC =风速低字节
MAC2 =风速高字节
DC =雾色字节1
DC2 =雾色字节2
MC =雾色字节3
MC2 =雾色字节4
天气效果编号说明:
0:天晴
1:细雨缠绵
2:烟雨朦胧
3:沙漠风暴
4:玫瑰花雨
5:紫樱缤纷
6:飞雪连天
7:心雨心愿
8:绿叶仙踪
9:流星幻雨
10:恭喜发财
11:福满天下
8、增加新技能:心灵召唤

9、大刀不砍丛林豹


12.27
---------------------------------
1、修改地图属性中的天气属性设置如下:
[0 中州] CANRIDE WEATHER($F102/0/$FFFFFFFF)
[2 热砂荒漠] CANRIDE NEEDSET_OFF(394) CHECKQUEST(Q015) WEATHER($1403/$0032/$FFFFFF99)
即使用WEATHER属性,带三个参数,分别表示:天气效果、风速、雾的颜色

2、修正天气效果在换了地图再回来后,原来的天气效果不再显示的Bug。

3、增加狮子吼技能外观和效果

4、增加魔魂术:吸魔概率:0级:2/7; 1级:3/7; 2级:4/7;3级:5/7,吸魔数量:等于所杀怪物等级
只要学习了魔魂术,在杀死怪物时将有一定概率获得相应的MP和魔魂术训练经验

5、增加战魂真悟、道心清明、法之魄三个技能,只要学习了其中的一个,就有机会在杀怪中获得双倍经验,概率同魔魂术

6、限制在骑马状态不允许使用百变披风,以及使用了百变披风后不能骑马。

12.28
-----------------------------
1、增加新技能:赶尸

2、修改王者之戒为带一个和带多个效果都一样

3、实现流星火雨的地面效果


12.30
----------------------------
1、增加脚本命令:FUSHEN X Y
参数:X=0:取消附身,X=1:秒杀,X=2:重击,X=3:神御,X=4:神佑
Y表示附身持续时间(分钟)
功能:给当前人物加上指定附身效果

2、增加附身物品支持:
附身 StdMode Shape AniCount Looks
-------------+---------------+-------+---------------+------
秒杀 255 1 30 496
重击 255 2 40 496
神御 255 3 60 496
神佑 255 4 60 496
-------------------------------------------------------------
其中:Shape表示附身类型,AniCount表示持续时间

3、从地面拾取附身物品时,将直接把该附身效果附加到人物身上。

4、修改命令MOV给A变量赋值时,支持使用变量,比如MOV A0 $GAMEGOLD,支持把自定义变量赋值给A变量

5、支持A变量的INC操作,比如INC A0 $GAMEGOLD,则把当前人物的元宝数量作为字符串加到A0的当前值的后面,实现字符串连接
例如:
MOV A0 $USERNAME
INC A0 拥有元宝数:
INC A0 $GAMEGOLD
INC A0 个
则执行完后,A0变量的值就是“XXX拥有元宝数:YYY个”

6、支持
管理员 · 2007-04-17 13:32:08
07.20
-----------
1、解决数字装备无法带上和取下等一系列问题

2、全面兼容1.9.0.8客户端,彻底解决掉线问题(需要Rungate配合)

3、解决元神重新召唤出来后,不会自动使用技能的问题

其他更新:
网关更新(必须与本次更新同时使用)

07.21
-----------
1、物品数据库中下列物品支持使用次数:
StdMode=0或1的
StdMode=3,shape=16,17,201的
其中duramax是最大使用次数

2、增加天山雪莲,StdMode=0,shape=200,AC=1次加红血量,MAC=一次加蓝量,过地图不失效
天山雪莲的Duramax=1(只能使用1次),超级天山雪莲的DuraMax=10(可以使用10次)

3、解决道士使用幽灵盾和神圣战甲术的问题,请修改String.ini中的如下设置:
DefenceUpTime=防御力增加%d秒
MagDefenceUpTime=抗魔法力增加%d秒

4、修正元神会一直不停的使用召唤骷髅术和强化骷髅术的问题

5、毒、符类物品,Ac=0时,DuraMax=使用次数X100,AC=1时,DuraMax为实际使用次数

6、Sendmsg命令增加2个效果
12:在当前玩家屏幕上面从左到右飘动红字
13:在全服玩家屏幕上面从左到右飘动红字
可以用来实现天音号角,但未限制使用时间间隔

7、修改药品即使在血满的情况下,喝了后在一段时间内还有效果(如果这段时间内有减血的话,还能自动加血)

07.22
-----------
1、增加条件检测命令:HasShadow
作用:检测当前人物是否有分身(但不检测是否已经释放)

增加条件检测命令:ShadowReleased
作用:检测当前人物是否释放出了分身(如果没有修炼元神,返回为False)

2、增加人物变量:$SHADOWNAME,$SHADOWJOB, $SHADOWSEX, $SHADOWLEVEL
分别表示分身的:名字、职业、性别、等级,其中职业和等级必须要释放出了元神才能正确获取

3、增加条件检测命令:ISTOPLEVEL A B
作用:检测当前人物是否是本性别本职业当前在线人物中的最高等级
参数:A=0表示只对玩家排名,=1表示只对元神排名,=2表示不区分玩家和元神
B=SELF或省略,表示判断的是当前玩家,其他字符串则是玩家的名字,判断这个名字的玩家是否是最高等级

示例:判断当前玩家的元神是否是最高等级
#IF
SHADOWRELEASED
ISTOPLEVEL 1 $SHADOWNAME
#SAY
恭喜,你的元神分身属于目前在线同职业同性别元神的最高等级
#elsesay
你没有释放分身,或者你的分身不是目前在线同职业同性别元神的最高等级

4、解决元神雕像闪烁问题

5、增加英雄榜显示脚本命令:TOPLIST A B
A=0表示显示一个列表中的排行榜,B是排行榜文件名
A=1表示显示武馆积分排行榜(擂台英雄榜),B参数省略。对应的文件名是TopHero.txt,在Envir目录下
A=2表示列出当前在线玩家最高等级前50名,B是职业(0/1/2/3)若B=3则不分职业,该列表每小时刷新一次
自动生成的文件名分别为TopLevel00.txt,TopLevel01.txt,TopLevel02.txt,TopLevel03.txt,在Envir目录下
A=3表示列出当前在线元神最高等级前50名,B是职业(0/1/2/3)若B=3则不分职业,该列表每小时刷新一次
自动生成的文件名分别为TopLevel10.txt,TopLevel11.txt,TopLevel12.txt,TopLevel13.txt,在Envir目录下
A=4表示行会经验值排名


对应的GM测试命令为:@TOPLIST A B

6、增加脚本检测命令:ISGROUPOWNER,检测当前人物是否是组队的队长。
另外:CHECKGROUPCOUNT 命令能检测队伍人数(早就有的命令)

07.26
-----------
1、增加地图事件触功能,以实现大量丰富的任务
在Envir\MapEvent.txt文件中配配置
配置格式说明(每行一条):
地图号 座标X 座标Y 触发标识 触发条件 触发机率 事件类型

;触发标识
; 格式:
; 标识:值
;
; 标识-1 - 800) -1 代表不检查标识
; 值: (0 - 1)
;
;

;触发条件
; 格式:
; 代码:物品:组队
;
; 代码:
; 0:无效
; 1:扔物品
; 2:捡物品
; 3:挖矿(不支持物品条件)使用鹤嘴锄在可以挖矿的地方挖时触发
; 4:走路(不支持物品条件)
; 5:跑步(不支持物品条件)
; 6:挖宝(不支持物品条件),跟挖肉是同一个动作,但挖肉不执行本检测

; 物品物品名称 - *) * 代表不需要物品

; 组队0 - 1) 0为不需要组队,1为必须组队才触发(暂时不支持)

;触发机率
; 数字越大,机率越低
; 范围:(0 - 999999) 0 的机率为100%

;事件类型
; 格式
; 代码:内容

; 代码:(现在只支持脚本事件)
; 0:无效
; 1:调用脚本(调用QFunction-0.txt中的内容)

;注意事项
;
; 在相同地图座标,不支持相同触发标识及条件(触发条件中的物品名称除外),如果有相同的设置,只有第一个设置有效

;示例:
;地图号
管理员 · 2007-04-17 13:31:13
02.03
-----------

1、增加马鞭抓马功能,只要装配了马鞭,打野马时将有1/10的概率抓马成功
要求野马的名称和可骑的马名称一样,例如可骑的马叫“枣红马”那对应的野马名称叫“枣红马1”、“枣红马2”等
若当前已经有马,则不能抓马

2、增加脚本变量:$HORSENAME,表示当前人物释放出来的马,或者刚抓到的马的名字
$HORSETYPE,表示当前人物释放出来的马,或者刚抓到的马的类型
抓马成功后,将触发QFunction-0.TXT中的[@抓马成功]脚本

3、实现Ctrl+P查看宝宝属性列表功能


4、增加怪物类型:调皮小鬼:对攻击目标有火墙攻击效果,并且当目标进入4格范围内时,将会把攻击目标推开
Race=126,DC是火墙的攻击力。

02.05
-----------
1、增加怪物类型:魔眼,有远程魔法攻击效果,Race=127
怪物类型:地火兽骑将,近身火墙攻击,Race=128,DC字段是火墙的威力

2、支持对每个安全区大小进行单独设置:StartPoint.TXT中安全区定义格式改变为:
地图 坐标X 坐标Y 安全区大小
若某安全区大小没有设置,则该安全区采用系统设置的统一大小

3、下列命令支持变量:
CHECKBBCOUNT、CHECKGOLD、


02.06
--------
1、修改AddGameGold,DelGameGold两个GM命令,可以对离线人物增加或减少元宝,上线后自动获得最新的元宝数据

2、增加铁血魔王6大神技,Race=129


02.07
---------
1、修正交易可能造成刷元宝和装备假象的Bug

2、增加任务系统

1)首先在Envir目录增加一个文本文件:Task.TXT
文件内容为各任务的定义文件名,每个任务名字占一行
2)在Envir目录下建一个子目录:Task,存放所有任务定义
3)任务定义文件格式如下(以新手任务.TXT为例):
[setup]
stepcount = 2
title = 寻找失落的鬼王刀
ID = 1
stepDESC1 = 中州书店的老板请求你帮他寻找一把失落以久的鬼王刀。你最\好去酒馆之类的地方找找线索。
stepDESC2 = 在酒馆内,你找到了最后一个看见鬼王刀的人,从他嘴里知道\,鬼王刀被刀犬抢走了。

其中:stepcount 表示这个任务包括几个步骤
title 表示任务标题
ID 表示任务号,在所有任务中是唯一的值
stepDesc是每个步骤的提示文字

4)相关脚本命令
AddTask TaskID
增加一个任务,TaskID是任务定义文件中的ID值
DelTask TaskID
取消一个任务,TaskID是任务定义文件中的ID值
UpdateTask TaskID step
更新一个任务,TaskID是任务定义文件中的ID值,step是任务的当前步骤
EndTask TaskID
完成一个任务,TaskID是任务定义文件中的ID值
HasTask TaskID
检查当前人物是否开始执行指定的任务
变量$Task(TaskID)返回指定任务当前进度,若进度<=0则表示没有开始该任务

[@太史令]
斗转星移,岁月如歌。传世大陆五千年的光辉历史,给后人\
留下了无尽的宝藏传说,还有无数张神秘的藏宝图流传于世\
。如果你有藏宝图却无法参透其中奥妙的话,可以拿给我看\
看,老夫是这个大陆上知识最渊博的人;当然,如果你挖到\
了宝盒打不开,我还可以帮你无偿打开。\
<解开藏宝图的秘密/@ExamMap>\
<参与竞争挖宝/@Compete>\
<帮我打开宝盒/@OpenBox>\
<离开/@exit>

[@Compete]
你来的真是时候!目前正有一场竞争挖宝正在进行当中。你\
赶紧出发,凭你的身手肯定可以第一个拿到宝盒!\\
<宝藏的秘密-竞争挖宝/@_RW_taskDesp&2201>\\
<离开/@exit>

[@_RW_taskDesp&2201]
这张藏宝图上面说的是一个故事,我把故事复述给你听。故\
事里面会提到藏宝地点的大致范围,请你仔细推敲。你如此\
聪明睿智,我相信你很快就可以找到宝藏。\
<接受任务/@_RW_accept&2201> <离开/@exit>

[@_RW_accept&2201]
#ACT
ADDTASK 2201
#SAY
几百年前,一支人类精锐之师闯入了地下魔域六层,一路杀\
敌无数,正待功成班师之际,魔域的夺命之柱冲天而起,刹\
那间魔气纵横,夺魂无数。英雄们历经奋战,终因寡不敌众\
全部壮烈牺牲。但是他们的浩然英气却纵横于魔域之中,并凝\
结成混元天地之宝,其中有一处宝物就在<Color=red 地下魔域 6-1层通>\
<Color=red 往心之魔域的楼梯口附近>,有待于各位英雄去寻觅。\
<离开/@exit>

在Task目录下建一个文件,比如名字叫:宝藏的秘密.TXT,并在Envir\Task.txt中加一行“宝藏的秘密”
宝藏的秘密.TXT 文件内容如下:

[setup]
stepcount = 2
title = 宝藏的秘密-竞争挖宝
ID = 2201
stepDESC1 = 几百年前,一支人类精锐之师闯入了地下魔域六层,一路杀\敌无数,正待功成班师之际,魔域的夺命
管理员 · 2007-04-17 13:30:17
1.12
------------------
1、新增人物变量S,取值范围S00-S99,存放字符型数据,支持所有A变量的操作,人物下线消失。

2、新增脚本命令 queryval:(没有测试)
QUERYVAL X Y Z L S
其中X取值0..99,
Y 是输入数据类型:1-数字型,0-字符串型
Z 是输入数据的最大长度(1-255)
L 是一个标签,比如@getstring
S 是显示在输入框上的提示文字
作用是:在客户端弹出一个输入对话框,让玩家输入一个字符串,保存到S变量(若类型是1)或者M变量(若类型是0)中,并且跳转到Y标签位
置执行下面的脚本。
X是S变量的下标

示例:

[@飘红祝福]
#ACT
QUERYVAL 1 0 70 @发送祝福 请输入您的祝福语,将在全服飘浮发送:

[@发送祝福]
#ACT
gamegold - 1
SENDMSG 9 来自%S的祝福:<$STR(S1)>
SENDMSG 0 来自%S的祝福:<$STR(S1)>

[@积分乐园]
要使用积分乐园,请先输入你的积分乐园帐号密码。\
<我有帐号/@输入密码>\
<修改密码/@修改密码>\
<申请帐号/@申请帐号>\
<没有帐号/@exit>

[@输入密码]
#ACT
QUERYVAL 1 0 6 @核对密码 请输入积分乐园帐户的密码:

[@核对密码]
#SAY
你输入的积分乐园密码是<$STR(S1)>



1.13
-----------------
1、支持和盛大一样的回城石
STDMODE = 3
SHAPE = 15
这个是空白的石头,数据库中只存一块
所刻的名字保存在附加属性中

2、老兵刻石脚本:
[@记录回城点]
请选择您要记录的回城点:\\
<落霞岛/@_LB_ChoosePos&落霞岛>\
<王城/@_LB_ChoosePos&王城>\
<土城/@_LB_ChoosePos&土城>\
<禁地/@_LB_ChoosePos&禁地>\
<西域奇境/@_LB_ChoosePos&西域奇境>\
<死水沼泽/@_LB_ChoosePos&死水沼泽>

[@_LB_ChoosePos&落霞岛]
#SAY
请放上你的回城石。\\<关闭/@exit>
#ACT
CHOOSEPOS 1 249 246

[@_LB_ChoosePos&王城]
#SAY
请放上你的回城石。\\<关闭/@exit>
#ACT
CHOOSEPOS 0 471 218

[@_LB_ChoosePos&土城]
#SAY
请放上你的回城石。\\<关闭/@exit>
#ACT
CHOOSEPOS 2 225 450

[@_LB_ChoosePos&禁地]
#SAY
请放上你的回城石。\\<关闭/@exit>
#ACT
CHOOSEPOS 4 350 164

[@_LB_ChoosePos&西域奇境]
#SAY
请放上你的回城石。\\<关闭/@exit>
#ACT
CHOOSEPOS 5 464 112

[@_LB_ChoosePos&死水沼泽]
#ACT
CHOOSEPOS 7 55 41

3、修正自定义祝福,即把原来的@@sendmsg 改为 @@teacher

4、修正过地图时可能会出现无法攻击的Bug

5、修正禁止使用移形换影、遁地、化身蝙蝠(地图属性NOBATFLY)无效的Bug

6、修正CheckSkill检查技能等级无效的Bug

7、增加抢宝任务持宝人头上的红色箭头

8、修正传世商城只能显示第一个子栏目的问题

9、买传世商城物品定义中,数量定义不是1的,将执行QFunction-0.TXT中的[@BuyShopItem物品编号]脚本,
同时直接扣除元宝数量,该脚本中只需要执行一组GIVE命令就可以了。

01.14
-----------
1、限制使用回城石时间间隔为10秒。

2、限制骑马不允许捡宝盒

3、增加脚本命令:CHECKONLINE 角色名字
作用:检查指定角色是否在线,其中角色名字可以使用变量,例如:
#ACT
MOV A1 管理员
#IF
CHECKONLINE $STR(A1)
#SAY
<$STR(A1)>在线
#ELSESAY
<$STR(A1)>当前不在线

4、优化扩展数据存储,把好友列表、大包裹、宠物包裹合并到一个文件,并增加宝石仓库数据到该文件

5、增加宝石仓库功能:
1)修改CHECKBAGSIZE命令,支持变量,比如:CHECKBAGSIZE $STR(M1)
2)增加条件检测命令:CHECKBAOSHI M OP N
其中:M代表宝石的序号(0-红,1-蓝,2-绿,3-保留,4-保留)
OP是操作符号,可以是>,<,=,其他符号表示>=
N是数量,
例如:CHECKBAOSHI 0 X 10 表示检查红宝石是否>=10
3)增加变量$BAOSHI(X),其中X取0--4的范围,分别表示:红宝石,蓝宝石,绿宝石,剩下两个是保留的
4)增加命令:BAOSHI M OP N
其中:M代表宝石的序号(0-红,1-蓝,2-绿,3-保留,4-保留)
OP是操作符号,可以是+,-,=,分别表示对指定宝石执行加法、减法和赋值操作
N是数量,支持变量,例如:BAOSHI 1 + $STR(M1) 表示蓝宝石仓库数量+上M1变量的值
5)增加命令:ShowSpotDlg X S
其中X=0表示显示刻回城石窗口(一般不用,CHOOSEPOS自动调用),
X=1表示显示