查看: 1372|回复: 5

[有事请教] 如何用脚本通过公共事件对选定的敌人使用道具?

[复制链接]
梦石
0
星屑
45
在线时间
2 小时
注册时间
2025-6-18
回帖
3
发表于 2025-8-13 19:49:05 | 显示全部楼层 |阅读模式
悬赏5星屑未解决
比如说我选定了一个敌人,然后对他使用弓箭
因为弓箭伤害会随玩家属性而变化,所以不能直接通过更改属性来代替
当然如果大佬能帮我想个办法将更改的属性也做成类似使用物品时的伤害计算公式也是可以的
谢谢各位大佬

梦石
0
星屑
5217
在线时间
494 小时
注册时间
2018-6-18
回帖
598

超评测参与

发表于 2025-8-14 17:18:24 | 显示全部楼层
怎么使用弓箭,用技能还是用道具?直接设置伤害公式不行吗?
回复

使用道具 举报

梦石
0
星屑
45
在线时间
2 小时
注册时间
2025-6-18
回帖
3
 楼主| 发表于 2025-8-14 19:16:41 | 显示全部楼层
RMVXA 发表于 2025-8-14 17:18
怎么使用弓箭,用技能还是用道具?直接设置伤害公式不行吗?

用道具,因为我想具体实现下列功能:使用弓箭攻击敌人,然后自动消耗背包内所有弓箭反复使用,重点在于反复,由于RMVA的自带事件里面不能直接控制角色使用道具(或者只是我这个菜鸟没发现而已),所以我想要通过脚本实现贴中1楼的效果。所以问题不是在于“控制伤害变量”,而是在于”自动反复使用“.
谢谢大佬回复
回复

使用道具 举报

梦石
0
星屑
5217
在线时间
494 小时
注册时间
2018-6-18
回帖
598

超评测参与

发表于 2025-8-15 12:28:58 | 显示全部楼层
我想到了这个脚本,可以转换为无限使用技能直到消耗完道具,水平有限只想到这些...
[pre lang="ruby"]#--------------------------------------------------------------------
# ● require Taroxd基础设置
#    制作消耗物品的技能
#--------------------------------------------------------------------
#
#  使用方法:
#    技能备注 <itemcost item_id number>
#       item_id 为消耗的物品 id,number 为消耗的物品个数。
#       number 可不填,默认为 1(即 <itemcost item_id>)。
#    技能备注 <itemneed item_id number>
#       item_id 为需要的物品 id(不消耗),number 为消耗的物品个数。
#       number 可不填,默认为 1
#
#--------------------------------------------------------------------

Taroxd::ItemCost = Struct.new(:item, :number, :cost) do

  RE = /<item\s*(cost|need)\s+(\d+)(\s+\d+)?>/i

  def self.parse_note(note)
    note.scan(RE).map do |cost, item_id, number|
      new($data_items[item_id.to_i],
        (number ? number.to_i : 1),
        cost == 'cost')
    end
  end

  def meet?
    $game_party.item_number(item) >= number
  end

  def pay
    $game_party.lose_item(item, number) if cost
  end
end

class RPG::Skill < RPG::UsableItem
  def item_costs
    @item_costs ||= Taroxd::ItemCost.parse_note(@note)
  end
end

class Game_BattlerBase

  def_and :skill_cost_payable? do |skill|
    skill.item_costs.all?(&:meet?)
  end

  def_after :pay_skill_cost do |skill|
    skill.item_costs.each(&:pay)
  end
end[/pre]
回复

使用道具 举报

梦石
0
星屑
45
在线时间
2 小时
注册时间
2025-6-18
回帖
3
 楼主| 发表于 2025-8-15 16:12:56 | 显示全部楼层
RMVXA 发表于 2025-8-15 12:28
我想到了这个脚本,可以转换为无限使用技能直到消耗完道具,水平有限只想到这些...
#--------------------- ...


我在调用时发现了图片中的标识符错误
我将脚本与Taroxd放在了MAIN前
请问是我的使用方法错误了吗?
请问该如何正确使用该脚本?
回复

使用道具 举报

梦石
0
星屑
45
在线时间
2 小时
注册时间
2025-6-18
回帖
3
 楼主| 发表于 2025-8-15 16:23:29 | 显示全部楼层
unexpected tlDENTIFIER,expecting keyword_do or "{" or "(" (number ? number.to_i:1)
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部