Thread: [Essentials script] TM shop with compatible icons
View Single Post
  #1    
Old April 7th, 2012, 11:09 AM
FL's Avatar
FL
Pokémon Island Creator
 
Join Date: Sep 2010
Gender: Male
Code:
#===============================================================================
# * TM shop with compatible icons - by FL (Credits will be apreciated)
#===============================================================================
#
# This script is for Pokémon Essentials. It displays your current party icons
# animated in shop screen and the pokémon that can learn a selected TM will be
# colored and more animated.
#
#===============================================================================
#
# To this script works, put it above main, put a 160x128 background box for
# pokémon icons in TMBOXPATH location and change the following lines in
# PokémonMart Script (use Ctrl+F to find it):
# 
# -Change line 'def pbStartBuyOrSellScene(buying,stock,adapter)' to
# 'def pbStartBuyOrSellScene(buying,stock,adapter,tmshop=false)'
# -After line '@sprites["background"].setBitmap("Graphics/Pictures/martscreen")'
# put 'initializeTMSprites(tmshop)'
# -After each line 
# '@sprites["icon"].src_rect=@adapter.getItemIconRect(itemwindow.item)' put 
# 'checksTMs if @tmshop'
# -Change line 'def pbBuyScreen' to 'def pbBuyScreen(tmshop=false)'
# -Change line '@scene.pbStartBuyScene(@stock,@adapter)' to
# '@scene.pbStartBuyScene(@stock,@adapter,tmshop)'
# -Change line 'def pbPokemonMart(stock,speech=nil,cantsell=false)' to
# 'def pbPokemonMart(stock,speech=nil,cantsell=false, tmshop=false)'
# -Change line 'screen.pbBuyScreen' to 'screen.pbBuyScreen(tmshop)'
#
# To call it, use 'pbPokemonMart([ITEMS],nil,false,true)'
# Ex: A 'pbPokemonMart([PBItems::TM01,PBItems::TM02,PBItems::TM03])' will be
# 'pbPokemonMart([PBItems::TM01,PBItems::TM02,PBItems::TM03],nil,false,true)'  
#
#===============================================================================

class PokemonMartScene

TMBOXPATH="Graphics/Pictures/marttmbox" # You can change if you wish

def initializeTMSprites(tmshop)
  @tmshop=tmshop
  if tmshop
    @sprites["tmbox"]=IconSprite.new(0,Graphics.height-224,@viewport)
    @sprites["tmbox"].setBitmap(TMBOXPATH)
    for i in 0...$Trainer.party.length
      next if $Trainer.party[i].egg? # Ignores eggs
      @sprites["pokemon#{i}"]=PokemonIconSprite.new($Trainer.party[i],@viewport) 
      @sprites["pokemon#{i}"].x=48*(i/2)
      @sprites["pokemon#{i}"].y=(Graphics.height-228)+56*(i%2)
    end
  end
end  

def checksTMs
  for i in 0...$Trainer.party.length
    next if $Trainer.party[i].egg?
    flag=false
    item=@sprites["itemwindow"].item
    if $ItemData[item][ITEMPOCKET]==4
      machine=$ItemData[item][ITEMMACHINE]
      flag=pbSpeciesCompatible?($Trainer.party[i].species,machine)
    end
    # If you don't wish the selected animation change
    # the below line for 'if false'
    if @sprites["pokemon#{i}"].selected!=flag
      @sprites["pokemon#{i}"].selected=flag
      (flag) ? @sprites["pokemon#{i}"].x-=8 : @sprites["pokemon#{i}"].x+=8
    end
    gray=0
    gray=255 if !flag # Comment this line if you didn't want the uncolored sprite
    @sprites["pokemon#{i}"].tone=Tone.new(0,0,0,gray)
  end
end

def pbStartBuyScene(stock,adapter,tmshop=false) #redefine
  pbStartBuyOrSellScene(true,stock,adapter,tmshop)
end
  
end
Attached Thumbnails
tmshopscreen.png‎   marttmbox.png‎  
__________________

Last edited by FL; April 7th, 2012 at 01:27 PM.
Reply With Quote