查看: 3890|回复: 11

[已经解决] 弱弱的問一個腳本,如何將身上裝備ID帶入某一變數??

[复制链接]
梦石
0
星屑
562
在线时间
465 小时
注册时间
2009-10-11
回帖
322
发表于 2013-11-23 11:05:59 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 a000b1745 于 2013-11-23 15:33 编辑

譬如我要判定角色12 身上的武器ID 帶入一個變數,要如何實現??
$game_actors[12].weapon_id == $game_variables[85]    <---(失敗的範例、正確該怎寫呢...)

如果不是武器是裝備,那個 TYPE位置 又該怎麼插入??

我的想法是這樣、應該會出現兩個變數、第一個 [變數84] 是來指定TYPE的,
[變數85] 是來讓我要的裝備ID帶進去的、也就是腳本給我的結果。

也就是說我要先提供這個腳本我要判定位置為頭盔 我給他 [變數84] = 1
然後事件執行 代碼 就會給我 頭盔 的防具ID,也就是 [變數85] 。

請教這樣的腳本該如何寫呢{:2_276:}  
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。

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

开拓者短篇九导演组冠军

发表于 2013-11-23 11:50:50 | 显示全部楼层
  1. $game_party.members.each do |actor|
  2. #~ if !actor.equips[0] and !actor.dual_wield?
  3. #~ p actor.name.to_s + "没拿武器"
  4. #~ next
  5. #~ end
  6. #~ p actor.name.to_s + "的武器ID是:"
  7. p actor.equips[0].id if actor.equips[0]
  8. #~ next if !actor.dual_wield?
  9. #~ p "以及" if actor.equips[0]
  10. p actor.equips[1].id if (actor.equips[1].etype_id == 0)
  11. end
复制代码
另外赋值操作是一个等号不是你那个失败范例中的两个等号

评分

参与人数 1星屑 +6 收起 理由
a000b1745 + 6 雖然不懂...但也是謝謝您!!

查看全部评分

回复

使用道具 举报

巫女会长

梦石
0
星屑
60
在线时间
1028 小时
注册时间
2009-10-24
回帖
3425

贵宾

发表于 2013-11-23 11:59:19 | 显示全部楼层
$game_actors[i].weapons[0]直接获取角色i的武器(双持的情况为$game_actors[i].weapons[0]和$game_actors[i].weapons[1]),然后$game_actors[i].weapons[0].id获取武器id,如果是防具则$game_actors[i].armors获取防具数组,或者直接$game_actors[i].equips[slot_id],通过装备栏id来获取相应装备

评分

参与人数 2星屑 +6 梦石 +1 收起 理由
Sion + 1 认可答案
a000b1745 + 6 感謝幫忙!!

查看全部评分

回复

使用道具 举报

梦石
0
星屑
562
在线时间
465 小时
注册时间
2009-10-11
回帖
322
 楼主| 发表于 2013-11-23 15:20:06 | 显示全部楼层
本帖最后由 a000b1745 于 2013-11-23 15:29 编辑
dukesward 发表于 2013-11-23 11:59
$game_actors.weapons[0]直接获取角色i的武器(双持的情况为$game_actors.weapons[0]和$game_actors.weapon ...


可是我這樣寫...他不會把 ID代入變數85耶??
$game_actors[1].weapons[0].id = $game_variables[85]

難道不是這樣嗎{:2_258:}

-------------------------------------三分鐘後...

$game_variables[85] = $game_actors[1].weapons[0].id
原來是這樣 寫反了(糗...)

点评

写反了,试试$game_variables[85] = $game_actors[1].weapons[0].id  发表于 2013-11-23 16:35
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。
回复

使用道具 举报

梦石
0
星屑
562
在线时间
465 小时
注册时间
2009-10-11
回帖
322
 楼主| 发表于 2013-11-24 03:51:20 | 显示全部楼层
dukesward 发表于 2013-11-23 11:59
$game_actors.weapons[0]直接获取角色i的武器(双持的情况为$game_actors.weapons[0]和$game_actors.weapon ...

可是如果武器欄是空的會報錯
if $game_actors[12].equip(0, nil) == true 這樣寫法也不對

想請問沒裝武器/防具下如何讓 變數X=0??
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。
回复

使用道具 举报

巫女会长

梦石
0
星屑
60
在线时间
1028 小时
注册时间
2009-10-24
回帖
3425

贵宾

发表于 2013-11-24 04:42:22 | 显示全部楼层
假设X是变量,X = $game_actors[i].weapons.empty? ? 0 : $game_actors[i].weapons[0].id
当角色装备武器的时候变量X代入武器id,没装备的时候X代入0

评分

参与人数 1星屑 +4 收起 理由
a000b1745 + 4 謝謝你補充答案:)

查看全部评分

回复

使用道具 举报

梦石
0
星屑
562
在线时间
465 小时
注册时间
2009-10-11
回帖
322
 楼主| 发表于 2013-11-24 10:46:22 | 显示全部楼层
dukesward 发表于 2013-11-24 04:42
假设X是变量,X = $game_actors.weapons.empty? ? 0 : $game_actors.weapons[0].id
当角色装备武器的时候变 ...

疑...可是為什麼不能直接把WEAPON換成equips[1]呢??
那這樣如果是TYPE 1 裝備的位置該怎麼判斷他是不是空的??

$game_variables[X] = $game_actors.equips[1].empty? ? 0 : $game_actors.equips[1][0].id
失敗...{:2_271:}

点评

empty?方法只能用于数组,你把它用在非数组对象当然是会失败的。你可以用$game_variables[X] = $game_actors.equips.empty? ? 0 : $game_actors.equips[0].id获取装备位置0  发表于 2013-11-24 11:40
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。
回复

使用道具 举报

梦石
0
星屑
562
在线时间
465 小时
注册时间
2009-10-11
回帖
322
 楼主| 发表于 2013-11-24 12:11:51 | 显示全部楼层
dukesward 发表于 2013-11-24 04:42
假设X是变量,X = $game_actors.weapons.empty? ? 0 : $game_actors.weapons[0].id
当角色装备武器的时候变 ...

$game_variables[X] = $game_actors.equips.empty? ? 0 : $game_actors.equips[1].id
可以抓到裝備 Type 1 的變數了~ 但是在沒裝備的時候會報錯...
可是我都照著X = $game_actors.weapons.empty? ? 0 : $game_actors.weapons[0].id的方法寫了...
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。
回复

使用道具 举报

巫女会长

梦石
0
星屑
60
在线时间
1028 小时
注册时间
2009-10-24
回帖
3425

贵宾

发表于 2013-11-24 13:30:27 | 显示全部楼层
注意是$game_variables[X] = $game_actors[id].equips.empty? ? 0 : $game_actors[id].equips[0].id, 比如角色id是1就是$game_variables[X] = $game_actors[1].equips.empty? ? 0 : $game_actors[1].equips[0].id,注意在事件里用的时候把game_actors[id]放在同一行否则会出错。如果再不行就把错误信息贴出来。
回复

使用道具 举报

梦石
0
星屑
562
在线时间
465 小时
注册时间
2009-10-11
回帖
322
 楼主| 发表于 2013-11-24 13:44:05 | 显示全部楼层
dukesward 发表于 2013-11-24 13:30
注意是$game_variables[X] = $game_actors.equips.empty? ? 0 : $game_actors.equips[0].id, 比如角色id是1 ...

武器那邊是沒問題的!
就算不裝備武器變數85 也會自動 = 0

...但是防具不裝備就報錯了。
擷取2.JPG
擷取.JPG
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部