Project1
标题:
如何装备特定武器才能使用特定的技能
[打印本页]
作者:
.さっとりーん
时间:
2012-8-10 19:37
标题:
如何装备特定武器才能使用特定的技能
比如当装备剑类武器时才能使用斩击技能
装备其他类武器就不能使用斩击技能
怎么做,要什么脚本?
对了,要用于横版战斗的。 dsu_plus_rewardpost_czw
作者:
devilg
时间:
2012-8-10 20:35
做起来还蛮简单的,主要是从rmxp里抄下来的自动状态
注意下面的是直接替换用的,因为是从自己的东西扣下来的而且写的乱七八糟,不能用的话告诉我。
class Game_Battler
def skill_can_use?(skill)
return false unless skill.is_a?(RPG::Skill)
return false unless movable?
return false if silent? and skill.spi_f > 0
required_state=[]
eval(skill.note)
for onlyYou in required_state
return false unless state?(onlyYou)
end
if skill.extension.include?("HP消耗")
return false if calc_mp_cost(skill) > hp
else
return false if calc_mp_cost(skill) > mp
end
if $game_temp.in_battle
return skill.battle_ok?
else
return skill.menu_ok?
end
end
end
class Scene_Battle < Scene_Base
def process_battle_start
process_battle_start_n01
#auto_state starts here
# 如果二刀流让左(下部显示)手武器像右(上部表示)手武器那样没有持有时
# 在这里强制替换他
for member in $game_party.members
member.auto_state
if member.weapons[0] == nil and member.weapons[1] != nil
member.change_equip_by_id(0, member.armor1_id)
member.change_equip_by_id(1, 0)
member.two_swords_change = true
end
end
@status_window.refresh
end
end
class Game_Actor < Game_Battler
def auto_state
for item in equips.compact
auto_stat_id =[]
eval(item.note)
if auto_stat_id!=[]
for i in auto_stat_id
if i[1]==@class_id || i[1]==0
add_state(i[0])
hp=0 if i[0]==1
end
end
end
end
end
end
复制代码
设置完以后在斩击技能里的备注写上
required_state=[46]#类似的
然后在剑类武器的备注加上
auto_stat_id=[[46,0]]#46跟上面的数要对上。
作者:
.さっとりーん
时间:
2012-8-12 20:30
本帖最后由 .さっとりーん 于 2012-8-15 20:59 编辑
devilg 发表于 2012-8-10 20:35
做起来还蛮简单的,主要是从rmxp里抄下来的自动状态
注意下面的是直接替换用的,因为是从自己的东西扣下来 ...
我想做成这样
用属性来判断,凡是武器加个斩击属性,就能使用
带有斩击属性的技能,这样可否实现
@devilg
在不?
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1