查看: 2900|回复: 9

[已经解决] 怎么在脚本中获取主角的攻击力和防御力

[复制链接]
梦石
0
星屑
50
在线时间
39 小时
注册时间
2013-2-2
回帖
49
发表于 2013-7-26 23:04:37 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 xiaoxin3357 于 2013-7-28 10:56 编辑

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

然后脚本里怎么读取某个变量的值?

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2013-7-26 23:14:15 | 显示全部楼层
[pre lang="ruby" line="1"]角色相关:以下为某编号的角色的相关属性
生命:$game_actors[编号].hp
精神:$game_actors[编号].sp
经验:$game_actors[编号].exp
等级:$game_actors[编号].level
最大生命:$game_actors[编号].maxhp
最大精神:$game_actors[编号].maxsp
力量:$game_actors[编号].str
灵巧:$game_actors[编号].dex
速度:$game_actors[编号].agi
魔力:$game_actors[编号].int
攻击力:$game_actors[编号].atk
物理防御:$game_actors[编号].pdef
魔法防御:$game_actors[编号].mdef
回避修正:$game_actors[编号].eva
姓名:$game_actors[编号].name
职业编号:$game_actors[编号].class_id
职业名称:$game_actors[编号].class_name
武器编号:$game_actors[编号].weapon_id
防具1编号:$game_actors[编号].armor1_id
防具2编号:$game_actors[编号].armor2_id
防具3编号:$game_actors[编号].armor3_id
防具4编号:$game_actors[编号].armor4_id
完全回复:$game_actors[编号].recover_all
领悟特技:$game_actors[编号].learn_skill(编号)
遗忘特技:$game_actors[编号].forget_skill(编号)
——————————————————————————
位置(前卫返回0,中卫返回1,后卫返回2):$data_classes[$game_actors[编号].class_id].position
学会特技总数:$game_actors[编号].skills.size

敌人:$game_troop.enemies[编号]
敌人拥有角色的部分功能,包括.hp,.sp,.maxhp,.maxsp,.str,.dex,.agi,.int,.atk,.pdef,.mdef,.eva
[/pre]

点评

喵5大佬~来把黑历史删掉吧~Q群有群友把这些xp代码用到va去了~  发表于 2023-6-17 09:48

评分

参与人数 1星屑 +100 收起 理由
Sion + 100 感谢帮忙

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
39 小时
注册时间
2013-2-2
回帖
49
 楼主| 发表于 2013-7-27 21:26:21 | 显示全部楼层
喵呜喵5 发表于 2013-7-26 23:14
角色相关:以下为某编号的角色的相关属性
生命:$game_actors[编号].hp
精神:$game_actors[编号].sp

那怎么读取变量呢?我是说事件页里面那种开关、变量里面的变量

点评

开关 $game_switches[编号],变量 $game_variables[编号]  发表于 2013-7-27 22:09
回复

使用道具 举报

梦石
0
星屑
50
在线时间
39 小时
注册时间
2013-2-2
回帖
49
 楼主| 发表于 2013-7-27 21:32:10 | 显示全部楼层
喵呜喵5 发表于 2013-7-26 23:14
角色相关:以下为某编号的角色的相关属性
生命:$game_actors[编号].hp
精神:$game_actors[编号].sp

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

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

然后会报这个错

EE.jpg

点评

角色ID从1开始  发表于 2013-7-27 22:29
回复

使用道具 举报

梦石
0
星屑
50
在线时间
466 小时
注册时间
2013-2-8
回帖
420
发表于 2013-7-28 00:06:10 来自手机 | 显示全部楼层
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号角色的攻击力来造成伤害。

点评

脚本里加入函数这个办法给我启发了,3Q  发表于 2013-7-28 01:09

评分

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

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
回帖
693
发表于 2013-7-28 00:20:54 | 显示全部楼层
直接在公共事件了将主角能力与变量绑定起来不就不用麻烦了吗?
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部