发新话题
打印

脚本语句讨论(越深入越好,讨论精彩的有奖)

本主题由 妖哥 于 2008-10-16 21:14 分类

脚本语句讨论(越深入越好,讨论精彩的有奖)

引用:
根据回帖中sunnymao1213的补充,编辑一下,以下已知的脚本指令的用方法和意义,还有未知的有待大家继续讨论补充。


addfeversec = 加卡时
addgold = 加钱
addgoldlevel
addluck =加幸运度
addskillslot = 加技能格
addstampcount
albumitemflg =变更人物头象
bankitem
BBImage(BImage) =判断人物图形编号
block = NPC指令开端(类似设定一块一块脚本块)
Changepal = 改变地图调色板 例如 changepal 15,180  参数15为调色板值,180为时间,单位秒
checkitemcategory
CheckRealTime =检查真实时间
checkskillslot =检查技能格数
checktitle =檢查是否有新称号
else =配合IF
encount =打怪
endblock
endevent =赋予指定event编号
endif =配合IF
EndWindow =对话结束关闭对话视窗
EquipItem
fame =称号值
floor  判断所在地图的编号比如法兰 1000
fp =给予+-生命值
gaendwindow  全队endwindow?
gaglobalflag 全队globalFlag条件判断
gawindow   全队window?
getalbumflgtotal
giveitem =给予指定道具编号指令(道具鉴定与否看itemset中的设置几率)
GiveLeak0Item =给予特定道具编号指令(未鉴定道具)
GiveLeak1Item =给予指定关键道具编号指令(已鉴定道具)
givepet 给予指定宠物
giverecipe =给予指定技能编号
givestackitem
globalFlag  类似ENDEVENT的判断?? 登出效果不消失,服务器重启归零
globaltimer
Gold =检查当前金钱值
gotob 用于语句跳转,向上跳(goto back)
gotof 用语语句跳转,向下跳(goto forward)
Group =检查当前組对人数
guildmember
HaveItem  检测是否拥有道具
haveleak0item
haveleak1item
havetitle  检测是否拥有称号
houseid
if =搭配ELES指令
imagetype =判断0:GIRL 1:BOY 2:CHILDBOY 3:CHILDGIRL 4:MAN 5:WOMAN 6:OLDMAN 7OG
Item =道具编号开端(如Item1234)
ItemCreateTime =判断道具创建到現在的时间差
itemdur =判断指定道具当前耐久
itemdurper
ItemSpace =判断道具空间
job =判断人物职业编号
jobancestry
jobrank =判断人物职业等級
killdrugdish
killitem =刪除指定编号道具
killitemall =刪除指定编号下的所有道具
killleak0item =刪除指定编号下未鉴定的所有道具
killleak1item =刪除指定编号下已鉴定的所有道具
killpet =刪除指定宠物
killpeth
killpetl =刪除指定宠物
LeaveGroup =强制离队
level =判断等級
localcount  本地计量?类似与局部计量变量
localflag
lp =判断生命值
maxfp =判断最大魔法值
maxlp =判断最大生命值
Message = 显示系统提示 ,参数为msg编号
metamocount =人物指定变更变身编号
moveto
Next =搭配Window指令
no =搭配Window指令
nowevent =判断当前event值
nowtime =判断当前魔力时间(0~15)
OK =搭配Window指令
pequipitem  整个队伍中有几人装备某道具  例 EV_tomita_comtest0204
petlevel =设定指定宠物等级
petspace =判断宠物栏当前剩余空格
phitem  整个队伍的道具判断
Play_SE =播放指定音效
playse =播放指定音效
random  随即数设定
Setaction =指定npc动作(必須是可动的npc),动作参数应该是0-9
setcharm =设定魅力值
SetDur 设定物品耐久,例如 setdur 18776,-1 18776为物品ID,-1表示减1耐久度
setfeverflg =设定称号值
sethouse =设定房间剩余时间
sethouselimit
setlevel
SetLoginPoint =设定登陆点指令,已知的参数为 0:法兰|1:阿凯鲁法|2:哥拉尔|3:应该是新城那个
SetLp =设定生命值
SetObject 设定指定不可穿越道具
setparameter
setvisitor  在流行山丘的大地鼠婆婆的脚本里有用到 setvisitor +1
shapenext   设定NPC变换形象,举例“shapenext  外观编号”
shapeoff
shapeon
shipchardown  下船?
shipchartake   上船
shipgetstoptime
skilllevel =设定技能等級
stackitemspace
StrCmpChat =判断 msg对话字句
strstrchat   同上?
systemmessage  系统信息?
total  全局总量
tglobalflag
trueimage
warp =移动指令
Window_NO =搭配Window_yes使用(玩家选no时)
Window_OK =玩家选确定后
Window_YES = 玩家选"yes"时
xpos =指定x坐标
yes 搭配window使用
Ypos =指定y坐标
引用:
来自EE的http://bbs.mocwww.com/thread-7442-1-1.html这个帖子
PREV_00:
Window 60184,SELECT[1]_100,SELECT[2]_100,SELECT[3]_100,CANCEL    '对话弹出选项1,2,3,PREV为根选项

SELECT[1]_100:     '分选项1
Window 60185,NEXT_00
NEXT_00:
Window 60186,OK,PREV_00   '弹出对话60186,确定后返回根选项
引用:
来源于:guqing76在http://bbs.mocwww.com/thread-4217-1-2.html帖子中的说明
共享npc脚本变量的说明和未被用到的编号
LocalCount        
         生命周期:某个脚本内,跳出脚本既归0
         类型:整型
         未被用到的编号:14-19,21-28

LocalFlag
         生命周期:某个脚本内,跳出脚本既归0
         类型:布尔型
         未被用到的编号:4-24,26-256

globalFlag
         生命周期:登出不消失,服务器重启归0
         类型:布尔型
         未被用到的编号:73-255

NowEvent 和 EndEvent
         生命周期:永久存在,保存到数据库
         类型:布尔型
         未被用到的编号:160-199,210-255
引用:
原帖由 endone 于 2008-8-30 16:54 发表
EquipItem
这个语句妖哥貌似没有给予解释吧
补充一下
EquipItem 检查正装备着的道具 判定条件 用于判定语句后面
格式:EquipItem == 道具编号
引用:
原帖由 endone 于 2008-8-30 17:02 发表
killpet =刪除指定宠物
killpeth
killpetl =刪除指定宠物

killpeth和killpetl 后面跟的代码是enemybase.txt 里的代码
区别在于
killpeth 删除大于1级的宠
killpetl 删除1级的宠
翻了端里原有的一些脚本文件,然后又搜索了一下gmsv,在其中一块偏移地址里发现一部分很类似脚本语句的,也添加了进来。

不过不知道这些是否全是脚本语句?

另外是否还有更多的脚本语句呢?常写任务朋友进来帮忙鉴定一下~~~,如果就只有这些的话,那魔力的脚本语句还真的是不多~
妖城欢迎您!

TOP

我只写过简单的给东西之类的脚本,所以对这些不了解。

这些语句是否全是有效的NPC脚本语句我并不知道,其中的具体用法和定义更是不懂……

纯属抛砖引玉,对这方面有研究的,出来讲解一下最好了
妖城欢迎您!

TOP

这个..妖哥..我该说你夜猫还是说你强大好..

大概的滚动下来,这些的确是脚本语句...!!!

这些方便测试其他未知语句了!~~
═→這個ㄝ琾詪哯實←╬→亾祗螚靠冄魢←═


═→〈婆娘﹎关灯﹎拉帘﹎←╬→上床﹎恩哼﹎oo造BaBy﹎〉←═

TOP

我睡不着~~~

这其中有很多
诸如:LocalCount0
这样的,后面跟着一个0的语句,不知道什么意思。
妖城欢迎您!

TOP

比如从原端脚本里看到这个语句的用法

GiveLeak1Item(16974%1$1,16975%1$1,16977%1$1,16978%1$1,16979%1$1,16980%1$1,16981%1$1,16983%1$1,16984%1$1,16985%1$1,16986%1$1,16988%1$1,16989%1$1,16990%1$1,16991%1$1,16993%1$1,16994%1$1,16995%1$1,16996%1$1,17001%1$1,17002%1$1,17003%1$1,17004%1$1,17006%1$1,17007%1$1,17008%1$1,17009%1$1,17129%1$1,17131%1$1,17137%1$1)

却不知道何解?
妖城欢迎您!

TOP

16974%1$1

%1是几率
$1是数量吧?

TOP

确定吗?
妖城欢迎您!

TOP

引用:
PREV_00:
        Window 991001,SELECT[1]_10,SELECT[2]_100


PREV_10:
SELECT[1]_10:
SELECT[2]_10:
        Window 991002,SELECT[1]_20,SELECT[2]_40,SELECT[3]_60,SELECT[4]_80,SELECT[5]_100

SELECT[1]_20:
        Window 991003,NEXT_30,OK,PREV_10
NEXT_30:
        Window 991004,OK,PREV_10

SELECT[2]_40:
        Window 991005,NEXT_50,OK,PREV_10
NEXT_50:
        Window 991006,OK,PREV_10


SELECT[3]_60:
        Window 991007,SELECT[1]_70,SELECT[2]_10
SELECT[1]_70:
        Window 991008,OK,PREV_10


SELECT[4]_80:
        Window 991009,NEXT_30,OK,PREV_10
NEXT_90:
        Window 991010,OK,PREV_10

SELECT[5]_100:
SELECT[2]_100:
        Window 991011,OK
这个脚本也有点奇怪……

像这样PREV_00是什么意思?SELECT[2]_100:这个呢?
我得找一下到底哪里调用了这个脚本,或许可以了解更多一点
妖城欢迎您!

TOP

对于妖哥11L的问题我的个人猜测是,prev,next和select为脚本语句,后跟下划线+数字的组合与后跟空格+数字的组合同效,为prev,next还有select定义编号,只是这三个可能很特殊,所以都用的下划线加两位或者三位数字。之后把prev,next,select写到最前面可能跟block作用相同,表示一个判定的开始。例如:
PREV_00:
        Window 991001,SELECT[1]_10,SELECT[2]_100
可能表示当点击00号的prev时,弹出窗口,内含信息991001,以及第一个位置放10号的select,第二个位置放100号的select.
prev应该就是上一步按钮,next是下一步按钮,select应该就是像各个职业就职处一样的那种窗口内的选择区域。
本帖最近评分记录
  • 妖哥 妖币 +2 分析的有点道理,不过我无法验证 2008-4-24 05:39

TOP

还有妖哥6L的问题,localcount的语法是 localcount X 判定符号或者赋值符号 Y,每个部分之间可以有空格,也可以没有,X代表localcount的编号,Y可以为数字,也可以为包含random语句的表达式(这是localcount常用做随机事件判定的原因),所以你那localcount0也就是第0号的localcount,和localcount 0是一样的。
(我要奖励

[ 本帖最后由 ithilelda 于 2008-4-24 05:38 编辑 ]
本帖最近评分记录
  • 妖哥 妖力 +4 2008-4-24 05:40

TOP

有条件的话能测试一下最好了
妖城欢迎您!

TOP

六楼时问的问题是LocalCount0这个语句,不是LocalCount这个语句……

主要是不清楚这两个语句之间的区别
妖城欢迎您!

TOP

我的意思就是localcount0和localcount 0是一个意思- -中间那个空格有没有都没关系...

TOP

killleak0item
killleak1item

GiveLeak0Item
GiveLeak1Item

haveleak0item
haveleak1item

那这些呢
妖城欢迎您!

TOP

这些偶完全米概念...唯一知道的就是带有leak的这些在特殊用法中会跟$1这个东西...还有就是很多脚本都经常用这种,而非单纯的giveitem或者killitem...不知道为什么...

TOP

发新话题