Go Back   The PokéCommunity Forums > Creative Discussions > Game Development > Scripts & Tutorials
Reload this Page [Essentials script] TM shop with compatible icons

Notices
For all updates, view the main page.

Scripts & Tutorials This forum is for scripts and code, as well as all kinds of tutorials, software, tools and so forth. Remember to give credit!
The thread revival limit does not apply here.



Reply
 
Thread Tools
  #1    
Old April 7th, 2012 (11:09 AM). Edited April 7th, 2012 by FL.
FL's Avatar
FL FL is offline
Pokémon Island Creator
 
Join Date: Sep 2010
Gender: Male
Posts: 1,409
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‎  
__________________
Reply With Quote
  #2    
Old April 7th, 2012 (12:21 PM).
overstood overstood is offline
 
Join Date: Mar 2012
Posts: 15
nice one. works for me
jkghklöä
Reply With Quote
  #3    
Old April 7th, 2012 (01:31 PM).
FL's Avatar
FL FL is offline
Pokémon Island Creator
 
Join Date: Sep 2010
Gender: Male
Posts: 1,409
I mistake the TM pocket (put 'if $ItemData[item][ITEMPOCKET]==3' when the right is 'if $ItemData[item][ITEMPOCKET]==4').
I updated the script in topic.
__________________
Reply With Quote
  #4    
Old April 9th, 2012 (01:17 AM).
Nickalooose Nickalooose is offline
--------------------
 
Join Date: Mar 2008
Gender: Female
Posts: 1,130
Clever idea! I like it... Um I can't post such a small reply apparently...
Reply With Quote
Reply
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are UTC -8. The time now is 02:18 PM.