Difference between revisions of "Scripting"

From theFarWilds
Jump to: navigation, search
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This is the start of the scripting API. It will be expanded over time. If you want something ask for it in the forum. Create your scripts here: [http://thefarwilds.com/story/login.html].
+
[[Category:Scripts]]
Scripts are written in [http://www.angelcode.com/angelscript/sdk/docs/manual/index.html AngelScript], it has syntax similar to C.
+
Scripts are written in [http://www.angelcode.com/angelscript/sdk/docs/manual/index.html AngelScript] (current used version is 2.26.2), it has syntax similar to C. Create your scripts [http://story.thefarwilds.com/login.html here].  If you want something ask for it in the [http://thefarwilds.com/forum/viewforum.php?f=14 forum].
----
+
  
Functions you can implement: [[Script_Functions]]
+
The scripts you write interact with the game via a collection of [[Hook Functions]].  These hook functions are called by the game at the appropriate times and execute your code.  See the [[#Examples]] section for more details.
  
 +
== API ==
 +
* [[Preprocessor]]
 +
* [[Hook Functions]]
 +
* [[Global Functions]]
 +
* [[Config Functions]]
 +
* [[Player Functions]]
 +
* [[Entity Functions]]
 +
* [[Location Functions]]
 +
* [[DlgBox Functions]]
 +
* [[Card Functions]]
 +
* [[Action Functions]]
  
 
+
== Examples ==
 
+
Functions you can call:
+
Entity createEntity(string CardName, int x_coord , int y_coord,Player controller );
+
Entity createEntity(string CardName ,Location loc,Player controller);
+
Entity createEntity(string CardName ,Location loc);
+
Location createLocation(int x,int y);
+
Player getAIPlayer(int index)
+
Player getHumanPlayer(int index)
+
void setTerrain(Location loc,int topo,int veg)
+
int getTopo(Location loc);
+
int getVeg(Location loc);
+
// topo: ocean=1, soggy=2, flat=3, hills=4, mountain=5
+
// veg: desert=1 ,grass=2 ,forest=3
+
 
+
Config Game Functions (you can only call these from inside configGame():
+
void addAIPlayer(string PlayerName,string Avatar,int teamID);
+
// all parameters are ignored for now
+
void setMapSize(int x,int y)
+
// 3 to 17
+
void setNumPlayers(int)
+
// from 1 to 4
+
void setGloryGoal(int)
+
void setMapSeed(int seed)
+
// you can set this if you always want the script to be on the same map
+
void setNumFluxWells(int)
+
 
+
 
+
Player Functions:
+
void addToHand(Player,string cardName)
+
void addToDeck(Player,string cardName,int index)
+
Card getDeckCard(Player,int index)
+
Card getHandCard(Player,int index)
+
void removeHandCard(Player,int index)
+
void removeDeckCard(Player,int index)
+
void drawCard(Player)
+
int deckSize(Player)
+
int handSize(Player)
+
void addFlux(Player,int delta)
+
void addGlory(Player,int delta)
+
int getFlux(Player)
+
int getGlory(Player)
+
 
+
 
+
Entity Functions:
+
 
+
----
+
 
+
 
[[Scripting Examples]]
 
[[Scripting Examples]]
  
 
+
== Helpful Hints ==
 
+
 
[[Coordinate System]] : Coordinates in TFW are a bit weird. This page explains.
 
[[Coordinate System]] : Coordinates in TFW are a bit weird. This page explains.

Latest revision as of 15:35, 5 June 2013

Scripts are written in AngelScript (current used version is 2.26.2), it has syntax similar to C. Create your scripts here. If you want something ask for it in the forum.

The scripts you write interact with the game via a collection of Hook Functions. These hook functions are called by the game at the appropriate times and execute your code. See the #Examples section for more details.

API

Examples

Scripting Examples

Helpful Hints

Coordinate System : Coordinates in TFW are a bit weird. This page explains.