以下引用诡异の猫于2008-6-30 23:36:45的发言:
这样要一个一个技能写脚本挺麻烦的- -
睡觉先,.
明天继续,.- -
以下引用snstar2006于2008-7-1 5:21:18的发言:
以下引用诡异の猫于2008-6-30 23:36:45的发言:
这样要一个一个技能写脚本挺麻烦的- -
睡觉先,.
明天继续,.- -
要不就是用備註啦
以下引用westbugs于2008-7-1 7:28:08的发言:
测试过, 没问题
迟些上载范例
#==============================================================================
#westbugs 制作,
#用法:
#把1号装备装上
#拥有一号道具
#拥有一号技能
#
#使用一号技能时, 一号道具会消失。
#需一号道具才能启动一号技能
#注:无限恐怖-轮回篇里附带脚本
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● 可以使用特技判定
# skill_id : 特技 ID
#--------------------------------------------------------------------------
def skill_can_use?(skill)
return false unless skill_learn?(skill)
#使用一号技能时, 检查一号道具和检查一号技能
if skill.id == 1
return false if $game_party.item_no(1) == 0
return false if equips.include?(1)
end
#使用一号技能时, 检查一号道具和检查一号技能
return super
end
end
class Game_Party < Game_Unit
def item_no(n)
return item_number($data_items[n])
end
def weapon_no(n)
return item_number($data_weapons[n])
end
end
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● 执行战斗行动 : 技能
#--------------------------------------------------------------------------
def execute_action_skill
skill = @active_battler.action.skill
text = @active_battler.name + skill.message1
@message_window.add_instant_text(text)
unless skill.message2.empty?
wait(10)
@message_window.add_instant_text(skill.message2)
end
targets = @active_battler.action.make_targets
display_animation(targets, skill.animation_id)
@active_battler.mp -= @active_battler.calc_mp_cost(skill)
#使用一号技能时, 消耗一号技能
if @skill.id == 1
$game_party.lose_item($data_items[1], 1)
end
#使用一号技能时, 消耗一号技能
$game_temp.common_event_id = skill.common_event_id
for target in targets
target.skill_effect(@active_battler, skill)
display_action_effects(target, skill)
end
end
end
[本贴由作者于 2008-7-1 7:44:52 最后编辑]
以下引用诡异の猫于2008-7-1 12:27:12的发言:
希望什么- -
现在有一个思路.
只是不晓得符不符合你的要求
以下引用诡异の猫于2008-7-1 18:52:31的发言:
class Game_Actor < Game_Battler
def skill_can_use?(skill)
super
if skill.element_set.include?(5)
for item in $game_party.items
return true if item.element_set.include?(5)
end
return false
end
end
def attackable?
for weapon in self.weapons
if weapon.element_set.include?(5)
for item in $game_party.items
return true if item.element_set.include?(5)
end
return false
end
end
return true
end
end
class Scene_Battle
def update_actor_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
prior_actor
elsif Input.trigger?(Input::C)
case @actor_command_window.index
when 0 # 攻击
if @active_battler.attackable?
Sound.play_decision
@active_battler.action.set_attack
start_target_enemy_selection
else
Sound.play_buzzer
end
when 1 # 特技
Sound.play_decision
start_skill_selection
when 2 # 防御
Sound.play_decision
@active_battler.action.set_guard
next_actor
when 3 # 物品
Sound.play_decision
start_item_selection
end
end
end
end
按你给我的要求做了- -
记得把武器啊.技能啊.箭筒的属性打上"弓"
就是属性的第5个..
"弓"一定要放在第5个属性.不然脚本得修改
你测试下吧
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |