设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 524|回复: 59
打印 上一主题 下一主题

[有事请教] 几个脑洞

[复制链接]

Lv4.逐梦者

梦石
0
星屑
16860
在线时间
4199 小时
注册时间
2013-7-18
帖子
2679
跳转到指定楼层
1
发表于 2026-4-29 12:18:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 y967 于 2026-4-29 18:24 编辑

我有很多脑洞由于脚本废物,从而搁置了,技术大牛总是令人神往

1,状态或装备无视防御
需要一个装备,然后无视魔防50%,想做一个神通天赋,可以装备,或者带状态也行,物防就不用了。

2,败者组荣耀
就来个败者组荣耀好了,比如不破防就加攻击,或者打不够10%就加攻击,这种弱者神通天赋保命技能,当然不能无限加,上限加到100攻击力

3,封印和解除封印
BOSS被封印技能后如何自救,被硬控只能小怪救,封印技能后自救,即给自己一个标记,当被封印技能后有一次50%机会突破封印,完成自救
主角同理,当然这里就不用了,因为有队友,队友死了怎么办,那就团灭。

4,回合数满就暴走
这个简单,10回合打不掉半血就加50%攻击,败者食尘,败者翻身,难为了。新手期不好过,为免弃坑。

5,回合加攻击/防御
降低难度的方法当然也很多,每5个回合就加一点攻击或防御,不破防的日子很难过的,破防就几下解决了,平衡不容易做的

6,抽蓝
也可以是抽蓝或BOSS防御一次就减攻击,减防御,反正在队伍里都可以设置,可以用脚本,调戏BOSS

7,隐身
替身有了,隐身呢,隐身可以攻击,敌人几回合不能攻击我,如聋如哑

8,舍身精灵
替身娃娃,代替自己死一次,也可以是背包物品

9,守护精灵
死之前一击恢复满血,单次战斗只能触发一次,也可以和上面合并
退隐....

Lv4.逐梦者

素材区好人

梦石
3
星屑
11154
在线时间
4172 小时
注册时间
2011-7-21
帖子
2528

极短27参与极短26参与极短25参与极短24参与极短23参与极短22参与极短21参与

2
发表于 2026-4-29 20:04:54 | 只看该作者
本帖最后由 无忧谷主幻 于 2026-4-29 20:19 编辑

问的有些多了,我先从好回答的开始回答吧
3,纯事件就能做

4,依旧算纯事件吧
在条件分歧中输入
RUBY 代码复制
  1. $game_troop.enemies[0] && $game_troop.enemies[0].hp > $game_troop.enemies[0].maxhp * 0.5

敌人数组从 0 开始计数的
​1号敌人 →  enemies[0] 
​2号敌人 →  enemies[1]
(注意区分战斗和回合,战斗是满足条件也只执行一次,回合是满足挑战每回合执行一次)

5,我们依旧用变量来解决

之前需要带有固定状态才生效,现在取消掉
RUBY 代码复制
  1. # ● 获取力量
  2. def str
  3.   n = [[base_str + @str_plus, 1].max, 999].min
  4.   for i in @states
  5.     n *= $data_states[i].str_rate / 100.0
  6.   end
  7.   # 力量固定增加变量1的数值
  8.   n += $game_variables[1]
  9.   n = [[Integer(n), 1].max, 999].min
  10.   return n
  11. end

6,抽蓝直接在公共事件中选择增减敌人SP就好
7,这个应该有人做过了吧,请善用搜索
我把自用的给你吧,不知道你能不能用
嘲讽加盲点整合

8&9
这个也是我之前做过的,第一个就是
https://rpg.blue/thread-498382-1-1.html
把 @hp+=1改成 @hp+=9999就好了

点评

如果有队友敌人放群攻确实比较难了,那就显示为MISS好了  发表于 2026-4-29 21:57
什么都不做,不放技能,也不治疗,行动里就有一个什么都不做的。等于瞎了  发表于 2026-4-29 21:51
无队友不攻击是指什么都不做吗?还是说不会释放攻击技能,但是会释放治疗之类的技能?还有敌人如果释放群体攻击又会怎么样?  发表于 2026-4-29 21:46
好,那4就解决了,隐身不是无敌,是敌人打不到自己,有队友打队友,没队友不攻击,就是什么都不做。可以敌人有个嗅探技能,标记自己为不能攻击  发表于 2026-4-29 21:38
通过网盘分享的文件:大雄的魔界大冒险.zip 链接: https://pan.baidu.com/s/1NCv4ibXdF_OntrJgCYYZzg?pwd=qqvk 提取码: qqvk  发表于 2026-4-29 21:35

评分

参与人数 1+1 收起 理由
y967 + 1 精品文章

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

素材区好人

梦石
3
星屑
11154
在线时间
4172 小时
注册时间
2011-7-21
帖子
2528

极短27参与极短26参与极短25参与极短24参与极短23参与极短22参与极短21参与

3
发表于 2026-4-29 21:44:09 | 只看该作者
本帖最后由 无忧谷主幻 于 2026-4-29 21:46 编辑

无敌脚本,经过soulsaga修改,已经加上可以被状态变化解除来解除无敌
无敌



2我也帮你弄好了
RUBY 代码复制
  1. if self.damage == 0 && $game_variables[1] < 100
  2.   $game_variables[1] += 1
  3. end

只有伤害等于0(不破防)变量才会增加,且增加的数值不会超过100
之后代入即可

点评

不错,非常美妙,技术大佬总是令人敬仰  发表于 2026-4-30 17:22
1个G呢,刚下完,晚上我去研究下  发表于 2026-4-30 16:45
工程中不是已经有了吗?实在不行,把整段脚本都复制进去,或者我的游戏工程中也有类似的,不过是直接执行公共事件  发表于 2026-4-30 15:44
记不住啊,脚本那么难学呢 ,为什么记不住呢,需要肾气。  发表于 2026-4-30 07:09
抹去变量我之前也教过你,和明雷暗雷没关系,战斗结束时自动触发,三个位置分别代表胜利,失败,逃跑  发表于 2026-4-29 22:14

评分

参与人数 1+1 收起 理由
y967 + 1 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
41773
在线时间
5970 小时
注册时间
2006-11-10
帖子
6962
4
发表于 2026-4-30 11:12:37 | 只看该作者
本帖最后由 灯笼菜刀王 于 2026-4-30 11:27 编辑

1, 直接在公式里判断攻方持有对应的状态, 然后让防御减半就行了

找到 power -= self.mdef * skill.mdef_f / 200  这句
改成 power -= (user.state?(10086) ? self.mdef / 2 : self.mdef) * skill.mdef_f / 200

涉及战斗公式方面全可以这样改, 你这些脑洞大部分都是在公式里增加判断, 然后改变某个参数值就可以实现了


--------想实现脑洞, 对脚本小幅度修改是必备的技能---

更高级的做法, 开放式的设置方式


这样就可以持有多种比例的词条/被动了, 笑



点评

看起来我还要学习演出效果了,词条,感觉和大佬的距离太遥远了,不是我能理解的存在。  发表于 2026-4-30 16:44
我所有效果 技能/装备/状态/地形/天气/阵型/支援 都是用词条实现的, 直接添加词条就可以设置对应的特效,所以会有复数效果处理的情况  发表于 2026-4-30 16:00
你还做了词条,果然辣手,就是演出效果咯,差距太大了,如果有穿甲和反穿甲,策略上就出来了,反穿甲后还来个词条,那多么嘲讽,BOSS拉轰时刻  发表于 2026-4-30 12:38
目前我有护盾,吸血,吸蓝脚本,穿甲这种高级操作,穿透别人的护盾,这种要改脚本,不属于我这种菜鸡能做的,我的护盾是伤害一半转化为扣篮  发表于 2026-4-30 12:30
好吧,对了,这是你的游戏的基操是吗,恐怖了,如果其他技能有无视防御的情况呢,比如不到50%,或者超过50%的情况  发表于 2026-4-30 12:23

评分

参与人数 1+1 收起 理由
y967 + 1 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
41773
在线时间
5970 小时
注册时间
2006-11-10
帖子
6962
5
发表于 2026-4-30 11:49:26 | 只看该作者
3,  状态可以增加一个"自解除概率"的设置,  也就是在状态持续期间, 有一定概率自动解除, 这样就可以避免无限控的情况, 当然可以给boss特权, 自解除概率翻倍之类的

不过, XP的数据库没有备注栏, 所以要增加新的参数比较麻烦, 最终还是要抛弃数据库才能解除你的洪荒之力, 笑
目前, 就在状态名称后面备注吧,  毒<A10> 这样写, 表示 中毒后每回合有10%的概率会自行解除

  1. module RPG
  2.   class State
  3.     def name ;return @name.sub(/\<A(\d+)\>/,"") ;end
  4.     def 自解率 ;@name[/\<A(\d+)\>/] ;return $1.to_i ;end
  5.   end
  6. end
  7. class Game_Battler
  8.   def remove_states_auto
  9.     for i in @states_turn.keys.clone
  10.       if @states_turn[i] > 0
  11.         @states_turn[i] -= 1
  12.         remove_state(i) if rand(100) < $data_states[i].自解率
  13.       elsif rand(100) < $data_states[i].auto_release_prob
  14.         remove_state(i)
  15.       end
  16.     end
  17.   end
  18. end
复制代码

脚本, 把它塞到main前


-----------------
我的做法, 状态除了有自动解除概率, 还有最大持续回合, 超过这个回合就算解除概率不是100%也必定解除, 这样做那种 持续时间结束后不是100%解除的状态就有个保底了, 笑

当然, 像增加解除概率, 缩短持续回合之类的 词条/被动 也是有的, 笑

点评

设计师要会调戏BOSS,也要调戏会玩家,才是好的设计师,个人认为,笑  发表于 2026-4-30 12:43
也要给BOSS一定的反转机会的,显示策略/伪策略,笑,解除封印后来个回合满暴走,一击反杀,本来要赢了,观察玩家扭曲的表情,也是一种乐趣所在..  发表于 2026-4-30 12:41
确实如此,我发现我为什么成不了伟大的大佬了,我与大佬差一个脚本师的距离,终身不可能了。我就只能拿来用了哈  发表于 2026-4-30 12:27

评分

参与人数 1+1 收起 理由
y967 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
41773
在线时间
5970 小时
注册时间
2006-11-10
帖子
6962
6
发表于 2026-4-30 12:14:03 | 只看该作者
7, 隐身, 隐身的做法不难, 判断有该状态的时候, 不把单位放入 @target_battlers 就行了

找到 if (not hp0 and actor.exist?) or (hp0 and actor.hp0?) 这句, 下面加一句 next if actor.state?(10086)  #10086为隐身状态id

这样就可以实现单体攻击的时候都不会打隐身的人(群体攻击可以)

但是, 有个表演上的问题,  就是如果我方只有一个隐身人, 那敌方除非使用群体攻击, 否则就直接结束本回合, 观感上会莫名其妙的, 笑

所以重点上是要怎么表演

我的做法~


当然, 这就不是简单的修改就可以实现的了, 笑

点评

我草,这不是数字哥的游戏吗,这演出效果搞笑了,你还做了半透明,确实群攻很难搞到隐身,但这个透明效果已经不错了感觉  发表于 2026-4-30 12:26

评分

参与人数 1+1 收起 理由
y967 + 1 精品文章

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
41773
在线时间
5970 小时
注册时间
2006-11-10
帖子
6962
7
发表于 2026-4-30 16:24:43 | 只看该作者
本帖最后由 灯笼菜刀王 于 2026-4-30 16:27 编辑

要隐身能不被群攻攻击也不难, 找到

   when 2  # 敌全体
        for actor in $game_party.actors
          if actor.exist? and !actor.state?(10086)

加上红色部分就行了

我设计的隐身能被群攻攻击到是避免隐身变成无敌, 笑,  而且我的隐身也是可以让敌人用的, 群攻则可以作为对付隐身的敌人的反制手段


单体攻击无法选择隐身的敌人

当然想让隐身也能被敌人使用, 就要改操作逻辑了,这部分就要对脚本有些理解喽

点评

个人认为群攻可以保留,如果敌人也会用隐身,那群攻也可以作为破解手段,敌人也一样,反而更有策略性,不然就没法破了  发表于 2026-4-30 16:52
我靠了,这效果刚刚的,我已经仿佛看到了BOSS隐身起来全屏的嘲讽:汝等低级生物,感受我北地大魔王的力量吧,hiahiahia......魔王终于雄起一回  发表于 2026-4-30 16:39

评分

参与人数 1+1 收起 理由
y967 + 1 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
41773
在线时间
5970 小时
注册时间
2006-11-10
帖子
6962
8
发表于 2026-4-30 17:19:44 | 只看该作者
8, 救命符, 这个实现方法不难, 按无忧谷的做法来就行了 , 但是直接在脚本里处理其实并不理想, 因为这样做, 显示的是, UI显示还剩1血, 然后敌人一刀砍过来, 变成满血

尤其是给敌人使用, 玩家根本感觉不到这个效果, 毕竟默认是看不到敌人剩多少血的, 笑

所以这种触发型特效, 主要还是要考虑如何表演, 尤其是强力效果,更是要用表演来体现牛X


点评

你可以使用状态法来实现行动后演出 , 具体看下面  发表于 2026-4-30 19:50
还有多状态脚本,演出大概需要一个动画?RPG好像更直观一点,要添加的是技能和装备的注释可能  发表于 2026-4-30 17:33
敌人显血我有,RPG就没有这种困扰,你这个属于SLG看不到血。确实需要词条演出,对了,我应该不用了,因为血蓝还有怒气大招都是直接显示的  发表于 2026-4-30 17:31
死前加一个圣光救度动画可以伐?然后再加血,避免忽然满血莫名其妙,摸不着头脑。  发表于 2026-4-30 17:29
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
41773
在线时间
5970 小时
注册时间
2006-11-10
帖子
6962
9
发表于 2026-4-30 17:58:17 | 只看该作者
本帖最后由 灯笼菜刀王 于 2026-4-30 20:02 编辑

如果不需要表现"死而复活", 那可以直接播放个动画, 如果需要先躺下去,然后再站起来, 那就比较麻烦喽, 笑

RPG最好用状态, 毕竟如果用道具的话, 那塞99个, boss要砍多久, 笑



不过直接播放动画也需要处理"公式结算在动画表演之前"的问题

我使用的方法是, 用公共事件来复活, 在hp判断为0时, 在公共事件里添加动画和加血复活, 当然, 这个添加事件我是用脚本写的, 笑

你可以用状态法, 在需要播放动画的地方先附加一个没卵用的状态(定量设置为0就不会显示了), 然后找个"行动后执行指定公共事件"的脚本,  在这个公共事件里, 每个单位都判断一次是否有对应状态, 有的话就播放动画, 然后解除状态, 这样就可以实现"行动后再播放动画了"(需要在行动后表演的都可以用这个方法)

点评

所以,只要你不"滞后显示",那不管是状态还是HP数值调整还是战斗图切换, 它都会在你按下确定的时候立刻生效,然后才是技能动画表演  发表于 2026-5-4 09:58
当你按下确定键的时候, 战斗结果就立刻得到了,之后的那些动画都是表演给你看的, 笑  发表于 2026-5-4 09:56
倒地后在battler 1里加无忧的那个不屈脚本,再在状态变化时显示一次救度动画  发表于 2026-5-1 12:00
个人感觉公共事件判断血再加动画还是有点麻烦,我记得有个脚本可以在状态改变时显示动画的,我记得有的,印象里有的,剩下要做的就是倒地后..  发表于 2026-5-1 11:57
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
16860
在线时间
4199 小时
注册时间
2013-7-18
帖子
2679
10
 楼主| 发表于 2026-5-2 10:05:25 | 只看该作者
本帖最后由 y967 于 2026-5-3 07:16 编辑

10,攻击平衡球
如果我方8回合内杀不掉敌人,那么就增加攻击力,每回合增加20,这个攻击力不用抹掉了,可以带到下一场,如果四回合就干掉了,那么开始减攻击力,每次减10。

11,防御平衡球
如果不破防,已经做过了,如果敌人频繁防御,打出伤害不足200,那么开始增加我方攻击力每回合20,或者减去敌人防御力每次减掉10.

12,啃咬者幻想
敌人单次伤害超过本方1/4血的时候,造成啃咬对方20%血效果,此招对付BOSS。


13,最终杀
敌人大招杀死我方前,我方爆起怒杀对方50-70%血,然后我方死去,不留血。


14,领头羊荣耀
如果6回合我方解决不掉敌人,则搜索敌方攻击力最高的那个,减去攻击最高的敌方攻击力20,腐蚀他。还可以控制他两个回合,不管减速还是定住,还是封印技能都行。一般游戏都有这种削弱机制。

15,软猬甲/反射镜像
伤我100,自扣50,自穿软猬甲,敌人也穿,镜像无限反射

16,抗性叠叠乐
抗性数字化,火抗5,可以叠,叠一次5,叠到50,火伤害就减50。百分比也可以。

点评

都是你之前问过的同样做法, 一样从公式入手就行了  发表于 2026-5-4 11:23
退隐....
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2026-6-4 09:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表