Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
[align=center][b]第一课:游戏脚本的基本语法[/b][/align]\N\N\t要DIY制作前先了解游戏脚本的基本语法开始,并结合实践动手修改。新手建议修改前做好备份,以便如若出问题的话可自行恢复还原。\N\N首先,找到游戏目录下的“DATA\World\World.yx2”文件,用记事本打开。找到下面这行脚本代码:\N[quote]BGM="..\Music\World.wav","..\Music\World$S.mid";\N\N↑这是大地图SLG系统的背景音乐,这个BGM是允许可以添加多首音乐的,你可以加一些你自己喜欢的乐曲。每当进入SLG系统时会随机播放其中一曲。[/quote]\N\N游戏的脚本语法可以有引号也可以没引号,多内容用逗号分割、分号结束([color=Red]注意:所有符号均用半角字,即:无输入法下打出的字符[/color])。示例:\N[quote]BGM="1.wav","2.mid";\NBGM=1.wav,2.mid;\N↑这两句的结果是一样的,BGM内容分别为:\N1.wav\N2.mid[/quote]\N\N[quote]BGM="233,1.wav","2.mid";\NBGM=233,1.wav,2.mid;\N↑这两句的结果不一样了,这就体现出引号的作用。\N\N前者BGM的内容为两个:\N233,1.wav\N2.mid\N\N后者BGM的内容为三个:\N233\N1.wav\N2.mid\N[/quote]\N\N了解了赋值简单的基本语法后,就可以动手修改了。例如(加一个MyMusic.mp3):\N[quote]BGM="..\Music\World.wav","..\Music\World$S.mid","MyMusic.mp3";[/quote]\NBGM音乐文件的路径,尽量用相对路径。这个BGM支持的音乐格式,有wav、mid和其他所有你系统媒体播放器支持的声音文件格式(mp3、wma应该都可以[em55])。\N默认情况下是根据音乐文件的扩展名自动选用相配的播放功能来播放的,如果在文件名中加入一个“$S”的符号,表示这个音乐文件你指定要求用系统媒体播放器功能播放。这个符号这么做并非鸡肋,因为有时候用自动选用的播放功能会出问题。
|
我的Blog网址:blog.geminight.com |
|
| 🗓2016-12-2 06:48(约7年前) 👁477 |
|
|
Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
先下载一个简单的初级Sample样品,这个样品只有关卡没有剧情。参考简单的样品入门要容易一些,而且样品的脚本代码里也有详细注释。(另注:所有脚本尽量用UTF-8或Unicode格式保存,以避免不同语言系统的编码问题。)\NSample样品下载:[url=http://download.geminight.com/?f=43575-sample1.rar]sample1.rar[/url]\N把样品包裹里的文件目录“Chapter10000”,解压到游戏目录的“DATA\Scripter\”下。\N\N一般如要建任何新篇章,就在游戏的“DATA\Scripter\”目录下,建一个以“Chapter”起头后面追接一个数字(自定义编号)的文件夹,例如:\NChapter3\NChapter2002\NChapter12122\N在Sample样品包里也是类似上面这样的一个文件夹。\N\N进入样品篇章的“Chapter10000”目录,用文本工具打开篇章索引脚本“index.hxx”。里面有详细注释,请仔细看我不在这里复述了。\N\N[i]我这里对里面一些特定内容做些详解:[/i]\N[code]\N//人员类结构详解(很多介绍你可能一开始也用不到,你只需用的时候来这查询一下就行)\Nunits\N{\N occ="士兵";\t//职业名\N name="King";\t//名字\N ID=0xffffffff;\t//自动生成的出身ID号,这个通常不用你写,除非是特别指定\N team=0;\t\t//队伍ID编号\N home=2;\t\t//出场点ID编号(参见场景模型里“家”对应的数字号)\N \N NPC="B10";\t//NPC属性(二进制值:如同一排开关,1为开;0为关;中间允许空格便于区分位数)\N/* NPC属性详解\N"B1"\t\t\t//剧情安排(过关删除,不给经验)\N"B10"\t\t\t//头目Leader\N"B100"\t\t\t//不受操控\N"B1000"\t\t//平民逃避控制模式\N"B10000"\t\t//剧本安排不死\N"B100000"\t\t//新入伍的(系统标记用)\N"B100 0000"\t\t//不拾遗,人工智能不乱拾东西\N"B1000 0000"\t//战后即便同队也不加入我方\N*/\N\N LV=1;\t\t\t//等级[2](最大等级范围:1~127)\N //也可两个参数(例:LV=1,5; 等级1~5之间随机)\N \N //以下能力参数如不填写,则根据等级自动取值。\N RLY=60;\t\t//信赖\N RCO=0;\t\t//战绩\N HP=150,150;\t//体力[2]:体力值,当前体力值\N SP=50,50;\t\t//气力[2]:气力值,当前气力值\N STR=20;\t\t//物理攻击力\N VIT=25;\t\t//物理防御力\N INT=20;\t\t//魔法攻击力\N MEN=25;\t\t//魔法防御力\N DEX=18;\t\t//法术命中率\N AGI=18;\t\t//法术回避率\N\N number=1;\t//指定生数\N\N/* 各种装备位配置\Naccouter0 //右手\Naccouter1 //左手\Naccouter2 //背挂\Naccouter3 //道具0\Naccouter4 //道具1\Naccouter5 //道具2\Naccouter6 //道具3\N*/\N accouter0\N {\N\taccname="铁剑";\t\t//装备名\N\tSP=10,5;\t\t\t//弹药量或能量(上限量,当前量)\N }\N\N //给人工智能手动添加战斗知识\N ai_knowledgelst\N {\N\trange=0,1500;\t\t//最近距离范围,最远距离范围,右侧起始弧度范围,右侧结束弧度范围,上方起始弧度范围,上方结束弧度范围,位于自身中心高,移动量的偏移幅度,前方起始弧度范围,前方结束弧度范围(偷懒的话只填前两个也行)\N\tpercent=50;\t\t//出招几率(%)\N\thabit=1.0;\t\t\t//使用偏好(用乘的)\N\tctrldir=0,0,1;\t\t//出招时的控制方向\N\tspace=1;\t\t\t//空间状态(0:空中;\t1:地面;\t2:水面;\t3:潜水)\N\N\tcurmot="motion\Sword01.mot";\t//当前动作条件判断(可以多个)\N\tcurmotkey=0,10;\t//当前动作的动画帧范围判断\N\N\taction="motion\MagicWandGirl01_loli.mot";\t//发动动作\N\tST=0;\t//设置知识的ST状态\N }\N}[/code]\N[i]知识的ST状态介绍(二进制参数):[/i]\N0x1\t——删除\N0x2\t——蹲着\N0x4\t——跑着\N0x8\t——一次性使用\N0x10\t——人工智能不自主瞄准\N\N\N\N[i]二进制和十六进制介绍:[/i]\N[code]\NVal="B100";\t//用“B”开头的是二进制数,只能0或1的数字,数字间允许空格,主要是方便辨别位数\NVal=0x4;\t\t//用“0x”开头是十六进制数\N\N↑这两个“Val”参数值是一样的,二进制和十六进制换算,自己可以Windows系统附带的计算器设置到科学型自己换算。\N[/code]
|
我的Blog网址:blog.geminight.com |
|
| 🗓2016-12-3 10:47(约7年前) 👁4 |
|
|
Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
在样品篇章目录“Chapter10000”里有从1开始的数字编号的文件夹,这些就是关卡编号的目录。目录里的“index.hxx”是关卡索引脚本,“drama.hxx”是剧情脚本。你可以用文本工具打开这些脚本,了解熟悉一下内容,里面有详细的注释。\N[i]学习方法:这个可不是应试学习,所以不需要一开始就都看懂或记背它。你只需自己在修改试写时发现什么不清楚的,到这贴来查一下就行了[em65]。自己多试试(反正又试不坏,大不了还原备份),再不清楚还可以发回贴来问我[em74]。[/i]\N\N[align=center][size=5][color=RoyalBlue][b]“index.hxx”索引脚本的一些具体详解:[/b][/color][/size][/align]\N[code]\Nai_ctrlmode=2,-1;\t//敌队的人工智能模式\N第一个参数人工智能的模式:\N\t1————待机\N\t2————游荡\N第二个参数:\N\t时长秒数,负数为无限\N\N\Nscene="木业村";\t\t\t//敌队诞生地\Nposition=-1622,50,-7606;\t//敌队诞生位置坐标\N注:上面两个选其一\N\N\Nteamname="杂兵强盗";\t//敌队取名\NMoney=1000;\t\t\t//初始资金\NselLeader=1;\t\t\t//交战时玩家队是否必须出头目(0:随便;\t1:必须)\NsetHome=1;\t\t\t//交战时指定敌队登场点编号\NselNumber=2;\t\t\t//指定允许玩家派出的人数\NcurST=0x200;\t\t\t//设置敌队当前SLG下的状态(敌队不可被侦察和交涉)\NVideModel="vide.3DS";\t\t//参照物模型\N[/code]\N[i]curST指定的SLG系统下队伍的ST状态参数介绍(二进制位):[/i]\N0x1\t\t——任务战斗有特定安排\N0x2\t\t——沉默\N0x4\t\t——挫败感\N0x8\t\t——高兴\N0x10\t\t——解散\N0x20\t\t——可见(有可能是隐藏的)\N0x40\t\t——战斗状态\N0x80\t\t——有头目\N0x100\t——看得到的范围内\N0x200\t——不可侦察\N0x400\t——玩家的队\N0x800\t——小曲儿\N0x1000\t——召回\N\N\N[i]事件的条件激发介绍:[/i]\N[code]\Nevents\N{\N mode="B1000 0000",1;\t//当前模式判断(GameSystemMode模式〔详见9楼〕,「0:不成立;\t1:成立」)\N is_win=1;\t\t\t\t//是否胜利(0:否;\t1:是)\N min_enemys=3;\t\t//敌方人数≤指定数量时\N min_teamers=2;\t\t//我方人数≤指定数量时\N e_times=1;\t\t\t//允许激发次数(默认1次)\N scriptmode="Line2";\t\t//当前脚本模式标记判断,用于辨别剧情走向(详见9楼)\N script="drama.hxx","WIN";\t//调动剧情脚本(脚本文件名,书签位标名〔详见13楼〕)\N\N //对在场人员进行补充判断(根据需要组合使用,未必需要全填)\N onspot\N {\N\tid=0;\t\t\t//编号(第几个从0数起)\N\tteam=0;\t\t//队伍编号(队号详见10楼)\N\tNPC="B1";\t\t//NPC参数判断(NPC属性详见2楼)\N\tname="张三";\t//名字判断\N\N\tST="B1",1;\t\t//人员ST状态判断(详见12楼),第二个参数「0:不成立;\t1:成立」\N\tWUST="B1",1;\t//战斗系统下人员WUST状态判断(详见12楼),第二个参数「0:不成立;\t1:成立」\N }\N}\N[/code]\N\N\N\N\N\N\N\N\N[align=center][size=5][color=RoyalBlue][b]“drama.hxx”剧情脚本的一些简介[/b][/color][/size](更多具体详细,见7楼第四课):[/align]\N[code]//每个comment类代表着脚本执行的每一步\Ncomment\N{\N nextStage=2; //指定下一关的编号,留空默认自+1\N}\N\Ncomment\N{\N WorldRunMode="B10", 0; //取消世界系统的控制,以免影响操作。\N第一个参数大地图SLG系统的二进制当前模式属性:\N\tB1\t\t\t//可视\N\tB10\t\t\t//可操控\N\tB100\t\t//允许发生事件(探索任务事件)\N第二个参数属性的开关:\N\t0:关\N\t1:开\N}\N[/code]\N\N你可以把“3”文件夹复制并改名为“4”,注意前一关的脚本里的“nextStage”为4,稍加修改就可以依次类推增加关卡。\N在游戏中进入大地图的系统菜单的上方,MissionStage: (当前关卡ID编号)/(下一关ID编号)
|
我的Blog网址:blog.geminight.com |
|
| 🗓2016-12-3 10:49(约7年前) 👁11 |
|
|
来自广东省广州市用移动的路人
头衔:游客 等级:路人 帖子数:??? 积分:0 阅读权限:0 | |
|
|
|
freepgame
自称:魂注册于:2009年1月30日 等级:高级会员 帖子数:374 积分:1235 阅读权限:40 | |
|
|
|
Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
先从容易的开始
|
我的Blog网址:blog.geminight.com |
|
|
|
Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
平时可以自己试着改了玩儿测效果,也可以参看游戏里一些正式的脚本(“drama.hxx”)。\N\N[b]屏幕淡入淡出效果:[/b]\N[code]\Ncomment\N{\N screen\N {\N\tmode=0;\t\t\t//淡入淡出变化模式(默认:0)\N\tcolor=0x00000000;\t//淡入淡出颜色\N\tdstframe=255;\t\t//淡入淡出遮罩变化目标值(0~255:值越大越不透明)\N\tspeed=5;\t\t//淡入淡出速度值\N\tswing=0;\t\t//是否等到变化完成再继续下一步(0:等;\t1:不等)\N }\N}\N[/code]\N\N\N[code]\Ncomment\N{\N bgcolor=0x00000000;\t//设置背景色\N}\N\N\N\N//播放BGM\Ncomment\N{\N bgm\N {\N\tfile="DATA\Music\JinZhang1.wav";\t\t//BGM声音文件(支持哪些文件格式参看第一课)\N\tplay=2,0;\t\t//播放(第一个参数「0:停播;\t1:播放;\t2:循环播放」\t\t第二个参数「停播时音量静音速度,用不着就别写让其默认」)\N }\N}\N\N\N\N//载入并播放音效\Ncomment\N{\N sound\N {\N\tfile="DATA\World\Menu$2\buy.wav";\t//WAV音效文件\N\tminmax=300,1000;\t\t//3D音效音量范围(最小,最大),没这个参数就是普通2D音效播放\N\tpos=100,20,100;\t\t//3D音效坐标位置(X,Y,Z)\N }\N}\N[/code]\N\N[i][color=Red]注意:[/color]脚本所有的路径名用“.”开头的都是以当前脚本文件为中心的相对路径,否则都是以游戏EXE文件为中心的相对路径。例如:[/i]\N[table width=100% border=1][tr][td]\N[i]以当前脚本文件为中心的相对路径:[/i][br][br]\Nfile=".\Sound\JinZhang1.wav";[br]\Nfile="..\Music\JinZhang1.wav";\N[/td][td]\N[i]以游戏EXE文件为中心的相对路径:[/i][br][br]\Nfile="DATA\Music\JinZhang1.wav";\t[/td][/tr][/table]
|
我的Blog网址:blog.geminight.com |
|
| 🗓2017-9-13 14:02(约7年前) 👁5 |
|
|
Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
[b]游戏系统函数的调用:[/b]\N[code]\Ncomment\N{\N function\N {\N\tfunc_call="NewGame()","StartWorldMap()";\t//调用函数(可一次调用单个或多个函数)\N\tthreadLV=2;\t\t//调用函数时用的线程模式(0:不用线程;\t1:用线程;\t2:用线程带NowLoading画面的)\N }\N}\N[/code]\N[i]可调用的函数介绍(将来根据需要随时可增加或删减):[/i]\N\N“StartWorldMap()”\t——载入大地图SLG系统\N“BeginFight()”\t——载入战斗系统\N“PlaySceneBGM()”\t——播放当前场景BGM\N“ExitGame()”\t——退出游戏\N“StartTitle()”\t——载入标题画面系统\N\N[align=center][i]标题系统下调用才有效[/i][/align]\N“NewGame()”\t——新开游戏\N“TITLE_LoadBG()”\t——载入标题画面的场景\N\N[align=center][i]战斗系统下调用才有效[/i][/align]\N“ProcessPractice()”\t——训练队战一局结束后的记分等处理\N“ResetBattle()”\t——重置战斗,再来一局\N“PopSelUnitMenu()”\t——弹出列表选人菜单\N“SetExitTime(60)”\t——设置倒记时退出场景的时间(秒)\N“AddMoneyToTeam(1000)”\t——给队伍加钱(负数为扣钱)\N"AddItemToTeam(苹果,3)"\t——给队伍仓库加物品(物品名,数量)\N“PickItem()”\t——拾取\N“PickItemToTeam()”\t——拾取到队伍仓库里\N“ChangeTeam(0)”\t——给当前人员换队(队伍编号)\N“MadeThing(石头,-1400,480,900)”\t\t——常见物品(物品名,坐标X,坐标Y,坐标Z)\N“AddUnitRLY(3,6)”\t——从区间范围随机增加一个信赖值(区间最小值,区间最大值)\N"DiscardItem(0, 9)"\t——丢弃物品(装备位置号,丢的力度)\N\N[align=center][i]大地图SLG系统下调用才有效[/i][/align]\N“SearchJob()”\t——让当前人员执行探索任务\N“Gift()”\t——给当前人员送礼\N“Employ(1)”\t——是否雇佣当前人员(0:不雇; 1:雇)\N“ClearUI()”\t——关掉当前画面的所有菜单界面\N“PopFightSelUnitMenu()”\t——弹出战斗选人菜单\N“BribeJob(2000)”\t——派人执行收买任务(携带资金数)\N\N[i]注:有些函数只有在适当的系统下调用才有效,你也可以多参看正式的游戏脚本里的用法。[/i]
|
我的Blog网址:blog.geminight.com |
|
|
|
Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
[b]指定当前战斗场景[/b](此脚本通常要用于函数“BeginFight()”调用之前使用):\N[code]\Ncomment\N{\N FightScene="荒草野坡";\t//指定当前战斗场景,不指定则默认取当前所在场景(场景名必须是场景文件里“name”所对应的名字)\N}\N[/code]\N\N\N\N[b]游戏系统参数设置:[/b]\N[code]\Ncomment\N{\N GameSystemMode="B10 0101",1; //第一个参数:指定的二进制属性;\t第二个参数:开关(0:关; 1:开)\N}\N[/code]\N[i]GameSystemMode二进制属性模式介绍(有些参数普通用户其实用不着):[/i]\NB1\t\t\t\t——剧情模式\NB10\t\t\t\t——演习模式\NB100\t\t\t\t——镜头由脚本控制\NB1000\t\t\t——任务遭遇模式\NB1 0000\t\t\t——游戏结束状态\NB10 0000\t\t\t——关卡任务模式\NB100 0000\t\t\t——约会模式\NB1000 0000\t\t——游戏结束初始化判断用\NB1 0000 0000\t\t——手柄菜单操作模式\NB10 0000 0000\t\t——目前所有联机玩家都游戏结束了\NB100 0000 0000\t\t——不可攻击模式\NB1000 0000 0000\t——训练模式\NB1 0000 0000 0000\t——停运状态\N\N\N\N[b]脚本模式标记:[/b]\N[code]\Ncomment\N{\N scriptmode="Rob";\t//标记词随你自定义,用于events事件触发时判断你当前脚本情节走向用。\N}\N[/code]
|
我的Blog网址:blog.geminight.com |
|
|
|
Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
[b]选择一个场景中的人员[/b](用于给接下来的脚本操纵使用):\N[code]\Ncomment\N{\N getunit\N {\N\tSelResult=0;\t//选到寄存位(0:当前对象(默认值);\t1:目标对象)\N\N\tcurunit=0;\t//从当前缓存数组中选人\N\N\t//以下条件参数可组合使用(以下的数值型参数不写或填负数,则忽略)\N\tname="名字";\N\toccupation="职业";\N\tid=0;\t//当前第几个(从0~开始记数)\N\tteam=0;\t//队号(0:白队,\t1:赤队,\t 2:黄队,\t3:绿队,\t 4:蓝队,\t5:橙队,\t 6:青队,\t7:紫队,\t\t8:黑队)\N\tNPC=0;\t//NPC参数\N\tcharacteristic=0;\t//角色特征\N\tplayerID=0;\t\t//玩家ID\N\tunitID=0x00000000;\t//人员编号(自动生成的出生号,通常是唯一的)\N }\N}\N[/code]\Ncurunit 选人参数介绍:\N\t[align=center][i]大地图系统下[/i][/align]\N0\t——当前选中的人\N1\t——要雇佣的人\N2\t——被查看简报的人\N3\t——遭遇的人\N4\t——被侦察的对象\N\t[align=center][i]战斗系统下[/i][/align]\N0\t——当前被操纵的人\N1\t——当前被观看的人\N2\t——刚才被观看的人\N3\t——被指挥操纵的人\N4\t——当前选中的人\N\N\Ncharacteristic 角色特征参数介绍:\NB1\t——男性\NB10\t——不死族\NB100\t——灵物\N\N\N\N\N[code]\N//例子1,比如我想选红队的第3个人准备给脚本操作,代码如下:\Ncomment\N{\N getunit\N {\N\tteam=1;\N\tid=2;\N }\N}\N\N\N//例子2,比如我想选第2个白骑士准备给脚本操作,代码如下:\Ncomment\N{\N getunit\N {\N\tid=1;\N\toccupation="白骑士";\N }\N}\N[/code]
|
我的Blog网址:blog.geminight.com |
|
|
|
Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
[b]脚本控制镜头的用法:[/b]\N[code]\Ncomment\N{\N camera\N {\N\tlookpt=0,80,0,1;\t\t//镜头焦点(坐标X,坐标Y,坐标Z,「0:绝对坐标;1:当前人员的相对坐标」)\N\troll=0.2;\t\t\t//纵向滚动(填一个参数是固定弧度,填三个参数「起点弧度,终点弧度,滚动速度」)\N\tyaw=3.2,1.6,0.008;\t//横向滚动(原理同上)\N\tdistance=-400;\t\t//镜头距离(填一个参数是固定距离,填三个参数「起点距离,终点距离,推进速度」)\N\tslerpspeed=0.01;\t//镜头切换的速度调整\N\tswing=1;\t\t\t//是否等待镜头变换完再执行下一步脚本(0:等;1:不等)\N }\N}\N\N\N//有些参数是可以继承的,不必每次调用都要填写,您可以多参考正式脚本里的用法。\N[/code]\N\N\N[b]动画控制镜头的用法:[/b]\N[code]\Ncomment\N{\N camera\N {\N\tfile="cam.3ds";\t//3DS镜头动画文件\N\tswing=1;\t\t//是否等待镜头变换完再执行下一步脚本(0:等;1:不等)\N }\N}\N\N\N//这个要教怎么做3DS镜头动画文件,用起来有点麻烦以后补充教程。\N[/code]
|
我的Blog网址:blog.geminight.com |
|
|
|
Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
[b]脚本控制人员的代码介绍(参数多了点,但不是一次都用得上,挑用的着的用):[/b]\N[code]\Ncomment\N{\N unitctrl\N {\N\tsetpt=-300,30,-1200;\t\t//设置位置坐标(X,Y,Z,「0:绝对坐标(默认);\t1:相对目标人员的坐标」)\N\tsetpt_vide="V15";\t\t//设置位置坐标,参照参考模型里的“V15”物体\N\N\tsetdir=0,0,10;\t\t\t//设置方向(相对当前人员的一个向量)\N\tsetdir_vide="V15";\t\t//设置方向,参照参考模型里的“V15”物体\N\N\tgotopt=280,30,3000;\t\t//移动到目标位置(X,Y,Z,「0:绝对坐标(默认);\t1:相对目标人员的坐标」)\N\tgotopt_vide="V26";\t\t//移动到目标位置,参照参考模型里的“V26”物体\N\tmoving=2;\t\t\t\t//移动方式(0:站;\t1:走;\t2:跑)\N\tdirect=0;\t\t\t\t//是否不寻路直走(0:不寻路直走;\t1:寻着路走)\N\N\tlookpt=0,80,-170,1;\t\t//转头看向某坐标点(X,Y,Z,「0:绝对坐标(默认);\t1:相对目标人员的坐标」)\N\tlookpt_vide="V24";\t\t//转头看向某坐标点,参照参考模型里的“V24”物体\N\N\tlookdir=0,0,10;\t\t\t//转头看向某方向(相对当前人员的一个向量)\N\tlookdir_vide="V21";\t\t//转头看向某方向,参照参考模型里的“V21”物体\N\N\tsetTarget=0;\t\t\t//把目标寄存位的人员设定为指定对象\N\tshotpt=0,100,0;\t\t\t//瞄准坐标点\N\tprepareMagic=0;\t\t\t//魔法准备(魔法装备位置号)\N\tsetST=0x1000,600;\t\t//设置ST状态(状态,时效)\N\tsetNPC=0x1,0;\t\t\t//设置NPC属性(NPC属性,「0:取消;\t1:设置」)属性内容参见2楼\N\tsetWUST=0x8000;\t\t//设置游戏系统下人员WUST状态\N\taddForce=0,0,50\t;\t\t//施加一个力\N\tjump=1;\t\t\t\t//跳跃(<2:小跳;\t≥2:大跳)\N\tdelay=0.3,0.05;\t\t\t//停顿或慢动作(时长,速度)\N\tsetHP=100;\t\t\t//设置HP量\N\tsetAIMode=1,20;\t\t//设定人工智能的模式(模型,时长),人工智能的模式种类参见下方说明\N\N\tmotact="DATA\Character\MotionDrama\CrouchGirl_lum.mot";\t//使用MOT动作文件\N\tmotkey=0,70;\t\t\t\t\t\t\t\t\t//播放动作的动画帧范围\N\tmotloop=10,60;\t\t\t\t\t\t\t\t\t//动作动画帧循环范围(例如:motloop=""; 可取消循环)\N\N\ttimes=60;\t\t\t\t//设置动作时效\N\tswing=1;\N }\N}\N[/code]\N[i]ST状态介绍(二进制参数):[/i]\N0x1\t——昏厥\N0x2\t——死亡\N0x4\t——眩晕\N0x8\t——催眠\N0x10\t——麻痹\N0x20\t——中毒\N0x40\t——点穴\N0x80\t——虚脱乏力\N0x1000\t——战斗兴奋(以下属于情绪状态)\N0x2000\t——休闲\N0x4000\t——愤怒\N0x8000\t——疲劳\N0x10000\t——庆祝胜利\N0x20000\t——惊讶\N0x40000\t——害怕\N0x80000\t——爱心\N0x100000\t——心乱\N0x200000\t——惊厥\N0x400000\t——疑问\N0x800000\t——雷人汗\N0x1000000\t——紧张\N0x2000000\t——沉默\N0x4000000\t——想出\N0x8000000\t——高调喧哗\N\N\N[i]人员在战斗系统下的WUST状态介绍(二进制参数):[/i]\N0x1\t——可见\N0x2\t——撞人\N0x4\t——显示名字\N0x8\t——被说得\N0x10\t——刀光桢区中\N0x20\t——命中后次连续技判断(有效命中后允许的连续技条件)\N0x40\t——上次动作的FPS状态\N0x80\t——期间不允许停顿\N0x100\t——防住了的消息\N0x200\t——不尾追打击刃\N0x400\t——禁播特效动作\N0x800\t——可发连续技\N0x1000\t——脱离战场\N0x2000\t——变节者\N0x4000\t——屏住中\N0x8000\t——故事装备状态\N0x10000\t——当前是连招发的动作\N0x20000\t——显示信息\N0x40000\t——清除所有关联\N\N\N[i]人工智能的模式:[/i]\N0\t——网游半自动指挥\N1\t——待机\N2\t——游荡\N3\t——巡逻\N4\t——追捕\N5\t——逃跑\N6\t——寻找\N7\t——退避\N8\t——包围\N9\t——支援\N10\t——跟随
|
我的Blog网址:blog.geminight.com |
|
|
|
Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
[b]对白脚本代码的使用介绍:[/b]\N[code]\Ncomment\N{\N dialogue\N {\N\ttalk="你不要紧吧,快起来追兵就快追上我们了。";\t//对白\N\tlifetime=4;\t\t\t\t\t\t\t\t//对白显示时效(秒)\N\tdlgtype="!";\t\t\t\t\t\t\t//对白框风格类型\N\twaittime=5;\t\t\t\t\t\t\t//等待秒数\N\tmaxdailog=2;\t\t\t\t\t\t\t//限制最多窗口数(不写就取默认)\N\tvoice="cast/丹下樱.wav";\t\t\t\t\t//wav语音文件\N\tscreen_perpt=0.5,0.5;\t\t\t\t\t\t//指定对白框屏幕位置比,范围从做〔左/上〕0~1〔右/下〕(X,Y)\N\N\tconditional="表示支持","表示反对";\t\t\t\t//条件对答选择(战斗系统下最多4项,SLG系统下最多3项)\N\tcond_goto="","BAD";\t\t\t\t\t\t//对应选择跳往相应的脚本书签位置,双引号留空则脚本继续。\N\tcond_randsort=1;\t\t\t\t\t\t//0:不乱序;\t1:把条件对答选项乱序呈现\N }\N}\N[/code]\N[i]dlgtype 对白框风格类型介绍:[/i]\N类型对应“DATA\Fight\Menu.hxx”里的对话框菜单的“dlgtype”。\N目前的对白框风格类型有:\NNormal\t——普通(默认)\NThink\t\t——心想\NAbrupt\t——突然\N!\t\t——惊讶\N\N\N[i]脚本书签的定位标记介绍:[/i]\N#BOOKMARK_(自定义书签名)\N[size=2]\t例如写一个取名叫“BAD”的定位书签,代码如下:\N\t#BOOKMARK_BAD[/size]
|
我的Blog网址:blog.geminight.com |
|
|
|
Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
[b]一些用于等候的脚本介绍:[/b]\N[code]\Ncomment\N{\N wait=1;\t//等待几秒,再执行下一步脚本(这个和对白类里的“waittime”差不多)\N}\N\N\Ncomment\N{\N WaitActionDone=1;\t//等待行动结束(0或不写:不等;\t1:等待当前人员行动结束;\t-1:等待全场人员行动结束),再执行下一步脚本\N}\N\N\Ncomment\N{\N WaitActionKey=40;\t//等待当前人员的动作达到某个动画帧,再执行下一步脚本\N}\N\N\Ncomment\N{\N WaitActionType="B10";\t//等待当前人员做某类动作的时候,再执行下一步脚本\N}\N\Ncomment\N{\N Delay=1,0.05;\t//停顿或慢动作(时长,速度)\N}\N[/code]
|
我的Blog网址:blog.geminight.com |
|
|
|
Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
[b]载入并播放一个3DS动画:[/b]\N[code]\Ncomment\N{\N anima3ds\N {\N\tfile="DATA\SysMenu\DiQJ$2.3DS";\t\t//载入3DS动画模型文件\N\tpos=0,20,0;\t//设定位置坐标(X,Y,Z),此参数对二维UI动画意义\N\tdir=0,0,1;\t\t//设定朝向(X,Y,Z),此参数对二维UI动画无意义\N\tloop=20,50;\t//设定动画循环帧区段(区段两头参数都设0,则循环整个动画帧区段)\N\tswing=1;\t\t//是否等待动画播完,再执行下一步脚本(0:等;\t1:不等)\N }\N}\N[/code]\N\N\N\N[b]给场景追加一些剧情需要的3D模型物:[/b]\N[code]\Ncomment\N{\N scene3ds\N {\N\tfile="DATA\Scene\09_FXZ\ShouGui.3DS";\t//载入3DS模型文件\N\tloop=0,0;\t\t\t\t//设定动画循环帧区段(区段两头参数都设0,则循环整个动画帧区段)\N\tpos=-450,20,-270;\t\t//设定位置坐标\N\tdir=-100,0,0;\t\t\t//设定朝向\N\tswing=1;\t\t\t\t//是否等待动画播完,再执行下一步脚本(0:等;\t1:不等)\N }\N}\N[/code]
|
我的Blog网址:blog.geminight.com |
|
|
|
Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
[b]消息字幕脚本介绍:[/b]\N[code]\Ncomment\N{\N msglist\N {\N\tstrings="战士的信赖值+3!";\t//消息文本\N\ttype=1;\t\t\t\t\t//消息字幕类型\N\tcolor=0xffffffff,0xffffffff,0xffff00ff,0xffff00ff;\t//颜色(一个参数时:整个字的颜色;\t四个参数时:字的四个角的颜色)\N\toutlinecolor=0x90000000;\t\t\t\t//描边颜色\N\twaittime=5;\t\t\t\t\t\t//显示时长(秒)\N\tfontID=1;\t\t\t\t\t\t\t//字体组编号\N\tsoundID=9;\t\t\t\t\t\t//音效组编号\N\tposoffset=10,20;\t\t\t\t\t//位置修正\N\tnumtable=20;\t\t\t\t\t\t//Tab字符的宽度调整(宽度=屏宽÷numtable)\N\trank=1;\t\t\t\t\t\t\t//指定走字幕必须排列有序(0:随便;\t1:必须排列有序)\N\tspeed=1;\t\t\t\t\t\t\t//走字幕速度的加乘再调整\N }\N}\N[/code]\N[i]type 消息字幕类型:[/i]\N0\t——消息字幕(默认)\N1\t——中心字幕\N2\t——演职员式走字幕\N3\t——追接消息字幕(不换行)\N4\t——弹出式字幕\N5\t——冒出缩放式字幕\N\N\N[i]fontID 字体组编号:[/i]\N战斗系统下编号对应“DATA\Fight\Menu.hxx”菜单脚本里的fonts字体组。\NSLG系统下编号对应“DATA\World\Menu.hxx”菜单脚本里的fonts字体组。\N注意:编号是从0数起的。\N\N\N[i]soundID 音效组编号:[/i]\N战斗系统下编号对应“DATA\System.hxx”脚本里的GameSystem类下的sound音效组。\NSLG系统下编号对应“DATA\System.hxx”脚本里的GameWorld类下的sound音效组。
|
我的Blog网址:blog.geminight.com |
|
|
|
Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
[b]选中场景中的物品,给接下来的脚本拾取控制使用:[/b]\N[code]\Ncomment\N{\N getthing\N {\N\tname="石头";\t//物品名(目录“DATA\Thing\”下yx2物品脚本文件里对应“name”的名字)\N\tid=0;\t\t\t//编号(全场第几个,编号从0起计数)\N }\N}\N[/code]\N\N[b]脚本切换和跳转:[/b]\N[code]\Ncomment\N{\N load="1.txt";\t//脚本文件名(载入切换到其他脚本文件去)\N}\N\N\Ncomment\N{\N goto="m101"; //跳转到书签位标为“#BOOKMARK_m101”的脚本位置(书签位标定义法参见13楼)\N}\N\N\Ncomment\N{\N return;\t//返回(脚本终止不再继续执行)\N}\N[/code]
|
我的Blog网址:blog.geminight.com |
|
|
|
Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
[b]脚本对菜单的操作:[/b]\N[code]\Ncomment\N{\N menu\N {\N\tpopmenu="菜单名";\t\t//弹出菜单\N\tclosemenu="菜单名";\t\t//关闭菜单\N\tcancelmenu="菜单名";\t\t//关闭菜单并返回上一级菜单\N\tpopmode="B1";\t\t\t//弹出模式参数\N\tpoppoint=100,120;\t\t//弹出屏幕坐标再设定\N\tpopformID=0;\t\t\t//弹出时菜单的表单号,用于区别菜单几个状态用\N\tswing=0;\t\t\t\t//是否等待菜单动画播完,再执行下一步脚本(0:等;\t1:不等)\N }\N}\N[/code]\N战斗系统下“[i]菜单名[/i]”对应“DATA\Fight\Menu.hxx”菜单脚本里的“menu”类下的“name”。\NSLG系统下“[i]菜单名[/i]”对应“DATA\World\Menu.hxx”菜单脚本里的“menu”类下的“name”。\N\N\N\N[i]popmode 弹出模式参数(二进制):[/i]\N0x1\t\t——累加弹出式\N0x2\t\t——不独占操作\N0x4\t\t——不记录父菜单\N0x8\t\t——置顶\N0x10\t\t——光标跟踪\N0x20\t\t——低层级\N0x40\t\t——不聚焦\N0x80\t\t——覆盖即便列表里已有也累加弹出(常用于特效)\N0x100\t——菜单层固定
|
我的Blog网址:blog.geminight.com |
|
|
|
Jeminai
自称:雙子騎士注册于:2005年5月26日 等级:站长 帖子数:6427 积分:41807 阅读权限:200 | |
[b]条件脚本跳转控制:[/b]\N[code]\Ncomment\N{\N happenGoto\N {\N\tIsNoFighting=1;\t//是否已丧失战力了(0:否;\t1:是)\N\tmoney=500;\t//要求资金数判断(至少金额,超出金额)\N\tteam_accname="烤肉",1;\t//拥有库存物品条件(物品名,至少数量)\N\todds=99;\t\t//发生几率(%)\N\tcheckDateSceneID=6;\t//检测最近一次约会地点是否来过,如果来过则条件不成立\N\N\tcharacteristic="B1",1,"B1",0;\t//(当前人员角色特征,是否成立,目标人员角色特征,是否成立〔角色特征详见10楼〕)\N\tocc0="白骑士","皇家骑士";\t//当前人员职业要求(可多个判断)\N\tocc1="士兵","士卒";\t\t//目标人员职业要求(可多个判断)\N\tLV=10,11;\t\t\t\t//当前人员等级要求,目标人员等级要求\N\tRLY0=50;\t\t\t\t//当前人员信赖值要求\N\tRLY1=60;\t\t\t\t//目标人员信赖值要求\N\tkind0="精灵族","西方男性人类";\t//当前人员种族要求(可多个判断)\N\tkind1="不死族";\t\t\t\t//目标人员种族要求(可多个判断)\N\tST=0x1,1,0x2,0;\t\t//(当前人员状态,是否成立,目标人员状态,是否成立〔人员ST状态详见12楼〕)\N\N\tgoto="";\t\t//如各条件成立则跳转位标(引号留空:仅跳掉这一步),定位标详见13楼\N }\N}\N[/code]
|
我的Blog网址:blog.geminight.com |
|
|