k so ive installed this into a clean copy of essentials v17.2 and everything seams to work except i cant seam to activate the zodiac powers the icons there but nothing happens when i press A
ah that works just modified the battle icon to reflect it
ah just noticed thank you
another quick question and i may be just being dumb how do you give pokemon a birthsign (like during the starter event or ingame trade
class PokegearButton < SpriteWrapper
attr_reader :index
attr_reader :name
attr_reader :selected
def initialize(command,x,y,viewport=nil)
super(viewport)
@image = command[0]
@name = command[1]
@selected = false
if $Trainer.isFemale? && pbResolveBitmap(sprintf("Graphics/Pictures/Pokegear/icon_button_f"))
@button = AnimatedBitmap.new("Graphics/Pictures/Pokegear/icon_button_f")
else
@button = AnimatedBitmap.new("Graphics/Pictures/Pokegear/icon_button")
end
@contents = BitmapWrapper.new(@button.width,@button.height)
self.bitmap = @contents
self.x = x
self.y = y
pbSetSystemFont(self.bitmap)
refresh
end
def dispose
@button.dispose
@contents.dispose
super
end
def selected=(val)
oldsel = @selected
@selected = val
refresh if oldsel!=val
end
def refresh
self.bitmap.clear
rect = Rect.new(0,0,@button.width,@button.height/2)
rect.y = @button.height/2 if @selected
self.bitmap.blt(0,0,@button.bitmap,rect)
textpos = [
[@name,self.bitmap.width/2,10,2,Color.new(248,248,248),Color.new(40,40,40)],
]
pbDrawTextPositions(self.bitmap,textpos)
imagepos = [
[sprintf("Graphics/Pictures/Pokegear/icon_"+@image),18,10,0,0,-1,-1],
]
pbDrawImagePositions(self.bitmap,imagepos)
end
end
class PokemonPokegear_Scene
def pbUpdate
for i in [email protected]
@sprites["button#{i}"].selected = (i==@index)
end
pbUpdateSpriteHash(@sprites)
end
def pbStartScene(commands)
@commands = commands
@index = 0
@viewport = Viewport.new(0,0,Graphics.width,Graphics.height)
@viewport.z = 99999
@sprites = {}
@sprites["background"] = IconSprite.new(0,0,@viewport)
if $Trainer.isFemale? && pbResolveBitmap(sprintf("Graphics/Pictures/Pokegear/bg_f"))
@sprites["background"].setBitmap("Graphics/Pictures/Pokegear/bg_f")
else
@sprites["background"].setBitmap("Graphics/Pictures/Pokegear/bg")
end
for i in [email protected]
y = 196 - (@commands.length*24) + (i*48)
@sprites["button#{i}"] = PokegearButton.new(@commands[i],118,y,@viewport)
end
pbFadeInAndShow(@sprites) { pbUpdate }
end
def pbScene
ret = -1
loop do
Graphics.update
Input.update
pbUpdate
if Input.trigger?(Input::B)
break
elsif Input.trigger?(Input::C)
ret = @index
break
elsif Input.trigger?(Input::UP)
@index -= 1
@index = @commands.length-1 if @index<0
pbPlayCursorSE if @commands.length>1
elsif Input.trigger?(Input::DOWN)
@index += 1
@index = 0 if @index>[email protected]
pbPlayCursorSE if @commands.length>1
end
end
return ret
end
def pbEndScene
pbFadeOutAndHide(@sprites) { pbUpdate }
pbDisposeSpriteHash(@sprites)
@viewport.dispose
end
end
class PokemonPokegearScreen
def initialize(scene)
@scene = scene
end
def pbStartScreen
commands = []
cmdMap = -1
cmdPhone = -1
cmdJukebox = -1
cmdBirthsigns = -1
commands[cmdMap = commands.length] = ["map",_INTL("Map")]
if $PokemonGlobal.phoneNumbers && $PokemonGlobal.phoneNumbers.length>0
commands[cmdPhone = commands.length] = ["phone",_INTL("Phone")]
end
commands[cmdJukebox = commands.length] = ["jukebox",_INTL("Jukebox")]
commands[cmdBirthsigns = commands.length] = ["birthsigns",_INTL("Birthsigns")]
@scene.pbStartScene(commands)
loop do
cmd = @scene.pbScene
if cmd<0
pbPlayCancelSE
break
elsif cmdMap>=0 && cmd==cmdMap
pbPlayDecisionSE
pbShowMap(-1,false)
elsif cmdPhone>=0 && cmd==cmdPhone
pbPlayDecisionSE
pbFadeOutIn(99999){
PokemonPhoneScene.new.start
}
elsif cmdJukebox>=0 && cmd==cmdJukebox
pbPlayDecisionSE
pbFadeOutIn(99999){
scene = PokemonJukebox_Scene.new
screen = PokemonJukeboxScreen.new(scene)
screen.pbStartScreen
}
elsif cmdBirthsigns>=0 && cmd==cmdBirthsigns
pbPlayDecisionSE
pbFadeOutIn(99999){
$scene = BirthsignJournalScene.new
}
end
end
@scene.pbEndScene
end
end
thanks ive managed to get it working for starter selection but can you have a quick look to see if ive done it the most efficient way
poke=PokeBattle_Pokemon.new(
:SQUIRTLE,5,$Trainer)
poke.setBirthsign((rand(12)+1)%12)
pbAddPokemon(poke)
also ive attempted to get the journal to work as a pokegear app and for some reason it only seams to open when i close the pokegear screen any ideas what im doing wrong
Code:class PokegearButton < SpriteWrapper attr_reader :index attr_reader :name attr_reader :selected def initialize(command,x,y,viewport=nil) super(viewport) @image = command[0] @name = command[1] @selected = false if $Trainer.isFemale? && pbResolveBitmap(sprintf("Graphics/Pictures/Pokegear/icon_button_f")) @button = AnimatedBitmap.new("Graphics/Pictures/Pokegear/icon_button_f") else @button = AnimatedBitmap.new("Graphics/Pictures/Pokegear/icon_button") end @contents = BitmapWrapper.new(@button.width,@button.height) self.bitmap = @contents self.x = x self.y = y pbSetSystemFont(self.bitmap) refresh end def dispose @button.dispose @contents.dispose super end def selected=(val) oldsel = @selected @selected = val refresh if oldsel!=val end def refresh self.bitmap.clear rect = Rect.new(0,0,@button.width,@button.height/2) rect.y = @button.height/2 if @selected self.bitmap.blt(0,0,@button.bitmap,rect) textpos = [ [@name,self.bitmap.width/2,10,2,Color.new(248,248,248),Color.new(40,40,40)], ] pbDrawTextPositions(self.bitmap,textpos) imagepos = [ [sprintf("Graphics/Pictures/Pokegear/icon_"+@image),18,10,0,0,-1,-1], ] pbDrawImagePositions(self.bitmap,imagepos) end end class PokemonPokegear_Scene def pbUpdate for i in [email protected] @sprites["button#{i}"].selected = (i==@index) end pbUpdateSpriteHash(@sprites) end def pbStartScene(commands) @commands = commands @index = 0 @viewport = Viewport.new(0,0,Graphics.width,Graphics.height) @viewport.z = 99999 @sprites = {} @sprites["background"] = IconSprite.new(0,0,@viewport) if $Trainer.isFemale? && pbResolveBitmap(sprintf("Graphics/Pictures/Pokegear/bg_f")) @sprites["background"].setBitmap("Graphics/Pictures/Pokegear/bg_f") else @sprites["background"].setBitmap("Graphics/Pictures/Pokegear/bg") end for i in [email protected] y = 196 - (@commands.length*24) + (i*48) @sprites["button#{i}"] = PokegearButton.new(@commands[i],118,y,@viewport) end pbFadeInAndShow(@sprites) { pbUpdate } end def pbScene ret = -1 loop do Graphics.update Input.update pbUpdate if Input.trigger?(Input::B) break elsif Input.trigger?(Input::C) ret = @index break elsif Input.trigger?(Input::UP) @index -= 1 @index = @commands.length-1 if @index<0 pbPlayCursorSE if @commands.length>1 elsif Input.trigger?(Input::DOWN) @index += 1 @index = 0 if @index>[email protected] pbPlayCursorSE if @commands.length>1 end end return ret end def pbEndScene pbFadeOutAndHide(@sprites) { pbUpdate } pbDisposeSpriteHash(@sprites) @viewport.dispose end end class PokemonPokegearScreen def initialize(scene) @scene = scene end def pbStartScreen commands = [] cmdMap = -1 cmdPhone = -1 cmdJukebox = -1 cmdBirthsigns = -1 commands[cmdMap = commands.length] = ["map",_INTL("Map")] if $PokemonGlobal.phoneNumbers && $PokemonGlobal.phoneNumbers.length>0 commands[cmdPhone = commands.length] = ["phone",_INTL("Phone")] end commands[cmdJukebox = commands.length] = ["jukebox",_INTL("Jukebox")] commands[cmdBirthsigns = commands.length] = ["birthsigns",_INTL("Birthsigns")] @scene.pbStartScene(commands) loop do cmd = @scene.pbScene if cmd<0 pbPlayCancelSE break elsif cmdMap>=0 && cmd==cmdMap pbPlayDecisionSE pbShowMap(-1,false) elsif cmdPhone>=0 && cmd==cmdPhone pbPlayDecisionSE pbFadeOutIn(99999){ PokemonPhoneScene.new.start } elsif cmdJukebox>=0 && cmd==cmdJukebox pbPlayDecisionSE pbFadeOutIn(99999){ scene = PokemonJukebox_Scene.new screen = PokemonJukeboxScreen.new(scene) screen.pbStartScreen } elsif cmdBirthsigns>=0 && cmd==cmdBirthsigns pbPlayDecisionSE pbFadeOutIn(99999){ $scene = BirthsignJournalScene.new } end end @scene.pbEndScene end end
---------------------------
Pokemon Essentials
---------------------------
[Pokémon Essentials version 17.2]
Exception: NoMethodError
Message: undefined method `[]' for nil:NilClass
PokeBattle_Battler:2613:in `pbTarget'
PokeBattle_Battler:2529:in `pbFindUser'
PokeBattle_Battler:3574:in `pbUseMove'
PokeBattle_Battler:3911:in `pbProcessTurn'
PokeBattle_Battler:3910:in `logonerr'
PokeBattle_Battler:3910:in `pbProcessTurn'
Birthsign_ZodiacPowers:1381:in `pbAttackPhase'
Birthsign_ZodiacPowers:1369:in `each'
Birthsign_ZodiacPowers:1369:in `pbAttackPhase'
Birthsign_ZodiacPowers:1357:in `times'
This exception was logged in
C:\Users\P\Saved Games\Pokemon Essentials\errorlog.txt.
Press Ctrl+C to copy this message to the clipboard.
---------------------------
OK
---------------------------
hiya me again ive added the z-moves released from Here and works fine on its own but when added with zodiacmoves it causes the following error
Spoiler:
Code:--------------------------- Pokemon Essentials --------------------------- [Pokémon Essentials version 17.2] Exception: NoMethodError Message: undefined method `[]' for nil:NilClass PokeBattle_Battler:2613:in `pbTarget' PokeBattle_Battler:2529:in `pbFindUser' PokeBattle_Battler:3574:in `pbUseMove' PokeBattle_Battler:3911:in `pbProcessTurn' PokeBattle_Battler:3910:in `logonerr' PokeBattle_Battler:3910:in `pbProcessTurn' Birthsign_ZodiacPowers:1381:in `pbAttackPhase' Birthsign_ZodiacPowers:1369:in `each' Birthsign_ZodiacPowers:1369:in `pbAttackPhase' Birthsign_ZodiacPowers:1357:in `times' This exception was logged in C:\Users\P\Saved Games\Pokemon Essentials\errorlog.txt. Press Ctrl+C to copy this message to the clipboard. --------------------------- OK ---------------------------
any advice on how to resolve would be great thank you
I don't believe there is. However, I'm currently working on a future update that will expand your options when it comes to assigning birthsigns; allowing you to manually set any of the 24 signs regardless of which "set" you're using, and also custom build your own 12 month zodiac. Hopefully that will be sufficient.Hi! First of all congratulations for this amazing script system, Lucidious89, I really love it and I'm trying to use it on my fangame because I think that combines perfectly with it.
Now, I have a little question to you. It could be possible (in an easy way, I don't want that you make a heavy script for this silly question) to decide in-game if we want the Birthsign set 1 or the Birthsign set 2? I was trying to modify the script putting an "if/else" on the "BIRTHSIGN_SET_2 = true" with a "$game_switches" condition, but it doesn't work.
Thanks again (and sorry if there are spelling mistakes, I'm spanish and I have my english a little forgotten) I hope you can solve my doubt.
I don't believe there is. However, I'm currently working on a future update that will expand your options when it comes to assigning birthsigns; allowing you to manually set any of the 24 signs regardless of which "set" you're using, and also custom build your own 12 month zodiac. Hopefully that will be sufficient.
is it possible for evolution be affected by Birthsign and can switches be activated via birthsigns?