Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 3821 miembros registrados.
El último usuario registrado es MikeWasauski.

Nuestros miembros han publicado un total de 86298 mensajes en 12302 argumentos.

Ayuda con error de script

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP Ayuda con error de script

Mensaje por Ganelan el 2015-01-14, 01:58

Buenas noches.

Trabajando y testeando mi proyecto, al poner un script nuevo (el de daño y colapso de MOG Hunter) cuando se va a hacer un cambio de estado, me salta este error.



En Cahrlie Fleed (Para el que no lo sepa) sale una pequeña animacion don el nombre y el icono del estado que ese personaje sufre en ese momento, el error salta cuando va a pasar eso. Mire en la linea que me manda del script de Charlie, pero como en scripts se lo justo... prefiero no tocar nada y "romper" el script XD

Os dejaría los 2 scripts, pero el mensaje seria muy largo y no me dejaria publicarlo.

Línea de error:
Código:
      @spriteset.battler(target).damage("", false, target.changed_state_text)

avatar
Ganelan
Veterano
Veterano

0/3

Créditos 583

Gracias : 23

Volver arriba Ir abajo

RPG Maker XP Re: Ayuda con error de script

Mensaje por Metalero el 2015-01-14, 02:58

Te ayudaría, pero la respuesta seria demasiado larga y no me dejaría publicarla.


No, en serio, si no subís los scripts no te puedo ayudar (y posiblemente nadie pueda). Si no entran en un post, subilos a http://pastebin.com/ o algún sitio similar. Seguramente ambos scripts tengan algun definicion con el mismo nombre que esta haciendo colision, bastaria con cambiarle el nombre a alguna para arreglarlo, pero de nuevo, sin el codigo es imposible.

_________________
avatar
Metalero
Administrador
Administrador



Créditos 1716

Gracias : 100

Volver arriba Ir abajo

RPG Maker XP Re: Ayuda con error de script

Mensaje por Ganelan el 2015-01-14, 12:18

Ok, aqui os dejo los 2 scripts.

Primero el de Daño:

Código:
#_______________________________________________________________________________
# MOG_Damage System V1.2           
#_______________________________________________________________________________
# By Moghunter
# http://www.atelier-rgss.com
#_______________________________________________________________________________
# Modifica como o dano é apresentado.
#_______________________________________________________________________________
module MOG
################################################################################ 
#Tipos de efeitos.
#
# 0 = Zoom com rotação.
# 1 = Zoom IN e OUT.
# 2 = Zoom OUT.
# 3 = Sem Gravidade.
# 4 = Com Gravidade.
# 5 = Fantasma.
# 6 = Normal.
#
################################################################################
TYPE = 3
################################################################################
#Nome da Fonte. 
FONT_NAME = "Arial"
#Tamanho da Fonte.
FONT_SIZE = 24
#Ativar contorno.
FONT_BOLD = false
#Tamanho da Fonte do dano crítico.
FONT_SIZE_CRITICAL = 16
#String do dano crítico.
CRITICAL_NAME = "¡Crítico!"
#Cor da fonte do dano.
FONT_COLOR_DAMAGE =  Color.new(255, 255, 255)
#Cor da fonte do dano de cura.
FONT_COLOR_HEAL = Color.new(176, 255, 144)
#Cor da fonte do dano crítico
FONT_COLOR_CRITICAL = Color.new(255, 150, 0)
################################################################################
#Default(ZOOM_OUT = 0.1 / ZOOM_IN = 0.08 / ROT = 24 / DUR = 0)
################################################################################
#Zoom Externo
ZOOM_OUT = 0.1
#Zoom Interno
ZOOM_IN = 0.08
#Velocidade da Rotação
ROT = 24
#Duração extra do dano.
DUR = 0
################################################################################
end 

#===============================================================================
# Rpg Sprite
#===============================================================================
module RPG
class Sprite < ::Sprite
#--------------------------------------------------------------------------
# damage
#-------------------------------------------------------------------------- 
  def damage(value, critical)
    dispose_damage
    if value.is_a?(Numeric)
      damage_string = value.abs.to_s
    else
      damage_string = value.to_s
    end
    bitmap = Bitmap.new(160, 48)
    bitmap.font.name = MOG::FONT_NAME
    bitmap.font.size = MOG::FONT_SIZE
    bitmap.font.bold = MOG::FONT_BOLD
    bitmap.font.color.set(0, 0, 0)
    bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1)
    bitmap.draw_text(+1, 12-1, 160, 36, damage_string, 1)
    bitmap.draw_text(-1, 12+1, 160, 36, damage_string, 1)
    bitmap.draw_text(+1, 12+1, 160, 36, damage_string, 1)
    if value.is_a?(Numeric) and value < 0
      bitmap.font.color = MOG::FONT_COLOR_HEAL     
    else
      bitmap.font.color = MOG::FONT_COLOR_DAMAGE
    end
    bitmap.draw_text(0, 12, 160, 36, damage_string, 1)
    if critical
      bitmap.font.size = MOG::FONT_SIZE_CRITICAL
      bitmap.font.color = MOG::FONT_COLOR_CRITICAL
      bitmap.font.bold = MOG::FONT_BOLD
      bitmap.draw_text(-1, -1, 160, 20, MOG::CRITICAL_NAME, 1)
      bitmap.draw_text(+1, -1, 160, 20, MOG::CRITICAL_NAME, 1)
      bitmap.draw_text(-1, +1, 160, 20, MOG::CRITICAL_NAME, 1)
      bitmap.draw_text(+1, +1, 160, 20, MOG::CRITICAL_NAME, 1)
      bitmap.font.color.set(255, 255, 255)
      bitmap.draw_text(0, 0, 160, 20, MOG::CRITICAL_NAME, 1)
    end
    @_damage_sprite = ::Sprite.new(self.viewport)
    @_damage_sprite.bitmap = bitmap
    @_damage_sprite.ox = 80
    @_damage_sprite.oy = 20
    @_damage_sprite.x = self.x
    @_damage_sprite.y = self.y - self.oy / 2
    @_damage_sprite.z = 3000
    @_damage_duration = 40 + MOG::DUR
  end   
#--------------------------------------------------------------------------
# update
#-------------------------------------------------------------------------- 
  def update
    super
    if @_whiten_duration > 0
      @_whiten_duration -= 1
      self.color.alpha = 128 - (16 - @_whiten_duration) * 10
    end
    if @_appear_duration > 0
      @_appear_duration -= 1
      self.opacity = (16 - @_appear_duration) * 16
    end
    if @_escape_duration > 0
      @_escape_duration -= 1
      self.opacity = 256 - (32 - @_escape_duration) * 10
    end
    if @_collapse_duration > 0
      @_collapse_duration -= 1
      self.opacity = 256 - (48 - @_collapse_duration) * 6
    end
    if @_damage_duration > 0
      @_damage_duration -= 1
    if MOG::TYPE == 0
    case @_damage_duration
    when 38..40 + MOG::DUR
      @_damage_sprite.y -= 4
      @_damage_sprite.zoom_x += MOG::ZOOM_OUT
      @_damage_sprite.zoom_y += MOG::ZOOM_OUT     
      @_damage_sprite.angle +=  MOG::ROT
    when 36..37
      @_damage_sprite.y -= 2
      @_damage_sprite.zoom_x += MOG::ZOOM_OUT
      @_damage_sprite.zoom_y += MOG::ZOOM_OUT     
      @_damage_sprite.angle +=  MOG::ROT
    when 34..35
      @_damage_sprite.y -= 2
      @_damage_sprite.zoom_x += MOG::ZOOM_OUT
      @_damage_sprite.zoom_y += MOG::ZOOM_OUT       
      @_damage_sprite.angle +=  MOG::ROT
    when 23..33
      @_damage_sprite.y -= 4
      @_damage_sprite.zoom_x += MOG::ZOOM_OUT
      @_damage_sprite.zoom_y += MOG::ZOOM_OUT
      @_damage_sprite.angle +=  MOG::ROT
    when 0..22
      @_damage_sprite.angle = 0
      @_damage_sprite.zoom_x -= MOG::ZOOM_IN
      @_damage_sprite.zoom_y -= MOG::ZOOM_IN
    @_damage_sprite.y -= 3
    end
    elsif MOG::TYPE == 1 
    case @_damage_duration
    when 38..40 + MOG::DUR
      @_damage_sprite.y -= 4
      @_damage_sprite.zoom_x += MOG::ZOOM_OUT
      @_damage_sprite.zoom_y += MOG::ZOOM_OUT     
    when 36..37
      @_damage_sprite.y -= 2
      @_damage_sprite.zoom_x += MOG::ZOOM_OUT
      @_damage_sprite.zoom_y += MOG::ZOOM_OUT     
    when 34..35
      @_damage_sprite.y -= 2
      @_damage_sprite.zoom_x += MOG::ZOOM_OUT
      @_damage_sprite.zoom_y += MOG::ZOOM_OUT       
    when 23..33
      @_damage_sprite.y -= 4
      @_damage_sprite.zoom_x += MOG::ZOOM_OUT
      @_damage_sprite.zoom_y += MOG::ZOOM_OUT
    when 0..22
      @_damage_sprite.angle = 0
      @_damage_sprite.zoom_x -= MOG::ZOOM_IN
      @_damage_sprite.zoom_y -= MOG::ZOOM_IN
    @_damage_sprite.y -= 3
    end   
    elsif MOG::TYPE == 2 
      @_damage_sprite.y -= 1
      @_damage_sprite.zoom_x += MOG::ZOOM_OUT
      @_damage_sprite.zoom_y += MOG::ZOOM_OUT           
    elsif MOG::TYPE == 3
      @_damage_sprite.y -= 3   
      elsif MOG::TYPE == 4
      case @_damage_duration
      when 30..40 + MOG::DUR
        @_damage_sprite.y -= 5
      when 20..29
        @_damage_sprite.y += 7
      when 10..19
        @_damage_sprite.y -= 3
      when 0..9
        @_damage_sprite.y += 6
      end             
    elsif MOG::TYPE == 5
      case @_damage_duration
      when 30..40 + MOG::DUR
        @_damage_sprite.y -= 10
        @_damage_sprite.zoom_y += MOG::ZOOM_OUT * 5   
        @_damage_sprite.zoom_x -= MOG::ZOOM_IN   
      when 20..29
        @_damage_sprite.y -= 1
        @_damage_sprite.zoom_y -= MOG::ZOOM_OUT * 5
        @_damage_sprite.zoom_x += MOG::ZOOM_IN   
      when 0..19
        @_damage_sprite.y -= 0
        @_damage_sprite.zoom_y = 1
        @_damage_sprite.zoom_x = 1
      end       
    else
      case @_damage_duration
      when 38..40 + MOG::DUR
        @_damage_sprite.y -= 4
      when 36..37
        @_damage_sprite.y -= 2
      when 34..35
        @_damage_sprite.y += 2
      when 28..33
        @_damage_sprite.y += 4
      end       
    end
      @_damage_sprite.opacity = 256 - (18 - @_damage_duration) * 12
      if @_damage_duration == 0
        dispose_damage
      end
    end
    if @_animation != nil and (Graphics.frame_count % 2 == 0)
      @_animation_duration -= 1
      update_animation
    end
    if @_loop_animation != nil and (Graphics.frame_count % 2 == 0)
      update_loop_animation
      @_loop_animation_index += 1
      @_loop_animation_index %= @_loop_animation.frame_max
    end
    if @_blink
    @_blink_count = (@_blink_count + 1) % 32
      if @_blink_count < 16
        alpha = (16 - @_blink_count) * 6
      else
        alpha = (@_blink_count - 16) * 6
      end
    self.color.set(255, 255, 255, alpha)
    end
    @@_animations.clear
    end
  end
end
$mog_rgss_Damage_System


Y aquí el de Charlie Fleed (es largo de narices)

http://pastebin.com/nK8817kQ


avatar
Ganelan
Veterano
Veterano

0/3

Créditos 583

Gracias : 23

Volver arriba Ir abajo

RPG Maker XP Re: Ayuda con error de script

Mensaje por Metalero el 2015-01-14, 17:20

1) No me pasaste el script completo. Charlie Fleed tiene varios scripts.

2) Ambos sistema (el de MOG y el Charlie Fleed) modifican la forma en que se dibuja el daño, asi que mas alla de arreglar el crash (abajo la solucion), el sistema de MOG (si lo terminas usando) te va reemplazar completamente lo que sea que haga el edit de Charlie Fleed respecto a como se muestra el daño.

Para que no te tire error, en el script de mog, reemplazá:

Código:
 def damage(value, critical)


por:

Código:
 def damage(value, critical, state_text = [])

_________________
avatar
Metalero
Administrador
Administrador



Créditos 1716

Gracias : 100

Volver arriba Ir abajo

RPG Maker XP Re: Ayuda con error de script

Mensaje por Ganelan el 2015-01-14, 19:44

Solo postee ese ya que es donde daba el error.

Gracias, con eso ya va perfectamente, buen dia!
avatar
Ganelan
Veterano
Veterano

0/3

Créditos 583

Gracias : 23

Volver arriba Ir abajo

RPG Maker XP Re: Ayuda con error de script

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permisos de este foro:
No puedes responder a temas en este foro.