Project1
标题:
關於升級配點腳本如何做出「能力重置藥品」?(已解決)
[打印本页]
作者:
柳橙汁
时间:
2009-11-3 21:55
标题:
關於升級配點腳本如何做出「能力重置藥品」?(已解決)
本帖最后由 柳橙汁 于 2009-11-4 13:49 编辑
我用了站上的升級配點腳本
http://rpg.blue/web/index.php?doc-view-4173
我想請問
要如何做出「能力重置藥品」?
能力重置藥品
說明:使用後該角色重新獲得其等級所能獲得的能力點數,且消去之前所加過的能力值
(假設玩家總共加了50點血量、15點力量、10點速度,則消去這些能力值)
作者:
Eienshinken
时间:
2009-11-4 06:00
本帖最后由 Eienshinken 于 2009-11-4 06:01 编辑
试写了下. 也只是改改原脚本的变量在ITEM里使用.判断人物状态来实现功能
用的时候注意设置道具的状态ID,给那个道具添加一个状态....
点数与开关设置与原脚本一样就行了.
#==============================================================================
# ■ module SET
#------------------------------------------------------------------------------
# 开关与点数的设定项目。
# 注意!请与加点脚本设置一样,不然会出现点数错误!!!!
# 这里默认与原脚本一样 BY:Eienshinken
#==============================================================================
module SET
STATES_ID = 17 # 使用道具时人物变化的状态,拥有这个状态的人物点数重置。
LEVEL_UP_POINT = 3 # 每升一级所增加的点数
LEVEL_UP_VARIABLE = 100 # 储存角色点数的变量编号与角色id编号的差值
# 默认情况 = 100,
# 则是数据库里1号角色的加点数存于101号变量
# 3号角色的加点数存于103号变量。
# 你可以直接操作变量赠与角色可分配点数
end
#==============================================================================
# ■ Scene_Item
#------------------------------------------------------------------------------
# 处理物品画面的类。
#==============================================================================
class Scene_Item
#--------------------------------------------------------------------------
# ● 刷新画面 (目标窗口被激活的情况下)
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
# ● 刷新画面 (目标窗口被激活的情况下)
#--------------------------------------------------------------------------
def update_target
# 按下 B 键的情况下
if Input.trigger?(Input::B)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 由于物品用完而不能使用的场合
unless $game_party.item_can_use?(@item.id)
# 再次生成物品窗口的内容
@item_window.refresh
end
# 删除目标窗口
@item_window.active = true
@target_window.visible = false
@target_window.active = false
return
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
# 如果物品用完的情况下
if $game_party.item_number(@item.id) == 0
# 演奏冻结 SE
$game_system.se_play($data_system.buzzer_se)
return
end
# 目标是全体的情况下
if @target_window.index == -1
# 对同伴全体应用物品使用效果
used = false
for i in $game_party.actors
used |= i.item_effect(@item)
end
end
# 目标是单体的情况下
if @target_window.index >= 0
# 对目标角色应用物品的使用效果
target = $game_party.actors[@target_window.index]
used = target.item_effect(@item)
end
# 使用物品的情况下
if used
# 演奏物品使用时的 SE
$game_system.se_play(@item.menu_se)
# 消耗品的情况下
if @item.consumable
# 使用的物品数减 1
$game_party.lose_item(@item.id, 1)
# 再描绘物品窗口的项目
@item_window.draw_item(@item_window.index)
end
# 再生成目标窗口的内容
for i in 0...$game_party.actors.size
if $game_party.actors[i].state?(SET::STATES_ID)
$game_party.actors[i].maxhp = $game_party.actors[i].base_maxhp
$game_party.actors[i].maxsp = $game_party.actors[i].base_maxsp
$game_party.actors[i].str = $game_party.actors[i].base_str
$game_party.actors[i].dex = $game_party.actors[i].base_dex
$game_party.actors[i].agi = $game_party.actors[i].base_agi
$game_party.actors[i].int = $game_party.actors[i].base_int
@actor_level = $game_party.actors[i].level
@actor_point = @actor_level * SET::LEVEL_UP_POINT
@actor_id = $game_party.actors[i].id
$game_variables[@actor_id + SET::LEVEL_UP_VARIABLE] = @actor_point - SET::LEVEL_UP_POINT
$game_party.actors[i].remove_state(SET::STATES_ID)
end
end
@target_window.refresh
# 全灭的情况下
if $game_party.all_dead?
# 切换到游戏结束画面
$scene = Scene_Gameover.new
return
end
# 公共事件 ID 有效的情况下
if @item.common_event_id > 0
# 预约调用公共事件
$game_temp.common_event_id = @item.common_event_id
# 切换到地图画面
$scene = Scene_Map.new
return
end
end
# 无法使用物品的情况下
unless used
# 演奏冻结 SE
$game_system.se_play($data_system.buzzer_se)
end
return
end
end
end
复制代码
作者:
柳橙汁
时间:
2009-11-4 12:41
2#
Eienshinken
姊姊可以給範例嗎~? 比較清楚~ =ˇ=
我測試後發現兩個怪現象
1:角色升級後,如果將能力點數用完,然後再使用「能力重置藥品」,會變成無法使用。
2:角色升級後,如果沒將能力點數用完,然後再使用「能力重置藥品」,藥品會消失,但是沒有任何效果。
不知道是我設置哪裡有問題嗎? ⊙_⊙
作者:
冬季冰川
时间:
2009-11-4 13:13
提示:
作者被禁止或删除 内容自动屏蔽
作者:
柳橙汁
时间:
2009-11-4 13:38
4#
冬季冰川
我找出問題了~
我用了這個物品分類的腳本
http://rpg.blue/web/htm/news126.htm
不知道要怎麼整合? = =
作者:
柳橙汁
时间:
2009-11-4 13:49
感謝姊姊寫這個腳本!!感謝冬季做範例給我!!
我自己整合了!! 感恩~! =ˇ=
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1