Version 1 Scripts

From Pokémon 3D Wiki
Jump to navigation Jump to search
These scripts are outdated. There is a newer version of this documentation. It is incomplete but some missing commands have been reinserted into the new page.

If you want to take a look, visit: Version 2 Scripts New.

These scripts follow the @Command:subcommand pattern with not all Commands needing sub commands.

Version 1 is Case Sensitive.

These scripts are still supported but are not used by the dev team when making new scripts.

Starting in 0.38.2 all old scripts still using V1 were converted to Version 2 Scripts.


Commands often have a subcommand. All combinations will be listed below.

* unless otherwise specified a bool can bee either 1(on) or 0(off).

** Unless otherwise specified X,Y,Z is a three dimensional position.

Subcommand Job Inputs


@Achievement:{#}|text Activates an Achievement.
  • # - Number of the Achievement.
  • text - Not important. Must have the pipe character


@Action:ActivateThirdPerson Goto third person. No input.
@Action:ApricornKurt Opens up the Appricorn menu to have 'Kurt' make you an appricorn. No input.
@Action:DeactivateThirdPerson Goto first person No input.
@Action:getpokemon(see@Pokemon:add) same as @Pokemon:add
@Action:Network Opens the co-op menu. No input.
@Action:Opendonation Opens the list of Donars(needs updating). No input.
@Action:PlayCry(#) Plays the cry of the specified Pokemon # - National Dex Number.
@Action:RecievePokedex Gives you the Pokedex. No input.
@Action:RenamePokemon(#) Allows a player to rename a Pokemon. # - Party index Number
@Action:RenameRival Rename your rival. No input.
@Action:SetFont(text) Change the font text - Can be standard or Unown.
@Action:SetRenderDistance(#) Set the Renderdistance. # - 0-4, A render distance option.
@Action:Show0Pokemon(bool) Turns Following Pokemon on or off.
@Action:StorageSystem Activates the storage system. No input.
@Action:ToggleDarkness Turn darkness on or off. No input.
@Action:ToggleThirdPerson Change between third and first person. No input.
@Action:townmap,text Opens the town map. text - region name. Only Johto is currently available.
@Action:wearskin(see @Player:wearskin) see @Player:wearskin. see @Player:wearskin.


@Battle:Wild(#1,#2) Start a wild pokemon battle
  • #1 - National Dex Number.
  • #2 - Level.
@Battle:Trainer(text) Battle a trainer text - Trainer file in /Scripts/Trainer/.




@GiveItem:#1,#2 Gives the player an item
  • #1 - Item ID number.
  • #2 - Amount of items given


@Heal Heals all Pokemon No input.




@Move:#1,#2 Move a certain number of spaces.
  • #1 - NPC ID number. Can also be 'Player'.
  • #2 - Number of spaces.


@Music:text Plays designated music. text - name of a file in /Content/Songs/.


@NPC:Position(#,X,Y,Z) Moves an NPC to a specific point. # - NPC ID.
@NPC:remove(#) Removes an NPC from the map. # - NPC ID.
@NPC:wearskin(#,text) Change the skin used on an NPC. Doesn't change until it is out of view.
  • # - NPC ID.
  • text - skin name in /Content/Textures/NPC.


@Options:text,text,... Creates a menu with multiple options. Uses the :when construct(see below) text - The options. Can be as many as you want.


@Player:move(#) Move the player in a straight line # - Number of step.
@Player:turn(#) Turns the player to the left # - Amount of quarter turns.
@Player:turnto(#) Turns to a specific direction. # - 0-3, specifies the direction to turn to.
@Player:warp(X,Y,Z) Warp to a specified place. Position values.
@Player:warp(text,X,Y,Z,R) Warps to a different map.
  • text - Map name.
  • X,Y,Z,R - Position and Rotation.
@Player:wearskin(text) Change the player's skin. text - the name of a skin in /content/textures/NPC.


@Pokemon:add(#1,#2,text1,#3,text2,bool,text3) Adds a Pokemon to your party.
  • #1 - Pokemon's National Dex number.
  • #2 - Level.
  • text1 - Catch Method. Optional.
  • #3 - Catch Ball. Optional.
  • bool - Is in an egg or not. Optional.
  • text2 - Catch Trainer. Optional.
@Pokemon:Addattack(#1,#2) Adds an attack to a specific Pokemon.
@Pokemon:clear Removes all pokemon from your party. no value
@Pokemon:clearattacks(#) Removes all attacks from a specified pokemon. # - 0-5, Party index of a Pokemon.
@Pokemon:remove(#) Removes a Pokemon from the party. # - 0-5, Party index of a Pokemon.
@Pokemon:Removeattack(#1,#2) Removes an attack from a Pokemon.
  • #1 - 0-5, Party index of a Pokemon.
  • #2 - 0-3, Move location ID(its spot on the Pokemon).
@Pokemon:Setadditionalvalue(#,info) Puts info into the AdditionalValue part of a pokemon's save. Example use: designate which Unown.
  • # - 0-5, Party index of a Pokemon.
  • info - Stuff to be added to AdditionalValue.
@Pokemon:setNickName(#,text) Change a Pokemon's name.
  • # - 0-5, Party index of a Pokemon.
  • text - New Name.
@Pokemon:setshiny(#,bool) Make a Pokemon shiny or not.
  • # - 0-5, Party index of a Pokemon.
  • bool - Turns the shiny on or off.
@Pokemon:setStat(#1,text,#2) Set a Pokemon's stat to a specific value.
  • #1 - 0-5, Pary index of a Pokemon.
  • text - Name of the stat to adjust. Possible values: hp, chp, attack, defense, spattack, spdefense, speed.
  • #2 - Stat value.


@Register:text Adds text to Register.dat. text - What to add.


@Script:text Activates a script file. text - Script in /Scripts/.


@Sound:text Plays designated sound. text - name of a file in /Content/Sounds/.


@Trainer:text Same as @Battle:Trainer. Same as @Battle:Trainer.


@Text:text Displays text '~' breaks it to a new line, and '*' resets the text box. text - the display text


@Unregister:text Removes text from Register.dat. text - What to remove.


@Wait:# Waits a certain amount of time. # - Amount of time to wait.


@Warp:#,X,Y,Z Warps a sprite to a new position. Will not appear until a movement script has been activated # - NPC ID number. Can also be 'Player'.


Constructs are functions in scripts that are not doing something in the game but rather with the script itself. Constructs start with a : at the beginning of the line and are case sensitive! Here's the list of constructs:

Construct Use
:end Ends the script.
:endif Ends an :if statement.
:endwhen Ends a when statement
:if See Below.
:then Follows an :if statement. Continues here if true.
:else Continues here when an :if statement if False.
:when Works as a switch for the @options command.

:if statements

if statements can be either 'if true' statements or 'if false' statements

'if true:'


'if false'

:if:not register(elm1)
if statements can take a variety of conditions as the argument. Here is the full list.
Argument Variable Description
:aurora no variable Checks for the 'Aurora' effect?
:day(#) # - A 'day' code. (0-6) 0 = Sunday and goes from there. Checks if the current weekday matches the code given.
:daytime(#) # - A time of day value. 0 = night, 1 = morning, 2 = Day, 3 = Evening. Checks the time of day against the given value.
:freeplaceinparty no variable Checks to see if your party is full.
:hasBadge(#) # - the number of a gym badge. Remember Brock = 1, Falkner = 9. Checks if you have the given badge.
:hasItem(#) # - An Item's ID number. Checks if the given item is in your bag
:nopokemon No variable Checks to see if you have any Pokemon.
  • # - The NPC ID of an NPC on the Map. Can also be 'Player' to check the player's position
  • X,Y,Z - A three coordinate position.
Checks if the given NPC(or the player) is in the given place
:random(#) # - The max value. Produces a Random integer?
:regionWeather(#) # - A weather ID. 0 = Clear, 1 = Rain, 2 = Snow, 3 = Bubbles Checks to see if the random weather is the same as the given weather.
:register(text) text - A register value in the register.dat file of the save folder. Checks to see if the 'text' is in the register.dat file. Considered true if found.
:weather(#) # - A weather ID. 0 = Clear, 1 = Rain, 2 = Snow, 3 = Bubbles Checks the map weather against the given weather. This is not the random weather effect but rather permanent weather such as Route 33's eternal rain.
Game Folder
Pokemon Folder Launcher
Content ContentPacks GameModes Saves Screenshots Version History
Pokemon Data GameMode.dat Save Folder
Data maps Scripts Party.dat Player.dat Options.dat
poke V1 V2 trainer map