Jump to content
Rpg²S Forum
  • 0

[RISOLTO] Ancora Stringhe cambio font


Zosimos
 Share

Question

Questi script mi faranno uscire pazzo.

Pensavo di aver facilmente risolto il problema del cambio font, e di aver imparato. Invece, niente.

Mi trovo in difficoltà con questo script di Shop:

 

 

#======================================================================

=========

# Leon's Shopping System

#-------------------------------------------------------------------------------

# 3/10/2007

# v. 1.0

#-------------------------------------------------------------------------------

# Instructions:

# Place above main, and below the other default scripts.

# (Yes, that is all of the instructions)

#

# Features:

# Replaces the default shop system.

#

#===============================================================================

 

 

 

#===============================================================================

 

# Window_Shop_Info

#===============================================================================

 

class Window_Shop_Info

def initialize

super(160, 0, 480, 64)

self.contents = Bitmap.new(width - 32, height - 32)

refresh

end

 

def refresh(selection = 0)

self.contents.clear

if selection == 0

self.contents.draw_text(0, 0, 448, 32, "Benvenuti! In cosa posso servirvi?", 1)

else

self.contents.draw_text(0, 0, 448, 32, "Premere 'Z' per verificare la compatibilità.", 1)

end

end

end

#===============================================================================

 

# END Window_Shop_Info

#===============================================================================

 

 

 

#===============================================================================

 

# Window_Shop_Option

#===============================================================================

 

class Window_Shop_Option

def initialize

super(0, 0, 160, 128)

@option = ["Compra", "Vendi", "Esci"]

@item_max = @option.size

self.contents = Bitmap.new(width - 32, height - 32)

self.index = 0

self.active = true

refresh

end

 

def refresh

self.contents.clear

for i in 0...@option.size

y = i * 32

self.contents.draw_text(0, y, 128, 32, @option, 1)

end

end

end

#===============================================================================

 

# END Window_Shop_Option

#===============================================================================

 

 

 

#===============================================================================

 

# Window_Shop_Gold

#===============================================================================

 

class Window_Shop_Gold

def initialize

super(0, 128, 160, 64)

self.contents = Bitmap.new(width - 32, height - 32)

refresh

end

 

def refresh

self.contents.clear

self.contents.font.color = system_color

self.contents.draw_text(0, 0, 60, 32, $data_system.words.gold + ":")

self.contents.font.color = normal_color

self.contents.draw_text(0, 0, 128, 32, $game_party.gold.to_s, 2)

end

end

#===============================================================================

 

# END Window_Shop_Gold

#===============================================================================

 

 

 

#===============================================================================

 

# Window_Shop_Own

#===============================================================================

 

class Window_Shop_Own

def initialize

super(0, 192, 160, 64)

self.contents = Bitmap.new(width - 32, height - 32)

item = nil

refresh(item)

end

 

def refresh(item)

self.contents.clear

self.contents.font.color = system_color

self.contents.draw_text(0, 0, 48, 32, "Posseduti:")

if item == nil

return

end

self.contents.font.color = normal_color

case item

when RPG::Item

number = $game_party.item_number(item.id)

when RPG::Weapon

number = $game_party.weapon_number(item.id)

when RPG::Armor

number = $game_party.armor_number(item.id)

end

self.contents.draw_text(0, 0, 128, 32, number.to_s, 2)

end

end

#===============================================================================

 

# END Window_Shop_Own

#===============================================================================

 

 

 

#===============================================================================

 

# Window_Shop_List

#===============================================================================

 

class Window_Shop_List

def initialize(shop_goods)

super(160, 64, 480, 192)

self.contents = Bitmap.new(width - 32, height - 32)

self.active = false

self.index = 0

self.visible = false

@shop_goods = shop_goods

@sell = false

end

 

def item

if @data != nil

return @data[index]

end

end

 

def refresh

@sell = false

@option_index = nil

if self.contents != nil

self.contents.dispose

self.contents = nil

end

@data = []

for goods_item in @shop_goods

case goods_item[0]

when 0

item = $data_items[goods_item[1]]

when 1

item = $data_weapons[goods_item[1]]

when 2

item = $data_armors[goods_item[1]]

end

if item != nil

@data.push(item)

end

end

@item_max = @data.size

if @item_max > 0

self.contents = Bitmap.new(width - 32, row_max * 32)

for i in 0...@item_max

draw_item(i)

end

end

end

 

def refresh_sell(option_index)

@sell = true

@option_index = option_index

if self.contents != nil

self.contents.dispose

self.contents = nil

end

@data = []

for i in 1...$data_items.size

if $game_party.item_number(i) > 0

@data.push($data_items)

end

end

for i in 1...$data_weapons.size

if $game_party.weapon_number(i) > 0

@data.push($data_weapons)

end

end

for i in 1...$data_armors.size

if $game_party.armor_number(i) > 0

@data.push($data_armors)

end

end

@item_max = @data.size

if @item_max > 0

self.contents = Bitmap.new(width - 32, row_max * 32)

for i in 0...@item_max

draw_item(i)

end

end

end

 

def draw_item(index)

item = @data[index]

case item

when RPG::Item

number = $game_party.item_number(item.id)

when RPG::Weapon

number = $game_party.weapon_number(item.id)

when RPG::Armor

number = $game_party.armor_number(item.id)

end

if @option_index == nil

if item.price

self.contents.font.color = normal_color

else

self.contents.font.color = disabled_color

end

else

self.contents.font.color = normal_color

end

x = 4

y = index * 32

if item.price == 0

self.contents.font.color = disabled_color

else

self.contents.font.color = normal_color

end

if @sell == false

if item.price

self.contents.font.color = normal_color

else

self.contents.font.color = disabled_color

end

end

rect = Rect.new(x, y, self.width - 32, 32)

self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))

bitmap = RPG::Cache.icon(item.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, 212, 32, item.name, 0)

if @option_index == nil

self.contents.draw_text(x + 350, y, 88, 32, item.price.to_s, 2)

else

item_price = (item.price / 2).round

self.contents.draw_text(x + 350, y, 88, 32, item_price.to_s, 2)

end

end

end

#===============================================================================

 

# END Window_Shop_List

#===============================================================================

 

 

 

#===============================================================================

 

# Window_Shop_Description_Item

#===============================================================================

 

class Window_Shop_Description_Item

def initialize

super(90, 256, 460, 192)

self.contents = Bitmap.new(width - 32, height - 32)

self.visible = false

item = nil

refresh(item)

end

 

def refresh(item)

self.contents.clear

if item == nil

return

end

bitmap = RPG::Cache.icon(item.icon_name)

opacity = self.contents.font.color == normal_color ? 255 : 128

self.contents.blt(0, 4, bitmap, Rect.new(0, 0, 24, 24), opacity)

self.contents.draw_text(28, 0, 120, 32, item.name)

self.contents.draw_text(0, 32, 428, 32, item.description)

self.contents.font.color = system_color

self.contents.draw_text(0, 64, 120, 32, "Range:")

self.contents.draw_text(0, 96, 140, 32, "% HP Recovered:")

self.contents.draw_text(0, 128, 140, 32, "% SP Recovered:")

self.contents.draw_text(230, 96, 120, 32, "HP Recovered:")

self.contents.draw_text(230, 128, 120, 32, "SP Recovered:")

self.contents.font.color = normal_color

self.contents.draw_text(150, 96, 90, 32, item.recover_hp_rate.to_s)

self.contents.draw_text(150, 128, 90, 32, item.recover_sp_rate.to_s)

self.contents.draw_text(360, 96, 90, 32, item.recover_hp.to_s)

self.contents.draw_text(360, 128, 90, 32, item.recover_sp.to_s)

case item.scope

when 0

self.contents.draw_text(70, 64, 120, 32, "Nessuno")

when 1

self.contents.draw_text(70, 64, 120, 32, "Un avversario")

when 2

self.contents.draw_text(70, 64, 120, 32, "Tutti gli avversari")

when 3

self.contents.draw_text(70, 64, 120, 32, "Un compagno")

when 4

self.contents.draw_text(70, 64, 120, 32, "L'intera compagnia")

when 5

self.contents.draw_text(70, 64, 120, 32, "Un compagno caduto")

when 6

self.contents.draw_text(70, 64, 120, 32, "Tutti i compagni caduti")

when 7

self.contents.draw_text(70, 64, 120, 32, "Il possessore")

end

end

end

#===============================================================================

 

# END Window_Shop_Description_Item

#===============================================================================

 

 

 

#===============================================================================

 

# Window_Shop_Description_Equipment

#===============================================================================

 

class Window_Shop_Description_Equipment

def initialize

super(0, 256, 640, 224)

self.contents = Bitmap.new(width - 32, height - 32)

self.visible = false

item = nil

refresh(item)

end

 

def refresh(item)

self.contents.clear

if item == nil

return

end

bitmap = RPG::Cache.icon(item.icon_name)

opacity = self.contents.font.color == normal_color ? 255 : 128

self.contents.blt(0, 4, bitmap, Rect.new(0, 0, 24, 24), opacity)

self.contents.draw_text(28, 0, 120, 32, item.name)

self.contents.draw_text(0, 32, 460, 32, item.description)

self.contents.font.color = system_color

if item.is_a?(RPG::Weapon)

self.contents.draw_text(0, 64, 75, 32, "Offesa:")

self.contents.draw_text(0, 96, 120, 32, "Difesa:")

self.contents.draw_text(0, 128, 120, 32, "Resistenza:")

self.contents.draw_text(165, 64, 120, 32, "Forza:")

self.contents.draw_text(165, 96, 120, 32, "Destreza:")

self.contents.draw_text(165, 128, 120, 32, "Agilità:")

self.contents.draw_text(165, 160, 120, 32, "Intelligenza:")

self.contents.draw_text(290, 64, 120, 32, "Difende da:")

self.contents.draw_text(470, 64, 120, 32, "Infligge danni da:")

else

self.contents.draw_text(0, 64, 120, 32, "Difesa:")

self.contents.draw_text(0, 96, 120, 32, "Resistenza:")

self.contents.draw_text(0, 128, 120, 32, "Evasione:")

self.contents.draw_text(0, 160, 120, 32, "Auto:")

self.contents.draw_text(165, 64, 120, 32, "Forza:")

self.contents.draw_text(165, 96, 120, 32, "Destrezza:")

self.contents.draw_text(165, 128, 120, 32, "Agilità:")

self.contents.draw_text(165, 160, 120, 32, "Intelligenza:")

self.contents.draw_text(370, 64, 120, 32, "Protegge dallo Status:")

end

self.contents.font.color = normal_color

if item.is_a?(RPG::Weapon)

self.contents.draw_text(60, 64, 75, 32, item.atk.to_s)

self.contents.draw_text(90, 96, 75, 32, item.pdef.to_s)

self.contents.draw_text(90, 128, 75, 32, item.mdef.to_s)

self.contents.draw_text(195, 64, 50, 32, item.str_plus.to_s, 2)

self.contents.draw_text(195, 96, 50, 32, item.dex_plus.to_s, 2)

self.contents.draw_text(195, 128, 50, 32, item.agi_plus.to_s, 2)

self.contents.draw_text(195, 160, 50, 32, item.int_plus.to_s, 2)

self.contents.font.size = 14

for i in 0...item.element_set.size

x = 265 + i % 2 * 75

y = 80 + i / 2 * 14

self.contents.draw_text(x, y, 120, 32, $data_system.elements[item.element_set])

end

for i in 0...item.plus_state_set.size

x = 445 + i % 2 * 75

y = 80 + i / 2 * 14

self.contents.draw_text(x, y, 120, 32, $data_states[item.plus_state_set].name)

end

else

self.contents.draw_text(90, 64, 75, 32, item.pdef.to_s)

self.contents.draw_text(90, 96, 75, 32, item.mdef.to_s)

self.contents.draw_text(60, 128, 75, 32, item.eva.to_s)

if $data_states[item.auto_state_id] != nil

self.contents.draw_text(55, 160, 75, 32, $data_states[item.auto_state_id].name)

end

self.contents.draw_text(195, 64, 50, 32, item.str_plus.to_s, 2)

self.contents.draw_text(195, 96, 50, 32, item.dex_plus.to_s, 2)

self.contents.draw_text(195, 128, 50, 32, item.agi_plus.to_s, 2)

self.contents.draw_text(195, 160, 50, 32, item.int_plus.to_s, 2)

self.contents.font.size = 14

@defense = []

for i in 0...item.guard_element_set.size

@defense.push($data_system.elements[item.guard_element_set])

end

for i in 0...item.guard_state_set.size

@defense.push($data_states[item.guard_state_set].name)

end

for i in 0...@defense.size

x = 265 + i % 4 * 80

y = 80 + i / 4 * 14

self.contents.draw_text(x + 15, y, 85, 32, @defense)

end

end

self.contents.font.size = 22

end

end

#===============================================================================

 

# END Window_Shop_Description_Equipment

#===============================================================================

 

 

 

#===============================================================================

 

# Window_Shop_Actors

#===============================================================================

 

class Window_Shop_Actors

def initialize

super(84, 32, 472, 416)

self.contents = Bitmap.new(width - 32, height - 32)

self.visible = false

self.active = false

self.z += 100

item = nil

refresh(item)

end

 

def refresh(item)

self.contents.clear

if item == nil

return

end

for i in 0...$game_party.actors.size

x = i%2 * 236

y = i/2 * 192

draw_actor_graphic($game_party.actors, x + 16, y + 48)

draw_actor_name($game_party.actors, x + 48, y + 8)

pdef1 = item.pdef

mdef1 = item.mdef

str1 = item.str_plus

dex1 = item.dex_plus

agi1 = item.agi_plus

int1 = item.int_plus

atk2 = 0

eva2 = 0

pdef2 = 0

mdef2 = 0

str2 = 0

dex2 = 0

agi2 = 0

int2 = 0

if item.is_a?(RPG::Weapon)

if $data_weapons[$game_party.actors.weapon_id] != nil

atk1 = item.atk

atk2 = $data_weapons[$game_party.actors.weapon_id].atk

pdef2 = $data_weapons[$game_party.actors.weapon_id].pdef

mdef2 = $data_weapons[$game_party.actors.weapon_id].mdef

str2 = $data_weapons[$game_party.actors.weapon_id].str_plus

dex2 = $data_weapons[$game_party.actors.weapon_id].dex_plus

agi2 = $data_weapons[$game_party.actors.weapon_id].agi_plus

int2 = $data_weapons[$game_party.actors.weapon_id].int_plus

end

else

eva1 = item.eva

case item.kind

when 0

if $data_armors[$game_party.actors.armor1_id] != nil

eva2 = $data_armors[$game_party.actors.armor1_id].eva

pdef2 = $data_armors[$game_party.actors.armor1_id].pdef

mdef2 = $data_armors[$game_party.actors.armor1_id].mdef

str2 = $data_armors[$game_party.actors.armor1_id].str_plus

dex2 = $data_armors[$game_party.actors.armor1_id].dex_plus

agi2 = $data_armors[$game_party.actors.armor1_id].agi_plus

int2 = $data_armors[$game_party.actors.armor1_id].int_plus

end

when 1

if $data_armors[$game_party.actors.armor2_id] != nil

eva2 = $data_armors[$game_party.actors.armor2_id].eva

pdef2 = $data_armors[$game_party.actors.armor2_id].pdef

mdef2 = $data_armors[$game_party.actors.armor2_id].mdef

str2 = $data_armors[$game_party.actors.armor2_id].str_plus

dex2 = $data_armors[$game_party.actors.armor2_id].dex_plus

agi2 = $data_armors[$game_party.actors.armor2_id].agi_plus

int2 = $data_armors[$game_party.actors.armor2_id].int_plus

end

when 2

if $data_armors[$game_party.actors.armor3_id] != nil

eva2 = $data_armors[$game_party.actors.armor3_id].eva

pdef2 = $data_armors[$game_party.actors.armor3_id].pdef

mdef2 = $data_armors[$game_party.actors.armor3_id].mdef

str2 = $data_armors[$game_party.actors.armor3_id].str_plus

dex2 = $data_armors[$game_party.actors.armor3_id].dex_plus

agi2 = $data_armors[$game_party.actors.armor3_id].agi_plus

int2 = $data_armors[$game_party.actors.armor3_id].int_plus

end

when 3

if $data_armors[$game_party.actors.armor4_id] != nil

eva2 = $data_armors[$game_party.actors.armor4_id].eva

pdef2 = $data_armors[$game_party.actors.armor4_id].pdef

mdef2 = $data_armors[$game_party.actors.armor4_id].mdef

str2 = $data_armors[$game_party.actors.armor4_id].str_plus

dex2 = $data_armors[$game_party.actors.armor4_id].dex_plus

agi2 = $data_armors[$game_party.actors.armor4_id].agi_plus

int2 = $data_armors[$game_party.actors.armor4_id].int_plus

end

end

end

color1 = Color.new(25, 210, 25, 255)

color2 = Color.new(210, 25, 25, 255)

if $game_party.actors.equippable?(item)

self.contents.font.color = normal_color

# PDEF

if (pdef1 - pdef2) > 0

self.contents.font.color = color1

elsif (pdef1 - pdef2)

self.contents.font.color = color2

else

self.contents.font.color = normal_color

end

self.contents.draw_text(x + 25, y + 80, 70, 32, (pdef1 - pdef2).to_s, 2)

# MDEF

if (mdef1 - mdef2) > 0

self.contents.font.color = color1

elsif (mdef1 - mdef2)

self.contents.font.color = color2

else

self.contents.font.color = normal_color

end

self.contents.draw_text(x + 25, y + 112, 70, 32, (mdef1 - mdef2).to_s, 2)

# STR

if (str1 - str2) > 0

self.contents.font.color = color1

elsif (str1 - str2)

self.contents.font.color = color2

else

self.contents.font.color = normal_color

end

self.contents.draw_text(x + 125, y + 48, 70, 32, (str1 - str2).to_s, 2)

# DEX

if (dex1 - dex2) > 0

self.contents.font.color = color1

elsif (dex1 - dex2)

self.contents.font.color = color2

else

self.contents.font.color = normal_color

end

self.contents.draw_text(x + 125, y + 80, 70, 32, (dex1 - dex2).to_s, 2)

# AGI

if (agi1 - agi2) > 0

self.contents.font.color = color1

elsif (agi1 - agi2)

self.contents.font.color = color2

else

self.contents.font.color = normal_color

end

self.contents.draw_text(x + 125, y + 112, 70, 32, (agi1 - agi2).to_s, 2)

# INT

if (int1 - int2) > 0

self.contents.font.color = color1

elsif (int1 - int2)

self.contents.font.color = color2

else

self.contents.font.color = normal_color

end

self.contents.draw_text(x + 125, y + 144, 70, 32, (int1 - int2).to_s, 2)

if item.is_a?(RPG::Weapon)

self.contents.font.color = system_color

self.contents.draw_text(x, y + 48, 80, 32, "Offesa:")

self.contents.draw_text(x, y + 80, 80, 32, "Difesa:")

self.contents.draw_text(x, y + 112, 80, 32, "Resistenza:")

self.contents.draw_text(x + 110, y + 48, 80, 32, "Forza:")

self.contents.draw_text(x + 110, y + 80, 80, 32, "Destrezza:")

self.contents.draw_text(x + 110, y + 112, 80, 32, "Agilità:")

self.contents.draw_text(x + 110, y + 144, 80, 32, "Intelligenza:")

self.contents.font.color = normal_color

# ATTACK

if (atk1 - atk2) > 0

self.contents.font.color = color1

elsif (atk1 - atk2)

self.contents.font.color = color2

else

self.contents.font.color = normal_color

end

self.contents.draw_text(x + 25, y + 48, 70, 32, (atk1 - atk2).to_s, 2)

# ELSE if armor...

else

self.contents.font.color = system_color

self.contents.draw_text(x, y + 48, 80, 32, "Evasione:")

self.contents.draw_text(x, y + 80, 80, 32, "Difesa:")

self.contents.draw_text(x, y + 112, 80, 32, "Resistenza:")

self.contents.draw_text(x + 110, y + 48, 80, 32, "Forza:")

self.contents.draw_text(x + 110, y + 80, 80, 32, "Destrezza:")

self.contents.draw_text(x + 110, y + 112, 80, 32, "Agilità:")

self.contents.draw_text(x + 110, y + 144, 80, 32, "Intelligenza:")

self.contents.font.color = normal_color

if (eva1 - eva2) > 0

self.contents.font.color = color1

elsif (eva1 - eva2)

self.contents.font.color = color2

else

self.contents.font.color = normal_color

end

self.contents.draw_text(x + 25, y + 48, 70, 32, (eva1 - eva2).to_s, 2)

end

else

self.contents.font.color = disabled_color

self.contents.draw_text(x + 10, y + 80, 120, 32, "Impossibile")

self.contents.font.color = normal_color

end

end

end

end

#===============================================================================

 

# END Window_Shop_Actors

#===============================================================================

 

 

 

#===============================================================================

 

# Window_Shop_Amount

#===============================================================================

 

class Window_Shop_Amount

 

attr_accessor :amount

 

def initialize

super(80, 208, 480, 96)

@item_max = 1

self.contents = Bitmap.new(width - 32, height - 32)

self.visible = false

self.z += 100

@amount = 1

item = $data_items[1]

option_index = 0

refresh(item, option_index)

end

 

def refresh(item, option_index)

self.contents.clear

if item == nil

return

end

if option_index == nil

return

end

if option_index == 0

self.contents.font.color = system_color

self.contents.draw_text(0, 0, 200, 32, "Quanti?")

self.contents.font.color = normal_color

if $game_party.gold

self.contents.font.color = disabled_color

end

bitmap = RPG::Cache.icon(item.icon_name)

opacity = self.contents.font.color == normal_color ? 255 : 128

self.contents.blt(0, 36, bitmap, Rect.new(0, 0, 24, 24), opacity)

self.contents.draw_text(28, 32, 120, 32, item.name)

self.contents.draw_text(335, 32, 10, 32, "x")

self.contents.draw_text(280, 32, 30, 32, @amount.to_s, 2)

self.cursor_rect.set(284, 32, 32, 32)

self.contents.draw_text(370, 32, 70, 32, (@amount * item.price).to_s, 2)

else

self.contents.font.color = system_color

self.contents.draw_text(0, 0, 200, 32, "Quanti?")

self.contents.font.color = normal_color

bitmap = RPG::Cache.icon(item.icon_name)

opacity = self.contents.font.color == normal_color ? 255 : 128

self.contents.blt(0, 36, bitmap, Rect.new(0, 0, 24, 24), opacity)

self.contents.draw_text(28, 32, 120, 32, item.name)

self.contents.draw_text(335, 32, 10, 32, "x")

self.contents.draw_text(280, 32, 30, 32, @amount.to_s, 2)

self.cursor_rect.set(284, 32, 32, 32)

self.contents.draw_text(370, 32, 70, 32, (@amount * (item.price / 2)).to_s, 2)

end

end

end

#===============================================================================

 

# END Window_Shop_Amount

#===============================================================================

 

 

 

#===============================================================================

 

# Scene_Shop

#===============================================================================

 

class Scene_Shop

def main

@counter = 0

@info_window = Window_Shop_Info.new

@option_window = Window_Shop_Option.new

@gold_window = Window_Shop_Gold.new

@own_window = Window_Shop_Own.new

@list_window = Window_Shop_List.new($game_temp.shop_goods)

@desc_item_window = Window_Shop_Description_Item.new

@desc_equip_window = Window_Shop_Description_Equipment.new

@actor_window = Window_Shop_Actors.new

@amount_window = Window_Shop_Amount.new

 

Graphics.transition

loop do

Graphics.update

Input.update

update

if $scene != self

break

end

end

Graphics.freeze

 

@info_window.dispose

@option_window.dispose

@gold_window.dispose

@own_window.dispose

@list_window.dispose

@desc_item_window.dispose

@desc_equip_window.dispose

@actor_window.dispose

@amount_window.dispose

end

 

def update

@info_window.update

@option_window.update

@gold_window.update

@own_window.update

@list_window.update

@desc_item_window.update

@desc_equip_window.update

@actor_window.update

@amount_window.update

 

if @option_window.active

update_option

return

end

 

if @list_window.active

update_list

return

end

 

if @actor_window.visible

update_actors

return

end

 

if @amount_window.active and @option_window.index == 0

update_amount

return

end

 

if @amount_window.active and @option_window.index == 1

update_sell

return

end

end

 

def update_option

@info_window.refresh(0)

if Input.trigger?(Input::B)

$game_system.se_play($data_system.cancel_se)

$scene = Scene_Map.new

return

end

if Input.trigger?(Input::C)

case @option_window.index

when 0

$game_system.se_play($data_system.decision_se)

@list_window.refresh

@option_window.active = false

@list_window.visible = true

@list_window.active = true

@list_window.index = 0

when 1

$game_system.se_play($data_system.decision_se)

@list_window.refresh_sell(@option_window.index)

@option_window.active = false

@list_window.visible = true

@list_window.active = true

@list_window.index = 0

when 2

$game_system.se_play($data_system.cancel_se)

$scene = Scene_Map.new

return

end

end

end

 

def update_list

@info_window.refresh(1)

@item = @list_window.item

if @counter != 1

if @item.is_a?(RPG::Item)

@desc_item_window.refresh(@item)

@counter = 1

else

@desc_equip_window.refresh(@item)

@counter = 1

end

end

@own_window.refresh(@list_window.item)

if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN) or Input.repeat?(Input::UP) or Input.repeat?(Input::DOWN)

@counter = 0

end

if @item.is_a?(RPG::Item)

if @counter != 1

@desc_item_window.refresh(@item)

@counter = 1

end

@desc_item_window.visible = true

@desc_equip_window.visible = false

else

if @counter != 1

@desc_equip_window.refresh(@item)

@counter = 1

end

@desc_item_window.visible = false

@desc_equip_window.visible = true

end

if Input.trigger?(Input::B)

@counter = 0

$game_system.se_play($data_system.cancel_se)

@desc_item_window.visible = false

@desc_equip_window.visible = false

@desc_item_window.refresh(nil)

@desc_equip_window.refresh(nil)

@option_window.active = true

@list_window.visible = false

@list_window.active = false

@own_window.refresh(nil)

return

end

if Input.trigger?(Input::A)

unless @item.is_a?(RPG::Item)

$game_system.se_play($data_system.decision_se)

@actor_window.refresh(@item)

@actor_window.visible = true

@list_window.active = false

return

else

$game_system.se_play($data_system.buzzer_se)

end

end

if Input.trigger?(Input::C)

if @item == nil or @item.id == 0 or @item.price == 0

$game_system.se_play($data_system.buzzer_se)

return

end

if @option_window.index == 0

case @item

when RPG::Item

if $game_party.item_number(@item.id) >= 99

$game_system.se_play($data_system.buzzer_se)

return

end

when RPG::Weapon

if $game_party.weapon_number(@item.id) >= 99

$game_system.se_play($data_system.buzzer_se)

return

end

when RPG::Armor

if $game_party.armor_number(@item.id) >= 99

$game_system.se_play($data_system.buzzer_se)

return

end

end

end

$game_system.se_play($data_system.decision_se)

@amount_window.visible = true

@amount_window.active = true

@list_window.active = false

return

end

end

 

def update_actors

if Input.trigger?(Input::B)

$game_system.se_play($data_system.cancel_se)

@actor_window.visible = false

@list_window.active = true

end

end

 

def update_amount

@amount_window.refresh(@item, @option_window.index)

if Input.trigger?(Input::B)

$game_system.se_play($data_system.cancel_se)

@amount_window.amount = 1

@amount_window.visible = false

@amount_window.active = false

@list_window.active = true

return

end

if Input.trigger?(Input::C)

if $game_party.gold >= (@amount_window.amount * @item.price)

$game_system.se_play($data_system.decision_se)

$game_party.lose_gold(@amount_window.amount * @item.price)

case @item

when RPG::Item

$game_party.gain_item(@item.id, @amount_window.amount)

when RPG::Weapon

$game_party.gain_weapon(@item.id, @amount_window.amount)

when RPG::Armor

$game_party.gain_armor(@item.id, @amount_window.amount)

end

@gold_window.refresh

@amount_window.amount = 1

@amount_window.visible = false

@amount_window.active = false

@list_window.active = true

@list_window.refresh

return

else

$game_system.se_play($data_system.buzzer_se)

end

end

if Input.trigger?(Input::LEFT)

$game_system.se_play($data_system.cursor_se)

@amount_window.amount -= 1

if @amount_window.amount == 0

@amount_window.amount = 1

end

return

end

if Input.trigger?(Input::RIGHT)

$game_system.se_play($data_system.cursor_se)

@amount_window.amount += 1

case @item

when RPG::Item

if ($game_party.item_number(@item.id) + @amount_window.amount) > 99

@amount_window.amount = (99 - $game_party.item_number(@item.id))

end

when RPG::Weapon

if ($game_party.weapon_number(@item.id) + @amount_window.amount) > 99

@amount_window.amount = (99 - $game_party.weapon_number(@item.id))

end

when RPG::Armor

if ($game_party.armor_number(@item.id) + @amount_window.amount) > 99

@amount_window.amount = (99 - $game_party.armor_number(@item.id))

end

end

return

end

if Input.trigger?(Input::UP)

$game_system.se_play($data_system.cursor_se)

@amount_window.amount += 10

case @item

when RPG::Item

if ($game_party.item_number(@item.id) + @amount_window.amount) > 99

@amount_window.amount = (99 - $game_party.item_number(@item.id))

end

when RPG::Weapon

if ($game_party.weapon_number(@item.id) + @amount_window.amount) > 99

@amount_window.amount = (99 - $game_party.weapon_number(@item.id))

end

when RPG::Armor

if ($game_party.armor_number(@item.id) + @amount_window.amount) > 99

@amount_window.amount = (99 - $game_party.armor_number(@item.id))

end

end

return

end

if Input.trigger?(Input::DOWN)

$game_system.se_play($data_system.cursor_se)

@amount_window.amount -= 10

if @amount_window.amount

@amount_window.amount = 1

end

return

end

end

 

def update_sell

@amount_window.refresh(@item, @option_window.index)

if Input.trigger?(Input::B)

$game_system.se_play($data_system.cancel_se)

@amount_window.amount = 1

@amount_window.visible = false

@amount_window.active = false

@list_window.active = true

return

end

if Input.trigger?(Input::C)

if @item.price == 0

$game_system.se_play($data_system.buzzer_se)

return

end

$game_system.se_play($data_system.decision_se)

case @item

when RPG::Item

$game_party.gain_gold(@amount_window.amount * (@item.price / 2))

$game_party.lose_item(@item.id, @amount_window.amount)

when RPG::Weapon

$game_party.gain_gold(@amount_window.amount * (@item.price / 2))

$game_party.lose_weapon(@item.id, @amount_window.amount)

when RPG::Armor

$game_party.gain_gold(@amount_window.amount * (@item.price / 2))

$game_party.lose_armor(@item.id, @amount_window.amount)

end

@gold_window.refresh

@amount_window.amount = 1

@amount_window.visible = false

@amount_window.active = false

@list_window.active = true

@list_window.refresh_sell(@option_window.index)

@desc_equip_window.refresh(nil)

@desc_item_window.refresh(nil)

end

if Input.trigger?(Input::LEFT)

$game_system.se_play($data_system.cursor_se)

@amount_window.amount -= 1

if @amount_window.amount

@amount_window.amount = 1

end

end

if Input.trigger?(Input::RIGHT)

$game_system.se_play($data_system.cursor_se)

case @item

when RPG::Item

@amount_window.amount += 1

if @amount_window.amount > $game_party.item_number(@item.id)

@amount_window.amount = $game_party.item_number(@item.id)

end

when RPG::Weapon

@amount_window.amount += 1

if @amount_window.amount > $game_party.weapon_number(@item.id)

@amount_window.amount = $game_party.weapon_number(@item.id)

end

when RPG::Armor

@amount_window.amount += 1

if @amount_window.amount > $game_party.armor_number(@item.id)

@amount_window.amount = $game_party.armor_number(@item.id)

end

end

end

if Input.trigger?(Input::UP)

$game_system.se_play($data_system.cursor_se)

case @item

when RPG::Item

@amount_window.amount += 10

if @amount_window.amount > $game_party.item_number(@item.id)

@amount_window.amount = $game_party.item_number(@item.id)

end

when RPG::Weapon

@amount_window.amount += 10

if @amount_window.amount > $game_party.weapon_number(@item.id)

@amount_window.amount = $game_party.weapon_number(@item.id)

end

when RPG::Armor

@amount_window.amount += 10

if @amount_window.amount > $game_party.armor_number(@item.id)

@amount_window.amount = $game_party.armor_number(@item.id)

end

end

end

if Input.trigger?(Input::DOWN)

$game_system.se_play($data_system.cursor_se)

@amount_window.amount -= 10

if @amount_window.amount

@amount_window.amount = 1

end

end

end

 

end

 

 

Ho provato a mettere la stringa di cambio font OVUNQUE, ma non funziona mai, facendomi crashare il gioco. Potete darmi una mano?

Edited by Zosimos

Gioco in Sviluppo:

http://www.studibizantini.it/docs/Logo.png

 

Blog: Ode to my Forthcoming Winter

Riferimento

 

Contest:

http://rpg2s.net/gif/SCContest2Oct.gifx2 http://rpg2s.net/gif/SCContest1Oct.gifx1

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Se è sempre lo stesso font che vuoi usare in tutto il gioco e ti tocca modificare tutti gli script che usi per poterlo fare, allora dovresti provare ad usare lo script Main modificato da DaD, che dovrebbe coprire tutte le modalità di gestione dei font usati dalle traduzioni non ufficiali del tool, presenti in molti script custom . . .

 

Main Modificato da DaD @ Rpg2S

 

N.B.: Così com'è realizzato lo script, il gioco viene eseguito in finestra durante il Test nel Tool, ma parte a schermo intero quando giocato normalmente, con doppio clic su Game.exe . . .

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



Link to comment
Share on other sites

  • 0

Ciao carissimo,

 

in genere so come modificare il font agli script... è su questo che ho problemi.

Conoscevo il Main che mi segnali, ma purtroppo non posso usarlo, giacchè il mio Main è già pesantemente modificato a causa di un particolare menu.

Il mio trauma è che nello script del negozio che ho postato sopra non riesco a capire il punto esatto dove inserire la stringa...

 

Ti ringrazio comunque. Hai qualche consiglio?

Gioco in Sviluppo:

http://www.studibizantini.it/docs/Logo.png

 

Blog: Ode to my Forthcoming Winter

Riferimento

 

Contest:

http://rpg2s.net/gif/SCContest2Oct.gifx2 http://rpg2s.net/gif/SCContest1Oct.gifx1

Link to comment
Share on other sites

  • 0

Se sai come cambiare i font negli script, dovresti aver fatto qualcosa del genere:

Usando la funzione cerca dello script editor, hai rintracciato tutte le istruzioni del tipo

self.contents = Bitmap.new( . . . )

e subito sotto hai inserito l'istruzione

self.contents.font.name = "nome_del_font_indicato_nel_font_inspector_di_windows"

 

Se hai fatto così e ti genera errori, forse qualcosa nello script dello shop non va, altrimenti non saprei . . .

 

Per caso hai degli script che vanno a ritoccare le classi Font o Bitmap ?

 

Oppure, mi passi il tuo script Main per vedere se riesco ad aggiungere la gestione dei Font come in quello di DaD, per verificare se la cosa si può risolvere così ?

Edited by giver

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...