¡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 3396 miembros registrados.
El último usuario registrado es Discorded.

Nuestros miembros han publicado un total de 79807 mensajes en 11256 argumentos.
Navega con Google Chrome
[DESCARGA]

Necesito Consejos para lograr "Accion" en mi juego.

 :: RPG Maker :: Ayuda RPG

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.

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.

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


 :: RPG Maker :: Ayuda RPG

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