Scripts
There are numerous scripts that can be used withing the Pokemon 3D game.
This is(will be) a full list of them, how to use them and what they do.
Commands
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 |
---|---|---|
@Player:wearskin(text) | Change the player's skin. | text - the name of a skin in /content/textures/NPC. |
@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. |
|
@Pokemon:remove(#) | Removes a Pokemon from the party. | # - 0-5, Party index of a Pokemon. |
@Pokemon:add(#1,#2,text1,#3,text2,bool,text3) | Adds a Pokemon to your party. |
|
@Pokemon:Setadditionalvalue(#,info) | Puts info into the AdditionalValue part of a pokemon's save. Example use: designate which Unown. |
|
@Pokemon:setNickName(#,text) | Change a Pokemon's name. |
|
@Pokemon:setStat(#1,text,#2) | Set a Pokemon's stat to a specific value. |
|
@Pokemon:clear | hrm? | no value |
@Pokemon:clearattacks(#) | Removes all attacks from a specified pokemon. | # - 0-5, Party index of a Pokemon. |
@Pokemon:Addattack(#1,#2) | Adds an attack to a specific Pokemon. |
|
@Pokemon:Removeattack(#1,#2) | Removes an attack from a Pokemon. |
|
@Pokemon:setshiny(#,bool) | Make a Pokemon shiny or not. |
|
@NPC:remove(#) | Removes an NPC from the map. | # - NPC ID. |
@NPC:Position(#,X,Y,Z) | Moves an NPC to a specific point. | # - NPC ID. |
@NPC:register(text) | ||
@NPC:unregiser(text) | ||
@NPC:wearskin(#,text) | Change the skin used on an NPC. Doesn't change until it is out of view. |
|
@Music:text | Plays designated music. | text - name of a file in /Content/Songs/. |
@Sound:text | Plays designated sound. | text - name of a file in /Content/Sounds/. |
@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. |
@Text:text | Displays text '~' breaks it to a new line, and '*' resets the text box. | text - the display text |
@Camera:set(X,Y,Z,#1,#2) | ||
@Camera:reset | ||
@Camera:yaw(#) | ||
@Camera:pitch(#) | ||
@Camera:position(X,Y,Z) | ||
@Camera:x(#) | ||
@Camera:y(#) | ||
@Camera:z(#) | ||
@Wait:# | Waits a certain amount of time. | # - Amount of time to wait. |
@Action:StorageSystem | Activates the storage system. | No input. |
@Action:ApricornKurt | Opens up the Appricorn menu to have 'Kurt' make you an appricorn. | No input. |
@Action:DayCare(#1,#2) | ||
@Action:Trade(#) | ||
@Action:getpokemon(see@Pokemon:add) | same as @Pokemon:add | |
@Action:townmap,text | Opens the town map. | text - region name. Only Johto is currently available. |
@Action:Network | Opens the co-op menu. | No input. |
@Action:Opendonation | Opens the list of Donars(needs updating). | No input. |
@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:PlayCry(#) | Plays the cry of the specified Pokemon | # - National Dex Number. |
@Action:Show0Pokemon(bool) | Turns Following Pokemon on or off. | |
@Action:ToggleThirdPerson | Change between third and first person. | No input. |
@Action:ActivateThirdPerson | Goto third person. | No input. |
@Action:DeactivateThirdPerson | Goto first person | 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:wearskin(see @Player:wearskin) | see @Player:wearskin. | see @Player:wearskin. |
@Action:ToggleDarkness | Turn darkness on or off. | No input. |
@MessageBulb:#,X,Y,Z | ||
@Battle:Wild(#1,#2) | Start a wild pokemon battle |
|
@Battle:Trainer(text) | Battle a trainer | text - Trainer file in /Scripts/Trainer/. |
@Trainer:text | Same as @Battle:Trainer. | Same as @Battle:Trainer. |
@Achievement:{#}|text | Activates an Achievement. |
|
@Register:text | Adds text to Register.dat. | text - What to add. |
@Unregister:text | Removes text from Register.dat. | text - What to remove. |
@Script:text | Activates a script file. | text - Script in /Scripts/. |
@Heal | Heals all Pokemon | No input. |
@Move:#1,#2 | Move a certain number of spaces. |
|
@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
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. |
:if | See Below. |
:then | Follows an :if statement. Continues here if true. |
:else | Continues here when an :if statement if False. |
:endif | Ends an :if statement. |
:when | Works as a switch for the @options command. |
:endwhen | Ends a when statement |
:if statements
- if statements can be either 'if true' statements or 'if false' statements
'if true:'
:if:register(elm1)
'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 |
---|---|---|
: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. |
: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. |
:nopokemon | No variable | Checks to see if you have any Pokemon. |
:day(#) | # - A 'day' code. (0-6) 0 = Sunday and goes from there. | Checks if the current weekday matches the code given. |
:aurora | no variable | Checks for the 'Aurora' effect? |
:random(#) | # - The max value. | Produces a Random integer? |
:position(#,X,Y,Z) |
|
Checks if the given NPC(or the player) is in the given place |
: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. |
: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. |
: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 |
Trainer Files
Each trainer file has is put in the /Scripts/Trainer/ folder.
These files can be made in 2 formats; the 'Old' and 'New' formats
Old Trainer file Format
The Old Trainer File Format was not very descriptive and required a lot of knowledge about which line was which.
$$ Class Name Start Battle Speech Defeat message Post Battle Speech Sprite Music1|Music2 1|Pokemon 2|Pokemon 3|Pokemon 4|Pokemon 5|Pokemon 6|Pokemon Items AI code Gender code
The file would look exactly like that.
$$
The prize you receive after beating this trainer.
Class
Displays before the name of the trainer.
Name
The name of the trainer.
Start Battle Speech
The speech given before the battle is started.
Defeat Message
The message displayed after defeating the opponent while still in the battle.
Post Battle Speech
Displays when interacting with the trainer after defeating them.
Sprite
The name of a sprite located in the /Content/Textures/NPC folder.
Music
Searches for the music files:
- Music1_Music2_intro
- Music2_defeat
- Music1_Music2
Pokemon
Can be defined 2 ways:
- #1,#2 where #1 is the Pokemon's dex number and #2 is its level.
- Using the full PokemonCode.
Items
List of the item codes of the items a trainer can use. Will use each item once however items can be listed multiple times and will be used once for each listing.
AI Code
Defines the abilities of the trainer's AI. there are 5 settings:
- 0 - Aggressive.
- 1 - Defensive.
- 2 - Normal.
- 3 - Special.
- 4 - Simple.
If not given Normal is used.
Gender Code
Decides the genders of any of the trainer's randomly generated Pokemon. If the Pokemon code is given for a Pokemon the gender used there will be used.
- -1 - Random
- 0 - Male
- 1 - Female
- 2 - Genderless
If not given Random genders are given.