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

Project1

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

[已经解决] 关于一个脚本的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
58 小时
注册时间
2015-8-11
帖子
64
跳转到指定楼层
1
发表于 2015-8-18 23:35:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
#状态备注栏、技能备注栏、怪物备注栏
#填写<变量X X>或<变量X -X>就能增减变量X
#填写复数变量时可以同时增减复数变量
#状态为每得到一次状态计算一次,技能为每使用一次计算一次 ,怪物为每消灭一只计算一次
#可以用在杀怪计数器,装备,技能熟练度,死亡,中毒次数的计数等方面
#杀怪任务接取时记得先把变量清零!从0开始计算杀怪数
#注意:要放在横版战斗脚本上方,不然会出现战斗速度飞快,显得无动作的BUG
class Game_Battler < Game_BattlerBase
  #--------------------------------------------------------------------------
  # ● 判定状态是否可以附加
  #--------------------------------------------------------------------------
  def state_addable?(state_id)
    if alive? && $data_states[state_id] && !state_resist?(state_id) &&
      !state_removed?(state_id) && !state_restrict?(state_id)
      variable_change(state_id, 0) # 附加状态时调用变量变化的公共脚本
      if state_id == 1 and self.is_a?(Game_Enemy)
        variable_change(self.enemy_id, 2) # 敌人死亡时调用变量变化的公共脚本
      end  
      return true
    else
      return false
    end  
  end
end  
  
class Scene_ItemBase < Scene_MenuBase
  #--------------------------------------------------------------------------
  # ● 使用物品
  #--------------------------------------------------------------------------
  def use_item
    variable_change(item.id, 1) if item.is_a?(RPG::Skill) # 平时使用技能时调用变量变化的公共脚本
    play_se_for_item
    user.use_item(item)
    use_item_to_actors
    check_common_event
    check_gameover
    @actor_window.refresh
  end
end

class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # ● 使用技能/物品
  #--------------------------------------------------------------------------
  def use_item
    item = @subject.current_action.item
    @log_window.display_use_item(@subject, item)
    @subject.use_item(item)
    refresh_status
    targets = @subject.current_action.make_targets.compact
    show_animation(targets, item.animation_id)
    targets.each {|target| item.repeats.times { invoke_item(target, item) } }
    variable_change(item.id, 1) if item.is_a?(RPG::Skill) # 战斗时使用技能时调用变量变化的公共脚本
  end
end  

#--------------------------------------------------------------------------
# ● 变量变化的公共脚本
#--------------------------------------------------------------------------
def variable_change(obj_id, type)
  case type
  when 0
    object = $data_states[obj_id]
  when 1
    object = $data_skills[obj_id]
  when 2
    object = $data_enemies[obj_id]
  end  
  object.note.each_line do |line|
    if line.include?("<变量")
      string = line.delete("<")
      string = string.delete(">")
      string = string.delete("\r\n").split(/ /)
      $game_variables[string[0].delete("变量").to_i] += string[1].to_i
    end  
  end
end

我想利用这个变量计数脚本做一个杀怪的计数,可是一直不懂这个脚本怎么用?他说“填写<变量X X>或<变量X -X>就能增减变量X”
“填写复数变量时可以同时增减复数变量”这两句是什么意思

Lv1.梦旅人

梦石
0
星屑
80
在线时间
132 小时
注册时间
2014-5-7
帖子
148
2
发表于 2015-8-21 03:56:22 | 只看该作者
填写<变量1 2>会变成1号变量+2。没有限制只能使用1次,就算同时处理20个变量也没问题。

要用杀怪计数在每个怪物栏填进"<变量(带入ID) 1>"就好了。

点评

谢谢  发表于 2015-8-25 00:05

评分

参与人数 1星屑 +200 收起 理由
taroxd + 200 认可答案

查看全部评分

「私が来た!  私が見た!  ならば次わ買つだけのこと!」
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 12:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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