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 3818 miembros registrados.
El último usuario registrado es Srand.

Nuestros miembros han publicado un total de 86266 mensajes en 12297 argumentos.

Necesito Consejos para lograr "Accion" en mi juego.

Página 2 de 2. Precedente  1, 2

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP Re: Necesito Consejos para lograr "Accion" en mi juego.

Mensaje por integralucy el 2015-05-16, 21:47

Hice una prueba, modificando el script de khas registrando un nuevo personaje pero... siempre sale este error,
Script `Game_Interpreter`line1409: NoMethodError occured.
undefined method "name" for nil:NilClass


como puedo solucionarlo?... si es necesario subo los script que modifique.
avatar
integralucy
Novato
Novato

0/3

Créditos 71

Gracias : 2

Volver arriba Ir abajo

RPG Maker XP Re: Necesito Consejos para lograr "Accion" en mi juego.

Mensaje por integralucy el 2015-05-16, 21:58

dejo por aqui como tengo las script, porfa Bleuw ayudame a encontrarle la vuelta Xd

HUD:
(para crear a ese 3er personaje, y no salte errores, le coloque un audio para probar, me dejo entrar al juego pero ahora se pasa tirando error)

#-------------------------------------------------------------------------------
# * Register
#-------------------------------------------------------------------------------
if $khas_awesome.nil?
$khas_awesome = []
end
scripts = []
$khas_awesome.each { |script| scripts << script[0] }
unless scripts.include?("Sapphire Action System")
error = Sprite.new
error.bitmap = Bitmap.new(544,416)
error.bitmap.draw_text(0,208,544,32,"Please install the Sapphire Action System IV",1)
continue = Sprite.new
continue.bitmap = Bitmap.new(544,416)
continue.bitmap.font.color = Color.new(0,255,0)
continue.bitmap.font.size = error.bitmap.font.size - 3
continue.bitmap.draw_text(0,384,544,32,"Tecle ENTER para sair",1)
add = Math::PI/80; max = 2*Math::PI; angle = 0
loop do
Graphics.update; Input.update
angle += add; angle %= max
continue.opacity = 185 + 70* Math.cos(angle)
break if Input.trigger?(Input::C)
end
error.bitmap.dispose; continue.bitmap.dispose
error.bitmap = nil; continue.bitmap = nil
error.dispose; continue.dispose
error = nil; continue = nil
exit
end

$khas_awesome << ["SAS HUD",4.0]

#-------------------------------------------------------------------------------
# * Script
#-------------------------------------------------------------------------------

class Sapphire_Hud
include HUD_Core
def initialize
@contents = Sprite.new
@background = Sprite.new
@base = Sprite.new
@contents.bitmap = Bitmap.new(Contents_Width, Contents_Height)
@base.bitmap = Bitmap.new(Contents_Width, Contents_Height)
@background.bitmap = Cache.system(Background_Name)
@base.bitmap.font.bold = Font_Bold
@base.bitmap.font.italic = Font_Italic
@base.bitmap.font.size = Font_Size
@base.bitmap.font.color = Font_Color
@base.bitmap.font.name = Font_Name
@contents.z = 200
@background.z = 210
@base.z = 220
@locked = false
hide(true)
end
def refresh_bars(current_hp=@actor.hp)
return if @hidden
hp = ((current_hp)*Health_Width)/@actor.mhp
mp = (@actor.mp*Magic_Width)/@actor.mmp
exp = ((@actor.exp-@actor.current_level_exp)*Exp_Width)/(@actor.next_level_exp-@actor.current_level_exp)
@contents.bitmap.clear
@contents.bitmap.fill_rect(Health_X,Health_Y,hp,Health_Height,Health_Color)
@contents.bitmap.fill_rect(Magic_X+Magic_Width-mp,Magic_Y,mp,Magic_Height,Magic_Color)
@contents.bitmap.fill_rect(Exp_X,Exp_Y,exp,Exp_Height,Exp_Color)
end
def refresh_base
return if @hidden
@base.bitmap.clear
@actor = $game_party.members[1]
skill = $game_player.current_skill[0]
@base.bitmap.draw_text(Name_X, Name_Y,100,Font_Size+4,@actor.name)
@base.bitmap.draw_text(Level_X, Level_Y,64,Font_Size+4,Level_String+@actor.level.to_s,1)
temp = Cache.system("Iconset")
unless skill.nil?
@base.bitmap.draw_text(Spell_X,Spell_Y,68,Font_Size+4,skill.name)
@base.bitmap.blt(Icon_X,Icon_Y,temp,Rect.new(skill.icon_index%16*24,skill.icon_index/16*24,24,24))
else
@base.bitmap.blt(Icon_X,Icon_Y,temp,Rect.new(No_Skill_Icon%16*24,No_Skill_Icon/16*24,24,24))
end
temp.dispose
temp = nil
end
def hide(lock=false)
unless @background.nil?
@background.bitmap.dispose
@background.dispose
@background = nil
end
unless @base.nil?
@base.bitmap.dispose
@base.dispose
@base = nil
end
unless @contents.nil?
@contents.bitmap.dispose
@contents.dispose
@contents = nil
end
@hidden = true
@locked = lock unless @locked
end
def show(unlock=false)
@actor = $game_party.members[0]
return if @locked && !unlock
@contents = Sprite.new
@background = Sprite.new
@base = Sprite.new
@contents.bitmap = Bitmap.new(Contents_Width, Contents_Height)
@base.bitmap = Bitmap.new(Contents_Width, Contents_Height)
@background.bitmap = Cache.system(Background_Name)
@base.bitmap.font.bold = Font_Bold
@base.bitmap.font.italic = Font_Italic
@base.bitmap.font.size = Font_Size
@base.bitmap.font.color = Font_Color
@base.bitmap.font.name = Font_Name
@contents.z = 200
@background.z = 210
@base.z = 220
@hidden = false
refresh_base
refresh_bars
@locked = false
end
end
Damage Sprites:

#-------------------------------------------------------------------------------
# * Register
#-------------------------------------------------------------------------------
if $khas_awesome.nil?
$khas_awesome = []
end
scripts = []
$khas_awesome.each { |script| scripts << script[0] }
unless scripts.include?("Sapphire Action System")
error = Sprite.new
error.bitmap = Bitmap.new(544,416)
error.bitmap.draw_text(0,208,544,32,"Please install the Sapphire Action System IV",1)
continue = Sprite.new
continue.bitmap = Bitmap.new(544,416)
continue.bitmap.font.color = Color.new(0,255,0)
continue.bitmap.font.size = error.bitmap.font.size - 3
continue.bitmap.draw_text(0,384,544,32,"Tecle ENTER para sair",1)
add = Math::PI/80; max = 2*Math::PI; angle = 0
loop do
Graphics.update; Input.update
angle += add; angle %= max
continue.opacity = 185 + 70* Math.cos(angle)
break if Input.trigger?(Input::C)
end
error.bitmap.dispose; continue.bitmap.dispose
error.bitmap = nil; continue.bitmap = nil
error.dispose; continue.dispose
error = nil; continue = nil
exit
end

$khas_awesome << ["SAS Damage Sprites",4.0]

#-------------------------------------------------------------------------------
# * Script
#-------------------------------------------------------------------------------

class Spriteset_Map
def update_damage_sprites
$game_map.damage_sprites.each { |damage_sprite| damage_sprite.update; @trash << damage_sprite if damage_sprite.done }
@trash.each { |item| $game_map.damage_sprites.delete(item) }
@trash.clear
end
end

class Game_Map
def level_up
return unless Damage_Core::Damage_Level
@damage_sprites << Sprite_Damage.new($game_player,Damage_Core::Damage_LString)
end
def show_text(target,value)
@damage_sprites << Sprite_Damage.new(target,value)
end
def hide_damage_sprites
virtual_damage = []
@damage_sprites.each { |damage_sprite| virtual_damage << damage_sprite.release; damage_sprite.dispose }
@damage_sprites = virtual_damage
end
def show_damage_sprites
virtual_damage = @damage_sprites
@damage_sprites = []
virtual_damage.each { |vd| @damage_sprites << Restored_Damage.new(vd) }
virtual_damage.clear
end
def delete_damage_sprites
if @damage_sprites.nil?
@damage_sprites = []
else
@damage_sprites.each { |damage_sprite| damage_sprite.dispose }
@damage_sprites.clear
end
end
end

class Virtual_Damage
attr_reader :x
attr_reader :y
attr_reader :value
attr_reader :x_speed
attr_reader :y_speed
attr_reader :g_force
attr_reader :erase
attr_reader :opacity
def initialize(x,y,value,xs,ys,gf,e,op)
@x = x
@y = y
@value = value
@x_speed = xs
@y_speed = ys
@g_force = gf
@erase = e
@opacity = op
end
end

class Restored_Damage < Sprite
attr_accessor :done
include Damage_Core
def initialize(vd)
super(nil)
@value = vd.value
self.bitmap = Bitmap.new(160,20)
self.bitmap.font.name = Damage_Font
self.bitmap.font.size = Damage_Size
self.bitmap.font.bold = Damage_Bold
self.bitmap.font.italic = Damage_Italic
self.bitmap.font.color = Damage_Color
self.bitmap.draw_text(0,0,160,20,@value,1)
self.x = vd.x
self.y = vd.y
self.ox = 50
self.oy = 50
self.opacity = vd.opacity
@x_speed = vd.x_speed
@y_speed = vd.y_speed
@g_force = vd.g_force
@erase = vd.erase
end
def update
self.x += @x_speed
if @erase
if self.opacity <= 0
dispose
else
@y_speed += @g_force unless @y_speed < -6
self.y -= @y_speed
self.opacity -= 10
end
else
if @y_speed < -7
@erase = true
@y_speed = 5
else
self.y -= @y_speed
@y_speed += @g_force
end
end
end
def release
return Virtual_Damage.new(self.x,self.y,@value,@x_speed,@y_speed,@g_force,@erase,self.opacity)
end
def dispose
self.bitmap.dispose
self.bitmap = nil
super
@done = true
end
end

class Sprite_Damage < Sprite
attr_accessor :done
include Damage_Core
def initialize(target,value)
super(nil)
@value = value.to_s
self.bitmap = Bitmap.new(160,20)
self.bitmap.font.name = Damage_Font
self.bitmap.font.size = Damage_Size
self.bitmap.font.bold = Damage_Bold
self.bitmap.font.italic = Damage_Italic
self.bitmap.font.color = Damage_Color
self.bitmap.draw_text(0,0,160,20,@value,1)
self.x = target.screen_x
self.y = target.screen_y
self.ox = 50
self.oy = 50
side = (rand(2) == 0 ? 1 : -1)
@x_speed = (rand(2)+1)*side
@y_speed = 6
@g_force = -0.5
@erase = false
end
def update
self.x += @x_speed
if @erase
if self.opacity <= 0
dispose
else
@y_speed += @g_force unless @y_speed < -6
self.y -= @y_speed
self.opacity -= 10
end
else
if @y_speed < -7
@erase = true
@y_speed = 5
else
self.y -= @y_speed
@y_speed += @g_force
end
end
end
def release
return Virtual_Damage.new(self.x,self.y,@value,@x_speed,@y_speed,@g_force,@erase,self.opacity)
end
def dispose
self.bitmap.dispose
self.bitmap = nil
super
@done = true
end
end

(el Script Heal player ni lo toque sigue por defecto)

Multiple Actor Script:
#-------------------------------------------------------------------------------
# * Configuration
#-------------------------------------------------------------------------------

module Multiple_Core

Multiple_Voice = true

Multiple_Graphics = true

Voice_Files = {
# Voice hash. Use the following form:
# actor_id => [voicefile1,voicefile2,voicefile3,...],

1 => ["sapphire_voice_1","sapphire_voice_2","sapphire_voice_3","sapphire_voice_4","sapphire_voice_5","sapphire_voice_6"],
2 => ["khas_voice_1","khas_voice_2","khas_voice_3","khas_voice_4","khas_voice_5","khas_voice_6","sapphire_voice_7"],
3 => ["Attack3"],

# End of Voice hash.
}

Graphic_Files = {
# Graphic hash. Use the following form:
# actor_id => graphic_name,

1 => "khas_bg",
2 => "sapphire_bg",
3 => "dohko_bg",

# End of Graphic hash.

}

def self.refresh
$game_map.sas_hud.hide
$game_map.sas_hud.show
$game_player.next_skill
$game_player.refresh_weapon_stats
SceneManager.scene.spriteset.refresh_weapon rescue return
end
end

if $khas_awesome.nil?
$khas_awesome = []
end
scripts = []
$khas_awesome.each { |script| scripts << script[0] }
unless scripts.include?("Sapphire Action System")
error = Sprite.new
error.bitmap = Bitmap.new(544,416)
error.bitmap.draw_text(0,208,544,32,"Please install the Sapphire Action System IV",1)
continue = Sprite.new
continue.bitmap = Bitmap.new(544,416)
continue.bitmap.font.color = Color.new(0,255,0)
continue.bitmap.font.size = error.bitmap.font.size - 3
continue.bitmap.draw_text(0,384,544,32,"Tecle ENTER para sair",1)
add = Math::PI/80; max = 2*Math::PI; angle = 0
loop do
Graphics.update; Input.update
angle += add; angle %= max
continue.opacity = 185 + 70* Math.cos(angle)
break if Input.trigger?(Input::C)
end
error.bitmap.dispose; continue.bitmap.dispose
error.bitmap = nil; continue.bitmap = nil
error.dispose; continue.dispose
error = nil; continue = nil
exit
end

$khas_awesome << ["SAS MULTIPLE",4.2]

class Scene_Map < Scene_Base
attr_accessor :spriteset
end

if Multiple_Core::Multiple_Voice
class Game_Player < Game_Character
def play_voice
v = $game_party.members[0].id
RPG::SE.new(Multiple_Core::Voice_Files[v][rand(Multiple_Core::Voice_Files[v].size)],Sapphire_Core::Voice_Volume).play
end
end
end

if Multiple_Core::Multiple_Graphics && scripts.include?("SAS HUD")
class Sapphire_Hud
def initialize
@contents = Sprite.new
@background = Sprite.new
@base = Sprite.new
@contents.bitmap = Bitmap.new(Contents_Width, Contents_Height)
@base.bitmap = Bitmap.new(Contents_Width, Contents_Height)
@background.bitmap = Bitmap.new(1,1)
@base.bitmap.font.bold = Font_Bold
@base.bitmap.font.italic = Font_Italic
@base.bitmap.font.size = Font_Size
@base.bitmap.font.color = Font_Color
@base.bitmap.font.name = Font_Name
@contents.z = 200
@background.z = 210
@base.z = 220
@locked = false
hide(true)
end
def show(unlock=false)
@actor = $game_party.members[0]
return if @locked && !unlock
@contents = Sprite.new
@background = Sprite.new
@base = Sprite.new
@contents.bitmap = Bitmap.new(Contents_Width, Contents_Height)
@base.bitmap = Bitmap.new(Contents_Width, Contents_Height)
refresh_background
@base.bitmap.font.bold = Font_Bold
@base.bitmap.font.italic = Font_Italic
@base.bitmap.font.size = Font_Size
@base.bitmap.font.color = Font_Color
@base.bitmap.font.name = Font_Name
@contents.z = 200
@background.z = 210
@base.z = 220
@hidden = false
refresh_base
refresh_bars
@locked = false
end
def refresh_background
@background.bitmap = Cache.system(Multiple_Core::Graphic_Files[@actor.id])
end
end
end

Hubo un area donde coloque, y decia algo de grupo [0] le cambie a [1]... por ahora el 3er personaje tiene su cara y sprite, 1 sonido de ataque, nombre clase y arma, pero no tiene su _bg
lo demas no se como arreglarlo en script. por algo lo deje por aca como los tengo.
avatar
integralucy
Novato
Novato

0/3

Créditos 71

Gracias : 2

Volver arriba Ir abajo

Página 2 de 2. Precedente  1, 2

Ver el tema anterior Ver el tema siguiente Volver arriba


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