Game Editor - the easy game design software.
 

  Script Reference

Home  
 
Getting Started  
Scripting  
 
FAQs  
Script Editor   Script Reference
   
 


Script Reference

Especial Actors

collide: The collision actor if Event Actor is in a collision event. (Name in actions: "Collide Actor")
parent: Event Actor's parent, if exists. (Name in actions: "Parent Actor")
creator: Event Actor's creator, if Event Actor has been created in some "Create Actor" action. (Name in actions: "Creator Actor")

Variables

x: x is the Actor's horizontal coordinate. The x position is relative to the parent. If the actor has no parent, the x coordinate will be relative to the game.

Script Editor Syntax:
In current actor:

x=x+5;
or
x += 5;
In other actor:
MyActor.x += 5;

y: y is the Actor's vertical coordinate. The y position is relative to the parent. If the actor has no parent, the y coordinate will be relative to the game.

Script Editor Syntax:
On Key Down Event
y=y+5;
or
y += 5;

xprevious: The Actor's previous x position in the last frame. This variable is read only.


yprevious: The Actor's previous y position in the last frame. This variable is read only.

xscreen: The Actor's horizontal screen position in screen coordinates.

yscreen: The Actor's vertical screen position in screen coordinates.

xvelocity: The Actor's x velocity in pixels / frame.

yvelocity: The Actor's y velocity in pixels / frame.

angle:
Move the Actor's angle (0 to 360, from the positive x axis, counterclockwise, in degrees).

directional_velocity:
The Actor's velocity in pixels / frame, in angle direction (set this Actor variable only when it is used with angle)

r:
red color (0 - 255)

g:
green color (0 - 255)

b :
blue color (0 - 255)

transp:
The Actor's transparency setting (0.0 - 1.0).

animpos: 
The actual animation frame. Animpos will change the frame of your current animation only. To change animation without reseting current frame, use the "No change" option in Change Animation action (NO_CHANGE in the script).

animindex: Use animindex(count from 0) to find the actual animation of your actor. Each animation that an actor has has a unique index assigned to it. ( This way you can tell which animation is currently running. )
If your actor has 3 animations, then:
The first animation has animindex = 0
The second animation has animindex = 1
The third animation has animindex = 2
This variable is read only.

nframes
:
The number of frames in the current animation. This variable is read only.

width:
The actual animation width. This variable is read only.

height:
The actual animation height. This variable is read only.

textNumber:
If the Actor displays text, you can set the text number here.
Script Editor Syntax:
MyActor.textNumber=5;

text:
If the Actor displays text, you set the text string using: 
Script Editor Syntax:
strcpy (MyActor.text,"Hello World");
The max length of text is 255 characters.

name: The Actor's name. This variable is read only.


clonename:
The Actor clone name (Composed of the original Actor's name followed by the clone number index). This variable is read only.
cloneindex: The Actor clone's index (always start counting from 0). If 2 clones have been created, index will be myclone.0, myclone.1, ... This variable is read only.
frame: Game frame count. This variable is global and read only.
musicvol: Music volume (0.0 - 1.0  Loudest). This variable is global.
Script Editor Syntax:
musicvol=.7;

real_fps:
Real game frame rate (frames per second). This variable is global and read only.

xmouse:
Mouse's x (horizontal) screen position (screen coordinates). This variable is global and read only.

Script Editor Syntax:

xscreen = xmouse;

ymouse:
Mouse's y (vertical) screen position (screen coordinates). This variable is global and read only.
Script Editor Syntax:
yscreen = ymouse;

---User Vars---
Variables that have been defined by the user will be shown in this area of the variables/functions selector box.
MyVariable1
MyVariable2
MyVariable3
...

Actions


ChangeAnimation: Change animation and set initial state (FORWARD, BACKWARD, STOPPED, NO_CHANGE).
Return 1 if success, 0 on error.

int ChangeAnimation(char *actorName, char *animationName, int state)
animationName: animation valid for actorName.
Actor name:
- "Event Actor": Actor that is receiving the current event.
- "Parent Actor": Event Actor's parent, if exists.
- "Creator Actor": Event Actor's creator, if Event Actor has been created in some "Create Actor" action.
- "Collide Actor": Actor that collided with the event Actor.
- Any Actor in game.

Script Editor Syntax:
ChangeAnimaton("Event Actor","Animation_1",BACKWARD);

ChangeAnimationDirection: Change animation state (FORWARD, BACKWARD, STOPPED).
Return 1 if success, 0 on error.

int ChangeAnimationDirection(char *actorName, int state)
Actor name:
- "Event Actor": Actor that is receiving the current event.
- "Parent Actor": Event Actor's parent, if exists.
- "Creator Actor": Event Actor's creator, if Event Actor has been created in some "Create Actor" action.
- "Collide Actor": Actor that collided with the event Actor.
- Any Actor in game.

Script Editor Syntax:
ChangeAnimatonDirection("Ball", FORWARD);

ChangeCursor: Change Actor cursor.

int ChangeCursor(char *actorName, char *imgName, int nFramesH, int nFramesV, int hotSpotX, int hotSpotY)

imgName: image file path relative to game directory.
nFramesH: number of horizontal frames.
nFramesV: number of vertical frames.
hotSpotX: cursor x hot spot.
hotSpotY: cursor y hot spot.
Return 1 if success, 0 on error.
Actor name:
- "Event Actor": Actor that is receiving the current event.
- "Parent Actor": Event Actor's parent, if exists.
- "Creator Actor": Event Actor's creator, if Event Actor has been created in some "Create Actor" action.
- Any Actor in game.

Script Editor Syntax:
ChangeCursor("Event Actor", "Ball.png", 1, 1, 0, 0);

ChangeParent: Change an Actor's parent.
int ChangeParent(char *actorName, char *parentName)

parentName: any Actor name (including "Event Actor", "Collide Actor", "Parent Actor", "Creator Actor" and "no parent").
Return 1 if successful, 0 on error.
Actor name:
- "Event Actor": Actor that is receiving the current event.
- "Parent Actor": Event Actor's parent, if exists.
- "Creator Actor": Event Actor's creator, if Event Actor has been created in some "Create Actor" action.
- "Collide Actor": Actor that collided with the event Actor.
- Any Actor in game.

Script Editor Syntax:
ChangeParent("MyActor", "Event Actor");

ChangePath: Change Actor path and set axis (X_AXIS, Y_AXIS, BOTH_AXIS).

int ChangePath(char *actorName, char *pathName, int axis)

pathName: any path name (including "no path" and "random path").
Return 1 if success, 0 on error.
Actor name:
- "Event Actor": Actor that is receiving the current event.
- "Parent Actor": Event Actor's parent, if exists.
- "Creator Actor": Event Actor's creator, if Event Actor has been created in some "Create Actor" action.
- "Collide Actor": Actor that collided with the event Actor.
- Any Actor in game.

Script Editor Syntax:
ChangePath("MyActor", "path1", BOTH_AXIS);

ChangeTransparency: Change Actor transparency (0.0 - opaque, to 1.0 - transparent).
Return 1 if success, 0 on error.
int ChangeTransparency(char *actorName, double transp)
Actor name:
- "Event Actor": Actor that is receiving the current event.
- "Parent Actor": Event Actor's parent, if exists.
- "Creator Actor": Event Actor's creator, if Event Actor has been created in some "Create Actor" action.
- "Collide Actor": Actor that collided with the event Actor.
- Any Actor in game.

Script Editor Syntax:
ChangeTransparency("Event Actor", 0.64);

ChangeZDepth: Change an Actor's z depth.
int ChangeZDepth(char *actorName, double zdepth)
zdepth: 0.0 to 1.0
Return 1 if success, 0 on error.
Actor name:
- "Event Actor": Actor that is receiving the current event.
- "Parent Actor": Event Actor's parent, if exists.
- "Creator Actor": Event Actor's creator, if Event Actor has been created in some "Create Actor" action.
- "Collide Actor": Actor that collided with the event Actor.
- Any Actor in game.

Script Editor Syntax:
ChangeZDepth("My Actor", 0.70);

CollisionState:
Enable or disable collision.
Return 1 if success, 0 on error.
int CollisionState(char *actorName, int state)
Actor name:
- "Event Actor": Actor that is receiving the current event.
- "Parent Actor": Event Actor's parent, if exists.
- "Creator Actor": Event Actor's creator, if Event Actor has been created in some "Create Actor" action.
- "Collide Actor": Actor that collided with the event Actor.
- Any Actor in game.
state: ENABLE or DISABLE

Script Editor Syntax:
CollisionState("Event Actor", DISABLE);

CreateActor:  Creates a new Actor via script.
Actor* CreateActor(char *creatorName, char *animationName, char *parentName, char *pathName, int xpos, int ypos, int absolutePosition)

creatorName: any legal Actor name.
animationName: the animation valid for the Actor Name or "no animation".
parentName: any Actor name (including"Event Actor", "Collide Actor", "Parent Actor", "Creator Actor" and "no parent").
pathName: any path name (including "no path" and "random path").
x,y: the new Actor's initial position.
absolutePosition: true or false.
Return Actor if success, invalid Actor (with cloneindex = -1 and name = "") on error.

Script Editor Syntax:
CreateActor("GamePaddle", "Paddle_Animation", "no parent", "no path", 0, 0, false);

CreateTimer: Create a new timer.
Return 1 if success, 0 on error.
int CreateTimer(char *actorName, char *timerName, int milliseconds)
timerName: the new timer's name. (The timerName must be defined in Create new timer panel)
milliseconds: new timer tempo.
Actor name:
- "Event Actor": The Actor that is receiving the current event.
- "Parent Actor": If one exists, this signifies the name of the Event Actor's parent.
- "Creator Actor": If the Event Actor has been created in some "Create Actor" action, this signifies the Event Actor's creator.
- "Collide Actor": The Actor that collided with the event Actor.
- Any Actor in game.

Script Editor Syntax:
CreateTimer("Event Actor", "MyTimer", 2000)

DestroyActor: Destroy an Actor in the game.
int DestroyActor(char *actorName)
Return 1 if success, 0 on error
Actor name:
- "Event Actor": The Actor that is receiving the current event.
- "Parent Actor": If it exists, this signifies the Event Actor's parent.
- "Creator Actor": If Event Actor has been created in some "Create Actor" action, this signifies name of the Event Actor's creator .
- "Collide Actor": The Actor that collided with the Event Actor.
- Any Actor in the game.

Script Editor Syntax:
DestroyActor("Ball.2"); //To destroy the Ball.2 actor
DestroyActor("Ball"); //To destroy all ball actors

DestroyTimer: Destroy the named timer. Must be called in the actor that have an active timer.
int DestroyTimer(char *timerName)
Return 1 if success, 0 on error.
timerName: timer name

Script Editor Syntax:
DestroyTimer("MyTimer");

EventDisable: Disable an Actor Event:
int EventDisable(char *actorName, unsigned long event)
Return 1 if success, 0 on error.
The following Events can be disabled using EventDisable:
EVENTMOUSEBUTTONDOWN
EVENTMOUSEBUTTONUP
EVENTMOUSEENTER
EVENTMOUSELEAVE
EVENTANIMATION
EVENTANIMATIONFINISH
EVENTPATHFINISH
EVENTMOVEFINISH
EVENTKEYDOWN
EVENTKEYUP
EVENTTIMER
EVENTCOLLISION
EVENTCOLLISIONFINISH
EVENTCREATE
EVENTDESTROYACTOR
EVENTOUTOFVISION
EVENTACTIVATIONEVENT
EVENTALL
Actor name:
- "Event Actor": Actor that is receiving the current event.
- "Parent Actor": If it exists, this signifies the Event Actor's parent.
- "Creator Actor": If the Event Actor has been created in some "Create Actor" action, this signifies the Event Actor's creator.
- "Collide Actor": The Actor that collided with the event Actor.
- Any Actor in game.

Script Editor Syntax:
EventDisable("Event Actor", EVENTMOUSEBUTTONDOWN);

EventEnable: Enable an Actor Event.
int EventEnable(char *actorName, unsigned long event)
The following Events can be enabled using EventEnable:
EVENTMOUSEBUTTONDOWN
EVENTMOUSEBUTTONUP
EVENTMOUSEENTER
EVENTMOUSELEAVE
EVENTANIMATION
EVENTANIMATIONFINISH
EVENTPATHFINISH
EVENTMOVEFINISH
EVENTKEYDOWN
EVENTKEYUP
EVENTTIMER
EVENTCOLLISION
EVENTCOLLISIONFINISH
EVENTCREATE
EVENTDESTROYACTOR
EVENTOUTOFVISION
EVENTACTIVATIONEVENT
EVENTALL
Return 1 if success, 0 on error
Actor name:
- "Event Actor": The Actor that is receiving the current event.
- "Parent Actor": If it exists, this signifies the Event Actor's parent.
- "Creator Actor": If the Event Actor has been created in some "Create Actor" action, this signifies the Event Actor's creator.
- "Collide Actor": The Actor that collided with the Event Actor.
- Any Actor in game.

Script Editor Syntax:
EventEnable("Event Actor", EVENTMOUSEBUTTONDOWN);

FollowMouse: Makes an Actor follow the mouse axis (X_AXIS, Y_AXIS, BOTH_AXIS, NONE_AXIS).
int FollowMouse(char *actorName, int axis)
Return 1 if success, 0 on error.
Actor name:
- "Event Actor": The Actor that is receiving the current event.
- "Parent Actor": If it exists, this signifies the Event Actor's parent.
- "Creator Actor": If the Event Actor has been created in some "Create Actor" action, this signifies the Event Actor's creator.
- "Collide Actor": The Actor that collided with the Event Actor.
- Any Actor in game.

Script Editor Syntax:
FollowMouse("GamePaddle", X_AXIS);

getAccelerometer: Get the value from the accelerometer (on the desktop get the joystick axis values).
Vector getAccelerometer()
The Vector is a struct with the follow members:

x: -1.0 to 1.0
y: -1.0 to 1.0
z: -1.0 to 1.0

Script Editor Syntax:
Vector v = getAccelerometer();
x = v.x;
MoveTo: Move an Actor to a specified position at specified velocity (speed).
int MoveTo(char *actorName, double x, double y, double velocity, char *relativeActor, char *avoidActor)
Return 1 if success, 0 on error

Actor name:
- "Event Actor": The Actor that is receiving the current event.
- "Parent Actor": If it exists, this signifies the Event Actor's parent.
- "Creator Actor": If the Event Actor has been created in some "Create Actor" action, this signifies the Event Actor's creator.
- "Collide Actor": The Actor that collided with the Event Actor.
- Any Actor in game.

x, y: position to move relative to relativeActor.

relativeActor:

The Actor can be moved relative to the game center (absolute coordinate), relative to mouse or any Actor in the game.

Valid values:

- "Event Actor": Actor that is receiving the current event.
- "Parent Actor": Event Actor's parent, if exists.
- "Creator Actor": Event Actor's creator, if Event Actor has been created in some "Create Actor" action.
- "Collide Actor": Actor that collided with the event Actor.
- "Mouse Position": Move the actor relative to current mouse position
- "Game Center": Move the actor relative to game coordinates
- Any Actor in game

avoidActor:
- "Event Actor": The Actor that is receiving the current event.
- "Parent Actor": If it exists, this signifies the Event Actor's parent.
- "Creator Actor": If the Event Actor has been created in some "Create Actor" action, this signifies the Event Actor's creator.
- "Collide Actor": The Actor that collided with the Event Actor.
- Any Actor in game.


Example:

1) Move the Event Actor to right 10 positions (x = x + 10):

MoveTo("Collide Actor", 10, 0, 1000, "Event Actor", "");
(use high velocity for an instantaneous move)

2) Move the view to player position (view.x = player.x; view.y = player.y;):

MoveTo("view", 0, 0, 1, "player", "");

3) Move the player to mouse position:

MoveTo("player", 0, 0, 1, "Mouse Position", "");

4) Move the player to mouse position, avoind the lakes in a terrain:

MoveTo("player", 0, 0, 1, "Mouse Position", "lake");


PhysicalResponse: Do a physical bounce movement between Actors in a collision.

int PhysicalResponse(int moveType, int massType, double massEventActor, double massCollideActor, double eventVelocityMultiplier, double collideVelocityMultiplier)

Return 1 if success, 0 on error .
-moveType: MOVE_EVENT_ACTOR_ONLY, MOVE_COLLIDE_ACTOR_ONLY, MOVE_BOTH_ACTORS
-massType: USE_CALCULATED_MASS, USE_SPECIFIED_MASS
-massEventActor, massCollideActor:
When massType = USE_CALCULATED_MASS, use this variable to define how to calculate the mass multiplier.
When massType = USE_SPECIFIED_MASS, use this variable to define how to calculate the mass.
(Values must be > 0.0)

eventVelocityMultiplier, collideVelocityMultiplier: final velocity multiplier

Script Editor Syntax:
PhysicalResponse(MOVE_EVENT_ACTOR_ONLY, USE_CALCULATED_MASS, 1.000000,1.000000, 1.000000, 1.000000);

PlayMusic: Play a music file.
int PlayMusic(char *soundPath, double volume, int loop)

-soundPath: relative to game directory.
-volume: 0.0 to 1.0.
-loop: loop count (1 to 65000 or 0 to infinite loop)
Return the channel 1 if success, 0 on error.

Script Editor Syntax:
PlayMusic("data/MyMusic.wav", 1.0, 1);

PlayMusic2: Play a music file with the ability to define the music priority.
int PlayMusic2(char *soundPath, double volume, int loop, int priority)

-soundPath: relative to game directory.
-volume: 0.0 to 1.0.
-loop: loop count (1 to 65000 or 0 to infinite loop)
-priority: HIGH_PRIORITY_MUSIC, MEDIUM_PRIORITY_MUSIC or LOW_PRIORITY_MUSIC
Return the channel 1 if success, 0 on error.

Script Editor Syntax:
PlayMusic2("C:\\WINDOWS\\Media\\MyMusic2.wav", 1.000000, 1, HIGH_PRIORITY_MUSIC);

PlaySound:
Play a sound file.
int PlaySound(char *soundPath, double volume, int loop)

-soundPath: relative to game directory.
-volume: 0.0 to 1.0.
-loop: loop count (1 to 65000 or 0 to infinite loop)
Return the allocated channel if success, 0 on error

Script Editor Syntax:
PlaySound("data/tada.wav", 1.000000, 3);
PlaySound2: Play a sound file with the ability to double pan.
int PlaySound2(char *soundPath, double volume, int loop, double pan)

-soundPath: relative to game directory.
-volume: 0.0 to 1.0
-pan: -1.0 (full left) to 1.0 (full right)
-loop: loop count (1 to 65000 or 0 to infinite loop)
Return the allocated channel if success, 0 on error.

Script Editor Syntax:
P
laySound2("data/tada.wav", 1.000000, 1, 0.000000);
ToAnteriorPosition: Send an Actor to a defined position in the anterior frame.
int ToAnteriorPosition(char *actorName)
Return 1 if success, 0 on error.
Actor name:
- "Event Actor": Actor that is receiving the current event.
- "Parent Actor": Event Actor's parent, if exists.
- "Creator Actor": Event Actor's creator, if Event Actor has been created in some "Create Actor" action.
- "Collide Actor": Actor that collided with the event Actor.
- Any Actor in game

Script Editor Syntax:
ToAnteriorPosition("Event Actor");

VisibilityState:
int VisibilityState(char *actorName, int state)
state: ENABLE, DISABLE and DONT_DRAW_ONLY (Don't draw, but allow events)
Return 1 if success, 0 on error.
Actor name:
- "Event Actor": Actor that is receiving the current event.
- "Parent Actor": Event Actor's parent, if exists.
- "Creator Actor": Event Actor's creator, if Event Actor has been created in some "Create Actor" action.
- "Collide Actor": Actor that collided with the event Actor.
- Any Actor in game.

Script Editor Syntax:
VisibilityState("GameGhost", ENABLE);


Drawing Functions

Drawing Functions must be used into actions of a canvas Actor.
The (x, y) coordinates are relative to the Actor's upper left corner
.

draw_from: Draw the current image of an actor into a canvas actor (doesn't works with tile or text actors)
void draw_from(const char *actorname, int x, int y, double scale)
actorname: The name of the actor who?s current frame is to be drawn on the canvas actor.
x: The x location to draw the image.
y: The y location to draw the image.
scale: The size to draw the image (greater than 0.0)

Script Editor Syntax:
draw_from("player", 0, 1, 1.0);
setpen: Define the actual pen for the Event Actor
void setpen(int r, int g, int b, double transp, int pensize)
r: red component (0 - 255)
g: green component (0 - 255)
b: blue component (0 - 255)
transparency: (0.0 - 1.0)
pensize: size of pen

Script Editor Syntax:
setpen(0, 255, 0, 0.0, 3); //set pen color to green, no transparency, pensize 3

moveto: Move the Event Actor's pen to (x, y) coordinates.
void moveto(int x, int y)

Script Editor Syntax/Example:
screen_to_actor(&xmouse,&ymouse) //get mouse coordinates
moveto(xmouse,ymouse); //move pen to mouse coordinates
lineto: Draw a line on Event Actor to (x, y) coordinates using actual pen
void lineto(int x, int y)

Script Editor Syntax:

setpen(255,255,255,0,3);
lineto (50,50);
Example:
if (draw == 1)
{
screen_to_actor(&xmouse, &ymouse); //mouse coordinates from screen to actor coordinates
lineto(xmouse, ymouse); //draw a line to the mouse coordinates
}
putpixel: Draw a single pixel on Event Actor in (x, y) coordinates using actual pen.
void putpixel(int x, int y)

Script Editor Syntax:
putpixel(0, 0);
erase:  Erase all Actors with a specified color.
void erase(int r, int g, int b, double transp)
-r: red component (0 - 255)
-g: green component (0 - 255)
-b: blue component (0 - 255)
-transparency: (0.0 - 1.0)

Script Editor Syntax:
erase(0, 0, 0, .5);
screen_to_actor: Convert from screen coordinates to Actor coordinates (Use screen_to_actor(&xmouse, &ymouse); to convert the mouse coordinates to the current actor coordinates. For Example, this function could be used to draw at the correct spot on a canvas actor. )
void screen_to_actor(int *x, int *y)
Script Editor Syntax:
screen_to_actor(&xmouse, &ymouse); //convert the mouse coordinates to the current actor coordinates.
actor_to_screen: Convert from Actor coordinates to screen coordinates

void actor_to_screen(int *x, int *y)

Script Editor Syntax:
actor_to_screen(&xmouse, &ymouse); //convert from Actor(in this case the mouse)coordinates to screen coordinates.
savecanvas: Save the canvas Actor state in memory.
void savecanvas()

Script Editor Syntax:
savecanvas();

restorecanvas: Restores the canvas Actor from the memory.
void restorecanvas()

Script Editor Syntax:
restorecanvas();

Sound functions

Sound functions use the channel returned by PlayMusic, PlayMusic2, PlaySound, PlaySound2.

setPan: Set the pan of sounds (Doesn't work with music).
channel: use 0 to affect all sound channels, except the music. 
pan: -1.0 (full left) to 1.0 (full right)
void setPan(int channel, double pan)

Script Editor Syntax:
setPan(channel, -1);

setVolume: Set the sound or the music volume
channel: use 0 to affect all sound channels, except the music. 
volume: 0.0 to 1.0
void setVolume(int channel, double volume)

Script Editor Syntax:
setVolume(channel, .5);
stopSound: Stop the sound or music played on the specified channel.
channel: use 0 to stop all sounds, except the music. 
void stopSound(int channel)

Script Editor Syntax:
stopSound(channel);
 

Save functions

Use saveVars and loadVars to save and load any variables in a game, like highscores, current lives, etc. To use these functions, you must use the "Save group" field in the "Add New Variable" panel (Variable button in the Script Editor).

saveVars: Save all variables in the group to the specified file.
The file will be saved in the game directory.
void saveVars(char *file, char *group)
Use saveVars to save any variables in a game; highscores, current lives, etc.
You must use the "Save group" field in the "Add New Variable"panel (Variable button in the Script Editor).
Script Editor Syntax:
saveVars("game.sav", "High Score");
loadVars: Load all the variables in the group from a specified file.
void loadVars(char *file, char *group)

Script Editor Syntax:
loadVars("game.sav", "High Score");

Example:
1. Create a "score" variable and put it in the "High Score" group.
2. Create two more variables: "lives" and "energy". Put these variables in the "Actor State" group.

When the player dies, use saveVars("game.sav", "High Score"); to save the current player's high score without saving the player's state.
When the user exits the game, use saveVars("game.sav", "Actor State"); to save the current player's state (lives and energy).
Note: different variable groups can be saved in the same file (game.sav).
Finally, use loadVars("game.sav", "High Score"); and loadVars("game.sav", "Actor State"); in the proper script editor area of the game!

Game Control

LoadGame: Loads a new game.
int LoadGame(char *gamePath)

gamePath: game file path relative to actual game directory.
Return 1 if success, 0 on error.

Script Editor Syntax:
LoadGame("Level1.ged");

In the Script Editor, Level1.ged will be loaded.
In your executable game, Level1.exe or Level1.dat will be loaded.
ExitGame: End game and return to system.
int ExitGame()
Return 1 if success, 0 on error.

Script Editor Syntax:
ExitGame();
SuspendGame: Pause the game and stop receiving any events.
void SuspendGame()
Script Editor Syntax:
SuspendGame();

Shows the task bar on the Pocket PC.
Continue the game only if the game gets the focus (when the user clicks on game title bar window or uses Alt+Tab or if user click on [Continue] option on Pocket PC, Handheld PC and Smartphone).
PauseGameOff: Continue a game that has been paused by PauseGameOn() function. See Example below under PauseGameOn.
void PauseGameOff()
Script Editor Syntax/ Example Code:
1) When the user wants to pause a game, Create your "pauseActor": "Paused - Click To Resume".
2) On the Create Actor Event of "pauseActor" add a Script Editor Action with the following code:
PauseGameOn();
3) On Mouse Button Down event, add a Script Editor action with the following code:
PauseGameOff();
DestroyActor("Event Actor");


PauseGameOn:
Pause the game but continue receiving keyboard and mouse events. This is done so, you can call PauseGameOff() in a keyboard or mouse event.
void PauseGameOn()

Script Editor Syntax:
PauseGameOn();

Keyboard Functions

getKeyText: Returns the key description
char *getKeyText(int key)

Script Editor Syntax:
int keyCode = getLastKey(); //get the last key pressed.
strcpy(myactor.text, getKeyText(keyCode)); //get the key text (getKeyText) and copy it (strcpy) to myactor.

getLastKey:
Returns the last pressed key.
int getLastKey()

Script Editor Syntax:
int selectedKey = getLastKey(); //"selectedKey" is the variable used to store the last key pressed using the getLastKey() function. Any variable name could be used.
Note: The getLastKet() function will return the last pressed key after redirection.
So, if the user press the 'T' key and you are remaped the 'T' to 'right' key previously, the getLastKey() will return the 'right' key.

To avoid this behavior, in this example, you need remove the redirection by using:
remapKey(KEY_t, KEY_t);
remapKey: Redirect fromKey to toKey (User configured keys). Use this function to redirect any keys.
void remapKey(int fromKey, int toKey)

All redirections are removed using LoadGame()

Script Editor Syntax:

For Example:
A game actor shoots with KEY_RCTRL.
If you want your user to be able to change this control key in the game configuration screen,
you use a KeyDown event, and put the following into the script editor:
remapKey(getLastKey(), KEY_RCTRL); //KEY_RCTRL is the the key to remap.

Now, the key pressed by user, will be redirected to KEY_CTRL. The remapKey() function allows you to keep your original default game key.
GetKeyState: Returns an array with the keyboard state.
char *GetKeyState()

Script Editor Syntax:

char *key = GetKeyState(); // "key" is the variable used to store GetKeyState() function. Any variable name could be used.

Example:
When the left or right key is pressed in the "Draw Actor" Event, the following code will move an Actor to the left or to the right.

1) Create an actor
2) Add a "Draw actor" event
3) Add Script code

Code:
char *key = GetKeyState(); //Get entire keyboard state

if(key[KEY_RIGHT] == 1) //Test if right key is pressed
{
x = x + 5; //Move actor to right
}

if(key[KEY_LEFT] == 1) //Test if left key is pressed
{
x = x - 5; //Move actor to left
}

Valid key entries:
KEY_BACKSPACE
KEY_TAB
KEY_CLEAR
KEY_RETURN
KEY_PAUSE
KEY_ESCAPE
KEY_SPACE
KEY_EXCLAIM
KEY_QUOTEDBL
KEY_HASH
KEY_DOLLAR
KEY_AMPERSAND
KEY_QUOTE
KEY_LEFTPAREN
KEY_RIGHTPAREN
KEY_ASTERISK
KEY_PLUS
KEY_COMMA
KEY_MINUS
KEY_PERIOD
KEY_SLASH
KEY_0
KEY_1
KEY_2
KEY_3
KEY_4
KEY_5
KEY_6
KEY_7
KEY_8
KEY_9
KEY_COLON
KEY_SEMICOLON
KEY_LESS
KEY_EQUALS
KEY_GREATER
KEY_QUESTION
KEY_AT
KEY_LEFTBRACKET
KEY_BACKSLASH
KEY_RIGHTBRACKET
KEY_CARET
KEY_UNDERSCORE
KEY_BACKQUOTE
KEY_a
KEY_b
KEY_c
KEY_d
KEY_e
KEY_f
KEY_g
KEY_h
KEY_i
KEY_j
KEY_k
KEY_l
KEY_m
KEY_n
KEY_o
KEY_p
KEY_q
KEY_r
KEY_s
KEY_t
KEY_u
KEY_v
KEY_w
KEY_x
KEY_y
KEY_z
KEY_PAD_0
KEY_PAD_1
KEY_PAD_2
KEY_PAD_3
KEY_PAD_4
KEY_PAD_5
KEY_PAD_6
KEY_PAD_7
KEY_PAD_8
KEY_PAD_9
KEY_PAD_PERIOD
KEY_PAD_DIVIDE
KEY_PAD_MULTIPLY
KEY_PAD_MINUS
KEY_PAD_PLUS
KEY_PAD_ENTER
KEY_PAD_EQUALS
KEY_UP
KEY_DOWN
KEY_RIGHT
KEY_LEFT
KEY_INSERT
KEY_HOME
KEY_END
KEY_PAGEUP
KEY_PAGEDOWN
KEY_F1
KEY_F2
KEY_F3
KEY_F4
KEY_F5
KEY_F6
KEY_F7
KEY_F8
KEY_F9
KEY_F10
KEY_F11
KEY_F12
KEY_F13
KEY_F14
KEY_F15
KEY_NUMLOCK
KEY_CAPSLOCK
KEY_SCROLLOCK
KEY_RSHIFT
KEY_LSHIFT
KEY_RCTRL
KEY_LCTRL
KEY_RALT
KEY_LALT
KEY_RMETA
KEY_LMETA
KEY_LWINDOWS
KEY_RWINDOWS
KEY_ALT_GR
KEY_HELP
KEY_PRINT
KEY_SYSREQ
KEY_BREAK
KEY_MENU
KEY_MAC_POWER
KEY_EURO
KEY_POCKET_UP
KEY_POCKET_DOWN
KEY_POCKET_LEFT
KEY_POCKET_RIGHT
KEY_POCKET_A
KEY_POCKET_B
KEY_POCKET_C
KEY_POCKET_START
KEY_POCKET_AUX1
KEY_POCKET_AUX2
KEY_POCKET_AUX3
KEY_POCKET_AUX4
KEY_POCKET_AUX5
KEY_POCKET_AUX6
KEY_POCKET_AUX7
KEY_POCKET_AUX8
KEY_GP2X_BUTTON_UP
KEY_GP2X_BUTTON_DOWN
KEY_GP2X_BUTTON_LEFT
KEY_GP2X_BUTTON_RIGHT
KEY_GP2X_BUTTON_UPLEFT
KEY_GP2X_BUTTON_UPRIGHT
KEY_GP2X_BUTTON_DOWNLEFT
KEY_GP2X_BUTTON_DOWNRIGHT
KEY_GP2X_BUTTON_CLICK
KEY_GP2X_BUTTON_A
KEY_GP2X_BUTTON_B
KEY_GP2X_BUTTON_X
KEY_GP2X_BUTTON_Y
KEY_GP2X_BUTTON_L
KEY_GP2X_BUTTON_R
KEY_GP2X_BUTTON_START
KEY_GP2X_BUTTON_SELECT
KEY_GP2X_BUTTON_VOLUP
KEY_GP2X_BUTTON_VOLDOWN

Helper functions

ActorCount: Returns the number of Actors with the Actor Name.
Actor name:
- Any Actor in game.

Script Editor Syntax:
( ActorCount("metalBlock1") == 1)\\total number of actors currently active ==1.
Load the breakout demo and go to the DestroyActor event of metalBlock1 actor to see this function in action.
CollisionFree: Check if position (x, y) is collision free for ActorName. Return 1 if not collide, 0 otherwise.
int CollisionFree(char *actorName, int x, int y)
Actor name:
- "Event Actor": Actor that is receiving the current event.
- "Parent Actor": Event Actor's parent, if exists.
- "Creator Actor": Event Actor's creator, if Event Actor has been created in some "Create Actor" action.
- "Collide Actor": Actor that collided with the event Actor.
- Any Actor in game.

Script Editor Syntax:
if (CollisionFree("Event Actor", x, y+5)) y=y+5; //On KeyDown Event script for KEY_DOWN, check if there is no collision before moving an actor down by 5 pixels.
SendActivationEvent: Send an Activation Event to an Actor's clone.
int SendActivationEvent(char *cloneName)
Return 1 if success, 0 on error.
cloneName: nameactor.cloneindex (Ex.: ship.1, ship.2, ...)

SendActivationEvent("ship.1"); //send ActivationEvent to the ship clone with the index number 1.
radtodeg:  Convert an angle from radians to degrees.
double radtodeg(double a)
degtorad: Convert an angle from degrees to radians.
double degtorad(double a)
Script Editor Syntax:
myactor.textNumber= degtorad(angle);

direction:
Rreturns the direction between points (x1, y1) and (x2, y2) (in degrees, 0 to 360, from positive x axis, counterclockwise, in degrees).
double direction(double x1, double y1, double x2, double y2)
Script Editor Syntax:
textNumber=
direction(x, y, player.x, player.y);


distance:
Returns the distance between points (x1, y1) and (x2, y2).
double distance(double x1, double y1, double x2, double y2)
Script Editor Syntax:
textNumber=
distance(x, y, player.x, player.y);
getAllActorsInCollision: Returns an Actor's array that includes all Actors that collide with the cloneName if successful or NULL if there are no collisions.
Actor count will be returned in nActors.
Actor *getAllActorsInCollision(char *cloneName, int *nActors)
cloneName: nameactor.cloneindex (Ex.: ship.1, ship.2, ...), "Event Actor", "Collide Actor", "Parent Actor" or "Creator Actor"
The returned array will be valid until the next call to getAllActorsInCollision.
The returned array is read only.
Script Editor Syntax: 
getAllActorsInCollision("Event Actor",&num);

For Example, to make the "Event Actor" the parent of all the colliding actors:

int n;
Actor *actors;

actors = getAllActorsInCollision("Event Actor", &n);


if(actors)
{
int i;
for(i = 0; i < n; i++)
{
ChangeParent(actors[i].clonename, "Event Actor");
}
}


getAnimIndex:
Get the index of an animation in the Event Actor.
Return animation index if success, -1 on error.
int getAnimIndex(char *animName)

animName: a valid animation name in the current Event Actor
.
Script Editor Syntax:
getAnimIndex("palette");

Example:
1. Create two Actors: "number" and "myImages".
2. Assign text to the "number" Actor. Use "0" for the text.
3. Assign 3 animations to the "myImages" Actor.
4. On "myImages" Actor, Create Actor >Script Editor
5. Enter the following code:
number.textNumber= getAnimIndex("myAnimation2");


getAnimName:
Get the name of an animation in Event Actor.
Return animation name if success, "" on error
.
char *getAnimName(int animIndex)

animIndex: an animation index in the Event Actor.
Script Editor Syntax:
strcpy(text, getAnimName(0));
getactor: Returns Actor at position (x,y) (in game coordinates) if success, invalid Actor (with cloneindex = -1 and name = "") on error.
Actor *getactor(int x, int y)

Script Editor Syntax:
Actor *MyActor;
MyActor=getactor(x,y);

getclone:
Get Actor with name cloneName.
Actor *getclone(char *cloneName)

cloneName: nameactor.cloneindex
(Example: ship.1, ship.2, ...)
Return Actor if successful, invalid Actor (with cloneindex = -1 and name = "") on error.
getTime: Get system date and time.
stTime getTime();
The stTime is a struct with follow members:

sec: Seconds after minute (0 - 59)
min: Minutes after hour (0 - 59)
hour: Hours since midnight (0 - 23)

mday: Day of month (1 - 31)
mon: Month (1 - 12; January = 1)
year: Year (current year)

wday: Day of week (0 - 6; Sunday = 0)
yday: Day of year (0 - 365)

sec_utc: Number of seconds elapsed since midnight (00:00:00), January 1, 1970 (coordinated universal time)

Script Editor Syntax:
stTime t = getTime();
textNumber = t.sec; //to show the seconds
Download the sample here
 
openUrl: Opens a web page.
Game Editor Syntax:
openUrl("http://game-editor.com");
round: Returns the value of arg rounded to the nearest integer. However, the number is returned as a floating-point value. Values precisely between two values, such as 3.5 are rounded up.
double round(double arg);
max: Returns the maximum of two values.
double max(double a, double b)

min: Returns the minimum of two values.
double min(double a, double b)
rand: Generates a sequence of pseudorandom numbers. Each time it is called, an number between zero and max will be returned.
double rand (double max);
vectoradd: Adds vector2 (angle2, magnitude2) to vector1 (angle1, magnitude1) and returns the result in vector1 (angles in degrees).
void vectoradd(double *angle1, double *magnitude1, double angle2, double magnitude2).
Download an example here.

Device Indentification functions

getHardwareID: Returns a string that can uniquely identify the device.

Use this function to get a string that can uniquely identify a Pocket PC, Handheld PC or Smartphone device.
This string can be used in some registration service to protect your game against illegal copies.
Some protected smartphones requires you digitally sign your game to execute and use this function.

Returns an empty string on desktop or if any error happens.
char *getHardwareID();

Script Editor Syntax:
strcpy(text, getHardwareID());
getOwner: Returns the device owner name.

Use this function to get the owner name of Pocket PC, Handheld PC or Smartphone device.
Returns an empty string on desktop or if any error happens.
char *getOwner();

Script Editor Syntax:
strcpy(text, getOwner());
 

Standard C Functions

For more detailed information consult a C Programmer's Reference
abs: Returns the absolute value of a number.
int abs(int num);

Script Editor Syntax:
int num =5;
myactor.textNumber=abs(num);

acos: Returns the arc cosine of arg.

double acos (double arg);

Note: The argument to acos() must be in the range -1 to 1: otherwise, a domain error will occur.


asin: Returns the arc sine of arg.
double asin (double arg);

Note: The argument to asin() must be in the range -1 to 1: otherwise, a domain error will occur.

atan: Returns the arc tangent of arg.
double atan (double arg);


atan2: Returns the arc tangent of a/b. It uses the signs of its arguments to compute the quadrant of the return value.

double atan2(double a, double b);

atof: Converts the string pointed to by str into a double value.
double atof (const char *str);
The string must contain a valid floating-point number. If this in not the case, the returned value is undefined. The number can be terminated by a character that cannot be part of a valid floating-point number. This includes whitespace, punctuation(other than periods), and characters other than E or e. This means that the atof() is called with "300.00 GameEditor is great.", the value 300.00 will be returned.

atoi: Converts the string pointed to by str into an int value.
int atoi (const char * str);
The string must contain a valid integer number. If this is not the case, the returned value is undefined. The nuber can be terminated by any character that cannot be part of an integer number. This includes whitespace, puncuation, and characters. This means that if atoi() is called with "456.78", the integer 123 value will be returned, and the ".23" is ignored.

atol: Converts the string poined to by str into a long int value.
long atol (const char * str);
The string must contain a valid integer number. If this is not the case, the returned value is undefined. The number can be terminated by any character that cannot be part of an intger number. This includes whitespace, punctuation, and characters. This means that if atol() is called with 345.67, the long integer value 345L will be regurned, and the .67 is ignored.

calloc
: Allocates memory the size of which is equal to num * size. (For more detailed information consult a C Programmer's Reference.)
void * calloc(size_t num, size_t size);
calloc() allocates sufficient memory for an array of num objects of size size. All bits in the allocated memory are initially set to zero. The calloc() function returns a pointer to the first byte of the allocated region. If there is not enough memory to satisfy the request, a null pointer is returned. It is always imprortant to verify that the return value is not null before attempting to use it.

ceil: Returns the smallest integer (represented as a floating-point value) not less than num.

double ceil (double num);
For example, given 3.02, ceil() would return 4.0. Given -3.02, ceil() would return -3.
Script Editor Syntax:
myactor.textNumber= ceil(3.02);

cos: Returns the cosine of arg. The value of arg must be in radians.
double cos (double arg);

cosh: Returns the hyperbolic cosine of arg.
double cosh (double arg);

fclose: Closes the file associated with stream.
fclose(FILE * stream);
If successful, zero is returned; otherwise EOF is returned. Trying to close a file that has already been closed is an error. Removing the storage media before closing a file will also generate an error, as will lack of sufficient free disk space.

feof: Determines if the end of the file associated with stream has been reached.
A nonzero value is returned if the file position indicator is at the endo-of-file; zero is returned otherwise. Once the endo fot the file has been reached, susequent read operations will return EOF until either rewind() is called or the file position indicator is moved using fseek(). feof is particulary useful when working with binary files because the end-of-file maker is alswo a valid binary integer.

fgetc: Returns the next character from the specified input stream and increments the file position indicator.

int fgetc(FILE *stream);
The character is read as an unsigned char that is converted to an integer. If the end of the file is reached, fgetc() returns EOF. However, since EOF is a valid integer value, when working with binary files your must use feof() to check for the end of the file. If fgetc() encounters an error, EOF is also returned. If working with binary files, you must use ferror() to check for file errors.

fgets: Reads up to num-1 characters from stream and stores them in the character array pointed to by str.

char *fgets(char *str, int num, FILE *stream);
If successful, fgets() returns str; a null pointer is returned upon failure.
Characters are read until either a newline or an EOF is recieved or until the specified limit is reached. After the characters have been read, a null is stored in the array immediately after the last character read. A newline character will be retained and will be part of the array pointed to by str.

floor:  Returns the largerst integer (represented as a floating-point value) not greater than num.
double floor(double num);
For example 3.02, floor() would return 3.0 . Given -3.02, floor() would return -3.0.
Script Editor Syntax:
myactor.textNumber= floor(3.02);

fmod: Returns the remainder of a/b.
double fmod(double a, double b);

fopen:  Opens a file whose name is pointed to by fname and returns the stream that is associated with it. The path must be relative to game directory.
FILE *fopen(const char *name, const char *mode)
The types of operations that will be allowed on the file are defined by the value of mode. The filename must be a string of characters comprising a valid filename as defined by the operatiing system.

Script Editor Syntax:

Script for reading text from a File:
char textArray[10][256]; //Max 10 text of 255 characters
int nText = 0; //Number of texts read
void readText(char * fileName)
{
char line[256];
FILE *arq = fopen(fileName, "r"); if(arq)
{
while(fgets(line, 255, arq) && nText < 10)
{
if(strlen(line) > 0) //Dont put empty lines
{
strcpy(textArray[nText], line);
nText++;
}
}
}
}


fprintf: Write a formatted string in the selected file.
int fprintf(FILE * fp,const char *fmt, ...);
fputc: Writes the character ch to the specified stream at the current file position and then advances the file position indicator.
fputc( int ch, FILE *stream);
Even though ch is declared to be an int for historical reasons, it is converted by fputc() into an unsigned char. The value returned by fputc() is the value of the character written. If an error occurs, eOF is returned. For files opened for binary operations, an EOF may be a valid character, and the function ferror() will need to be used to determine whether an error has actually occurred.

fputs: Writes the contents of the string pointed to by str to the specified stream. The null terminatior is not written. The fputs() function returns nonnegative on success and EOF on failure.
fputs(const char * str, FILE *stream);

fread: Reads count number of objects, each object being size bytes in length, from the stream pointed to by stream and stores them in the array pointed to by buf. The file position indicator is advanced by the number of characters read. The fread() function returns the number of items actually read. If fewer items are read than are requested in the call either an error has occurred or the end of file has been reached. You must use feof() or ferror() to determine what has taken place.
size_t fread(void *buf, size_t size, size_t count, FILE * stream);

free: Returns the memory pointed to by ptr to the heap. This makes the memory available for future allocation. It is imperative that free() only be called with a pointer that was previously allocated using one of the dynamic allocation system's functions.
void free(void *ptr);


fscanf: Reads information from the stream specified by stream. fscanf() returns the number of arguments actually assigned values. This number does not include skipped fields. A regurn value of EOF means that a failure occured before the first assignment was made.
int fscanf(FILE *stream, const char *format, ...);

fseek: Sets the file position indicator associated with stream according to the values of offset and origin. Its purpose is to support random access I/O operations. A return value of zero means that fseek() succeeded. A nonzero value indicates failure. In general, fseek() should be used only with binary files.
int fseek(FILE *stream, long int offset, int origin);

ftell: Returns the current value of the file position indicator for the specified stream. In the case of binary streams, the value is the number of bytes the indicator is from the beginning of teh file. For text streams, the return value may not be meaningful except as an argument to fseek() because of possible character translations, such as carriage return/linefeeds being substituted for newlines, which affect the apparent size of the file.
long int ftell (FILE *stream);
Returns -1 whan an error occurs.

fwrite: Writes count number of objects, each object being size bytes in length, to the stream pointed to by stream from the character array pointed to by buf. The file position indicator is advanced by the number of characters written.
size_t fwrite(const void *buf, size_t size, size_t count, FILE *stream);

Returns the number of items actually written, which, if the function is successful, will equal the number requested. If fewer items are written than are requested, an error has occurred.


log: Returns the natural logarithm for num. A domain error occurs if num is negative. If num is zero, a range error is possible
double log(double a);

log10: Returns the base 10 logarithm for num. A domain error occurs if num is negative. The num is zero, a range error is possible.
double log10(double a);

malloc: Returns a pointer to the first byte of a region of memory of size size that has been allocated from the heap. If there is insufficient memory in the heap to satisfy the request, malloc() returns a null pointer. It is always important to verify that the return value is not null before attempting to use it. Attempting to use a null pointer usually result in a system crash
void *malloc(size_t size);

memcmp: Compares the first count characters of the arrays pointed to by buf1 and buf2. Returns an integer.

int memcmp(const void *buf1, const void *buf2, size_t count);

memcpy: Copies count characters from the array pointed to by from into the array pointed to by to. If the arrays overlap, the behavior of memcopy() is undefined. Returns a pointer to to.

void *memcpy(void *to, const void *from, size_t count);

memmove: Copies count characters from th array pointed to by from into the array pointed to by to. If the arrays overlap, the copy will take place correctly, placing the correct contents into to but leaving from modified. Returns a pointer to to.


void *memmove(void *to, const void * from, size_t count);

memset: Copies the low-order byte of ch into the first count characters of the array pointed to by bur. It returns buf. The most common use of memset() is to initialize a region of memory to some known value.
void *memset( void *dest, int c, size_t count );

pow: Returns base raised to the exp power (base exp). A domain error may occur if base is zero and exp is less than or equal to zero. It will also happen if base is negative and exp is not an integer. A range error is possible.

double pow(double base, double exp);

realloc: Changes the size of the previously allocated memory pointed to by ptr to that specified by size. The value of size can be greater or less than the original. A pointer memory block is returned because it may be necessary for realloc() to move the block in order to change its size. If this occurs, the contents of the old block (up to size bytes) are copied into the new block.
void *realloc(void *ptr, size_t size);
sign: Returns an integer indicating the sign of a number.
double sign(double a);

sin: Returns the sine of arg. The value of arg must be in radians.

double sin(double arg);

sinh: Returns the hyperbolic sine of arg.

double sinh (double arg);

sprintf: Use sprintf to mix fixed text (like "Hello...") with text in variables (like actor name, numbers, ...)


sprintf(youractor.text, "Hello %s", stringvar);

sqrt: Returns the square root of num. If they are called with a negative argument, a domain error will occur.

double sqrt (double num);

sscanf: Reads data from the array pointed to by buf.

int sscanf(const char *buf, const char *format,...);
strcat: Concatenates a copy of str2 to str1 and terminates str1 with a null. The null terminator originally ending str1 is overwritten by the first character of str2. The str2 is untouched by the operation. If the arrays overlap, the behavior of strcat() is undefined.

char *strcat(char *str1, const char *str2);

strchr: Returns a pointer to the first occurrence of the low-order byte of ch in the string pointed to by str. If no match is found, a null pointer is returned.

char *strchr(const char *str, int ch);

strcmp: Compares two strings and returns an integer based on the outcome.

int strcmp(const char *str1, const char *str2);

strcpy: Copies the contents of str2 into str1. str2 must be a pointer to a null-terminated string. strcpy() function returns a pointer to str1.

char *strcpy(char *str1, const char *str2);

strlen: Returns the length of the null-terminated string pointed to by str. The null terminatior is not counted.

size_t strlen(const char *str);

strncat: Appends the source string s2 to destination string s1, but not more than n characters

char *strncat(char * s1, const char *s2, size_t n)

strncmp: Compares not more than count characters from the two null-terminated strings and returns an integer based on the outcome. If there are less than count characters in either string, the comparison ends when the first null is encountered.


char *strncmp(char *str1, const char *str2, size_t count);

strncpy: Copies up to count characters from the string pointed to by str2 into the array pointed to by str1. str2 must be a pointer to a null-terminated string.

char * strncpy(char *str1, const char *str2, size_t count);

tan: Returns the tangent of arg. The value of arg must be in radians.

double tan (double arg);

tanh: Returns the hyperbolic tangent of arg.

double tanh(double arg);


 

Tutorials >>

 
   

Home     Top