Thread: [Essentials Script] Apricorn System for Essentials
View Single Post
  #6    
Old August 19th, 2012 (5:21 AM).
FL's Avatar
FL FL is offline
Pokémon Island Creator
 
Join Date: Sep 2010
Gender: Male
Posts: 1,593

Interesting, but you can put all in one code, it is easier for people install, Quick example:

Code:
# Apricorn system by zingzags
# credits will be nice!

# Okay, so here is how you use it. # pbPokeballTime # must be used with a time sensitive event, because it is not like he can craft a pokeball in a blink of an eye like magic.

# To call upon the screen you must use # pbApricorn # Also you must set what ever switch you defined "Choose" to "ON" so that you can craft a pokeball in the same event.

#=============================================================================== # * These are custom settings for the Apricorn Box. # * "ApricornColorNumber" defines which Apricorn color represents which number # set it to what ever variable you want. # * "Apricornqty" defines the quantity of the Apricorn which you want to make # again set it to what ever variable you want. # * The "Choose" switch is to define if the player can only view what is inside # the Apricorn box, or choose an item inside. #=============================================================================== ApricornColorNumber=50 Apricornqty=51 Choose=50

class Apricorn

def pbUpdate pbUpdateSpriteHash(@sprites) end

def pbEndScene pbDisposeSpriteHash(@sprites) @viewport.dispose end

class TrainerBgPlane < AnimatedPlane

end def pbStartScene @sprites={} @posx={} @posy={} @choose=1 @posx[1],@posy[1]=30,0 @posx[2],@posy[2]=120,30 @posx[3],@posy[3]=30,65 @posx[4],@posy[4]=120,90 @posx[5],@posy[5]=30,130 @posx[6],@posy[6]=120,155 @posx[7],@posy[7]=30,190

@viewport=Viewport.new(0,0,Graphics.width, Graphics.height) @viewport.z=99999

@sprites["bg"]=IconSprite.new(0,0,@viewport) @sprites["bg"].setBitmap("Graphics/Pictures/Apricorn/Apricorn_menu") @sprites["bg"].z=1 @sprites["up"]=AnimatedSprite.create("Graphics/Pictures/Apricorn/uparrow1",10,3,@viewport) @sprites["up"].x=30 @sprites["up"].y=0 @sprites["up"].z=3 @sprites["up"].play @sprites["abg"]=TrainerBgPlane.new(@viewport) @sprites["abg"].setBitmap("Graphics/Pictures/Apricorn/ApricornBG") @sprites["abg"].z=0

@sprites["overlay"]=BitmapSprite.new(Graphics.width,Graphics.height,@viewport) @sprites["overlay"].z=2 [email protected]["overlay"].bitmap overlay.clear base=Color.new(12*8,12*8,12*8) base1=Color.new(255,255,240) shadow=Color.new(12*8,12*8,12*8) pbSetSystemFont(overlay) textpos=[ [_ISPRINTF("{1:3d}",$PokemonBag.pbQuantity(PBItems::REDAPRICORN)),102,94,1,base,shadow], [_ISPRINTF("{1:3d}",$PokemonBag.pbQuantity(PBItems::YLWAPRICORN)),198,127,1,base,shadow], [_ISPRINTF("{1:3d}",$PokemonBag.pbQuantity(PBItems::BLUAPRICORN)),102,160,1,base,shadow], [_ISPRINTF("{1:3d}",$PokemonBag.pbQuantity(PBItems::GRNAPRICORN)),198,190,1,base,shadow], [_ISPRINTF("{1:3d}",$PokemonBag.pbQuantity(PBItems::PNKAPRICORN)),102,223,1,base,shadow], [_ISPRINTF("{1:3d}",$PokemonBag.pbQuantity(PBItems::WHTAPRICORN)),198,253,1,base,shadow], [_ISPRINTF("{1:3d}",$PokemonBag.pbQuantity(PBItems::BLKAPRICORN)),102,287,1,base,shadow], [_ISPRINTF("Apricorn Box"),180,333,1,base1,shadow], ] pbDrawTextPositions(overlay,textpos) end

def pbScene loop do Graphics.update Input.update pbUpdate @sprites["abg"].update

if Input.trigger?(Input::LEFT) @choose-=1 @choose=7 if @choose<=0 @sprites["up"].[email protected][@choose] @sprites["up"].[email protected][@choose] end

if Input.trigger?(Input::RIGHT) @choose+=1 @choose=1 if @choose>=8 @sprites["up"].[email protected][@choose] @sprites["up"].[email protected][@choose] end

if Input.trigger?(Input::B) break end

if $game_switches[Choose]==true if @sprites["up"].[email protected][1] && @sprites["up"].[email protected][1] && $PokemonBag.pbQuantity(PBItems::REDAPRICORN)>=1 if Input.trigger?(Input::C) if Kernel.pbConfirmMessage(_INTL("Are you sure you want me to use a Red Apricorn?")) itemqty=$PokemonBag.pbQuantity(PBItems::REDAPRICORN) params=ChooseNumberParams.new params.setRange(1,itemqty) params.setInitialValue(itemqty) params.setCancelValue(0) qty=Kernel.pbMessageChooseNumber( _INTL("How much do you want to give?"),params ) $PokemonBag.pbDeleteItem(PBItems::REDAPRICORN,qty) $game_variables[ApricornColorNumber]=1 $game_variables[Apricornqty]=qty $game_switches[Choose]=false pbWait(30) break else Kernel.pbMessage(_INTL("Please choose an Apricorn.")) end end end

if @sprites["up"].[email protected][2] && @sprites["up"].[email protected][2] && $PokemonBag.pbQuantity(PBItems::YLWAPRICORN)>=1 if Input.trigger?(Input::C) if Kernel.pbConfirmMessage(_INTL("Are you sure you want me to use a Yellow Apricorn?")) itemqty=$PokemonBag.pbQuantity(PBItems::YLWAPRICORN) params=ChooseNumberParams.new params.setRange(1,itemqty) params.setInitialValue(itemqty) params.setCancelValue(0) qty=Kernel.pbMessageChooseNumber( _INTL("How much do you want to give?"),params ) $PokemonBag.pbDeleteItem(PBItems::YLWAPRICORN,qty) $game_variables[ApricornColorNumber]=2 $game_variables[Apricornqty]=qty $game_switches[Choose]=false pbWait(30) break else Kernel.pbMessage(_INTL("Please choose an Apricorn.")) end end end

if @sprites["up"].[email protected][3] && @sprites["up"].[email protected][3] && $PokemonBag.pbQuantity(PBItems::BLUAPRICORN)>=1 if Input.trigger?(Input::C) if Kernel.pbConfirmMessage(_INTL("Are you sure you want me to use a Blue Apricorn?")) itemqty=$PokemonBag.pbQuantity(PBItems::BLUAPRICORN) params=ChooseNumberParams.new params.setRange(1,itemqty) params.setInitialValue(itemqty) params.setCancelValue(0) qty=Kernel.pbMessageChooseNumber( _INTL("How much do you want to give?"),params ) $PokemonBag.pbDeleteItem(PBItems::BLUAPRICORN,qty) $game_variables[ApricornColorNumber]=3 $game_variables[Apricornqty]=qty $game_switches[Choose]=false pbWait(30) break else Kernel.pbMessage(_INTL("Please choose an Apricorn.")) end

end end

if @sprites["up"].[email protected][4] && @sprites["up"].[email protected][4] && $PokemonBag.pbQuantity(PBItems::GRNAPRICORN)>=1 if Input.trigger?(Input::C) if Kernel.pbConfirmMessage(_INTL("Are you sure you want me to use a Green Apricorn?")) itemqty=$PokemonBag.pbQuantity(PBItems::GRNAPRICORN) params=ChooseNumberParams.new params.setRange(1,itemqty) params.setInitialValue(itemqty) params.setCancelValue(0) qty=Kernel.pbMessageChooseNumber( _INTL("How much do you want to give?"),params ) $PokemonBag.pbDeleteItem(PBItems::GRNAPRICORN,qty) $game_variables[ApricornColorNumber]=4 $game_variables[Apricornqty]=qty $game_switches[Choose]=false pbWait(30) break else Kernel.pbMessage(_INTL("Please choose an Apricorn.")) end

end end

if @sprites["up"].[email protected][5] && @sprites["up"].[email protected][5] && $PokemonBag.pbQuantity(PBItems::PNKAPRICORN)>=1 if Input.trigger?(Input::C) if Kernel.pbConfirmMessage(_INTL("Are you sure you want me to use a Pink Apricorn?")) itemqty=$PokemonBag.pbQuantity(PBItems::PNKAPRICORN) params=ChooseNumberParams.new params.setRange(1,itemqty) params.setInitialValue(itemqty) params.setCancelValue(0) qty=Kernel.pbMessageChooseNumber( _INTL("How much do you want to give?"),params ) $PokemonBag.pbDeleteItem(PBItems::PNKAPRICORN,qty) $game_variables[ApricornColorNumber]=5 $game_variables[Apricornqty]=qty $game_switches[Choose]=false pbWait(30) break else Kernel.pbMessage(_INTL("Please choose an Apricorn.")) end

end end

if @sprites["up"].[email protected][6] && @sprites["up"].[email protected][6] && $PokemonBag.pbQuantity(PBItems::WHTAPRICORN)>=1 if Input.trigger?(Input::C) if Kernel.pbConfirmMessage(_INTL("Are you sure you want me to use a White Apricorn?")) itemqty=$PokemonBag.pbQuantity(PBItems::WHTAPRICORN) params=ChooseNumberParams.new params.setRange(1,itemqty) params.setInitialValue(itemqty) params.setCancelValue(0) qty=Kernel.pbMessageChooseNumber( _INTL("How much do you want to give?"),params ) $PokemonBag.pbDeleteItem(PBItems::WHTAPRICORN,qty) $game_variables[ApricornColorNumber]=6 $game_variables[Apricornqty]=qty $game_switches[Choose]=false pbWait(30) break else Kernel.pbMessage(_INTL("Please choose an Apricorn.")) end

end end

if @sprites["up"].[email protected][7] && @sprites["up"].[email protected][7] && $PokemonBag.pbQuantity(PBItems::BLKAPRICORN)>=1 if Input.trigger?(Input::C) if Kernel.pbConfirmMessage(_INTL("Are you sure you want me to use a Black Apricorn?")) itemqty=$PokemonBag.pbQuantity(PBItems::BLKAPRICORN) params=ChooseNumberParams.new params.setRange(1,itemqty) params.setInitialValue(itemqty) params.setCancelValue(0) qty=Kernel.pbMessageChooseNumber( _INTL("How much do you want to give?"),params ) $PokemonBag.pbDeleteItem(PBItems::BLKAPRICORN,qty) $game_variables[ApricornColorNumber]=7 $game_variables[Apricornqty]=qty $game_switches[Choose]=false pbWait(30) break else Kernel.pbMessage(_INTL("Please choose an Apricorn.")) end end end end

end end

end

class ApricornScreen def initialize(scene) @scene = scene end

def pbStartScreen @scene.pbStartScene @scene.pbScene @scene.pbEndScene end

end

def pbPokeballTime if $game_variables[ApricornColorNumber]==1 Kernel.pbReceiveItem(PBItems::LEVELBALL,$game_variables[Apricornqty]) $game_variables[Apricornqty]=0 elsif $game_variables[ApricornColorNumber]==2 Kernel.pbReceiveItem(PBItems::MOONBALL,$game_variables[Apricornqty]) $game_variables[Apricornqty]=0 elsif $game_variables[ApricornColorNumber]==3 Kernel.pbReceiveItem(PBItems::LUREBALL,$game_variables[Apricornqty]) $game_variables[Apricornqty]=0 elsif $game_variables[ApricornColorNumber]==4 Kernel.pbReceiveItem(PBItems::FRIENDBALL,$game_variables[Apricornqty]) $game_variables[Apricornqty]=0 elsif $game_variables[ApricornColorNumber]==5 Kernel.pbReceiveItem(PBItems::LOVEBALL,$game_variables[Apricornqty]) $game_variables[Apricornqty]=0 elsif $game_variables[ApricornColorNumber]==6 Kernel.pbReceiveItem(PBItems::FASTBALL,$game_variables[Apricornqty]) $game_variables[Apricornqty]=0 elsif $game_variables[ApricornColorNumber]==7 Kernel.pbReceiveItem(PBItems::HEAVYBALL,$game_variables[Apricornqty]) $game_variables[Apricornqty]=0 end $game_variables[ApricornColorNumber]=0 $game_variables[Apricornqty]=0 end

def pbApricorn scene=Apricorn.new screen=ApricornScreen.new(scene) pbFadeOutIn(99999) { screen.pbStartScreen } end

ItemHandlers::UseFromBag.add(:APRICORNBOX,proc{|item| pbApricorn next 1 # Continue })

ItemHandlers::UseInField.add(:APRICORNBOX,proc{|item| pbApricorn })

And, besides this, the code can be improved, like changing

Code:
def pbPokeballTime
     if $game_variables[ApricornColorNumber]==1
         Kernel.pbReceiveItem(PBItems::LEVELBALL,$game_variables[Apricornqty])
         $game_variables[Apricornqty]=0
     elsif $game_variables[ApricornColorNumber]==2
         Kernel.pbReceiveItem(PBItems::MOONBALL,$game_variables[Apricornqty])
         $game_variables[Apricornqty]=0
     elsif $game_variables[ApricornColorNumber]==3
         Kernel.pbReceiveItem(PBItems::LUREBALL,$game_variables[Apricornqty])
         $game_variables[Apricornqty]=0
     elsif $game_variables[ApricornColorNumber]==4
         Kernel.pbReceiveItem(PBItems::FRIENDBALL,$game_variables[Apricornqty])
         $game_variables[Apricornqty]=0
     elsif $game_variables[ApricornColorNumber]==5
         Kernel.pbReceiveItem(PBItems::LOVEBALL,$game_variables[Apricornqty])
         $game_variables[Apricornqty]=0
     elsif $game_variables[ApricornColorNumber]==6
         Kernel.pbReceiveItem(PBItems::FASTBALL,$game_variables[Apricornqty])
         $game_variables[Apricornqty]=0
     elsif $game_variables[ApricornColorNumber]==7
         Kernel.pbReceiveItem(PBItems::HEAVYBALL,$game_variables[Apricornqty])
         $game_variables[Apricornqty]=0
       end
       $game_variables[ApricornColorNumber]=0
       $game_variables[Apricornqty]=0
  end
to
Code:
def pbPokeballTime
  if(1<=$game_variables[ApricornColorNumber] && $game_variables[ApricornColorNumber]<=7)
    apricornBall=[PBItems::LEVELBALL,PBItems::MOONBALL,PBItems::LUREBALL,PBItems::FRIENDBALL,
        PBItems::LOVEBALL,PBItems::FASTBALL,PBItems::HEAVYBALL][$game_variables[ApricornColorNumber]-1]
    Kernel.pbReceiveItem(apricornBall,$game_variables[Apricornqty])
    $game_variables[Apricornqty]=0
  end
end

__________________
Reply With Quote