Project1
标题:
求好心人写个像这个类似的脚本
[打印本页]
作者:
苹果星ねこ
时间:
2012-5-26 19:26
标题:
求好心人写个像这个类似的脚本
本帖最后由 苹果星ねこ 于 2012-5-26 19:26 编辑
这个是魔法特殊显示
我想用在使用物品和防御也有这样的效果
本人脚本不好,求帮忙
#==============================================================================
#使用特技时自定义显示内容
#
#战斗中使用特技的时候上面那个窄窄的长长的窗口显示自定义的内容~
#==============================================================================
#使用方法:要使用特效的特技介绍部分后面加上一个英文逗号,然后写要显示的东东。
#插入以下字符可以实现相对应的效果。
#a 显示使用者的名字
# 显示目标的名字
#
显示这个特技的名字-_-|||(感觉完全是偷懒用滴~~~)
#
#另外,如果和6的技能分类脚本并用的话,要把@部分写在最后面。
#==============================================================================
#==============================================================================
#RPG模块SKILL部分的修改
#==============================================================================
module RPG
class Skill
attr_accessor :description
def description
@description.split(/,/)[0] == nil ? @description : @description.split(/,/)[0]
end
def help
return @description.split(/,/)[1]
end
end
end
#==============================================================================
# ■ Scene_Battle (分割定义 4)
#------------------------------------------------------------------------------
# 处理战斗画面的类。
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# ● 生成特技行动结果
#--------------------------------------------------------------------------
def make_skill_action_result
# 获取特技
@skill = $data_skills[@active_battler.current_action.skill_id]
# 如果不是强制行动
unless @active_battler.current_action.forcing
# 因为 SP 耗尽而无法使用的情况下
unless @active_battler.skill_can_use?(@skill.id)
# 清除强制行动对像的战斗者
$game_temp.forcing_battler = nil
# 移至步骤 1
@phase4_step = 1
return
end
end
# 消耗 SP
@active_battler.sp -= @skill.sp_cost
# 刷新状态窗口
@status_window.refresh
# 设置对像侧战斗者
set_target_battlers(@skill.scope)
########################################################eclair
# 在帮助窗口显示特技名
if @skill.help != nil
tar = ""
text = @skill.help
case @skill.scope
when 1
tar = @target_battlers[0].name
when 2
tar = "敌人全体"
when 3
tar = @target_battlers[0].name
when 4
tar = "我方全体"
when 5
tar = "自己"
end
tar = "自己" if tar == @active_battler.name
loop do
last_text = text.clone
text.gsub!(/\a/){@active_battler.name}
text.gsub!(/\t/){tar}
text.gsub!(/\n/){@skill.name}
text = text.split(/@/)[0] #避开特技分类的冲突 :)
break if text == last_text
end
@help_window.set_text(text, 1)
else
@help_window.set_text(@skill.name, 1)
end
########################################################eclair
# 设置动画 ID
@animation1_id = @skill.animation1_id
@animation2_id = @skill.animation2_id
# 设置公共事件 ID
@common_event_id = @skill.common_event_id
# 应用特技效果
for target in @target_battlers
target.skill_effect(@active_battler, @skill)
end
end
end
复制代码
‘‘──苹果星ねこ于2012-5-28 22:06补充以下内容:
{:5_160:}
没有人
’’ dsu_plus_rewardpost_czw
作者:
RPG三国杀
时间:
2012-5-31 17:19
好像很难,我看略微修改一下这个脚本
作者:
英顺的马甲
时间:
2012-5-31 17:33
本帖最后由 英顺的马甲 于 2012-5-31 17:37 编辑
物品的是做到了,设置方法与技能一样
module RPG
class Item
attr_accessor :description
def description
@description.split(/,/)[0] == nil ? @description : @description.split(/,/)[0]
end
def help
return @description.split(/,/)[1]
end
end
end
class Scene_Battle
def make_item_action_result
# 获取物品
@item = $data_items[@active_battler.current_action.item_id]
# 因为物品耗尽而无法使用的情况下
unless $game_party.item_can_use?(@item.id)
# 移至步骤 1
@phase4_step = 1
return
end
# 消耗品的情况下
if @item.consumable
# 使用的物品减 1
$game_party.lose_item(@item.id, 1)
end
#######################################################eclair
# 在帮助窗口显示特技名
if @item.help != nil
tar = ""
text = @item.help
case @item.scope
when 1
tar = @target_battlers[0].name
when 2
tar = "敌人全体"
when 3
tar = @target_battlers[0].name
when 4
tar = "我方全体"
when 5
tar = "自己"
end
tar = "自己" if tar == @active_battler.name
loop do
last_text = text.clone
text.gsub!(/\a/){@active_battler.name}
text.gsub!(/\t/){tar}
text.gsub!(/\n/){@item.name}
text = text.split(/@/)[0] #避开特技分类的冲突 :)
break if text == last_text
end
@help_window.set_text(text, 1)
else
@help_window.set_text(@item.name, 1)
end
########################################################eclair
# 设置动画 ID
@animation1_id = @item.animation1_id
@animation2_id = @item.animation2_id
# 设置公共事件 ID
@common_event_id = @item.common_event_id
# 确定对像
index = @active_battler.current_action.target_index
target = $game_party.smooth_target_actor(index)
# 设置对像侧战斗者
set_target_battlers(@item.scope)
# 应用物品效果
for target in @target_battlers
target.item_effect(@item)
end
end
end
复制代码
���
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1