Project1

标题: 【仿宝可梦】濒死时减少好感变量 [打印本页]

作者: alexncf125    时间: 2020-1-12 02:34
标题: 【仿宝可梦】濒死时减少好感变量
本帖最后由 alexncf125 于 2024-1-5 22:26 编辑

https://rpg.blue/thread-399162-1-1.html里的方法,未濒死就把变量减1了
战斗全灭的情形
战斗中止的情形
战斗外的情形

作者: KB.Driver    时间: 2020-1-12 10:32
RUBY 代码复制
  1. class Game_Actor
  2.  
  3.   alias initialize_for_count_actor_death initialize
  4.   def initialize(actor_id)
  5.     initialize_for_count_actor_death(actor_id)
  6.     $game_variables[actor_id] = 0
  7.   end
  8.  
  9.   def add_state(state_id)
  10.     if state_id == death_state_id && !death_state?
  11.       BattleManager.count_actor_death(@actor_id)
  12.     end
  13.     super
  14.   end
  15.  
  16. end
  17.  
  18. module BattleManager
  19.  
  20.   @reserved_death_count = {}
  21.  
  22.   def self.count_actor_death(actor_id)
  23.     if $game_party.in_battle
  24.       @reserved_death_count[actor_id] ||= 0
  25.       @reserved_death_count[actor_id] += 1
  26.     else
  27.       $game_variables[actor_id] -= 1
  28.     end
  29.   end
  30.  
  31.   class << self
  32.  
  33.     alias battle_end_for_count_actor_death battle_end
  34.     def battle_end(result)
  35.       @reserved_death_count.each do |k, v|
  36.         $game_variables[k] -= v
  37.       end
  38.       @reserved_death_count.clear
  39.       battle_end_for_count_actor_death(result)
  40.     end
  41.  
  42.   end
  43. end


脚本如上
不过要注意,这里用的是角色编号来控制对应的变量,
也就是说你用了N号角色,第N号变量就不要拿来做其他用途了
作者: alexncf125    时间: 2020-1-12 10:44
本帖最后由 alexncf125 于 2020-1-12 10:50 编辑
也就是说你用了N号角色,第N号变量就不要拿来做其他用途了


1.在对4号角色使用某道具时,4号变量减10
2.在某事件里把4号变量加5
3.在其它脚本里把4号变量乘2

以上在战斗里和战斗外都不可以做?
作者: alexncf125    时间: 2020-1-12 18:44
本帖最后由 alexncf125 于 2020-8-17 03:19 编辑

本層已刪




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1