Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

> Tibuda's Item Popup Script Call, Help with syntax error
Fixxxer4153
post Nov 2 2012, 12:01 PM
Post #1


Level 10
Group Icon

Group: Revolutionary
Posts: 155
Type: Developer
RM Skill: Beginner




Hello, im attempting to integrate Tibuda's Item Popup Script into my project, to save myself a lot of work doing basically the same thing with events and images. The only problem Im having is the syntax for the script call.

Here's the script:
Tibuda's Item Popup

#==============================================================================
# ** Item Popup
#------------------------------------------------------------------------------
# Tibuda
# Version 1.12
# 02.23.07
#------------------------------------------------------------------------------
# * Version History :
# 01.11.07 - Version 1.00
# 01.13.07 - Version 1.01
# - Bug fix: Bug while tryin' to unequip an item in the equipment scene
# - Added: Item number font customization
# 01.19.07 - Version 1.10
# - Added: Fading icons when losing items (optional)
# - Added: Background image (optional)
# - Added: Custom colors for each item
# - Added: You can show a icon in events
# - Added: Custom colors when calling the popup_icon
# 01.23.07 - Version 1.11
# - Bug fix: Bug while changin'g class or changin' equip in the map
# 02.23.07 - Version 1.12 (one month)
# - Bug fix: Showing icon with 0 items/gold
#------------------------------------------------------------------------------
# * Instructions
# - To show an icon call the following script:
# $game_player.popup_icon(icon_name[, number, color])
# for the player
# self.event.popup_icon(icon_name[, number, color])
# for the current event
# $game_map.events[id].popup_icon(icon_name[, number, color])
# for the the event id
# - Customizing the duration
# ICON_TIME holds the time a icon is shown
# ICON_DELAY is time a icon will wait to appear when there's a icon showing
# - Customizing the item number colors
# The NUMBER_COLOR constant is the default color for all the item types
# The GOLD_NUMBER_COLOR holds the color for the gold
# The ITEM_NUMBER_COLOR hahs hold the color for specific items.
# You can add a custom color for a item this way:
# ITEM_NUMBER_COLOR = {item_id => item_color, item_id => item_color....}
# If you want a default color for all items you can use the item_id 0
# Use WEAPON_NUMBER_COLOR for weapons and ARMOR_NUMBER_COLOR for armors
#==============================================================================

#--------------------------------------------------------------------------
# module Popup_Item
#--------------------------------------------------------------------------
module Popup_Item
# Fading icons
FADE_LOSE = false
# The time we show the icon
ICON_TIME = 40
# The time before show a new item
ICON_DELAY = 24
# Icon to show when the player gets money
GOLD_ICON = "032-Item01"
# A 32x32 background image
BACKGROUND = ""
# Font for the item number
NUMBER_FONT = "Tahoma"
NUMBER_SIZE = 12
NUMBER_COLOR = Color.new(255, 255, 255)
# Custom font color for specific items
GOLD_NUMBER_COLOR = Color.new(255, 255, 0)
ITEM_NUMBER_COLOR = {}
ARMOR_NUMBER_COLOR = {}
WEAPON_NUMBER_COLOR = {}
# True if using Trickster's Method & Class Library
TRICK_MACL = false
end

#--------------------------------------------------------------------------
# Game_Character
#--------------------------------------------------------------------------
class Game_Character
attr_accessor :popup_icons
alias popup_gm_party_init initialize
def initialize
popup_gm_party_init
@popup_icons = []
end
def popup_icon(icon_name, number = 1, color = Popup_Item::NUMBER_COLOR)
@popup_icons.push([icon_name, number, color])
end
def fade_icon(icon_name, number = 1, color = Popup_Item::NUMBER_COLOR)
popup_icon(icon_name, -number, color) if Popup_Item::FADE_LOSE
end
end
#--------------------------------------------------------------------------
# Game_Party
#--------------------------------------------------------------------------
class Game_Party
attr_accessor :ignore_icon
alias popup_gm_party_init initialize
def initialize
popup_gm_party_init
@ignore_icon = false
end
def popup_icon(icon_name, number = 1, color = Popup_Item::NUMBER_COLOR)
$game_player.popup_icon(icon_name, number, color)
end
def fade_icon(icon_name, number = 1, color = Popup_Item::NUMBER_COLOR)
$game_player.fade_icon(icon_name, number, color)
end
alias popup_gm_party_gain_gold gain_gold
def gain_gold(n)
popup_gm_party_gain_gold(n)
return if @ignore_icon || n < 1
if Popup_Item::GOLD_ICON != "" and $scene.is_a?(Scene_Map)
if Popup_Item::GOLD_NUMBER_COLOR.is_a?(Color)
color = Popup_Item::GOLD_NUMBER_COLOR
else
color = Popup_Item::NUMBER_COLOR
end
popup_icon(Popup_Item::GOLD_ICON, n, color)
end
end
alias popup_gm_party_gain_item gain_item
def gain_item(id, n)
popup_gm_party_gain_item(id, n)
return if id < 1 or id >= $data_items.size or @ignore_icon || n < 1
if $scene.is_a?(Scene_Map)
if Popup_Item::ITEM_NUMBER_COLOR[id].is_a?(Color)
color = Popup_Item::ITEM_NUMBER_COLOR[id]
elsif Popup_Item::ITEM_NUMBER_COLOR[0].is_a?(Color)
color = Popup_Item::ITEM_NUMBER_COLOR[0]
else
color = Popup_Item::NUMBER_COLOR
end
popup_icon($data_items[id].icon_name, n, color)
end
end
alias popup_gm_party_gain_weapon gain_weapon
def gain_weapon(id, n)
popup_gm_party_gain_weapon(id, n)
return if id < 1 or id >= $data_weapons.size or @ignore_icon || n < 1
if $scene.is_a?(Scene_Map)
if Popup_Item::WEAPON_NUMBER_COLOR[id].is_a?(Color)
color = Popup_Item::WEAPON_NUMBER_COLOR[id]
elsif Popup_Item::WEAPON_NUMBER_COLOR[0].is_a?(Color)
color = Popup_Item::WEAPON_NUMBER_COLOR[0]
else
color = Popup_Item::NUMBER_COLOR
end
popup_icon($data_weapons[id].icon_name, n, color)
end
end
alias popup_gm_party_gain_armor gain_armor
def gain_armor(id, n)
popup_gm_party_gain_armor(id, n)
return if id < 1 or id >= $data_armors.size or @ignore_icon || n < 1
if $scene.is_a?(Scene_Map)
if Popup_Item::ARMOR_NUMBER_COLOR[id].is_a?(Color)
color = Popup_Item::ARMOR_NUMBER_COLOR[id]
elsif Popup_Item::ARMOR_NUMBER_COLOR[0].is_a?(Color)
color = Popup_Item::ARMOR_NUMBER_COLOR[0]
else
color = Popup_Item::NUMBER_COLOR
end
popup_icon($data_armors[id].icon_name, n, color)
end
end
end
#--------------------------------------------------------------------------
# Game_Actor
#--------------------------------------------------------------------------
class Game_Actor
alias popup_gm_actor_equip equip
def equip(equip_type, id)
$game_party.ignore_icon = true
popup_gm_actor_equip(equip_type, id)
$game_party.ignore_icon = false
end
end
#--------------------------------------------------------------------------
# module RPG
#--------------------------------------------------------------------------
module RPG
#--------------------------------------------------------------------------
# RPG::Sprite
#--------------------------------------------------------------------------
class Sprite
def popup_icon(name, number = 1, color = Popup_Item::NUMBER_COLOR)
return if name == "" or name == nil
return if number.is_a?(Numeric) and number < 0 and !Popup_Item::FADE_LOSE
@icons = [] if !@icons.is_a?(Array)
icon = {}
icon["time"] = 0 - @icons.size * Popup_Item::ICON_DELAY
if number.is_a?(Numeric) and number < 0
icon["fade"] = true
number = - number
else
icon["fade"] = false
end
icon["sprite"] = RPG::Sprite.new(self.viewport)
if Popup_Item::BACKGROUND != ""
bitmap = RPG::Cache.picture(Popup_Item::BACKGROUND)
icon["sprite"].bitmap = Bitmap.new(bitmap.width, bitmap.height)
icon["sprite"].bitmap.blt(0, 0, bitmap, Rect.new(0,0,bitmap.width,bitmap.width))
else
icon["sprite"].bitmap = Bitmap.new(32,32)

end
bitmap = RPG::Cache.icon(name)
icon["sprite"].bitmap.blt(4, 4, bitmap, Rect.new(0,0,24,24))
if Popup_Item::NUMBER_SIZE > 0 and number != 1 and number != ""
icon["sprite"].bitmap.font.outline = true if Popup_Item::TRICK_MACL
icon["sprite"].bitmap.font.name = Popup_Item::NUMBER_FONT
icon["sprite"].bitmap.font.size = Popup_Item::NUMBER_SIZE
icon["sprite"].bitmap.font.color = color
icon["sprite"].bitmap.draw_text(5, 28 - Popup_Item::NUMBER_SIZE - 1, 27, Popup_Item::NUMBER_SIZE, number.to_s)
end
icon["sprite"].ox = 0
icon["sprite"].oy = 20
icon["sprite"].x = self.x
icon["sprite"].y = self.y - self.oy / 2 + 1 - icon["time"]
icon["sprite"].z = 3000
icon["sprite"].visible = false
@icons.push(icon)
end
def update_icons
return unless @icons.is_a?(Array)
return if Graphics.frame_count % 2 != 0
i = 0
while i < @icons.size
if @icons[i]["time"] > Popup_Item::ICON_TIME
@icons[i]["sprite"].bitmap.dispose
@icons[i]["sprite"].dispose
@icons.delete_at(i)
else
@icons[i]["time"] += 1
if @icons[i]["fade"]
op = [255 * (1 - @icons[i]["time"] / Popup_Item::ICON_TIME),0].max
@icons[i]["sprite"].opacity = op
@icons[i]["sprite"].update
else
@icons[i]["sprite"].y -= 1
end
@icons[i]["sprite"].visible = @icons[i]["time"] >= 0
i += 1
end
end
end
alias popup_sprite_update update
def update
popup_sprite_update
update_icons
end
end
end
#--------------------------------------------------------------------------
# Sprite_Character
#--------------------------------------------------------------------------
class Sprite_Character
alias popup_spr_char_update update
def update
popup_spr_char_update
if @character.is_a?(Game_Character)
while @character.popup_icons.size > 0
popup_icon(@character.popup_icons[0][0], @character.popup_icons[0][1],
@character.popup_icons[0][2])
@character.popup_icons.delete_at(0)
end
end
update_icons
end
end


And here's the script call it tells me to use:

$game_player.popup_icon(icon_name[, number, color])

Which ive tried to make work and still cannot. The possibility of it being an incompatibility issue seems unlikely as all im getting is a general syntax error. But ive tried it like this:

$game_player.popup_icon(Minor Life[, 5, GOLD_NUMBER_COLOR]) and...
$game_player.popup_icon(Minor Life[, 5, 0]) and...
$game_player.popup_icon('Minor Life'[, 5, GOLD_NUMBER_COLOR]) and...
$game_player.popup_icon('Minor Life'[, 5, 0]) and even...
$game_player.popup_icon(Minor_Life[, 5, GOLD_NUMBER_COLOR]) and...
$game_player.popup_icon(Minor_Life[, 5, 0]) and none of them work...

Can someone please tell me what i m doing wrong, or could it be the fact that the script call will not fit on a single line inside the script call box? I would be very grateful if someone could shed light on this issue for me. Please and thank you!


__________________________
"Then it comes to be that the soothing light at the end of your tunnel... is just a freight train comin' your way..."


Which Final Fantasy Character Are You?
Final Fantasy 7
Go to the top of the page
 
+Quote Post
   
 
Start new topic
Replies
Jens of Zanicuud
post Nov 16 2012, 01:10 PM
Post #2


Dark Jentleman
Group Icon

Group: Local Mod
Posts: 904
Type: Scripter
RM Skill: Skilled
Rev Points: 120




The square brackets you used shouldn't be put in the script call. They only mean that parameter is not required to call the script.

Example:

$game_player.popup_icon(icon_name[, number, color])

means you can call it like this:

1.

CODE
$game_player.popup_icon(icon_name)


that is, you are passing only the incon name to the function. Number and color are set by default by ths script;

2.

CODE
$game_player.popup_icon(icon_name, number)


again, no color parameter, but this time you specify the number;

3.

CODE
$game_player.popup_icon(icon_name, number, color)


that is, you give the function each of the parameter you want to set.

I hope this can help,

Jens


__________________________
"Thorns are the rose's sweetest essence..."
-Jens of Zanicuud


Games I'm working on:
>

official website: TryAdIne eFfeCt

>

Games I worked on (mainly as a scripter):
>
(Warning: it's a 3rr3's project and it's in Italian!)


Awards

Go to the top of the page
 
+Quote Post
   

Posts in this topic


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 24th May 2013 - 01:11 PM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker