• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Archive] Pokemon Essentials: Starter Kit for RPG Maker XP

Status
Not open for further replies.

partyghoul2000

Intermediate Game Designer
175
Posts
18
Years
    • Age 36
    • USA
    • Seen Jun 24, 2014
    Try placing an = sign inbetween WildItemRare and BERRY.

    Also, can anyone link a place that has all of the pokemon attack sound effects from any of the gba pokemon games? thx

    i haven't been able to find any link or archive that has the sfx. the best bet would be to try ripping them. :(
     
    20
    Posts
    15
    Years
    • Age 28
    • Seen Jan 10, 2012
    Nevermind about the bridge problem. I've found a way to fix it.

    Instead of making the bridge on the map, I had to make the bridge out of events, each with the bridge piece as the graphic. The event should have two pages; on the second one, I made the switch "007: Bridge" be on. Also, on the first page, "Through" and "Always on Top" are on (but they have to be off for the second page still). Finally, there has to be two event triggers, one that turns on 007: Bridge and the other to turn it off (the one that turns it on should be placed after off, after as in you walk to it after). The event triggers should be placed before you go on the bridge, but after you go under it.

    And that's actually all there is to a perfectly-working bridge. Before this, I tried messing with the events on the example map, MAP010. Till now, I've spent about a week on it and never got anywhere. I'm really, REALLY glad I found something that solved my bridge problems, hope it can solve someone else's.
     
    2
    Posts
    15
    Years
    • Seen Apr 23, 2009
    Thanks alot Maruno, I solved it and I got to know some more about rpg maker:)
    Now I've got some idea of which I'm not sure if it already exists: When you walk behind a building at places where you can't really see what's in front of you(since your character is completely 'covered' by the building), I thought maybe when you walk behind a building, the building(atleast the parts where you can walk behind) gets semi-transparant(like say 50-60%). I'm fairly sure it is possible to do this but I was wondering if I should be looking at terrain tags or an event or something. It should be something similar to still water right?(reflection)
    Thanks alot again Maruno and thanks in advance!
     
    19
    Posts
    15
    Years
    • Seen Mar 5, 2011
    Hello, I´m making a Pokemon game with RPG Maker XP and I want to add a second screen to use it in battle like in DP and to have the Pokegear in the second screen.
    Can anyone help me?

    I´m spanish, so my english isn´t good.
     

    Maruno

    Lead Dev of Pokémon Essentials
    5,286
    Posts
    16
    Years
    • Seen May 3, 2024
    Thanks alot Maruno, I solved it and I got to know some more about rpg maker:)
    Now I've got some idea of which I'm not sure if it already exists: When you walk behind a building at places where you can't really see what's in front of you(since your character is completely 'covered' by the building), I thought maybe when you walk behind a building, the building(atleast the parts where you can walk behind) gets semi-transparant(like say 50-60%). I'm fairly sure it is possible to do this but I was wondering if I should be looking at terrain tags or an event or something. It should be something similar to still water right?(reflection)
    Thanks alot again Maruno and thanks in advance!
    There's certainly a way to do it. Instead of putting the tops of buildings and trees in as part of the map, put them in as blank events instead. Each event gets two pages, one for "you're not behind it" and one activated by a switch.

    Make one switch for each "object" (a whole building, say), and have the switch be turned on when the player steps on one of those events (i.e. behind the roof). That switch corresponds to the "you're behind it" second page of each event, which will have a picture of a semi-transparent bit of roof.

    When you step out from behind the building, you want the roof to become solid again, so put a ring of blank events around the roof, which turns the switch for that building off when you step on that event.

    It may not be perfect (there's a whole lot of events and switches, and the roofs won't fade to transparency unless you do something clever - they'll instantly jump to being semi-transparent instead). But still, it's a start. Perhaps, as you suggest, someone can invent a terrain tag for tiles that turn semi-transparent when you step on them (i.e. under them), and write a script that makes all connected tiles with that same terrain tag go semi-transparent at the same time.


    Hello, I´m making a Pokemon game with RPG Maker XP and I want to add a second screen to use it in battle like in DP and to have the Pokegear in the second screen.
    Can anyone help me?

    I´m spanish, so my english isn´t good.
    That would be... involved. If you wanted the lower screen to behave just like it does in DP, then that would involve a major rewrite of all the scripts.

    There's no simple answer to this. If you were at a level where you could fiddle significantly with the scripts, then you wouldn't be asking this question, so very simply, my advice is... forget it. It's too complicated.
     

    pokehacker88

    The Pokemon Hacker.
    42
    Posts
    16
    Years
  • Use the dependant event command, like this:
    Kernel.pbAddDependency2(ID, "XXX", COMMONEVENT)
    where ID is the event's ID number (use @event_id to refer to the current event; to find out an event's ID number, double-click on the event, and the ID will appear on the dialog box shown), "XXX" is an arbitrary name used to identify the event, and COMMONEVENT is the common event number to call when the player talks to the dependent event.

    To remove a dependent event, use this script:

    Kernel.pbRemoveDependency2("XXX")
    where XXX is the name used in the call to "pbAddDependency2".

    Thanks, but I dont konw what I should write by COMMONEVENT.?
    Can you explain it please
     

    Neo-Dragon

    Game Developer
    1,835
    Posts
    19
    Years
  • A lot of new users don't know what this thread is, so I changed the title. If you want me to change it to something else let me know. I want to keep the fact that it is a Starter Kit in the title if you don't mind.
     
    33
    Posts
    16
    Years
    • Seen May 9, 2014
    Thanks, but I dont konw what I should write by COMMONEVENT.?
    Can you explain it please

    Write the id of the common event used when you talk to the event. Go into the common events tab in the database, and make a common event for what it says whenever you talk to it, then use the number to the left of its name in the COMMONEVENT part.
     
    144
    Posts
    15
    Years
    • Seen Oct 8, 2010
    Hi I was wondering if someone could explain some of the terms in the Pokemon Utilities code? I understand things like def and stuff..but here are the commands I don't really understand that are highlighted in bold:

    Code:
    def pbChangePlayer(id)
      return false if [B]id<0||id>[/B]=4
      [B]meta[/B]=pbGetMetadata([B]0,MetadataPlayerA+id[/B])
      return false if [B]!meta[/B]
      [B]$game_player.character_name=meta[1]
      $game_player.character_hue=0
      $PokemonGlobal.playerID=id[/B]
    end
    
    def pbGetPlayerGraphic
      [B]id=$PokemonGlobal.playerID[/B]
      return "" if id<0||id>=4
      meta=pbGetMetadata(0,MetadataPlayerA+id)
      return [B]""[/B] if !meta
      return [B]sprintf("../Characters/trainer%03d",meta[0])[/B]
    end
    
    def [B]pbGetPlayerTrainerType[/B]
      id=$PokemonGlobal.playerID
      return 0 if id<0||id>=4
      meta=pbGetMetadata(0,MetadataPlayerA+id)
      return 0 if !meta
      return meta[0]
    end
    
    def [B]pbGetTrainerTypeGender(trainertype)[/B]
     ret=2
     pbRgssOpen[B]("Data/trainernames.dat","rb"){|f|[/B]
      [B]trainernames=Marshal.load(f)[/B]
      if !trainernames[trainertype]
       ret=2
      else
       [B]ret=trainernames[trainertype][7]
       ret=2 if !ret[/B]
      end
     }
     return ret
    end
    
    def pbTrainerName
     trname=pbEnterText("Your name?",0,10,"Ashley")
     trainertype=pbGetPlayerTrainerType
     gender=pbGetTrainerTypeGender(trainertype) 
     if trname==""
      trname=getRandomNameEx[B](gender,nil,1)[/B]
     end
     $Trainer=PokeBattle_Trainer.new(trname,trainertype)
     $PokemonBag=PokemonBag.new
     $PokemonTemp.begunNewGame=true
    end
    Sorry if this question is irritating or anything. I read a crash course of Ruby programming language but it seems some of the terms and strings are game exclusively defined only.
     
    Last edited:
    2,048
    Posts
    16
    Years
    • Seen Sep 7, 2023
    Hi I was wondering if someone could explain some of the terms in the Pokemon Utilities code? I understand things like def and stuff..but here are the commands I don't really understand that are highlighted in bold:

    Code:
    def pbChangePlayer(id)
      return false if [B]id<0||id>[/B]=4
      [B]meta[/B]=pbGetMetadata([B]0,MetadataPlayerA+id[/B])
      return false if [B]!meta[/B]
      [B]$game_player.character_name=meta[1]
      $game_player.character_hue=0
      $PokemonGlobal.playerID=id[/B]
    end
    
    def pbGetPlayerGraphic
      [B]id=$PokemonGlobal.playerID[/B]
      return "" if id<0||id>=4
      meta=pbGetMetadata(0,MetadataPlayerA+id)
      return [B]""[/B] if !meta
      return [B]sprintf("../Characters/trainer%03d",meta[0])[/B]
    end
    
    def [B]pbGetPlayerTrainerType[/B]
      id=$PokemonGlobal.playerID
      return 0 if id<0||id>=4
      meta=pbGetMetadata(0,MetadataPlayerA+id)
      return 0 if !meta
      return meta[0]
    end
    
    def [B]pbGetTrainerTypeGender(trainertype)[/B]
     ret=2
     pbRgssOpen[B]("Data/trainernames.dat","rb"){|f|[/B]
      [B]trainernames=Marshal.load(f)[/B]
      if !trainernames[trainertype]
       ret=2
      else
       [B]ret=trainernames[trainertype][7]
       ret=2 if !ret[/B]
      end
     }
     return ret
    end
    
    def pbTrainerName
     trname=pbEnterText("Your name?",0,10,"Ashley")
     trainertype=pbGetPlayerTrainerType
     gender=pbGetTrainerTypeGender(trainertype) 
     if trname==""
      trname=getRandomNameEx[B](gender,nil,1)[/B]
     end
     $Trainer=PokeBattle_Trainer.new(trname,trainertype)
     $PokemonBag=PokemonBag.new
     $PokemonTemp.begunNewGame=true
    end
    Sorry if this question is irritating or anything. I read a crash course of Ruby programming language but it seems some of the terms and strings are game exclusively defined only.

    OK, here goes.
    Code:
    if id<0||id>=4
    This means 'if id is less than 0 or id is greater than or equal to 4'.
    Code:
    meta=pbGetMetadata(0,MetadataPlayerA+id)
    This evaluates the pbGetMetadata method, and assigns it to the 'meta' local variable. 'MetadataPlayerA' is a constant; in this case, it's a kind of pointer to where the player information is stored. In this case, it's the second entry in the metadata file (for map 0; i.e. global). 'id' is the id number of the desired player type (given as an argument to the method), and is added to the 'pointer' to get data on a specific player ID.
    Code:
    !meta
    This means 'not meta'; i.e. it would exit from the method if the 'meta' local variable is nil or false, which would happen if it failed to get the metadata.
    $game_player and $PokemonGlobal are global variables (denoted by the $). $game_player is an instance of the Game_Player class, while $PokemonGlobal is likewise an instance of PokemonGlobal.
    The sprintf method returns a formatted string. For example, the %03d parameter in the string is replaced by 'meta[0]' (the second argument), with at least 3 digits and padded by zeroes (for example, 003).
    I'm not sure why you bolded the method definitions for pbGetPlayerTrainerType and pbGetTrainerTypeGender; care to clarify?
    Code:
    pbRgssOpen("Data/trainernames.dat","rb"){|f|
      trainernames=Marshal.load(f)
    Anyway, pbRgssOpen is a method poccil wrote to be used instead of File.open. This is because File.open doesn't work with files in an RGSS encrypted archive. The first argument is the file to be opened, and the second is how it should be opened ('rb' means it should be opened in binary read mode). '{|f|' starts a block, and assigns the 'f' variable to the file opened. It's a different way to write 'f=pbRgssOpen'; however, when a block is used, the 'f' variable cannot be used outside it unless it's defined first.
    Marshal.load is a Ruby method of loading an object from a file; in this case, it loads an Array object. It's the opposite of Marshal.dump.
    Code:
       ret=trainernames[trainertype][7]
       ret=2 if !ret
    This just assigns the ret variable to an element of a two-dimensional array (i.e. an array where each element is another array). If the element doesn't exist, 2 is assigned instead (in this case, 2 means genderless).
    Code:
    getRandomNameEx(gender,nil,1)
    This calls the getRandomNameEx method. The arguments for this are (in order) gender, variable to be saved to, and capitalization state. In this case, it would be the player's gender, no variable to be saved to, and first letter capitalized only.

    All these are actually available in standard Ruby; the only new classes in RGSS are the ones relating to game-only things (such as Bitmap or Sprite). May I suggest you have a look at this guide? It has a tutorial, but more importantly, contains information on every class and method in standard Ruby. The RGSS-only classes are documented in RMXP's help file.
     

    simmykrantz

    Pokemon Destruction
    51
    Posts
    18
    Years
  • Whenever I use the play BGM command, the route BGM overrides the BGM I set it to.
    For example, the route BGM is cinnabar.mp3, I set the BGM in a specific scene to Boss04, then it almost instantly changes back to cinnabar.mp3. How do I prevent this?
     
    81
    Posts
    15
    Years
    • Seen Apr 8, 2021
    how do i make the animation for the intro scene? like the ones with the player riding his bicycle in the real games?
     
    1,279
    Posts
    20
    Years
  • Yeah I thought this thread used to be a help thread for people who are having troubles working with all the different author's code(I wonder how many people thought that when they saw "Pokemon Essentials Help Thread"), but it actually appears to be purely for the starter kit related errors, not modified code. Poccil has actually asked for these errors through pm in the 1st post:
    poccil said:
    I would like to make a request: Please report all problems and error logs to me through private messaging, rather than to this thread. It's more convenient for me that way.
    The community seems to be helping each other solve these very problems in this thread though, it would be a shame to lock it.. As for who changed the name:
    Neo-Dragon said:
    A lot of new users don't know what this thread is, so I changed the title. If you want me to change it to something else let me know. I want to keep the fact that it is a Starter Kit in the title if you don't mind.
     
    53
    Posts
    15
    Years
    • Seen Jan 9, 2011
    Hi

    So I tried to edit some script and got an error for no apparent reason it seems :

    Exception: TypeError
    Message: no implicit conversion from nil to integer
    PokemonStorage:55:in `[]'
    PokemonStorage:55:in `[]'
    PokeBattle_Battle:81:in `pbStorePokemon'
    PokeBattle_Battle:201:in `pbThrowPokeBall'
    PokeBattle_Battle:1677:in `pbRegisterItem'
    PokeBattle_Battle:2477:in `pbCommandPhase'
    PokeBattle_Battle:2436:in `loop'
    PokeBattle_Battle:2491:in `pbCommandPhase'
    PokeBattle_Battle:2425:in `each'
    PokeBattle_Battle:2425:in `pbCommandPhase'

    The line 81 that I created was :
    boxname=$PokemonStorage[storedbox].name

    which is used in others scripts w/o problems

    The line 55 in '[]' is from the original script :
    def [](x,y=nil)
    if y==nil
    return (x==-1) ? $Trainer.party : @boxes[x]
    else
    for i in @boxes
    raise _INTL("Box is a Pokémon, not a box") if i.is_a?(PokeBattle_Pokemon)
    end
    return (x==-1) ? $Trainer.party[y] : @boxes[x][y]
    end
    end
    The concerned line is :
    return (x==-1) ? $Trainer.party : @boxes[x]

    Any idea why I got that problem ? How can I fix that ?
     
    Last edited:
    Status
    Not open for further replies.
    Back
    Top