Project1
标题:
消耗SP使用道具
[打印本页]
作者:
wzzprofile
时间:
2008-8-17 07:15
提示:
作者被禁止或删除 内容自动屏蔽
作者:
wzzprofile
时间:
2008-8-17 20:14
提示:
作者被禁止或删除 内容自动屏蔽
作者:
wzzprofile
时间:
2008-8-20 06:50
提示:
作者被禁止或删除 内容自动屏蔽
作者:
wzzprofile
时间:
2008-8-21 17:07
提示:
作者被禁止或删除 内容自动屏蔽
作者:
★_茄孓
时间:
2008-8-21 18:20
物品设置里不是有消耗与不消耗吗?
作者:
wzzprofile
时间:
2008-8-21 18:26
提示:
作者被禁止或删除 内容自动屏蔽
作者:
★_茄孓
时间:
2008-8-21 18:51
把脚本放到main前,然后在脚本内自己设置下需要效果物品的ID即可
module Item_Data
ITEM_ID = 1 # 有该效果的物品ID
end
class Scene_Item
include Item_Data
def update_target
if Input.trigger?(Input::B)
$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
if Input.trigger?(Input::C)
@item = @item_window.item
@actor_sp = $game_party.actors[@target_window.index].sp
if @item.id == ITEM_ID and @actor_sp < @item.recover_sp.abs
else
if $game_party.item_number(@item.id) == 0
$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
$game_system.se_play(@item.menu_se)
if @item.consumable
$game_party.lose_item(@item.id, 1)
@item_window.draw_item(@item_window.index)
end
@target_window.refresh
if $game_party.all_dead?
$scene = Scene_Gameover.new
return
end
if @item.common_event_id > 0
$game_temp.common_event_id = @item.common_event_id
$scene = Scene_Map.new
return
end
end
end
unless used
$game_system.se_play($data_system.buzzer_se)
end
return
end
end
end
复制代码
作者:
wzzprofile
时间:
2008-8-21 19:09
提示:
作者被禁止或删除 内容自动屏蔽
作者:
★_茄孓
时间:
2008-8-21 19:10
你ID设置好了没啊{/fd}
我默认是回复剂才有该效果,你自己看看,我都弄过可以了
作者:
★_茄孓
时间:
2008-8-21 19:11
http://rpg.blue/upload_program/files/Project9_99745891.rar
给个范例下载看吧!里面的回复剂就是-sp的 [LINE]1,#dddddd[/LINE]
系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
作者:
wzzprofile
时间:
2008-8-21 19:33
提示:
作者被禁止或删除 内容自动屏蔽
作者:
★_茄孓
时间:
2008-8-21 19:56
module Item_Data
ITEM_ID = 1 # 有该效果的物品ID
end
class Scene_Item
include Item_Data
def update_target
if Input.trigger?(Input::B)
$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
if Input.trigger?(Input::C)
@item = @item_window.item
@actor_sp = $game_party.actors[@target_window.index].sp
if @item.id == ITEM_ID and @actor_sp < @item.recover_sp.abs
else
if $game_party.item_number(@item.id) == 0
$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
$game_system.se_play(@item.menu_se)
if @item.consumable
$game_party.lose_item(@item.id, 1)
@item_window.draw_item(@item_window.index)
end
@target_window.refresh
if $game_party.all_dead?
$scene = Scene_Gameover.new
return
end
if @item.common_event_id > 0
$game_temp.common_event_id = @item.common_event_id
$scene = Scene_Map.new
return
end
end
end
unless used
$game_system.se_play($data_system.buzzer_se)
end
return
end
end
end
class Scene_Battle
include Item_Data
def update_phase3_item_select
@item_window.visible = true
@item_window.update
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
end_item_select
return
end
if Input.trigger?(Input::C)
@item = @item_window.item
@item = @item_window.item
@actor_sp = @active_battler.sp
if @item.id == ITEM_ID and @actor_sp < @item.recover_sp.abs
$game_system.se_play($data_system.cancel_se)
else
unless $game_party.item_can_use?(@item.id)
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
@active_battler.current_action.item_id = @item.id
@item_window.visible = false
if @item.scope == 1
start_enemy_select
elsif @item.scope == 3 or @item.scope == 5
start_actor_select
else
end_item_select
phase3_next_actor
end
return
end
end
end
end
复制代码
这样就可以了
作者:
wzzprofile
时间:
2008-8-21 20:06
提示:
作者被禁止或删除 内容自动屏蔽
作者:
★_茄孓
时间:
2008-8-21 20:07
一个问题解决了就先结贴
作者:
wzzprofile
时间:
2008-8-21 20:11
提示:
作者被禁止或删除 内容自动屏蔽
作者:
★_茄孓
时间:
2008-8-21 20:32
难道使用者SP要小于消耗量才能用吗?
这似乎有点麻烦了。。。不过你到底想做什么
作者:
wzzprofile
时间:
2008-8-21 20:41
提示:
作者被禁止或删除 内容自动屏蔽
作者:
★_茄孓
时间:
2008-8-21 20:44
对象的问题吧。。。不过看你还是用公共事件看看吧!
作者:
wzzprofile
时间:
2008-8-21 20:48
提示:
作者被禁止或删除 内容自动屏蔽
作者:
wzzprofile
时间:
2008-8-23 15:57
提示:
作者被禁止或删除 内容自动屏蔽
作者:
wzzprofile
时间:
2008-8-25 18:50
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1