Project1

标题: 怎么在脚本中获取主角的攻击力和防御力 [打印本页]

作者: xiaoxin3357    时间: 2013-7-26 23:04
标题: 怎么在脚本中获取主角的攻击力和防御力
本帖最后由 xiaoxin3357 于 2013-7-28 10:56 编辑

战斗系统想喝人物属性挂钩,所以扣减生命值时想读取一下主角的攻击力和防御力

然后脚本里怎么读取某个变量的值?
作者: 喵呜喵5    时间: 2013-7-26 23:14
RUBY 代码复制
  1. 角色相关:以下为某编号的角色的相关属性
  2. 生命:$game_actors[编号].hp
  3. 精神:$game_actors[编号].sp
  4. 经验:$game_actors[编号].exp
  5. 等级:$game_actors[编号].level
  6. 最大生命:$game_actors[编号].maxhp
  7. 最大精神:$game_actors[编号].maxsp
  8. 力量:$game_actors[编号].str
  9. 灵巧:$game_actors[编号].dex
  10. 速度:$game_actors[编号].agi
  11. 魔力:$game_actors[编号].int
  12. 攻击力:$game_actors[编号].atk
  13. 物理防御:$game_actors[编号].pdef
  14. 魔法防御:$game_actors[编号].mdef
  15. 回避修正:$game_actors[编号].eva
  16. 姓名:$game_actors[编号].name
  17. 职业编号:$game_actors[编号].class_id
  18. 职业名称:$game_actors[编号].class_name
  19. 武器编号:$game_actors[编号].weapon_id
  20. 防具1编号:$game_actors[编号].armor1_id
  21. 防具2编号:$game_actors[编号].armor2_id
  22. 防具3编号:$game_actors[编号].armor3_id
  23. 防具4编号:$game_actors[编号].armor4_id
  24. 完全回复:$game_actors[编号].recover_all
  25. 领悟特技:$game_actors[编号].learn_skill(编号)
  26. 遗忘特技:$game_actors[编号].forget_skill(编号)
  27. ——————————————————————————
  28. 位置(前卫返回0,中卫返回1,后卫返回2):$data_classes[$game_actors[编号].class_id].position
  29. 学会特技总数:$game_actors[编号].skills.size
  30.  
  31. 敌人:$game_troop.enemies[编号]
  32. 敌人拥有角色的部分功能,包括.hp,.sp,.maxhp,.maxsp,.str,.dex,.agi,.int,.atk,.pdef,.mdef,.eva

作者: xiaoxin3357    时间: 2013-7-27 21:26
喵呜喵5 发表于 2013-7-26 23:14
角色相关:以下为某编号的角色的相关属性
生命:$game_actors[编号].hp
精神:$game_actors[编号].sp

那怎么读取变量呢?我是说事件页里面那种开关、变量里面的变量
作者: xiaoxin3357    时间: 2013-7-27 21:32
喵呜喵5 发表于 2013-7-26 23:14
角色相关:以下为某编号的角色的相关属性
生命:$game_actors[编号].hp
精神:$game_actors[编号].sp

然后我在事件页里调用脚本,表示会出错啊,脚本是这句

get_character(0).monsterHP -=$game_actors[0].atk

然后会报这个错


作者: SuperMario    时间: 2013-7-28 00:06
xiaoxin3357 发表于 2013-7-27 21:32
然后我在事件页里调用脚本,表示会出错啊,脚本是这句

get_character(0).monsterHP -=$game_actors[0].a ...

太长了自动换行了吧。
然后0号角色是nil也是不能用的,起始id是1。
直接把脚本添加到Game_Interpreter里作为函数调用:
class Game_Interpreter
  def damage_by(actor_id)
    get_charactet(0).monsterHP -= $game_actors[actor_id].atk
  end
end
事件里输入damage_by(1)就以1号角色的攻击力来造成伤害。
作者: lirn    时间: 2013-7-28 00:20
直接在公共事件了将主角能力与变量绑定起来不就不用麻烦了吗?




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