• Do not use Discord to host any images you post, these links expire quickly! You can learn how to add images to your posts here.
  • Reminder: AI-generated content is not allowed on the forums per the Rules and Regulations. Please contact us if you have any questions!
Resource icon

v17 or older tienda para comprar pokemones v16

This resource pertains to version 17 or older of Pokémon Essentials.
Pokémon Essentials Version
v16.2 ➖
el script no es mio lo saque de https://eeveeexpo.com/resources/464/ , yo solo lo probe en pokemon Essentials bes y lo unico que tenia era que cuando le dabas al boton para salir te ponia un mensaje y te regresa a la tienda, asi que me ayude con chat gpt para solucionar ese pequeño error. aquí les dejo el script arreglado para esa versión del juego

#===============================================================================
# Pokémon Mart
# by JV
# ----------------
# Provides an interface and backend for buying Pokémon in the same
# style as the regular mart.
#
# To use, simply create a script call from an event:
# 'pbPokemonCreaturesMart([[species,price,level],...])'
#
# Example: 'pbPokemonCreaturesMart([[:PIKACHU,12000,10],[:ABRA,5000,12]])'
#
# Enjoy the script, and make sure to give credit!
#-------------------------------------------------------------------------------

PluginManager.register({
:name => "JV's Pokémon Mart",
:version => "1.0",
:credits => "JV",
:link => "https://reliccastle.com/resources/464/"
})

#-------------------------------------------------------------------------------

def pbPokemonCreaturesMart(stock, speech = nil)
for i in 0...stock.length
stock[0] = getID(PBSpecies, stock[0])
if !stock[0] || stock[0] == 0
stock = nil
end
end
stock.compact!

commands = []
cmdBuy = commands.length
commands << _INTL("Buy")
cmdQuit = commands.length
commands << _INTL("Quit")

cmd = pbMessage(
speech ? speech : _INTL("Welcome! How may I serve you?"),
commands,
cmdQuit
)

if cmd == cmdBuy
scene = PokemonCreaturesMart_Scene.new
screen = PokemonCreaturesMartScreen.new(scene, stock)
screen.pbBuyScreen
end

pbMessage(_INTL("Please come again!"))
$game_temp.clear_mart_prices
end

class PokemonCreaturesMartAdapter
def initialize(stock)
@stock = stock
end

def getMoney
return $Trainer.money
end

def getMoneyString
return pbGetGoldString
end

def setMoney(value)
$Trainer.money=value
end

def getInventory
return $Trainer.party
end

def getDisplayName(item)
itemname = PBSpecies.getName(item)
for i in @stock
level = i[2] if i[0] == item
end
return "#{itemname} (Lv. #{level})"
end

def getName(item)
return PBSpecies.getName(item)
end

def getDescription(item)
echoln(item)
return pbGetMessage(MessageTypes::Entries,item)
end

def getItemIcon(item)
return nil if !item
file = pbCheckPokemonIconFiles([item,nil,nil,nil,nil],nil)
return AnimatedBitmap.new(file).deanimate
end

def getItemIconRect(_item)
return Rect.new(0,0,64,64)
end

def getQuantity(item)
return nil
end

def showQuantity?(item)
return false
end

def getPrice(item,selling=false)
for i in @stock
return i[1] if i[0] == item
end
return 10000
end

def getDisplayPrice(item,selling=false)
price = getPrice(item,selling).to_s_formatted
return _INTL("$ {1}",price)
end

def canSell?(item)
return false
end

def addItem(item)
level = 5
for i in @stock
level = i[2] if i[0] == item && i[2]
end
return pbAddPokemon(item,level)
end

def removeItem(item)
return nil
end
end

class PokemonCreaturesMartScreen < PokemonMartScreen
def initialize(scene,stock)
@scene=scene
@stock=[]
@adapter=PokemonCreaturesMartAdapter.new(stock)
for i in stock
@stock.push(i.first)
end
end

def pbBuyScreen
@scene.pbStartBuyScene(@stock,@adapter)
item=0
loop do
item=@scene.pbChooseBuyItem
quantity=1
break if item==0
itemname=@adapter.getDisplayName(item)
price=@adapter.getPrice(item)
if @adapter.getMoney<price
pbDisplayPaused(_INTL("You don't have enough money."))
next
end
if !pbConfirm(_INTL("Certainly. You want {1}. That will be ${2}. OK?",
itemname,price.to_s_formatted))
next
end
unless pbBoxesFull?
@adapter.setMoney(@adapter.getMoney-price)
pbDisplayPaused(_INTL("Here you are! Thank you!")) { pbSEPlay("Mart buy item") }
@adapter.addItem(item)
else
pbDisplayPaused(_INTL("You have no more room in the Storage."))
end
end
@scene.pbEndBuyScene
end
end

class PokemonCreaturesMart_Scene < PokemonMart_Scene
def pbRefresh
if @subscene
@subscene.pbRefresh
else
itemwindow=@sprites["itemwindow"]
@sprites["icon"].species=itemwindow.item
@sprites["itemtextwindow"].text=(itemwindow.item==0) ? _INTL("Quit shopping.") :
"<fs=24>#{@adapter.getDescription(itemwindow.item)}</fs>"
itemwindow.refresh
end
@sprites["moneywindow"].text=_INTL("Money:\r\n<r>{1}",@adapter.getMoneyString)
end

def pbStartBuyOrSellScene(buying,stock,adapter)
# Scroll right before showing screen
pbScrollMap(6,5,5)
@viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
@viewport.z=99999
@stock=stock
@adapter=adapter
@sprites={}
@sprites["background"]=IconSprite.new(0,0,@viewport)
@sprites["background"].setBitmap("Graphics/Pictures/martScreen")
@sprites["icon"]=PokemonSpeciesIconSprite.new(0,@viewport)
@sprites["icon"].x = 4
@sprites["icon"].y = Graphics.height-90
winAdapter=buying ? BuyAdapter.new(adapter) : SellAdapter.new(adapter)
@sprites["itemwindow"]=Window_PokemonMart.new(stock,winAdapter,
Graphics.width-316-16,12,330+16,Graphics.height-126)
@sprites["itemwindow"].viewport=@viewport
@sprites["itemwindow"].index=0
@sprites["itemwindow"].refresh
@sprites["itemtextwindow"]=Window_AdvancedTextPokemon.new("")
pbPrepareWindow(@sprites["itemtextwindow"])
@sprites["itemtextwindow"].x=64
@sprites["itemtextwindow"].y=Graphics.height-96-16
@sprites["itemtextwindow"].width=Graphics.width-64
@sprites["itemtextwindow"].height=128
@sprites["itemtextwindow"].baseColor=Color.new(248,248,248)
@sprites["itemtextwindow"].shadowColor=Color.new(0,0,0)
@sprites["itemtextwindow"].visible=true
@sprites["itemtextwindow"].viewport=@viewport
@sprites["itemtextwindow"].windowskin=nil
@sprites["helpwindow"]=Window_AdvancedTextPokemon.new("")
pbPrepareWindow(@sprites["helpwindow"])
@sprites["helpwindow"].visible=false
@sprites["helpwindow"].viewport=@viewport
pbBottomLeftLines(@sprites["helpwindow"],1)
@sprites["moneywindow"]=Window_AdvancedTextPokemon.new("")
pbPrepareWindow(@sprites["moneywindow"])
@sprites["moneywindow"].setSkin("Graphics/Windowskins/goldskin")
@sprites["moneywindow"].visible=true
@sprites["moneywindow"].viewport=@viewport
@sprites["moneywindow"].x=0
@sprites["moneywindow"].y=0
@sprites["moneywindow"].width=190
@sprites["moneywindow"].height=96
@sprites["moneywindow"].baseColor=Color.new(88,88,80)
@sprites["moneywindow"].shadowColor=Color.new(168,184,184)
pbDeactivateWindows(@sprites)
@buying=buying
pbRefresh
Graphics.frame_reset
end

def pbChooseBuyItem
itemwindow=@sprites["itemwindow"]
@sprites["helpwindow"].visible=false
pbActivateWindow(@sprites,"itemwindow") {
pbRefresh
loop do
Graphics.update
Input.update
olditem=itemwindow.item
self.update
if itemwindow.item!=olditem
@sprites["icon"].species=itemwindow.item
@sprites["itemtextwindow"].text=(itemwindow.item==0) ? _INTL("Quit shopping.") :
"<fs=24>#{@adapter.getDescription(itemwindow.item)}</fs>"
end
if Input.trigger?(Input::B)
pbPlayCloseMenuSE
return 0
elsif Input.trigger?(Input::C)
if itemwindow.index<@stock.length
pbRefresh
return @stock[itemwindow.index]
else
return 0
end
end
end
}
end
fin

yo en lo personal uso la base de bes para poder usar el pbs editor de berzier que ayuda mucho, si alquien esta haciendo un juego de pokemon en esa base y quiere agregar una tienda para comprar pokemones puede usar este script, repito no es mio,

para usarlo solo pon en un evento esto

pbPokemonCreaturesMart(
[
[:PIKACHU,12000,10],
[:ABRA,10,12]
],
"¡Vendemos Pokémon entrenados!"
)

los parametros son (nombre interno del pokemon, cuanto cuesta, nivel)
Credits
This script is made by ~JV~. Please give credit!
Author
ranamagica
Views
83
First release
Last update

Ratings

0.00 star(s) 0 ratings
Back
Top