Project1
标题:
设定技能可以使用跟不能使用
[打印本页]
作者:
xephon
时间:
2008-2-14 17:30
提示:
作者被禁止或删除 内容自动屏蔽
作者:
xiarongshan
时间:
2008-2-14 20:35
提示:
作者被禁止或删除 内容自动屏蔽
作者:
逐月
时间:
2008-2-14 20:43
提示:
作者被禁止或删除 内容自动屏蔽
作者:
xephon
时间:
2008-2-14 21:00
提示:
作者被禁止或删除 内容自动屏蔽
作者:
sukrider
时间:
2008-2-14 23:50
提示:
作者被禁止或删除 内容自动屏蔽
作者:
凌冰
时间:
2008-2-15 08:27
如果脚本没做过太大改动的话,这个能用
#-------------------------------------------------------------------------------
#天赋技能(另一种思路) By 凌冰
#------------------------------------------------------------------------------
$天赋数 = 3 #修改这里更改可以学会的技能数
#----------------------------------------------------------------------------------
class Window_Base < Window
def pressed_color #为了与可在菜单使用的颜色区分,定义一种颜色表示已点击
return Color.new(255, 255, 0, 255)#如果不需要区分,就改称return normal_color
end
end
#--------------------------------------------------------------------------------
class Game_Actor
attr_accessor :skill_press
attr_accessor :press
alias skill_updata_init setup
def setup(actor_id)
skill_updata_init(actor_id)
@skill_press = []
@press = $天赋数
for id in 1...$data_skills.size
@skill_press[id] = false
end
end
alias eci_skill_can_use? skill_can_use?
def skill_can_use?(skill_id)
result = eci_skill_can_use?(skill_id)
if skill_press[skill_id] == false
result = false
end
return result
end
end
class Scene_Skill
alias eci_update_skill update_skill
def update_skill
eci_update_skill
if Input.trigger?(Input::C)
if @actor.skill_press[@skill.id] or @actor.press == 0
$game_system.se_play($data_system.buzzer_se)
return
else
$game_system.se_play($data_system.decision_se)
@actor.skill_press[@skill.id] = true
@actor.press -= 1
@skill_window.refresh
end
end
end
end
class Window_Skill < Window_Selectable
def draw_item(index)
skill = @data[index]
if @actor.skill_can_use?(skill.id)
self.contents.font.color = normal_color
elsif @actor.skill_press[skill.id]
self.contents.font.color = pressed_color
else
self.contents.font.color = disabled_color
end
x = 4 + index % 2 * (288 + 32)
y = index / 2 * 32
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
bitmap = RPG::Cache.icon(skill.icon_name)
opacity = self.contents.font.color == normal_color ? 255 : 128
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
self.contents.draw_text(x + 28, y, 204, 32, skill.name, 0)
self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
end
end
复制代码
顺便提供范例
http://rpg.blue/upload_program/f ... 思路_83464207.rar
[LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者:
xephon
时间:
2008-2-26 05:53
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1