如果连这种修改都搞不定, 那你也别想着什么脑洞特效了 |
|
RUBY 代码复制
我的Interpreter被我替换过了,不知道什么作用,很久了忘了,和你这个召唤脚本冲突了可能,你帮我整合一下,召唤那个脚本整合进来,好吗? |
|
本帖最后由 灯笼菜刀王 于 2026-5-13 16:46 编辑 大招前的表演, 像这种吧
RUBY 代码复制
把这个脚本塞到main前, 然后, 在技能动画设置里, 第一帧调用一个名为 "skill_show" 的SE ,这样就可以插入一个动画 (此时这个SE并不会发生作用) ,等动画结束后才会继续播放技能动画 该SE的闪烁设置,RGBA和时间, 这5个数字全部相加起来就是调用的动画ID, 在这个插入动画里你去表演大招前摇吧 |
|
本帖最后由 灯笼菜刀王 于 2026-5-13 16:17 编辑 class Interpreter def 召唤(*val) return true if (a = $game_troop.enemies.find{|i| i.hidden}).nil? b = val[rand(val.size)] ;a.transform(b) ;a.hidden = false a.recover_all ;return false end end 把这个脚本塞到main前, 然后敌人召唤技能附带公共事件, 事件内容 条件分歧: 脚本: 召唤(1,2,3,4,5,6) 显示文章: 召唤失败 end 这样, 敌人使用召唤技能的时候, 就会从 ID1,2,3,4,5,6 里随机抽取 (也可以 1,1,1,1,2,2,3,4,5 这样写就可以增加召唤1号敌人的概率) 另外如果使用这个技能的时候 , 队伍里没有"中途出现"的敌人, 会使用失败, 失败要怎么表演, 就在条件分歧里写就行了 如果想要死掉的敌人也可以"让位来召唤" 那在上面的公共事件的条件分歧上面, 加上脚本: $game_troop.enemies.each{|i| i.hidden = true if i.dead?} #一行写不下就从 |i| 后面换行 |
|
2, 一样到数据库里改参数就行了, 在 game actor 这个脚本里, 找到 def base_atk ,然后把里面的内容改成 a = weapon != nil ? weapon.atk : 0 #这个0你可能有改动过, 像"空手也会有攻击力"这类的会修改这个0 a += 10086 if @armor4_id == 10086 #想用饰品判断就这样写, 想用状态就 state?(10086) 当然也可以一起用, 也可以后面再加其他判断 reteurn a 当然, 这个是初级修改, 设置是定死的, 想开放型设置, 就要考虑用其他手段获得额外参数了, XP的数据库没有备注栏, 这点灵活性不足(不用数据库解君愁, 笑)
例如, 像我之前说的词条法, 笑 3, 想要效果好就去用事件踏步循环一个动态图片就行了呗 ![]() 如果想在战斗界面表演, 那就用状态动画(位置为画面)就行了, 你不是用了多重状态动画脚本了么 |
|
召唤敌人/随机种类的敌人 并不难, 用中途出现就可以做, 随机种类的也一样, 只是中途出现之前把对应位置的敌人替换成另一个即可 "无限召唤", 除非你敌人死后会留下尸体, 否则一样可以用"隐藏-全恢复-中途出现" 的方法"把死掉的敌人当做新的再次召唤", 不过这样做不会增加对应经验和战利品就是了, 笑 要真正的无限召唤有点麻烦, 主要是因为"需要一个坐标来摆放敌人", 毕竟敌人的坐标是在数据库敌群里设置好的, 如果想要"无中生有", 那你要先制定召唤位置的坐标规则 解决了坐标问题, 还有系统默认"敌人上限为8个", 有些处理会定死在8个上限, 想要无限, 那还要把这些限制取消了, 否则超过8个的敌人可能不会行动, 至于在哪里解除限制, 那要看你用了多少脚本喽,笑
像咱这种, 只要地图有空格就可以召唤, 因为可以直接获取坐标
默认战斗, 召唤就只能放在已经设置好的坐标上了, 即使我也有把战场分格子, 但是数量肯定也不如战棋多, 笑, 考虑到牵扯的地方不少,我并没有突破8个限制(而且会留下尸体, 所以也不会重复召唤) |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2026-6-4 09:27
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.