Difference between revisions of "Scripts"

From Pokémon 3D Wiki
Jump to navigation Jump to search
 
(30 intermediate revisions by 2 users not shown)
Line 1: Line 1:
There are numerous scripts that can be used withing the Pokemon 3D game.
The scripts folder contains all of the scripts for in-game events. It also contains the Trainer files and the files for the world maps.
 
Starting with version 0.32 a second scripting language known as version=2 was implemented into the game. Starting with version 0.33 all new scripts for the main game are made in version=2 scripts.
 
==[[Version 1 Scripts]]==
These scripts follow the @Command:subcommand pattern with not all Commands needing sub commands.


This is(will be) a full list of them, how to use them and what they do.
Version 1 is Case Sensitive.


== Commands ==
These scripts are still supported but are not used by the dev team when making new scripts.
There are two types of commands: Commands(@Command) and subcommands(:subcommand(details))


The subcommands will be listed by command
==[[Version 2 Scripts]]==
Version 2 scripts were started in version 0.32. Any script in Version 2 must have "version=2" as the first line of the script.


{|class="wikitable"
Commands are written as @command.subcommand and are no longer case sensitive. All commands require a subcommand.
! Subcommand
! Job
! Inputs
|-
! colspan="3" | @Player
|-
! colspan="3" | @Pokemon
|-
! colspan="3" | @NPC
|-
! colspan="3" | @Music
|-
! colspan="3" | @Sound
|-
! colspan="3" | @Options
|-
! colspan="3" | @Text
|-
! colspan="3" | @Camera
|-
! colspan="3" | @Wait
|-
! colspan="3" | @Action
|-
! colspan="3" | @MessageBulb
|-
! colspan="3" | @Battle
|-
! colspan="3" | @Trainer
|-
! colspan="3" | @Achievement
|-
! colspan="3" | @Register
|-
! colspan="3" | @Unregister
|-
! colspan="3" | @Script
|}


== Constructs ==
Constructs were also expanded to be <construct.subconstruct> and can be used with switches too
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:


{|class="wikitable"
There are numerous scripts that can be used withing the Pokemon 3D game.
! 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 ===
==[[Trainer Files]]==
:if statements can be either 'if true' statements or 'if false' statements
Trainer files all have the extension .trainer.
There are 2 types of trainer files, one that is less descriptive and one that is more.


'if true:'
== [[World Map]] ==
<pre>:if:register(elm1)</pre>
World map files are stored in the /Scripts/worldmap/ folder and are named for the region the represent.


'if false'
As part of the header for a map file the {"CurrentRegion"{str[regionname]}} is listed which dictates which map is looked at when viewing the town map or when flying.
<pre>:if:not register(elm1)</pre>


:if statements can take a variety of conditions as the argument. Here is the full list.
This feature was implemented in version 0.3 along with [[Fly]].


{|class="wikitable"
{{FilePaths}}
! 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)
|
* # - 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
|-
| :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(#)
| # - [[Items|An Item's ID number.]]
| Checks if the given item is in your bag
|}

Latest revision as of 06:36, 7 September 2014

The scripts folder contains all of the scripts for in-game events. It also contains the Trainer files and the files for the world maps.

Starting with version 0.32 a second scripting language known as version=2 was implemented into the game. Starting with version 0.33 all new scripts for the main game are made in version=2 scripts.

Version 1 Scripts

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.

Version 2 Scripts

Version 2 scripts were started in version 0.32. Any script in Version 2 must have "version=2" as the first line of the script.

Commands are written as @command.subcommand and are no longer case sensitive. All commands require a subcommand.

Constructs were also expanded to be <construct.subconstruct> and can be used with switches too

There are numerous scripts that can be used withing the Pokemon 3D game.

Trainer Files

Trainer files all have the extension .trainer. There are 2 types of trainer files, one that is less descriptive and one that is more.

World Map

World map files are stored in the /Scripts/worldmap/ folder and are named for the region the represent.

As part of the header for a map file the {"CurrentRegion"{str[regionname]}} is listed which dictates which map is looked at when viewing the town map or when flying.

This feature was implemented in version 0.3 along with Fly.

Game Folder
Content ContentPacks GameModes Saves Screenshots Game Executable
Pokemon Data ContentPack Folder GameMode folder Savegame folder Version History
Data Maps Moves Scripts Control Files Content GameMode.dat Party.dat Player.dat Options.dat
poke battle structures V1 V2 trainer worldmap