[Essentials] Funciones para el Pokegear


Like Tree4Gracias
  • 4 Post By Alex_Game_Maker
Respuesta
 
Herramientas Desplegado
  #1  
22/02/2017
Bombilla Funciones para el Pokegear
Es mi primer tutorial en este foro ¬¬ lo hago porque pase bastante tiempo buscando y no encontraba, por lo que tuve que aprender casi por mi cuenta...

Les enseñare a añadir funciones al Pokegear, y a tener funciones desbloqueables.


Debido a una alta serie de problemas con el BBCode del foro, la parte de los scripts en el tutorial quedaba mal, por eso lo dejo como un documento .odt en mediafire. Disfrutenlo

http://www.mediafire.com/file/1slpcc...e+Pokegear.odt

Espero que le sirva el tutorial, el siguiente sera de como agregar la funcion de PC sin las opciones de Sacar, Dejar, Mover, etc.

Att. Su amigo loriense, Alex_Game_Maker

Última edición por Alex_Game_Maker; 23/02/2017 a las 23:18
  #2  
22/02/2017
Predeterminado Respuesta: Funciones para el Pokegear
Hola!, muy buen tutorial algo confuso para mi ya que soy nuevo en esto, emm, cambiando el tema, me sale un error ya te muestro..

???? Pscreen_Pokegear 88 ???? SyntaxError ????, el "88" creo que significa que hay un error en la linea de scrip seccion de Pscreen_Pokegear en esa linea, que es donde esta insertado el primer script que dijistes, ayudame a solucionarlo
  #3  
22/02/2017
Predeterminado Respuesta: Funciones para el Pokegear
Dicho por Qlous Ver mensaje
Hola!, muy buen tutorial algo confuso para mi ya que soy nuevo en esto, emm, cambiando el tema, me sale un error ya te muestro..

???? Pscreen_Pokegear 88 ???? SyntaxError ????, el "88" creo que significa que hay un error en la linea de scrip seccion de Pscreen_Pokegear en esa linea, que es donde esta insertado el primer script que dijistes, ayudame a solucionarlo
Acabo de leer el tutorial y me doy cuenta de que cada vez que escribi CMD o Sprite dejo un espacio luego de eso, quizas sea eso lo que causa el error, ya que no debe de ir ese espacio. Toma como ejemplo la linea superior a esa (la de la Radio)
  #4  
22/02/2017
Predeterminado Respuesta: Funciones para el Pokegear
Sigue sin funcionar, ahora es la linea 161 pasame el Script completo y la proxima deberias de descargar un Pokemon Essensials sin nada de modificacion y lo pruebas y despues pasas script y asi te corrijes
  #5  
22/02/2017
Predeterminado Respuesta: Funciones para el Pokegear
Dicho por Qlous Ver mensaje
Sigue sin funcionar, pasame el Script completo y la proxima deberias de descargar un Pokemon Essensials sin nada de modificacion y lo pruebas y despues pasas script y asi te corrijes
Yo uso el pokemon essentials normal en español. la version 16.2
Aqui esta como tengo mi script:

PScreen_Pokegear


class PokegearButton < SpriteWrapper
attr_reader :index
attr_reader :name
attr_accessor :selected

def initialize(x,y,name="",index=0,viewport=nil)
super(viewport)
@index=index
@name=name
@selected=false
fembutton=pbResolveBitmap(sprintf("Graphics/Pictures/pokegearButtonf"))
if $Trainer.isFemale? && fembutton
@button=AnimatedBitmap.new("Graphics/Pictures/pokegearButtonf")
else
@button=AnimatedBitmap.new("Graphics/Pictures/pokegearButton")
end
@contents=BitmapWrapper.new(@button.width,@button. height)
self.bitmap=@contents
self.x=x
self.y=y
refresh
update
end

def dispose
@button.dispose
@contents.dispose
super
end

def refresh
self.bitmap.clear
self.bitmap.blt(0,0,@button.bitmap,Rect.new(0,0,@b utton.width,@button.height))
pbSetSystemFont(self.bitmap)
textpos=[ # Name is written on both unselected and selected buttons
[@name,self.bitmap.width/2,10,2,Color.new(248,248,248),Color.new(40,40,40)],
[@name,self.bitmap.width/2,62,2,Color.new(248,248,248),Color.new(40,40,40)]
]
pbDrawTextPositions(self.bitmap,textpos)
icon=sprintf("Graphics/Pictures/pokegear"+@name)
imagepos=[ # Icon is put on both unselected and selected buttons
[icon,18,10,0,0,-1,-1],
[icon,18,62,0,0,-1,-1]
]
pbDrawImagePositions(self.bitmap,imagepos)
end

def update
if self.selected
self.src_rect.set(0,self.bitmap.height/2,self.bitmap.width,self.bitmap.height/2)
else
self.src_rect.set(0,0,self.bitmap.width,self.bitma p.height/2)
end
super
end
end



#================================================= ==============================
# - Scene_Pokegear
#-------------------------------------------------------------------------------
# Modified By Harshboy
# Modified by Peter O.
# Also Modified By OblivionMew
# Overhauled by Maruno
#================================================= ==============================
class Scene_Pokegear
#-----------------------------------------------------------------------------
# initialize
#-----------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#-----------------------------------------------------------------------------
# main
#-----------------------------------------------------------------------------
def main
commands=[]
# OPTIONS - If you change these, you should also change update_command below.
@CMDMap=-1
@CMDPhone=-1
@CMDJukebox=-1
commands @CMDMap=commands.length]=_INTL("Mapa") if $game_switches[99]
commands @CMDPhone=commands.length]=_INTL("Celular") if $PokemonGlobal.phoneNumbers &&
$PokemonGlobal.phoneNumbers.length>0
commands @CMDJukebox=commands.length]=_INTL("Radio")
commands @CMDPcchecker=commands.length]=_INTL("PC Pokemon")
@viewport=Viewport.new(0,0,Graphics.width,Graphics .height)
@viewport.z=99999
@button=AnimatedBitmap.new("Graphics/Pictures/pokegearButton")
@Sprites={}
@Sprites["background"] = IconSprite.new(0,0)
femback=pbResolveBitmap(sprintf("Graphics/Pictures/pokegearbgf"))
if $Trainer.isFemale? && femback
@Sprites["background"].setBitmap("Graphics/Pictures/pokegearbgf")
else
@Sprites["background"].setBitmap("Graphics/Pictures/pokegearbg")
end
@Sprites["command_window"] = Window_CommandPokemon.new(commands,160)
@Sprites["command_window"].visible = false
@Sprites["command_window"].index = @menu_index
for i in 0...commands.length
x=118
y=196 - (commands.length*24) + (i*48)
@Sprites["button#{i}"]=PokegearButton.new(x,y,commands[i],i,@viewport)
@Sprites["button#{i}"].selected=(i= @Sprites["command_window"].index)
@Sprites["button#{i}"].update
end
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
pbDisposeSpriteHash @Sprites)
end
#-----------------------------------------------------------------------------
# update the scene
#-----------------------------------------------------------------------------
def update
for i in 0.. @Sprites["command_window"].commands.length
sprite @Sprites["button#{i}"]
sprite.selected=(i= @Sprites["command_window"].index) ? true : false
end
pbUpdateSpriteHash @Sprites)
#update command window and the info if it's active
if @Sprites["command_window"].active
update_command
return
end
end
#-----------------------------------------------------------------------------
# update the command window
#-----------------------------------------------------------------------------
def update_command
if Input.trigger?(Input::B)
pbPlayCancelSE()
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
if @CMDMap>=0 && @Sprites["command_window"].index= @CMDMap
pbPlayDecisionSE()
pbShowMap(-1,false)
end
if @CMDPhone>=0 && @Sprites["command_window"].index= @CMDPhone
pbPlayDecisionSE()
pbFadeOutIn(99999) {
PokemonPhoneScene.new.start
}
end
if @CMDJukebox>=0 && @Sprites["command_window"].index= @CMDJukebox
pbPlayDecisionSE()
$scene = Scene_Jukebox.new
end
if @CMDPcchecker>=0 && @Sprites["command_window"].index= @CMDPcchecker
pbPlayDecisionSE()
scene=PokemonStorageScene.new
screen=PokemonStorageScreen.new(scene,$PokemonStor age)
screen.pbStartScreen(2)
end
return
end
end
end


Pero debe ser lo mismo, despues de cmd debe haber un espacio, es un problema del foro, no del script. Los mismo con la palabra sprite
  #6  
23/02/2017
Predeterminado Respuesta: Funciones para el Pokegear
Qué pasada de tutorial, ¡me ha encantado! ¡¡Y que lo hayas tenido que currártelo tú aprendiendo de cero porque no había!!

Sin duda lo probaré a la tarde cuando me ponga con RPG Maker y ya te diré si va bien o no (dado que ya he visto que Qlous no consigue que funcione) ;D

¡Gracias por el tutorial!
  #7  
23/02/2017
Predeterminado Respuesta: Funciones para el Pokegear
Muchas gracias por hacer este fantástico tutorial^^ te agradezco mucho, me ahorrara horas buscando.
  #8  
23/02/2017
Predeterminado Respuesta: Funciones para el Pokegear
Buenas Alex, yo también uso Pokémon Essentials 16.2 me funciona perfectamente!!

Eso sí, al principio, al igual que Qlous tampoco me funciona en su totalidad.

El primer punto bien, el de la línea 88, me aparece una nueva opción en el PokéGear.

Sin embargo, al clicarlo me saltaba un error. He estado como un loco queriendo solucionarlo y al final, he copiado y pegado el nuevo código que has puesto y me ha funcionado.

No sé qué parte estaba mal al principio, pero ya me funciona, ¡¡gracias!!

Esto es lo que me ha quedado al final hacia la línea 162, por si a alguien que no le funciona el de arriba (pongo en rojo el nombre del comando):

Código

Código:
if  @CMDPC>=0 &&  @Sprites["command_window"].index=  @CMDPC
        pbPlayDecisionSE()
        scene = PokemonStorageScene.new
        screen = PokemonStorageScreen.new(scene,$PokemonStorage)
        screen.pbStartScreen(2)
      end


¿Se te ocurre alguna manera de no dejar que pokémon debilitados puedan ser transferidos?
  #9  
23/02/2017
Predeterminado Respuesta: Funciones para el Pokegear
Dicho por kanda Ver mensaje
¿Se te ocurre alguna manera de no dejar que pokémon debilitados puedan ser transferidos?
Si se puede hacer, yo lo tengo asi en mi proyecto (no permite sacar, meter o mover, solo ver los datos y marcarlos), pero para eso hay que editar el script PScreen_Storage, es un procedimiento algo largo que dejare para mi siguiente tutorial, que hare en cuanto solucione los errores de este ¬¬
  #10  
24/02/2017
Predeterminado Respuesta: Funciones para el Pokegear
¡Estaré atento a ese post Alex! Gracias por la iniciativa, me ha gustado mucho.

Y sobre el código creo que el error es del foro, ya que al escribir al menos cmd y sprite los reconoce como usuarios aunque los pongas dentro de la etiqueta code, no es cosa tuya.
Respuesta

Etiquetas
desbloqueables, essentials, funciones, pokegear, pokémon

Herramientas
Desplegado

Permisos para publicar mensajes
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los BB code están Activado
Los Emoticones están Activado
El código [IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Desactivado



Extra
Estilo clásico
La franja horaria es GMT +1. Ahora son las 12:12.