este script me da error¿me echais uha mano?

Para pedir o publicar scripts. Índice de scripts

este script me da error¿me echais uha mano?

Notapor manirea » 14 Jul 2008, 21:59

el caso es que estoy usando cierto script en un proyecto que de momento esta en una fase muy temprana
pero que si avanza puede ser de lo mas anbicioso.

este es el script:

Oculto:
Código: Seleccionar todo
#-------------------------------------------------------------------------------
# * Resultado de batalla estilo Final Fantasy 1.3
#-------------------------------------------------------------------------------
# Créditos a David Schooley y Sephiroth Spawn
# Script original: David Schooley
# Añadido de Barras de Exp: SephirothSpawn
# Instrucciones, traducción y modificación (ligera): CoolChainy
#-------------------------------------------------------------------------------
# * INSTRUCCIONES
#-------------------------------------------------------------------------------
# - Para usar el script, pegar encima de main. Para modificar algo, busca la etiqueta
# #EDIT#.
# - Para modificar la faces, ve a la línea 90.
#-------------------------------------------------------------------------------

#-----------------------------------------------------------------------------
# * Resultado de Batalla estilo Final Fantasy por David Schooley
#-----------------------------------------------------------------------------

class Game_Actor < Game_Battler
def exp=(exp)
@exp = [[exp, 9999999].min, 0].max
while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
@level += 1

# NEW - David
$d_new_skill = nil

for j in $data_classes[@class_id].learnings
if j.level == @level
learn_skill(j.skill_id)

# NEW - David
skill = $data_skills[j.skill_id]
$d_new_skill = skill.name

end
end
end
while @exp < @exp_list[@level]
@level -= 1
end
@hp = [@hp, self.maxhp].min
@sp = [@sp, self.maxsp].min
end

#-------------------------------------------------------------------------------
# * Get the current EXP
#-------------------------------------------------------------------------------
def now_exp
return @exp - @exp_list[@level]
end
#-------------------------------------------------------------------------------
# * Get the next level's EXP
#-------------------------------------------------------------------------------
def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
end

end

class Window_LevelUp < Window_Base

#-------------------------------------------------------------------------------
def initialize(actor, pos)
#Sistema de faces - NO MODIFICAR - Para modificar las faces ir a la línea 90
@face = false
@actor = actor
y = (pos * 120)
super(280, y, 360, 120)
self.contents = Bitmap.new(width - 32, height - 32)
self.back_opacity = 255
if $d_dum == false
refresh
end
end

#-------------------------------------------------------------------------------
def dispose
super
end

#-------------------------------------------------------------------------------
#EDIT# Aquí puedes modificar posicion de las letras y faces (ponerlas y colocarlas)
#-------------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.size = 18
draw_actor_graphic(@actor, 50, 80)
#Quita el "#" a la línea de abajo y ponselo a la que esta arriba para ver faces.
#draw_actor_face(@actor, 30, 70)
draw_actor_name(@actor, 111, 0)
draw_actor_level(@actor, 186, 0)
show_next_exp = @actor.level == 99 ? "---" : "#{@actor.next_exp}"
min_bar = @actor.level == 99 ? 1 : @actor.now_exp
max_bar = @actor.level == 99 ? 1 : @actor.next_exp
draw_slant_bar(115, 80, min_bar, max_bar, 190, 6, bar_color = Color.new(0, 100, 0, 255), end_color = Color.new(0, 255, 0, 255))
self.contents.draw_text(115, 24, 300, 32, "Exp: #{@actor.now_exp}")
self.contents.draw_text(115, 48, 300, 32, "Sig. Nivel: " + show_next_exp)
end


#-------------------------------------------------------------------------------
def level_up
self.contents.font.color = system_color
self.contents.draw_text(230, 48, 80, 32, "LEVEL UP!")
end

#-------------------------------------------------------------------------------
def update
super
end

end # of Window_LevelUp

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

# Window_EXP
# Written by: David Schooley
#===============================================================================


class Window_EXP < Window_Base

#-------------------------------------------------------------------------------
def initialize(actor, pos)
#Sistema de faces - NO MODIFICAR -
@face = false # Para modificar las faces ir a la línea 90
@actor = actor
y = (pos * 120)
super(280, y, 360, 120)
self.contents = Bitmap.new(width - 32, height - 32)
self.back_opacity = 255
if $d_dum == false
refresh
end
end

#-------------------------------------------------------------------------------
def initialize(exp)
super(0, 0, 280, 60)
self.contents = Bitmap.new(width - 32, height - 32)
self.back_opacity = 255
refresh(exp)
end

#-------------------------------------------------------------------------------
def dispose
super
end

#-------------------------------------------------------------------------------
def refresh(exp)
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, 0, 150, 32, "Experiencia:")
self.contents.font.color = normal_color
self.contents.draw_text(180, 0, 54, 32, exp.to_s, 2)
end

#-------------------------------------------------------------------------------
def update
super
end

end # of Window_EXP

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

# Window_Money_Items
# Written by: David Schooley
#===============================================================================


class Window_Money_Items < Window_Base

#-------------------------------------------------------------------------------
def initialize(money, treasures)
@treasures = treasures
super(0, 60, 280, 420)
self.contents = Bitmap.new(width - 32, height - 32)
self.back_opacity = 255
refresh(money)
end

#-------------------------------------------------------------------------------
def dispose
super
end

#-------------------------------------------------------------------------------
def refresh(money)
@money = money
self.contents.clear

self.contents.font.color = system_color
self.contents.draw_text(4, 4, 100, 32, "Objetos:")
self.contents.font.color = normal_color

y = 32
for item in @treasures
draw_item_name(item, 4, y)
y += 32
end

cx = contents.text_size($data_system.words.gold).width
self.contents.font.color = normal_color
self.contents.draw_text(4, 340, 220-cx-2, 32, $game_party.gold.to_s, 2)
self.contents.font.color = normal_color
self.contents.draw_text(4, 300, 220-cx-2, 32, "+ " + @money.to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(124-cx, 340, cx + 100, 32, $data_system.words.gold, 2)
end

def update
super
end

end # of Window_Money_Items


class Scene_Battle
alias raz_battle_report_main main
alias raz_battle_report_be battle_end

def main
# NEW - David
#$battle_end = false
@lvup_window = []
@show_dummies = true # Show dummy windows or not?
raz_battle_report_main
# NEW - David
@lvup_window = nil
@level_up = nil
@ch_stats = nil
@ch_compare_stats = nil
Audio.me_stop
end

def battle_end(result)
raz_battle_report_be(result)
# NEW - David
@status_window.visible = false
@spriteset.dispose
Graphics.transition
if result == 0
display_lv_up(@exp, @gold, @treasures)
loop do
Graphics.update
Input.update
if Input.trigger?(Input::C)
break
end
end
trash_lv_up
end

end

def start_phase5
@phase = 5
$game_system.me_play($game_system.battle_end_me)
$game_system.bgm_play($game_temp.map_bgm)
exp = 0
gold = 0
treasures = []
for enemy in $game_troop.enemies
unless enemy.hidden
exp += enemy.exp
gold += enemy.gold
if rand(100) < enemy.treasure_prob
if enemy.item_id > 0
treasures.push($data_items[enemy.item_id])
end
if enemy.weapon_id > 0
treasures.push($data_weapons[enemy.weapon_id])
end
if enemy.armor_id > 0
treasures.push($data_armors[enemy.armor_id])
end
end
end
end
treasures = treasures[0..5]

# NEW - David
@treasures = treasures
@exp = exp
@gold = gold


for item in treasures
case item
when RPG::Item
$game_party.gain_item(item.id, 1)
when RPG::Weapon
$game_party.gain_weapon(item.id, 1)
when RPG::Armor
$game_party.gain_armor(item.id, 1)
end
end
@phase5_wait_count = 10
end

def update_phase5
if @phase5_wait_count > 0
@phase5_wait_count -= 1
if @phase5_wait_count == 0

# NEW - David
$game_temp.battle_main_phase = false
end
return
end

# NEW - David
battle_end(0)

end

def display_lv_up(exp, gold, treasures)

$d_dum = false
d_extra = 0
i = 0
for actor in $game_party.actors
# Fill up the Lv up windows
@lvup_window[i] = Window_LevelUp.new($game_party.actors[i], i)
i += 1
end

# Make Dummies
if @show_dummies == true
$d_dum = true
for m in i..3
@lvup_window[m] = Window_LevelUp.new(m, m)
end
end

@exp_window = Window_EXP.new(exp)
@m_i_window = Window_Money_Items.new(gold, treasures)
@press_enter = nil
gainedexp = exp
@level_up = [0, 0, 0, 0]
@d_new_skill = ["", "", "", ""]
@d_breakout = false
@m_i_window.refresh(gold)
wait_for_OK

@d_remember = $game_system.bgs_memorize
Audio.bgs_play("Audio/SE/032-Switch01", 100, 300)

# NEW - David
max_exp = exp
value = 28
if exp < value
value = exp
end
if value == 0
value = 1
end
for n in 0..gainedexp - (max_exp / value)
exp -= (max_exp / value)
if @d_breakout == false
Input.update
end

for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
if actor.cant_get_exp? == false
last_level = actor.level
actor.exp += (max_exp / value)
# Fill up the Lv up windows
if @d_breakout == false
@lvup_window[i].refresh
@exp_window.refresh(exp)
end

if actor.level > last_level
@level_up[i] = 5
Audio.se_play("Audio/SE/056-Right02.ogg", 70, 150)
if $d_new_skill
@d_new_skill[i] = $d_new_skill
end
end

if @level_up[i] == 0
@d_new_skill[i] = ""
end

if @level_up[i] > 0
@lvup_window[i].level_up
end

if Input.trigger?(Input::C) or exp <= 0
@d_breakout = true
end
end

if @d_breakout == false
if @level_up[i] >0
@level_up[i] -= 1
end
Graphics.update
end
end

if @d_breakout == true
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
if actor.cant_get_exp? == false
actor.exp += exp
end
end
exp = 0
break
end
end
Audio.bgs_stop
@d_remember = $game_system.bgs_restore

for i in 0...$game_party.actors.size
@lvup_window[i].refresh
end
@exp_window.refresh(exp)
Audio.se_play("Audio/SE/006-System06.ogg", 70, 150)
$game_party.gain_gold(gold)
@m_i_window.refresh(0)
Graphics.update
end

def trash_lv_up
# NEW - David
i=0

for i in 0 ... 4
@lvup_window[i].visible = false
end
@exp_window.visible = false
@m_i_window.visible = false
@lvup_window = nil
@exp_window = nil
@m_i_window = nil
end

# Wait until OK key is pressed
def wait_for_OK
loop do
Input.update
Graphics.update
if Input.trigger?(Input::C)
break
end
end
end

end

#-------------------------------------------------------------------------------
# * Draw Slant Bar(by SephirothSpawn)
#-------------------------------------------------------------------------------

def draw_slant_bar(x, y, min, max, width = 152, height = 6,
bar_color = Color.new(150, 0, 0, 255), end_color = Color.new(255, 255, 60, 255))
# Draw Border
for i in 0..height
self.contents.fill_rect(x + i, y + height - i, width + 1, 1, Color.new(50, 50, 50, 255))
end
# Draw Background
for i in 1..(height - 1)
r = 100 * (height - i) / height + 0 * i / height
g = 100 * (height - i) / height + 0 * i / height
b = 100 * (height - i) / height + 0 * i / height
a = 255 * (height - i) / height + 255 * i / height
self.contents.fill_rect(x + i, y + height - i, width, 1, Color.new(r, b, g, a))
end
# Draws Bar
for i in 1..( (min / max.to_f) * width - 1)
for j in 1..(height - 1)
r = bar_color.red * (width - i) / width + end_color.red * i / width
g = bar_color.green * (width - i) / width + end_color.green * i / width
b = bar_color.blue * (width - i) / width + end_color.blue * i / width
a = bar_color.alpha * (width - i) / width + end_color.alpha * i / width
self.contents.fill_rect(x + i + j, y + height - j, 1, 1, Color.new(r, g, b, a))
end
end
end



el script es el resultado de batalla tipo ff7.
el caso es que pruebo una batalla de prueba y al acabarla me sale un mensaje.
he mirado a ver si era por lo scripts que uso....peo no.
(lo puse en un nuevo proyecto y nada,lo mismo)
¿podria alguien echarme un cable? ...

aqui teneis lo que me sale....
Imagen
------------------------------
lo haria yo pero ,no conozco mucho rgss
(entiendo varias cosas y lo aprendo , pero aun no lo se entero T-T)
Avatar de Usuario
manirea
 
Mensajes: 496
Registrado: 21 Dic 2007, 22:19

Re: este script me da error¿me echais uha mano?

Notapor Clark-CLK » 30 Ago 2010, 16:57

Puede que no lo leas despues de tanto tiempo. Pero he probado el script y me funciona perfectamente.
No me salta ningun error. Siento no poder ayudarte, pero vas a los créditos por el script XD
Imagen
Imagen
Clica en la imagen para seguir el link hacia los foros de A HOPE RPG.
Avatar de Usuario
Clark-CLK
 
Mensajes: 217
Registrado: 30 Jul 2010, 00:23
Ubicación: En la cama con tu hermana xD

Re: este script me da error¿me echais uha mano?

Notapor Clark-CLK » 18 Sep 2010, 03:54

¿usas una batalla lateral? Puede ser por eso, pues yo utilizo la dinamica y me va en cambio, si pruebo con la lateral me salta el error.
Imagen
Imagen
Clica en la imagen para seguir el link hacia los foros de A HOPE RPG.
Avatar de Usuario
Clark-CLK
 
Mensajes: 217
Registrado: 30 Jul 2010, 00:23
Ubicación: En la cama con tu hermana xD


Volver a Scripts



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados