rpgmakermv吧 关注:20,748贴子:66,696

回复:关于TMRSrpg战棋插件的一个解决方案

取消只看楼主收藏回复

另外(突然有了个小兴趣)
有一个小的考验之类的吧……给各位看帖子的朋友,比较简单吧
这块的脚本有一个小问题,不过很容易改,大家看我改了这么久脚本多少应该都会点了,就交给诸位了,我只说问题在哪里就行
看84楼的图,问题就出在这部分
是这样的,某些装备可以增幅角色的移动能力,所以可以通过“穿增幅移动能力的装备→移动至更远的地方→卸下增幅移动能力的装备并换上增幅其他属性(例如攻击)的装备”这种方法来强行提升角色的移动能力
如何解决这个问题(目标:让角色无法单纯通过换装来在一回合中强行超频移动能力)
另外,解决方案并不唯一
期待各位看官的好答案


IP属地:四川85楼2018-08-13 22:36
回复(3)
    哟,我来挖自己的坟了
    这里是前两个月因为各种原因摸鱼摸了两个月的楼主
    今天我想给初入这个脚本的朋友稍微说一些这个脚本的用法
    1.reserveSrpg
    在切换地图之前脚本输入reserveSrpg即可进入战棋模式,如下图

    在战棋模式下,你需要一个设置一个事件来管理你的战棋游戏进程
    这个事件的执行内容必须以脚本开头,以及要有<srpgManager>的备注

    对于战棋模式来说,你的player并非是你操控的角色,而是你用来操控角色用的光标--或者叫摄像机也行
    2.srpgCurserMoveToEvent X
    这条插件指令用于将你的光标移动到某个事件身上
    比如战棋场景中的过场对话,新敌人出现或者各种事件中都可以用得上
    使用方法就是插件指令:srpgCurserMoveToEvent <EventNum>
    在<EventNum>这里直接写要移动到的事件的编号就行
    3.this.srpgAddUnit(X,Y)
    用处是在地图中加入一个新的元素,可以是场景人物,也可以是友军,敌人甚至是宝箱
    X表示要加入事件的编号,Y则代表要加入的角色(这个角色的位置必然是“敌人”一栏的)
    不过宝箱和事件人物不都算在敌人里吗…
    使用这条脚本必须要先在地图你想让人物加入的地方建立一个事件
    事件第一页是空的,第二页则是该角色被击破演出的部分,事件不需要添加备注
    在脚本执行完成之后,需要给添加了角色的事件添加行走图

    比如这样
    4.如何结束一场战棋游戏
    这个脚本的战棋模式在第一条提到的控制事件的第二页和第三页分别设置我方可控制角色全灭和敌人全灭的状况
    请注意不要忘记独立开关


    但是这不是唯二结束一场战棋游戏的方法
    1)移动到特定位置结束
    可以在战棋的地图中加入一个新的事件,使用变量记录你想要移动到特定位置结束的人物的位置
    当该人物的位置=特定位置时,判定战棋获胜
    2)击杀特定敌人获胜
    可以在需要被击杀的敌人的击破演出事件页那一栏,在击破演出后添加事件,判定玩家胜利并退出战棋模式
    3)对话结束
    设立一个通过使用 对话/调查 可以触发的剧情人物(说白了就是一个敌人事件,事件的执行内容是判定玩家胜利)
    通过对话/调查与该人物交流即可结束战棋模式
    以上只是提供一种思路,事实上还有更多的可以结束游戏的方式,请大家开动脑洞,自己去试试看
    ……好吧我发这些东西就是为了水楼(和表明楼主还活着这个既定事实),最近根本没时间动脚本
    我也快final了……不想学习啊!!!
    ……


    IP属地:四川100楼2018-11-02 13:42
    收起回复
      辛辛苦苦码了半天字发出来被度娘秒吞
      瞬间干劲全无
      总之,说一声,问题是解决技能虽然预测UI上显示超过100%的命中率但是依旧会miss的问题
      RM机制是Max(1,命中率)-Max(0,闪避率)=实际命中率,但是TMSRPG的行动结果预测里不是这样的
      而是直接的命中率-闪避率=实际命中率
      处于某些异常状态的敌人不可闪躲攻击,最直接的方法就是将闪避率降低到0以下就可以保证你攻击不计算对方闪避
      但是在TMSRPG 中会显示超过100%的命中率,而实际上因为技能命中不是100%的缘故,这种超过100%命中率的技能是有可能丢失的
      这里用一行代码来解决这个问题,代码在↓这个区块底下,复制并Ctrl+F搜索即可找到
      // 結果予測テキストを作成
      要更改的地方

      改成我这样就行了,顺带一提命中率也有概率超过100%,不喜欢超过100%命中率显示的话,可以把那个地方改成
      hit = Math.floor(Math.min(100, hit * (Math.min(1, 1 - eva)) * 100));
      就这样
      话说MZ都出来了,TMSRPG这种老掉牙的东西真的还有人用吗
      哦,我还在用啊,那没事了


      IP属地:四川131楼2020-11-27 20:47
      收起回复