Skill Items
Authors: game_guy
Version: 1.0
Type: Skill Teaching Items
Key Term: Misc Add-on
IntroductionFIRST OF ALL
WILL BE AVAILABLE IN TONS OF ADD ONSItems now teach actors skills!
Features
- Items that teach actors skills.
ScreenshotsThe actors skills before the item
The item used on the actor
The actors skills after the item
DemoDemo
ScriptScript
=begin
#==============================================================================#
# Script : Skill Items #
# Auther : Game_Guy #
# Version : 1.0 #
#==============================================================================#
Intro:
Makes items teach players skills.
Instructions:
First go in the database, go to the System Tab and make a new element id and name
it Skill Item. Come back in here and change the 17 below in the module to the id
of the element you just made.
Now go further below and you'll see
# CONFIG use
follow those instructions to set skills to item id's. Then you're set.
One more thing, in items, the ones that are skill items make sure to mark the
element id that you chose in the Elements or else it wont work.
Features:
Makes items teach actors skills.
=end
module GameGuy
ElementId = 17 # The elemental id in the System tab
end
module RPG
class Item
def skill
case id
# CONFIG use
# when x return y
# x = item id, y = skill id
# when 2 then return 13
# The above will make item id 2 make an actor learn the skill id of 13
when 2 then return 13
when 1 then return 1
end
end
end
end
class Scene_Item
#--------------------------------------------------------------------------
# * Frame Update (when target window is active)
#--------------------------------------------------------------------------
def update_target
# If B button was pressed
if Input.trigger?(Input::B)
# Play cancel SE
$game_system.se_play($data_system.cancel_se)
# If unable to use because items ran out
unless $game_party.item_can_use?(@item.id)
# Remake item window contents
@item_window.refresh
end
# Erase target window
@item_window.active = true
@target_window.visible = false
@target_window.active = false
return
end
# If C button was pressed
if Input.trigger?(Input::C)
# If items are used up
if $game_party.item_number(@item.id) == 0
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# If target is all
if @target_window.index == -1
# Apply item effects to entire party
used = false
for i in $game_party.actors
used |= i.item_effect(@item)
end
end
# If single target
if @target_window.index >= 0
# Apply item use effects to target actor
target = $game_party.actors[@target_window.index]
if @item.element_set.include?(GameGuy::ElementId)
$game_actors[$game_party.actors[@target_window.index].id].learn_skill(@item.skill)
used = true
else
used = target.item_effect(@item)
end
end
# If an item was used
if used
# Play item use SE
$game_system.se_play(@item.menu_se)
# If consumable
if @item.consumable
# Decrease used items by 1
$game_party.lose_item(@item.id, 1)
# Redraw item window item
@item_window.draw_item(@item_window.index)
end
# Remake target window contents
@target_window.refresh
# If all party members are dead
if $game_party.all_dead?
# Switch to game over screen
$scene = Scene_Gameover.new
return
end
# If common event ID is valid
if @item.common_event_id > 0
# Common event call reservation
$game_temp.common_event_id = @item.common_event_id
# Switch to map screen
$scene = Scene_Map.new
return
end
end
# If item wasn't used
unless used
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
end
return
end
end
end
InstructionsFirst go in the database, go to the System Tab and make a new element id and name
it Skill Item. Come back in here and change the 17 below in the module to the id
of the element you just made.
Now go further below and you'll see
# CONFIG use
follow those instructions to set skills to item id's. Then you're set.
One more thing, in items, the ones that are skill items make sure to mark the
element id that you chose in the Elements or else it wont work.
CompatibilityNone yet found. Not tested with SDK.
Credits and Thanks
- game_guy ~ making the script
- Beta Testers ~ Krause, Sally, and another person I cant speak of
Author's NotesIf you only want certain Skill Items to work on certain actors I recommend Tons of Add Ons. Fantasist has an add on in there for actor specific items.