当前位置 : 145z游戏站 | 热血传奇 | 传奇游戏 | 

用HeroM2引擎的传奇,怎么写加入门派和加敏捷的脚本?

热度:
在玩传奇时,用HeroM2引擎的话,想给游戏加些新玩法,比如让玩家加入门派后自动加敏捷,其实可以通过写脚本来实现。下面就一步步教你怎么弄,不用太复杂的操作,跟着步骤来就行。
先说说怎么写加入门派的基础脚本
加入门派的脚本主要是让玩家能选择门派,然后系统记录下这个信息。一般可以在NPC脚本里设置,比如找个“门派管理员”的NPC,在它的对话脚本里加这些内容:
#say
欢迎来到门派登记处,想加入哪个门派?
<加入战士门派/@joinwarrior>
<加入法师门派/@joinmage>

[@joinwarrior]
#act
SET[1000]1//用变量1000记录玩家加入了战士门派,1代表战士
SENDMSG6你已成功加入战士门派!
break

[@joinmage]
#act
SET[1000]2//变量1000等于2时代表法师门派
SENDMSG6你已成功加入法师门派!
break

这里的“SET[1000]1”是用变量记录门派信息,不同数字代表不同门派,方便后面给不同门派加属性。玩家点对应的门派选项,就会触发加入操作,聊天框还会提示成功信息。
再讲核心:给人物加自身敏捷属性的脚本怎么写
你提到的“USEBONUSPOINT1+20”是加攻击的写法,加敏捷的话,HeroM2引擎里有专门的命令,常用的是“ADDSKILL”或者直接修改属性值的命令,具体可以这么写:
加入门派时直接加敏捷
如果想让玩家加入门派后马上获得20点敏捷,可以在上面的门派脚本里接着加命令:
[@joinwarrior]
#act
SET[1000]1
ADDSKILL敏捷20//直接给人物的敏捷属性加20点
SENDMSG6你已加入战士门派,获得20点敏捷加成!
break

这里的“ADDSKILL敏捷20”就是给敏捷属性加20点的意思,不同引擎可能wording略有不同,但核心是“敏捷”这个属性名称和数值。
用变量判断门派后加敏捷
如果想让不同门派加的敏捷不一样,比如战士加20,法师加15,可以用变量判断:
#say
检查你的门派属性加成...
<领取敏捷加成/@getagility>

[@getagility]
#act
IF[1000]=1//如果是战士门派
ADDSKILL敏捷20
SENDMSG6战士门派专属:敏捷+20!
ELSEIF[1000]=2//如果是法师门派
ADDSKILL敏捷15
SENDMSG6法师门派专属:敏捷+15!
ELSE
SENDMSG6你还没加入任何门派哦!
ENDIF
break

这样玩家点“领取敏捷加成”时,脚本会先看变量记录的门派,再给对应的敏捷点数,灵活又方便。
脚本要放在哪个文件夹里?
这些脚本和之前改回城的脚本位置类似,加入门派的NPC脚本放在“MirServer\Mir200\Envir\Market_Def”文件夹,用“门派管理员-地图编号.txt”这样的文件名保存。
如果是全局生效的属性加成脚本,也可以放在“MapQuest_def”文件夹里的“QManage.txt”中,作为全局任务的一部分触发。
修改后怎么让脚本生效?
写完脚本保存后,和之前一样,在服务器的M2控制器里点“脚本”→“重新加载所有脚本”,或者在游戏里用管理员命令“@reloadscript”,不用重启服务器就能生效。
试的时候最好建个测试号,加入门派后打开人物属性面板看看敏捷是不是真的加上了,万一没反应,可能是命令里的“敏捷”属性名称和引擎里的不一样,比如有的引擎写“Agility”或者“敏”,可以查一下你用的HeroM2版本的命令手册。
几个实用小提醒
加敏捷的数值别太夸张,不然游戏平衡容易乱,先从小数值试起。
写脚本时符号要英文状态,比如括号、逗号,中文符号可能导致脚本失效。
最好备份原来的脚本文件,改坏了还能恢复。
其实不管是加敏捷还是其他属性,核心就是找到对应属性的命令,再结合门派的判断条件就行。多试几次,看着自己写的脚本让游戏里的人物属性变化,还是挺有成就感的。如果某个命令没效果,换个类似的命令试试,HeroM2引擎的兼容性比较好,总有能用的写法。
[顶部]