服务端DATA脚本语法,石器时代发布网,石器技术交流站!
服务端DATA脚本语法
[NPC范本]
npcgen_warpman     传送员
npcgen_warp     传送点 多重判断 (无法直接当作传点?)
npcgen_savepoint  储存点 ID不能重覆
devilpk和sb_dou    战斗NPC
changeevent    任务NPC
npcgen_shop    商店NPC
npcgen_man    对话NPC enemy=npcgen_man|那个
npcgen_healer    竞技场型护士 enemy=npcgen_healer|1 (竞技场型 一次补满)
npcgen_winhealer  护士 enemy=npcgen_winhealer|10|1.5|3.0|2
npcgen_charm    美容师
npcgen_petshop    宠物商店 main_msg一定要超过两行
npcgen_signboard  告示板
npcgen_dengon    留言版
npcgen_poolitemshop  寄存店
transman    交易NPC
ITEMCHANGE    提炼师或精工师
ProfessionShop    职业技能商店
FreePetSkill    宠物技能商店A (有限制宠技)
npcgen_petskillshop  宠物技能商店B (无限制宠技)
npc_petfusion    融合宠助手
windowman    说明NPC conff:
npcgen_limitshop  专收道具NPC (肉店)
npcgen_timeman    特定时间说话NPC
npcgen_savepoint  储存点
luckyman    占卜师
familyman    家族管理员 conff:
bankman      家族银行 conff:
GambleBank    游乐场银行与兑换员
npcgen_timeman    特定时间出现型npc
lilicoco 2007-9-30 15:48

[NPC.CREATE] #这是创造NPC的基本设定,修改要重新启动

#一般类型NPC
{
floorid=100        #所处的地图编号,用查询器查
borncenter=472,297(两个)    #刚出生在地点x,y座标
borncorner=xx,xx,xx,xx(四个)    #作用同上 设一即可 (可避免对话连动??)
movecenter=20,20,100,100    #出生后移动至地点x,y座标 后两个是修正图像位置?
createnum=1        #创造数量?
time=60000        #未知 无用? 抓时间?
dir=4          #面向 1=北 3=东 5=南 7=西 关係隔一格能否说话
action=5        #宠物型NPC的动作 
          1走动 2攻击 3投掷 4受伤 5晕倒 6(不设也是)站立
          11坐下? 12挥手 13高兴 14生气 15悲伤
ignoreinvincible=1      #??
graphicname=100401      #NPC图像编号,用查询器查
name=坏心眼的愿藏      #NPC名称 ex:罗瑟琳 Lv:90
enemy=sb_ganzo|file:100/sb_ganzo.arg  #NPC范本类型|参数档位置
}

#传送点
{
floorid=3021
borncenter=406,67,1,1
movecenter=20,20,2,2
createnum=1
time=60000
graphicname=0
name=跳跃点
enemy=npcgen_warp|3022|1|7
}

#储存点
{
name=避难所的储存点
floorid=5500
borncenter=35,19,1,1
dir=5
createnum=1
enemy=npcgen_savepoint|file:poru/sp_5500_35_19
graphicname=10048
borncorner=35,19,35,19
ignoreinvincible=1
}
lilicoco 2007-9-30 15:48

[NPC.TEMPLATE] #战斗型NPC必加(如用sb_dou就不用),详细作用未知
{
templatename=sb_ganzo      #范本ID,包括有 ID.arg ID.create ID.template
makeatnobody=1        #没有图像?
makeatnosee=1        #看不见?
type=100401        #类型?
loopfunctime=4000      #功能时间?
functionset=NPCEnemy      #功能设定? 已知有:PetSkillShop,PetShop,ExChangeMan,Quiz,CheckMan,transmigration,
hp=100          #hp
mp=100          #mp
str=1          #str
tough=1          #tough
fly=
itemnum=
}
lilicoco 2007-9-30 15:49

[NPC.ARG] #这是NPC的参数设定,修改不用重新启动

#战斗型 enemy=sb_dou
NEWNPCENEMY

entype:2        #型态? 0~2都有不同作用,要自己试
askbattlemsg1:赢过我的话就让你通过  #确认战斗对话

askbattlemsg1:                           
             我是禁锢之阵的守护者!
startmsg:xxx

startmsg:呼拔吉,去吧!      #确认后对话
dieact:1        #战败后npc传送,通常让npc传回原地
warpfl:0        #玩家战胜后npc传送地图,三项均0=不传送
warpx:0          #传送x座标
warpy:0          #传送y座标
end msg:        #战斗结束对话?
enemyno:253,254        #出场宠物,enemy1.txt中的流水编号 从中间开始 左右
                     要站后排 enemybase1.txt中 大小要设0
item:2697        #战斗要求的道具,itemset6.txt中的道具编号
B_evnow:88        #启动战斗所要求的开标
B_evend:88        #启动战斗所要求的结束标
deniedmsg:有什麽事吗?      #没带要求道具或没开标的对话
alreadymsg:想和我过招还怕没有机会吗  #其他玩家战斗中对话
onebattle:1        #一次只能一队玩家战斗,1=是 0=否
time=60          #玩家战胜后NPC消失多久时间(秒)? 要设dieact=0 
          但消失就无后面的判断

entype:2
dieact:1
warpfl:3021
warpx:400
warpy:90
gym:3          #百人道场型NPC等级
startmsg:我是第3个人
enemyno:564,565,566,567      #随机NPC
enemypetno:687,688,689,690,691,692,69  #随机宠物

OVER

#前置条件判断
NEWEVENT1:
FREE:LV>79&NOWEV=133&ENDEV!=133    #判断式,已知有:(>,=,!=,<,|,&) |的话 最前面要多一个LV>0|                     LV,ENDEV,NOWEV,ITEM,CLASS,PET,BBI,GOLD,
          reITEM,rePET,DR?,TRANS(转生数),PARTY(团队人数)?
WARP:0,0,0        #传送玩家,后面如有物品指令,这边就一定要设
endmsg:果然是接班人,钥匙还给你吧!  #判断对话
DelItem:1718,1719      #后置动作,已知有:AddItem?,DelItem
herobattlefield:120      #英雄战场相关
EvClr:153        #删任务标!
Event_Now:154        #开任务标
Event_End:154        #关任务标??
NPCPOINT:2030,63,12;3030,63,12    #NPC跳跃
OVER
lilicoco 2007-9-30 15:49

#任务型 enemy=changeevent
NomalMainMsg:铸造是一门伟大的艺术!  #预设对话,在无任何任务标与条件判断满足之对话,可以作成无生命物品之点选讯息

#REQUEST动作
EventNo:xxx        #接哪xxx任务编号,-1通常是未接任务对话
TYPE:REQUEST        #动作类型,已知有:REQUEST,MESSAGE,ACCEPT
EVENT:ITEM!=2367      #判断式,已知有:(>,=,!=,<)LV,ENDEV,NOWEV,ITEM=,
RequestMsg1:疑?找我一起去要糖吗?  #REQUEST动作询问对话,只有NomalWindowMsg以0做开始
ThanksMsg1:谢谢!这个南瓜灯给你!  #确认后对话
StopMsg:是不是我要求的太过分呢?  #拒绝后对话,再次要求确认?
EndStopMsg:当你方便的话再来帮忙我好吗?  #接续拒绝对话?
NoStopMsg:那就麻烦你了。    #接续确认对话?
ItemFullMsg:咦?物品满了!    #物品满了提示对话
GetItem:2367        #后置动作,已知有:GetItem,DelItem,GetRandItem...详见最后整理
EventEnd

#MESSAGE动作
EventNo:-1
TYPE:MESSAGE
EVENT:ITEM=2366
NomalWindowMsg0:我梦寐以求的糖果!  #符合条件对话
KeyWord:不给糖就捣蛋      #密语,通常会再设一个相同任务编号无密语的MESSAGE动作
ItemFullMsg:咦?物品满了!    #物品满了提示对话
GetRandItem:1224,13092
DelItem:2366*1
EventEnd

#ACCEPT动作
EventNo:-1
TYPE:ACCEPT
EVENT:NOWEV=84&PET>79-810*1    #79为要求宠物大于等级,810为"enemybase1"中的宠物类型编号,*1为数量
AcceptMsg1:\n可以把这给我吗?    #循问对话
ThanksMsg1:真是太谢谢你啦!    #确认后对话
DelPet:PET>79-810*1      #拿走该宠物
GetPet:2474,1610      #随机得到宠物
AddPet:2474??        #直接得到宠物
PetFullMsg:你身上的宠物满了喔!    #宠物栏已满讯息
DelItem:11848*1,11829*1
GetItem:19728        #AddItem是用在Free
ItemFullMsg:你身上东西太多了~
DelStone:50000        #拿走石币
StoneLessMsg:喂,你没给钱!    #石币不够提示对话
NpcWarp:60029.4.17,60016.6.6    #NPC传送点
EndSetFlg:85        #结束关闭任务标
CleanFlg:178        #删任务
EventEnd

EventNo:-1
TYPE:ACCEPT
EVENT:LV>10
AcceptMsg:贩卖门票。\n你的话需要%8ds。  # %8d意义?
ThanksMsg:这张票若是登出会消失请注意。
DelStone:LV*3        #LV=人物等级
StoneLessMsg:不好意思钱不够喔。
GetItem:2601
ItemFullMsg:道具已满无法交付给你
EventEnd


EventNo:-1
TYPE:REQUEST
EVENT:ENDEV=25,ENDEV=26
RequestMsg:族长已经都告诉我了。\n你是来买矿石的吧!\n一个矿石要3000S,可以吗?
ThanksMsg:那就请收下这个。\n今后还请多多关照。
StopMsg:不是来买矿石的吗?
EndStopMsg:我们不欢迎只问不买的客人。
NoStopMsg:是这样呀。
GetItem:2503
DelStone:3000
ItemFullMsg:你的袋子已满了。\n请空出位置来!\n这样我才能卖给你。
StoneLessMsg:你的钱不够呀!\n真抱歉可否请你准备好钱后再来呢?
EventEnd


EventNo:-1
TYPE:CLEAN
EVENT:NOWEV=36,ENDEV=36
CleanFlg:36
CleanMainMsg:\n\n   你已经拉过神籤了吗?
CleanFlgMsg:\n\n     请从神社前的牌坊\n     再一次走往本殿。
EventEnd

EventNo:36
TYPE:REQUEST
EVENT:LV>0
RequestMsg:\n\n  把香油钱、放入捐献箱内吗?
ThanksMsg:\n\n      贡献了香油钱。
StopMsg:\n要终止现在的事件吗?
EndStopMsg:若是、随时想到都可以来喔
NoStopMsg:非常期待喔
StoneLessMsg:\n\n钱不够喔。
DelStone:50
EventEnd
lilicoco 2007-9-30 15:49

#传送型,不需任务编号的条件处理NPC也可写成这类 enemy=npcgen_warpman
NEWWARPMAN

NOFREE          #未满足下面各条件式之标准处理
FREE:LV>0        #判断式
WARP:0,0,0        #传送点
NomalMsg:………        #一般讯息
PartyMsg:………        #团队讯息
OVER

TALKEVENT1        #各除外条件判断式 可用,做两联立判断
WARP:0,0,0
FREE:LV=1&TRANS=0&ITEM=2623,LV=2&TRANS=0&ITEM=2623
FREE:BBI=101283        #形象代码=图案编号
FreeMsg:累了吗?想变回原来的样子吗?  #显示对话
CHANGEBBI:MYBBI        #更改形象:MYBBI=原本的形象
AddItem:1111
OVER

TALKEVENT2
WARP:0,0,0
FREE:LV>0
CHANGEBBI:101283
FreeMsg:万圣节快乐唷,我来帮你装扮一下。
OVER

TALKEVENT1
WARP:60032,4,20
FREE:ENDEV=82&ENDEV=83&NOWEV=84&ITEM=19726
DelItem:19726
CHECKPARTY:FALSE
FreeMsg:要把石头放在石柱上吗?
OVER

#一般传送型写法
NEWWARPMAN

NOFREE
FREE:LV>0
NomalMsg:园主有令,一般人不能进去~
OVER

TALKEVENT1
WARP:500,274,369
FREE:ITEM=2414&LV>79
FreeMsg:请进吧!另外贝壳千万不要掉了!
CHECKPARTY:TRUE        #是否限制团队传送(非必要?)
PartyMsg:先解散团队再来吧~    #限制团队传送对话
MONEY:-1        #要求金额?
PayMsg:乌力~~乌力      #付钱对话?
OVER

TALKEVENT3
FREE:LV>90&ENDEV=81&ENDEV=88
FreeMsg:拿去吧,少这麽一隻珍兽也没什麽了不起的!
Event_Now:89
Event_End:89
AddPet:1802
NPCPOINT:100,0,0      #此任务NPC传送自己至x,x,x
OVER

#地为界...
NEWWARPMAN

NOFREE
FREE:LV>0
NomalMsg:…
PartyMsg:淅浬浬…
OVER

TALKEVENT1
WARP:30621,25,22
FREE:ENDEV=4&ENDEV=69&ENDEV=70&NOWEV=71,ENDEV=4&ENDEV=69&ENDEV=70&NOWEV=71&NOWEV=72
CHECKPARTY:TRUE
warp_msg:地为界水为凭火为引风为信
FreeMsg:轰隆隆…
OVER

TALKEVENT2
WARP:30621,25,22
FREE:ENDEV=4&ENDEV=69&ENDEV=70&ENDEV=71&NOWEV=72,ENDEV=4&ENDEV=69&ENDEV=70&ENDEV=71&ENDEV=72
CHECKPARTY:TRUE
warp_msg:地为界水为凭火为引风为信
FreeMsg:轰隆隆…
OVER
sky无影 2007-9-30 15:50

谢谢LZ
lilicoco 2007-9-30 15:50

#时间对话型 enemy=npcgen_timeman|file:genout/tman_400_88_102

time:AFTER
main_msg:有太阳的时候,不可以从这裡进入梦幻洞窟
change_msg:太阳下山后,就可以从这裡进入梦幻洞窟了。
change_no:16204

time:AFTER
main_msg:有太阳的时候,可以从这裡进入梦幻洞窟
change_msg:晚上没办法从这裡进入,请到另一边的入口。
change_no:16200

#需设置以下传点
#白天进入
{
floorid=400
borncorner=97,119,97,119
time=0
ignoreinvincible=1
createnum=1
enemy=npcgen_warp|41|11|8|A
}

#晚上进入?
{
floorid=400
borncorner=98,119,98,119
time=0
ignoreinvincible=1
createnum=1
enemy=npcgen_warp|41|11|8|M
}

{
floorid=400
borncorner=95,120,95,120
time=0
createnum=1
graphicname=16203
name=洞窟的守门人
dir=6
ignoreinvincible=1
enemy=npcgen_timeman|file:genout/tman_400_95_120
}

{
floorid=400
borncorner=98,120,98,120
time=0
createnum=1
graphicname=16202
name=洞窟的守门人
dir=6
ignoreinvincible=1
enemy=npcgen_timeman|file:genout/tman_400_98_120
}




time:ALLNOON
main_msg:哈哈老师不知道!

time:ALLNIGHT
main_msg:欢迎光临,我是新来的美露露,请多指教。,我笨手笨脚的常惹老闆生气。
lilicoco 2007-9-30 15:51

#交易型 enemy=transman|file:longzoro/xingshou/zheng1.arg

START_MSG:族长邀请函一份换一张骑证!  #交易对话
MenuHead:选择骑乘学习同意书:    #选单讯息

#伊甸庄园的骑乘学习同意书
{
MenuStr:伊甸庄园的骑乘学习同意书  #物品名称,可写成一套多种
FREE:ITEM=19001        #需要物品
AddItem:20224        #可交易物品
DelItem:19001*1        #删除物品
}

#尚青啤酒
{
MenuStr:尚青啤酒(人物属性反向改变1点)
FREE:ITEM=19001
AddItem:20599
DelItem:19001*1
}
lilicoco 2007-9-30 15:51

#精工型,与交易型差别在多了说明功能 enemy=ITEMCHANGE|file:sa80/classeq/wizeq.arg

START_MSG:准备好材料来找我吧。

MenuHead:选择想要交换的装备
NeedHead:需要的材料      #说明选单

#月神之帽精工
{
CHANGEITEM:2262        #可交易物品
NeedItem:11889,11829      #需要物品
FREE:CLASS=2&ITEM=11889&ITEM=11829*2&GOLD>=5000&reITEM>0
DelGold:5000        #拿走石币,但并非用DelStone
DelItem:11889*1,11829*2
AddItem:2262        #避免没有物品空位,条件要先设reITEM>0
}
lilicoco 2007-9-30 15:51

#视窗说明型 enemy=windowman|conff:chatroom/chatroom.conf
winno=1          #说明视窗编号
message=   「聊天室引导所」    #注意第一句有几行,最多不要超过两行(第三行有选项)
message=
message=从这裡、能够到聊天室。
message=聊天室能够从开始的四个村子
message=进入。
message=裡面有三个房间跟大厅。
message=请多多利用。
wintype=0        #视窗类型,已知有:?
buttontype=next        #按钮类型,已知有:next(下一页)
nextpressed=        #未知?
gotowin=2        #下一页视窗编号
endbutton=        #未知?
endwin=          #未知?

winno=2
message=要进入聊天室必需要有门票。
message=门票要在各个村子交出来。
message=能够使用的只有在那个村所发
message=行的东西,
message=从别的村拿来的话会被回收。
message=
wintype=0
buttontype=next
nextpressed=
gotowin=
endbutton=
endwin=
lilicoco 2007-9-30 15:52

#宠技商店型 enemy=FreePetSkill|file:longzoro/xingshou/freeshop1.arg
{
start_msg:我是特殊宠物技能饲育员。  #首页讯息
main_msg:要学什麽技能呢?    #选单讯息
nothing_msg:好了....    #学习完毕or取消讯息?
err_msg:这不是它该学的哦~~    #限制技能讯息
skill_rate:1.0        #学习价格比
pet_skill:12,13,41,50,51,52,150,151  #可学习技能
}
lilicoco 2007-9-30 15:52

#会员物品型 enemy=vipshop|file:longzoro/vipshop/vippetshop.arg

START_MSG:嗨!购买物品需相应会员点数哦!
END_MSG:你是否确定够买这个物品?

#永远会员证
{
MenuStr:永远会员证   需会员点数5000
VipItem:20818,5000
}

#变色戒指(随机)
{
MenuStr:变色戒指(随机) 需会员点数100
VipItem:20779,100
}

#求婚戒指
{
MenuStr:求婚戒指    需会员点数50
VipItem:20770,50
}

#职业技能熟练戒指
{
MenuStr:职技熟练戒指  需会员点数500
VipItem:20824,500
}

#职业技能点数戒指
{
MenuStr:职技点数戒指  需会员点数500
VipItem:20825,500
}
lilicoco 2007-9-30 15:52

#会员宠物型 enemy=vipshop|file:longzoro/autopk/autopk.arg

START_MSG:嗨!购买宠物需相应会员点数哦!
END_MSG:你是否确定够买这个宠物?

#玛蕾菲亚
{
MenuStr:玛蕾菲亚    需会员点数100
VipPet:1479,100
}
lilicoco 2007-9-30 15:52

#商店贩卖型 enemy=npcgen_shop|file:longzoro/shengwang/shengwang

buy_rate:1.0        #购买价格比
sell_rate:0.5        #贩卖价格比
buy_msg:买,想要,kau,buy      #直接购买密语
sell_msg:卖,sell,uru      #直接贩卖密语
other_msg:最近过得如何啊?    #其他询问,不能设空白,否则直接点NPC将不能购买
hint_msg:最近不景气!      #其他询问回答
sellonly_msg:我只有收道具而已喔    #配合npcgen_limitshop类型NPC有用|file:sa70/neweq/vendor
main_msg:欢迎光临!      #首页讯息
buy_main:哪份物品是您需要的呢?    #购买提示讯息
sell_main:您需要哪个物品呢?    #贩卖提示讯息
what_msg:您要买多少个呢?    #确认数量讯息
stone_msg:你的金钱限额已满了唷!  #金钱达上限讯息
level_msg:你目前的等级还不能使用它。  #等级不足讯息
realy_msg:就那个了吧?!    #确认讯息
itemfull_msg:啊!道具已经满了。    #道具栏已满讯息
ItemList:20833,20287      #可购买物品
CostFame:500000,5000      #需要名声,后面多2个0,ItemList不可用"-"号
CostPoint:50,100      #需要会员点数?
ChangeItemCost:50000,5000    #另外订贩卖价格?
LimitItemType:OFFENCE      #可卖的物品类型(可,) OFFENCE武器 DEFENCE防具 ACCESSORY道具
          去掉此行即不收
LimitItemNo:        #可卖的限定物品 如肉店收的肉
special_rate:        #特殊价格比?
special_item:        #特殊价格比的物品?
lilicoco 2007-9-30 15:53

#融合宠助手 enemy=npc_petfusion|file:sa50/petfusion/petfusion.arg

StartMsg:准备好要进行融合了吗?
SelectMsg:选出你要合体的宠物吧。
FREE:LV>0
ADDEGGID:2055        #宠物蛋编号
ADDEGGID:1045        #宠物蛋形象
lilicoco 2007-9-30 15:53

#特殊跳跃点,无graphicname和dir之透明传点 enemy=npcgen_warp|file:eden3/princess/warppoint.arg

FREEMORE
FREE:LV>90&ENDEV=4&ENDEV=81&ENDEV=112&NOWEV=176&NOWEV=175&ITEM=20606|TO:60215,29,29|OVER
FREE:LV>90&ENDEV=4&ENDEV=81&ENDEV=112&NOWEV=176&NOWEV=175&ITEM!=20606|TO:8515,29,29|OVER
FREE:LV>90&ENDEV=4&ENDEV=81&ENDEV=112&NOWEV=135&NOWEV=136|TO:60215,29,29|OVER
FREE:LV>90&ENDEV=4&ENDEV=81&ENDEV=112&NOWEV=116|TO:60215,29,29|OVER
FREE:LV>90&ENDEV=4&ENDEV=81&ENDEV=112&ENDEV=116|TO:60215,29,29|OVER
FREE:LV>90&ENDEV=4&ENDEV=81&ENDEV=112|TO:60215,29,29|OVER
FREE:LV>0|TO:60215,29,29|OVER


FREEMORE
CHECKPARTY:TRUE
FREE:LV>89&ENDEV=4&ENDEV=81&NOWEV=112&ITEM=20196|TO:60312,0,18|OVER
FREE:LV>89&ENDEV=4&ENDEV=81&NOWEV=112|TO:60306,0,18|OVER
FREE:LV>89&ENDEV=4&ENDEV=81&ENDEV=112|TO:60343,0,18|OVER
lilicoco 2007-9-30 15:53

#特定时间出现NPC enemy=npcgen_timeman|file:genout/tman_1000_116_66

#晚间出现
time:ALLNIGHT

main_msg:辛苦工作一整天后,喝个一杯很舒服呢!但也不可喝过多免得跑出啤酒肚。,想去吉鲁岛是有办法的…这我也知道啊。


#白天出现
time:ALLNOON

main_msg:我是萨姆吉尔的老师
lilicoco 2007-9-30 15:54

#储存点 enemy=npcgen_savepoint|file:poru/sp_5500_35_19

ID:30
Born:5500,33,19
GetItem:2134,2135,2136,2137,2138,2139
RealyMsg:那我要收下布洛多斯的肉囉!
RequestMsg:你要有布洛多斯的肉才行记录哦!
OkMsg:好啦!以后你就可以自由进出了。\n和我说话的话下次你\n就可以登入了喔!
NomalMsg:已经记录了,之后也请加油喔!
lilicoco 2007-9-30 15:54

#占卜师 luckyman enemy=luckyman|file:sainasu/uranai

Stone:LV*1
NoMoney:抱歉!你钱不够喔!
main_msg:想要我帮你占卜今日运势的话\n%8dS是少不了的...。
luck1:今天你的运势非常不好喔...。最好小心一点。,凶...真糟糕...。
luck2:虽然不是说非常好,不过只要你努力的话还是有机会的...。,小吉....吧..
luck3:嗯...普普通通啦!,不好也不坏。,大概算是吉吧!
luck4:还不错嘛...!去小赌一下也没关係喔!,嗯....非常好嘛!,可以算是中吉喔!
luck5:今天你的运势无人可档!加油加油...,喔喔喔喔喔!这是大吉!
上一篇;石器服务端文件夹说明
下一篇;GMSV的setup.cf详解