User Tools

Site Tools


hpl1:documentation:script_reference

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
hpl1:documentation:script_reference [2020/02/08 21:17]
muffin this wiki sucks..
hpl1:documentation:script_reference [2020/02/08 21:19] (current)
muffin
Line 15: Line 15:
 </​code>​ </​code>​
  
-  ​Prints a string to the log.\\+Prints a string to the log.\\
 <code c++> <code c++>
 std::string FloatToString(float afX) std::string FloatToString(float afX)
 </​code>​ </​code>​
  
-  ​Converts a float to string\\+Converts a float to string\\
 <code c++> <code c++>
 std::string IntToString(int alX) std::string IntToString(int alX)
 </​code>​ </​code>​
  
-  ​Converts an integer to string,\\+Converts an integer to string,\\
 <code c++> <code c++>
 float RandFloat(float afMin, float afMax) float RandFloat(float afMin, float afMax)
 </​code>​ </​code>​
  
-  ​Generates a random float.\\+Generates a random float.\\
 <code c++> <code c++>
 int RandInt(int alMin, int alMax) int RandInt(int alMin, int alMax)
 </​code>​ </​code>​
  
-  ​Generates a random int.\\+Generates a random int.\\
 <code c++> <code c++>
 StringContains(std::​string asString, std::string asSubString) StringContains(std::​string asString, std::string asSubString)
 </​code>​ </​code>​
  
-  ​Checks what a string contains.\\+Checks what a string contains.\\
 asString what string to check\\ asString what string to check\\
 asSubString what to check the string against\\ asSubString what to check the string against\\
Line 50: Line 50:
 </​code>​ </​code>​
  
-  ​Gets a string in the current language.\\+Gets a string in the current language.\\
 asCat The translation category\\ asCat The translation category\\
 asName The name of the category entry.\\ asName The name of the category entry.\\
Line 57: Line 57:
 </​code>​ </​code>​
  
-  ​Preloads the data for a sound.\\+Preloads the data for a sound.\\
 asFile This can be a wav, ogg, mp3 or snt file.\\ asFile This can be a wav, ogg, mp3 or snt file.\\
 <code c++> <code c++>
Line 63: Line 63:
 </​code>​ </​code>​
  
-  ​Resync screen frames to logic timer.\\+Resync screen frames to logic timer.\\
 \\ \\
 ==== Particle Systems ==== ==== Particle Systems ====
Line 71: Line 71:
 </​code>​ </​code>​
  
-  ​Set if a particle system should be active or not.\\+Set if a particle system should be active or not.\\
 asName The name of the particle system.\\ asName The name of the particle system.\\
 abActive If it should be active or not.\\ abActive If it should be active or not.\\
Line 79: Line 79:
 </​code>​ </​code>​
  
-  ​Create a particle system at the position of an area\\+Create a particle system at the position of an area\\
 asName The name of the particle system.\\ asName The name of the particle system.\\
 asType The type of aprticle system\\ asType The type of aprticle system\\
Line 95: Line 95:
 </​code>​ </​code>​
  
-  ​Kill a particle system\\+Kill a particle system\\
 asName The name of the particle system.\\ asName The name of the particle system.\\
 \\ \\
Line 104: Line 104:
 </​code>​ </​code>​
  
-  ​Creates a beam between 2 areas\\+Creates a beam between 2 areas\\
 asName the name of the beam\\ asName the name of the beam\\
 asFile the name of the .beam file\\ asFile the name of the .beam file\\
Line 113: Line 113:
 </​code>​ </​code>​
  
-  ​Destroy a beam\\+Destroy a beam\\
 asName name of the beam to destory\\ asName name of the beam to destory\\
 \\ \\
Line 123: Line 123:
 </​code>​ </​code>​
  
-  ​Fades a sound to a color and a radius\\+Fades a sound to a color and a radius\\
 asName The name of the light\\ asName The name of the light\\
 afR The red channel to fade to.\\ afR The red channel to fade to.\\
Line 135: Line 135:
 </​code>​ </​code>​
  
-  ​Attaches a billboard to a light\\+Attaches a billboard to a light\\
 asBillboardName The billbaord name\\ asBillboardName The billbaord name\\
 asLightName The light name\\ asLightName The light name\\
Line 143: Line 143:
 </​code>​ </​code>​
  
-  ​Sets on/off a light\\+Sets on/off a light\\
 asName The light name\\ asName The light name\\
 abX if the light should be on or off.\\ abX if the light should be on or off.\\
Line 150: Line 150:
 </​code>​ </​code>​
  
-  ​Sets flickering on/off a light\\+Sets flickering on/off a light\\
 asName The light name\\ asName The light name\\
 abX if the light flicker should be on or off.\\ abX if the light flicker should be on or off.\\
Line 165: Line 165:
 </​code>​ </​code>​
  
-  ​Sets flickering parameters\\+Sets flickering parameters\\
 asName The light name\\ asName The light name\\
 abR, afG, afB, afA The color of the light when off\\ abR, afG, afB, afA The color of the light when off\\
Line 171: Line 171:
 afOnMinLength Minimum time before going from off to on.\\ afOnMinLength Minimum time before going from off to on.\\
 afOnMaxLength Maximum time before going from off to on.\\ afOnMaxLength Maximum time before going from off to on.\\
-asOnSound Name of the sound played when going from off to on. _ckgedit_QUOT__ckgedit> ​means no sound.\\ +asOnSound Name of the sound played when going from off to on. “” ​means no sound.\\ 
-asOnPS Name of the particle system played when going from off to on. _ckgedit_QUOT__ckgedit> ​means none.\\+asOnPS Name of the particle system played when going from off to on. “” ​means none.\\
 afOffMinLength Minimum time before going from on to off.\\ afOffMinLength Minimum time before going from on to off.\\
 afOffMaxLength Maximum time before going from on to off.\\ afOffMaxLength Maximum time before going from on to off.\\
-asOffSound Name of the sound played when going from on to off. _ckgedit_QUOT__ckgedit> ​means no sound.\\ +asOffSound Name of the sound played when going from on to off. “” ​means no sound.\\ 
-asOffPS Name of the particle system played when going from on to off. _ckgedit_QUOT__ckgedit> ​means none.\\+asOffPS Name of the particle system played when going from on to off. “” ​means none.\\
 abFade If there should be a fade between off and on.\\ abFade If there should be a fade between off and on.\\
 afOnFadeLength Fade length from off to on.\\ afOnFadeLength Fade length from off to on.\\
Line 186: Line 186:
 </​code>​ </​code>​
  
-  ​Creates a flash of light at an area.\\+Creates a flash of light at an area.\\
 asArea Name of the area to create the flash in\\ asArea Name of the area to create the flash in\\
 afRadius Radius of the flash\\ afRadius Radius of the flash\\
Line 196: Line 196:
 </​code>​ </​code>​
  
-  ​If a light should cast its light and shadow, affecting the surroundings in its sector(_room grouping) or in all sectors it reaches. By default static lights added in the editor to a level is true, the same goes for lights that are part of an Lamp entity.\\+If a light should cast its light and shadow, affecting the surroundings in its sector(_room grouping) or in all sectors it reaches. By default static lights added in the editor to a level is true, the same goes for lights that are part of an Lamp entity.\\
 asName The light name\\ asName The light name\\
 abX if it should only affect the sector or not.\\ abX if it should only affect the sector or not.\\
Line 206: Line 206:
 </​code>​ </​code>​
  
-  ​Creates a sound entity at the postion of an area.\\+Creates a sound entity at the postion of an area.\\
 asName Name of the created sound entity.\\ asName Name of the created sound entity.\\
 asFile The snt file to load.\\ asFile The snt file to load.\\
Line 215: Line 215:
 </​code>​ </​code>​
  
-  ​Creates a sound entity at the position of an entity.\\ +Creates a sound entity at the position of an entity.\\ 
-asType The type of entity. This can be: "Joint","Body" ​or "Entity".\\+asType The type of entity. This can be: Joint,Body” or Entity.\\
 asDestName The entity/​body/​joint name\\ asDestName The entity/​body/​joint name\\
 asSoundName The name of created sound entity.\\ asSoundName The name of created sound entity.\\
Line 224: Line 224:
 </​code>​ </​code>​
  
-  ​Play a sound entity\\+Play a sound entity\\
 asName The entity name\\ asName The entity name\\
 abPlayStart If the start sound should be played.\\ abPlayStart If the start sound should be played.\\
Line 231: Line 231:
 </​code>​ </​code>​
  
-  ​Stop a sound entity\\+Stop a sound entity\\
 asName The entity name\\ asName The entity name\\
 abPlayEnd If the end sound should be played.\\ abPlayEnd If the end sound should be played.\\
Line 238: Line 238:
 </​code>​ </​code>​
  
-  ​Play a sound entity fading it\\+Play a sound entity fading it\\
 asName The entity name\\ asName The entity name\\
 afSpeed Volume increase per second.\\ afSpeed Volume increase per second.\\
Line 245: Line 245:
 </​code>​ </​code>​
  
-  ​Stop a sound entity fading it\\+Stop a sound entity fading it\\
 asName The entity name\\ asName The entity name\\
 afSpeed Volume decrease per second.\\ afSpeed Volume decrease per second.\\
Line 252: Line 252:
 </​code>​ </​code>​
  
-  ​Play music track.\\+Play music track.\\
 asName Name of the music file.\\ asName Name of the music file.\\
 afVol Volume of the music\\ afVol Volume of the music\\
Line 260: Line 260:
 </​code>​ </​code>​
  
-  ​Stop music track.\\+Stop music track.\\
 afStepSize The decrease in volume per second when fading out.\\ afStepSize The decrease in volume per second when fading out.\\
 <code c++> <code c++>
Line 266: Line 266:
 </​code>​ </​code>​
  
-  ​Play music track with prio, added to episode 1 to be able to play different tracks that mix in and out depending on prio.\\+Play music track with prio, added to episode 1 to be able to play different tracks that mix in and out depending on prio.\\
 asFile The name of the music file.\\ asFile The name of the music file.\\
 afVolume The volume to play the music at 0 to 1.\\ afVolume The volume to play the music at 0 to 1.\\
Line 276: Line 276:
 </​code>​ </​code>​
  
-  ​Stop game music track with prio.\\+Stop game music track with prio.\\
 afFadeStepThe decrease in volume per second when fading out.\\ afFadeStepThe decrease in volume per second when fading out.\\
 alPrio priority of the music track.\\ alPrio priority of the music track.\\
Line 283: Line 283:
 </​code>​ </​code>​
  
-  ​Play a sound gui sound, with out any position.\\+Play a sound gui sound, with out any position.\\
 asName The sound name\\ asName The sound name\\
 afVol Volume of the sound\\ afVol Volume of the sound\\
Line 293: Line 293:
 </​code>​ </​code>​
  
-  ​Sets a callback for a joint.\\+Sets a callback for a joint.\\
 The syntax for the function is: void MyFunction(string asJointName)\\ The syntax for the function is: void MyFunction(string asJointName)\\
 asJointName The joint name\\ asJointName The joint name\\
-asType The type, can be: "OnMax" ​or "OnMin".\\ +asType The type, can be: OnMax” or OnMin.\\ 
-asFunc The script function to be called. Must be in the current script file. _ckgedit_QUOT__ckgedit____> ​= disabled.\\ +asFunc The script function to be called. Must be in the current script file. “” ​= disabled.\\ 
-\\ +<code c++> 
-''​void BreakJoint(std::​string asJointName) ​'' ​  Breaks a joint.\\+void BreakJoint(std::​string asJointName) 
 +</​code>​ 
 + 
 +Breaks a joint.\\
 asJointName The joint name\\ asJointName The joint name\\
-\\ +<code c++> 
-''​void SetJointControllerActive(std::​string asJointName,​std::​string asCtrlName, bool abActive) ​'' ​  Sets if a joint controller is active or not.\\+void SetJointControllerActive(std::​string asJointName,​std::​string asCtrlName, bool abActive) 
 +</​code>​ 
 + 
 +Sets if a joint controller is active or not.\\
 asJointName The joint name\\ asJointName The joint name\\
 asCtrlName The controller name\\ asCtrlName The controller name\\
 abActive If the controller is to be active or not.\\ abActive If the controller is to be active or not.\\
-\\ +<code c++> 
-''​SetJointControllerPropertyFloat(std::​string asJointName,​std::​string asCtrlName, std::string asProperty, float afValue) ​'' ​  Sets if a joint controller is active or not.\\+SetJointControllerPropertyFloat(std::​string asJointName,​std::​string asCtrlName, std::string asProperty, float afValue) 
 +</​code>​ 
 + 
 +Sets if a joint controller is active or not.\\
 asJointName The joint name\\ asJointName The joint name\\
 asCtrlName The controller name\\ asCtrlName The controller name\\
 asProperty The property to change.\\ asProperty The property to change.\\
 afValue The value of the property to change.\\ afValue The value of the property to change.\\
-\\ +<code c++> 
-''​void ChangeJointController(std::​string asJointName,​std::​string asCtrlName) ​'' ​  Change the active controller. All other controllers are set to false.\\+void ChangeJointController(std::​string asJointName,​std::​string asCtrlName) 
 +</​code>​ 
 + 
 +Change the active controller. All other controllers are set to false.\\
 asJointName The joint name\\ asJointName The joint name\\
 asCtrlName The controller name\\ asCtrlName The controller name\\
-\\ +<code c++> 
-''​float GetJointProperty(std::​string asJointName,​ std::string asProp) ​'' ​  Gets a property from the joint.\\+float GetJointProperty(std::​string asJointName,​ std::string asProp) 
 +</​code>​ 
 + 
 +Gets a property from the joint.\\
 Valid properties are:\\ Valid properties are:\\
-"Angle" ​The angle between the bodies (in degrees) (Not working for ball joint)\\ +Angle” The angle between the bodies (in degrees) (Not working for ball joint)\\ 
-"Distance" ​The distance between the bodies (in meter)\\ +Distance” The distance between the bodies (in meter)\\ 
-"LinearSpeed" ​The relative linear speed between the bodies (in m/s)\\ +LinearSpeed” The relative linear speed between the bodies (in m/s)\\ 
-"AngularSpeed" ​The relative angular speed between the bodies (in m/s)\\ +AngularSpeed” The relative angular speed between the bodies (in m/s)\\ 
-"Force" ​The size of the force (in newton, kg*m/​s^2).\\ +Force” The size of the force (in newton, kg*m/​s^2).\\ 
-"MinLimit" ​The minimum limit of the joint.\\ +MinLimit” The minimum limit of the joint.\\ 
-"MaxLimit" ​The maximum limit of the joint.\\+MaxLimit” The maximum limit of the joint.\\
 asJointName The joint name\\ asJointName The joint name\\
 asProp The property to get\\ asProp The property to get\\
-\\ +<code c++> 
-''​SetJointProperty(string asJoint, string asProp, float afVal) ​'' ​  Sets a property to the joint.\\+SetJointProperty(string asJoint, string asProp, float afVal) 
 +</​code>​ 
 + 
 +Sets a property to the joint.\\
 asJoint the joint to change property for\\ asJoint the joint to change property for\\
 asProp what property to change:\\ asProp what property to change:\\
-"MinLimit" ​the min limit on joint, does not work on ball joint.\\ +MinLimit” the min limit on joint, does not work on ball joint.\\ 
-"MaxLimit" ​the max limit on joint, does not work on ball joint.\\+MaxLimit” the max limit on joint, does not work on ball joint.\\
 afVal the value in float to set.\\ afVal the value in float to set.\\
-\\ +<code c++> 
-''​float GetBodyProperty(std::​string asBodyName, std::string asProp) ​'' ​  Gets a property from the body.\\+float GetBodyProperty(std::​string asBodyName, std::string asProp) 
 +</​code>​ 
 + 
 +Gets a property from the body.\\
 Valid properties are:\\ Valid properties are:\\
-"Mass" ​The mass of the body (in kg)\\ +Mass” The mass of the body (in kg)\\ 
-"LinearSpeed" ​The linear speed the body has (in m/s)\\ +LinearSpeed” The linear speed the body has (in m/s)\\ 
-"AngularSpeed" ​The angular speed the body has (in m/s)\\+AngularSpeed” The angular speed the body has (in m/s)\\
 asBodyName The body name\\ asBodyName The body name\\
 asProp The property to get\\ asProp The property to get\\
-\\ +<code c++> 
-''​void SetBodyProperty(std::​string asBodyName, std::string asProp, float afVal) ​'' ​  Sets a property to the body.\\+void SetBodyProperty(std::​string asBodyName, std::string asProp, float afVal) 
 +</​code>​ 
 + 
 +Sets a property to the body.\\
 Valid properties are:\\ Valid properties are:\\
-"Mass" ​The mass of the body (in kg)\\ +Mass” The mass of the body (in kg)\\ 
-"CollideCharacter" ​If the body should collide with the character or not, 0=false 1=true.\\ +CollideCharacter” If the body should collide with the character or not, 0=false 1=true.\\ 
-"HasGravity" ​If a body is affected by gravity. 0=false 1=true.\\+HasGravity” If a body is affected by gravity. 0=false 1=true.\\
 asBodyName The body name\\ asBodyName The body name\\
 asProp The property to get\\ asProp The property to get\\
 afVal The new value of the property\\ afVal The new value of the property\\
-\\ +<code c++> 
-''​void AddBodyForce(std::​string asBodyName, std::string asCoordType,​ float afX, float afY, float afZ) '' ​  Adds a force to the body. This can either be in the bodies local coord system or the world'​s.\\+void AddBodyForce(std::​string asBodyName, std::string asCoordType,​ float afX, float afY, float afZ) 
 +</​code>​ 
 + 
 +Adds a force to the body. This can either be in the bodies local coord system or the world'​s.\\
 asBodyName The body name\\ asBodyName The body name\\
-asCoordType The coordinate system type. "World" ​or "Local".\\+asCoordType The coordinate system type. World” or Local.\\
 afX force in the x direction. (in newton, kg*m/s^2)\\ afX force in the x direction. (in newton, kg*m/s^2)\\
 afY force in the y direction. (in newton, kg*m/s^2)\\ afY force in the y direction. (in newton, kg*m/s^2)\\
 afZ force in the z direction. (in newton, kg*m/s^2)\\ afZ force in the z direction. (in newton, kg*m/s^2)\\
-\\ +<code c++> 
-''​void AddBodyImpulse(std::​string asBodyName, std::string asCoordType,​ float afX, float afY, float afZ) '' ​  Adds an impule (a change in velocity) to the body. This can either be in the bodies local coord system or the world'​s.\\+void AddBodyImpulse(std::​string asBodyName, std::string asCoordType,​ 
 +                                    ​float afX, float afY, float afZ) 
 +</​code>​ 
 + 
 +Adds an impule (a change in velocity) to the body. This can either be in the bodies local coord system or the world'​s.\\
 asBodyName The body name\\ asBodyName The body name\\
-asCoordType The coordinate system type. "World" ​or "Local".\\+asCoordType The coordinate system type. World” or Local.\\
 afX velocity in the x direction. (in m/s)\\ afX velocity in the x direction. (in m/s)\\
 afY velocity in the y direction. (in m/s)\\ afY velocity in the y direction. (in m/s)\\
 afZ velocity in the z direction. (in m/s)\\ afZ velocity in the z direction. (in m/s)\\
 \\ \\
 +==== Local Variables ====
 +
 +<code c++>
 +void CreateLocalVar(std::​string asName, int alVal)
 +</​code>​
 +<code c++>
 +void SetLocalVar(std::​string asName, int alVal)
 +</​code>​
 +<code c++>
 +void AddLocalVar(std::​string asName, int alVal)
 +</​code>​
 +<code c++>
 +int GetLocalVar(std::​string asName)
 +</​code>​
 +
 \\ \\
-==== Local Variables ==== ''​void CreateLocalVar(std::​string asName, int alVal) ​'' ​  ''​void SetLocalVar(std::​string asName, int alVal) ​'' ​  ''​void AddLocalVar(std::​string asName, int alVal) ​'' ​  ''​int GetLocalVar(std::​string asName) ​'' ​  \\+==== Global ​Variables ==== 
 + 
 +<code c++> 
 +void  ​CreateGlobalVar(std::​string asName, int alVal) 
 +</​code>​ 
 +<code c++> 
 +void SetGlobalVar(std::​string asName, int alVal) 
 +</​code>​ 
 +<code c++> 
 +void AddGlobalVar(std::​string asName, int alVal) 
 +</​code>​ 
 +<code c++> 
 +int GetGlobalVar(std::​string asName) 
 +</​code>​ 
 \\ \\
-==== Global Variables ==== ''​void CreateGlobalVar(std::​string asName, int alVal) '' ​  ''​void SetGlobalVar(std::​string asName, int alVal) '' ​  ''​void AddGlobalVar(std::​string asName, int alVal) '' ​  ''​int GetGlobalVar(std::​string asName) '' ​  \\ 
 \\ \\
-\\ +===== Game scripts ===== 
-===== Game scripts ===== ==== General ==== ''​void ResetGame(); ​'' ​  Resets the game and returns to main menu\\ + 
-\\ +==== General ==== 
-''​void StartCredits(); ​'' ​  Starts the end credits screen, uses .lang Category ​"MainMenu" ​and .lang Entry "CreditsText" ​as well as music file "penumbra_music_E1_E.ogg"\\ + 
-\\ +<code c++> 
-''​void StartDemoEndText(); ​'' ​  Starts the end images that are used in the demo of episode 1, images are named "demo_end01.jpg" ​increase the number for each image you want to use.\\ +void ResetGame();​ 
-\\ +</​code>​ 
-''​string GetActionKeyString(std::​string asAction); ​'' ​  Gets the key for a certain action, for example can be used in tutorials to create text that uses the user configured key for "Interact".\\+ 
 +Resets the game and returns to main menu\\ 
 +<code c++> 
 +void StartCredits();​ 
 +</​code>​ 
 + 
 +Starts the end credits screen, uses .lang Category ​MainMenu” and .lang Entry CreditsText” as well as music file penumbra_music_E1_E.ogg\\ 
 +<code c++> 
 +void StartDemoEndText();​ 
 +</​code>​ 
 + 
 +Starts the end images that are used in the demo of episode 1, images are named demo_end01.jpg” increase the number for each image you want to use.\\ 
 +<code c++> 
 +string GetActionKeyString(std::​string asAction); 
 +</​code>​ 
 + 
 +Gets the key for a certain action, for example can be used in tutorials to create text that uses the user configured key for Interact.\\
 asAction The name of the action\\ asAction The name of the action\\
-\\ +<code c++> 
-''​void AddMessageTrans(std::​string asTransCat, std::string asTransName); ​'' ​  Adds on on screen game message.\\+void AddMessageTrans(std::​string asTransCat, std::string asTransName);​ 
 +</​code>​ 
 + 
 +Adds on on screen game message.\\
 TransCat The translation category\\ TransCat The translation category\\
 TransName The translation name\\ TransName The translation name\\
-\\ +<code c++> 
-''​void AddMessage(std::​string asMessage); ​'' ​  Adds on on screen game message.\\+void AddMessage(std::​string asMessage); 
 +</​code>​ 
 + 
 +Adds on on screen game message.\\
 asMessage The text to be shown.\\ asMessage The text to be shown.\\
-\\ +<code c++> 
-''​void SetMessagesOverCallback(std::​string asFunction); ​'' ​  Sets a callback that is called (and removed) when the last message as been shown.\\ +void SetMessagesOverCallback(std::​string asFunction);​ 
-asFunction The function to be called, syntax ​"MyFunc()"\\ +</​code>​ 
-\\ + 
-''​AddSubTitleTrans(std::​string asTransCat,​std::​string asTransName,​ float afTime); ​'' ​  Adds a onscreen message at the bottom, that does not interrupt the gameplay.\\+Sets a callback that is called (and removed) when the last message as been shown.\\ 
 +asFunction The function to be called, syntax ​MyFunc()\\ 
 +<code c++> 
 +AddSubTitleTrans(std::​string asTransCat,​std::​string asTransName,​ float afTime); 
 +</​code>​ 
 + 
 +Adds a onscreen message at the bottom, that does not interrupt the gameplay.\\
 asTransCat The translation files category.\\ asTransCat The translation files category.\\
 asTransName The translation files name of the entry to be displayed.\\ asTransName The translation files name of the entry to be displayed.\\
 afTime the length of time it should be displayed.\\ afTime the length of time it should be displayed.\\
-\\ +<code c++> 
-''​AddSubTitle(std::​string asMessage, float afTime); ​'' ​  Adds a onscreen message at the bottom, that does not interrupt the gameplay.\\+AddSubTitle(std::​string asMessage, float afTime); 
 +</​code>​ 
 + 
 +Adds a onscreen message at the bottom, that does not interrupt the gameplay.\\
 asMessage the text you want to appear on screen.\\ asMessage the text you want to appear on screen.\\
 afTime the length of time it should be displayed.\\ afTime the length of time it should be displayed.\\
-\\ +<code c++> 
-''​SetMessageBlackText(bool abX) '' ​  Makes the onscreen text invert colours to be easier to read on bright backgrounds.\\+SetMessageBlackText(bool abX) 
 +</​code>​ 
 + 
 +Makes the onscreen text invert colours to be easier to read on bright backgrounds.\\
 abX enable or disabled the function.\\ abX enable or disabled the function.\\
-\\ +<code c++> 
-''​void AddRadioMessage( std::string asTransCat,​std::​string asTransName,​ std::string asSound); ​'' ​  Plays an audio file and displays subtitles for it.\\+void AddRadioMessage( ​   std::string asTransCat,​std::​string asTransName,​ 
 +                ​std::string asSound); 
 +</​code>​ 
 + 
 +Plays an audio file and displays subtitles for it.\\
 asTransCat the Category in the translations file\\ asTransCat the Category in the translations file\\
 asTransName the name of the entry in the translations file\\ asTransName the name of the entry in the translations file\\
 asSound the sound file to play for the text.\\ asSound the sound file to play for the text.\\
-\\ +<code c++> 
-''​void SetRadioOnEndCallback(std::​string asFunc); ​'' ​  Callback that activates when a Radio message is over\\+void SetRadioOnEndCallback(std::​string asFunc); 
 +</​code>​ 
 + 
 +Callback that activates when a Radio message is over\\
 asFunc The name of the callback to activate\\ asFunc The name of the callback to activate\\
-\\ +VARIOUS TEMP STRINGS 
-VARIOUS TEMP STRINGS\\ + 
-''​void AddToTempString(std::​string asString); //A piece of text to add to a string void AddToTempStringTrans(std::​string asCat,​std::​string asEntry); // A text from the translations file in Category from Entry void AddToTempStringAction(string);​ //Get user configured key for a certain action void AddMessageTempString();​ // Add the strings to one temporary string to print as a Message on screen void AddSubTitleTempString(float);​ //Add the strings to one temporary string to print as a Subtitle on screen //''​ //   Used to create a flow of text that uses various sources, as an example from episode 1: ''​AddToTempStringTrans(__GESHI_QUOT__00_01_boat_cabin__GESHI_QUOT____GESHI_QUOT__PadLock01__GESHI_QUOT__); AddToTempStringAction(__GESHI_QUOT__Inventory__GESHI_QUOT__); AddToTempStringTrans(__GESHI_QUOT__Misc__GESHI_QUOT____GESHI_QUOT__ParentDot__GESHI_QUOT__); AddMessageTempString(); ​'' ​  Wrote the message ​"Always travel with a padlock. And a key, preferably. Mine's in the inventory (TAB)." ​as a message.\\ +<code c++> 
-\\ +void AddToTempString(std::​string asString); //A piece of text to add to a string 
-''​static void __stdcall ChangeMap(std::​string asMapFile, std::string asMapPos, std::string asStartSound,​ std::string asStopSound,​ float afFadeOutTime,​ float afFadeInTime,​ std::string asLoadTextCat,​ std::string asLoadTextEntry); ​__''​__ ​  Changes the map.\\+void AddToTempStringTrans(std::​string asCat,​std::​string asEntry); //A text from the translations file in Category from Entry 
 +void AddToTempStringAction(string);​ //Get user configured key for a certain action 
 +void AddMessageTempString();​ //Add the strings to one temporary string to print as a Message on screen 
 +void AddSubTitleTempString(float);​ //Add the strings to one temporary string to print as a Subtitle on screen 
 +</code> 
 + 
 +Used to create a flow of text that uses various sources, as an example from episode 1: 
 + 
 +<code c++> 
 +AddToTempStringTrans("​00_01_boat_cabin"​"​PadLock01"​); 
 +AddToTempStringAction("​Inventory"​); 
 +AddToTempStringTrans("​Misc"​"​ParentDot"​); 
 +AddMessageTempString();​ 
 +</​code>​ 
 + 
 +Wrote the message ​Always travel with a padlock. And a key, preferably. Mine's in the inventory (TAB).” as a message.\\ 
 +<code c++> 
 +static void __stdcall ChangeMap(std::​string asMapFile, std::string asMapPos, 
 +                    ​std::string asStartSound,​ std::string asStopSound,​ 
 +                    ​float afFadeOutTime,​ float afFadeInTime,​ 
 +                    ​std::string asLoadTextCat,​ std::string asLoadTextEntry);​ 
 +</​code>​ 
 + 
 +Changes the map.\\
 asMapFile The file to be loaded\\ asMapFile The file to be loaded\\
 asMapPos The position on the map to be spawned on.\\ asMapPos The position on the map to be spawned on.\\
Line 424: Line 547:
 asLoadTextCat Category in .lang file to use\\ asLoadTextCat Category in .lang file to use\\
 asLoadTextEntry Entry in .lang file to use\\ asLoadTextEntry Entry in .lang file to use\\
-\\ +<code c++> 
-''​void AddNotebookTask(std::​string asName, std::string asTransCat, std::string asTransEntry); ​'' ​  Adds a new task note in the notebook\\+void AddNotebookTask(std::​string asName, std::string asTransCat, 
 +                                       std::string asTransEntry);​ 
 +</​code>​ 
 + 
 +Adds a new task note in the notebook\\
 asName Name of the task\\ asName Name of the task\\
 asTransCat Translation category of text.\\ asTransCat Translation category of text.\\
 asTransEntry Translation entry of text.\\ asTransEntry Translation entry of text.\\
-\\ +<code c++> 
-''​void AddNotebookTaskText(std::​string asName,​std::​string asText); ​'' ​  Adds a new task note in the notebook without using the lang file.\\+void AddNotebookTaskText(std::​string asName,​std::​string asText); 
 +</​code>​ 
 + 
 +Adds a new task note in the notebook without using the lang file.\\
 asName Name of the task\\ asName Name of the task\\
 asText The text for the task\\ asText The text for the task\\
-\\ +<code c++> 
-''​void AddNotebookNote(std::​string asNameCat, std::string asNameEntry,​ std::string asTextCat, std::string asTextEntry); ​'' ​  Adds a note to the note book\\+void AddNotebookNote(std::​string asNameCat, std::string asNameEntry,​ 
 +                     std::string asTextCat, std::string asTextEntry);​ 
 +</​code>​ 
 + 
 +Adds a note to the note book\\
 asNameCat\\ asNameCat\\
 asNameEntry Name of the note\\ asNameEntry Name of the note\\
 asTextCat\\ asTextCat\\
 asTextEntry The note text.\\ asTextEntry The note text.\\
-\\ +<code c++> 
-''​void RemoveNotebookTask(std::​string asName); ​'' ​  Removes a task note in the notebook.\\+void RemoveNotebookTask(std::​string asName); 
 +</​code>​ 
 + 
 +Removes a task note in the notebook.\\
 asName Name of the task\\ asName Name of the task\\
-\\ +<code c++> 
-''​void StartNumericalPanel(std::​string asName,int alCode1,int alCode2,int alCode3, int alCode4, float afDifficulty,​ std::string asCallback); ​'' ​  Starts the numerical panel\\+void StartNumericalPanel(std::​string asName,int alCode1,int alCode2,int alCode3, 
 +                       int  alCode4, float afDifficulty,​ std::string asCallback);​ 
 +</​code>​ 
 + 
 +Starts the numerical panel\\
 asName Name of the panel\\ asName Name of the panel\\
 alCode1 1st code digit.\\ alCode1 1st code digit.\\
Line 451: Line 592:
 afDifficulty How difficult it is to hack.\\ afDifficulty How difficult it is to hack.\\
 asCallback Called when the code as been entered. Syntax: **MyCallback(string asName, bool abCodeWasCorrect)** \\ asCallback Called when the code as been entered. Syntax: **MyCallback(string asName, bool abCodeWasCorrect)** \\
-\\ +<code c++> 
-''​void SetInventoryActive(bool abX); '' ​  Set if the inventory should be active.\\+void SetInventoryActive(bool abX); 
 +</​code>​ 
 + 
 +Set if the inventory should be active.\\
 abX If it is active or not.\\ abX If it is active or not.\\
-\\ +<code c++> 
-''​void FadeIn(float afTime); ​'' ​  Fades the screen to full color.\\+void FadeIn(float afTime); 
 +</​code>​ 
 + 
 +Fades the screen to full color.\\
 afTime Time the fade will take in seconds.\\ afTime Time the fade will take in seconds.\\
-\\ +<code c++> 
-''​void FadeOut(float afTime); ​'' ​  Fades the screen to black.\\+void FadeOut(float afTime); 
 +</​code>​ 
 + 
 +Fades the screen to black.\\
 afTime Time the fade will take in seconds.\\ afTime Time the fade will take in seconds.\\
-\\ +<code c++> 
-''​bool IsFading(); ​'' ​  Check if a fade is going on.\\ +bool IsFading(); 
-\\ +</​code>​ 
-''​void SetWideScreenActive(bool abActive); ​'' ​  Sets wide screen mode on or off.\\ + 
-\\ +Check if a fade is going on.\\ 
-''​void AutoSave(); ​'' ​  Save the game to the auto save.\\ +<code c++> 
-\\ +void SetWideScreenActive(bool abActive); 
-''​void ClearSavedMaps(); ​'' ​  Clears the "history" ​of the save, useful to do when you know the player will not be able to go back anymore. Makes the next save much smaller in size. It's a must to clear the save history a couple of times during the length of a game, in Penumbra: Overture we do it 5-7 times during the whole game.\\ +</​code>​ 
-\\ + 
-''​SetDepthOfFieldActive(bool abX, float afFadeTime); ​'' ​  Sets depth of field on/off\\+Sets wide screen mode on or off.\\ 
 +<code c++> 
 +void AutoSave(); 
 +</​code>​ 
 + 
 +Save the game to the auto save.\\ 
 +<code c++> 
 +void ClearSavedMaps();​ 
 +</​code>​ 
 + 
 +Clears the history” of the save, useful to do when you know the player will not be able to go back anymore. Makes the next save much smaller in size. It's a must to clear the save history a couple of times during the length of a game, in Penumbra: Overture we do it 5-7 times during the whole game.\\ 
 +<code c++> 
 +SetDepthOfFieldActive(bool abX, float afFadeTime);​ 
 +</​code>​ 
 + 
 +Sets depth of field on/off\\
 abX if true/​false\\ abX if true/​false\\
 afFadeTime how long for it to focus.\\ afFadeTime how long for it to focus.\\
-\\ +<code c++> 
-''​SetupDepthOfField(float afNearPlane,​ float afFocalPlane,​ float afFarPlane); ​'' ​  How the depth of field should appear\\+SetupDepthOfField(float afNearPlane,​ float afFocalPlane,​ float afFarPlane);​ 
 +</​code>​ 
 + 
 +How the depth of field should appear\\
 afNearPlane where the focus should begin\\ afNearPlane where the focus should begin\\
 afFocalPlane how large area that is in focus\\ afFocalPlane how large area that is in focus\\
 afFarPlane where the focus should end\\ afFarPlane where the focus should end\\
-\\ +<code c++> 
-''​FocusOnEntity(std::​string asEntity); ​'' ​  Set focus on a particular entity.\\+FocusOnEntity(std::​string asEntity); 
 +</​code>​ 
 + 
 +Set focus on a particular entity.\\
 asEntity name of the entity\\ asEntity name of the entity\\
-\\ +<code c++> 
-''​SetConstantFocusOnEntity(std::​string asEntity); ​'' ​  Set focus on a particular entity and keep focus on it if it moves or the player moves.\\+SetConstantFocusOnEntity(std::​string asEntity); 
 +</​code>​ 
 + 
 +Set focus on a particular entity and keep focus on it if it moves or the player moves.\\
 asEntity name of the entity\\ asEntity name of the entity\\
-\\ +<code c++> 
-''​void StartFlash(float afFadeIn, float afWhite, float afFadeOut); ​'' ​  Creates a white flash on screen.\\+void StartFlash(float afFadeIn, float afWhite, float afFadeOut); 
 +</​code>​ 
 + 
 +Creates a white flash on screen.\\
 afFadeIn The time the fade in takes.\\ afFadeIn The time the fade in takes.\\
 afWhite The time it stays white.\\ afWhite The time it stays white.\\
 afFadeOut The time the fade out takes.\\ afFadeOut The time the fade out takes.\\
-\\ +<code c++> 
-''​StartScreenShake(float afAmount, float afTime,​float afFadeInTime,​float afFadeOutTime); ​'' ​  Makes the screen shake.\\+StartScreenShake(float afAmount, float afTime,​float afFadeInTime,​float afFadeOutTime);​ 
 +</​code>​ 
 + 
 +Makes the screen shake.\\
 afAmount The ammount of shaking.\\ afAmount The ammount of shaking.\\
 afTime How long the shake should be.\\ afTime How long the shake should be.\\
 afFadeInTime How fast the shake should fade in.\\ afFadeInTime How fast the shake should fade in.\\
 afFadeOutTime How fast the shake should fade out.\\ afFadeOutTime How fast the shake should fade out.\\
-\\ +<code c++> 
-''​SetupSaveArea(std::​string asName,​std::​string asMessageCat,​std::​string asMessageEntry,​ std::string asSound); ​'' ​  Properties for an area to type "save", eg _ckgedit_____QUOT__area_save_gamename"​. asName the name of the area\\+SetupSaveArea(std::​string asName,​std::​string asMessageCat,​std::​string asMessageEntry,​ std::string asSound); 
 +</​code>​ 
 + 
 +Properties for an area to type save, eg “_area_save_gamename”. asName the name of the area\\
 asMessageCat The message category in lang file\\ asMessageCat The message category in lang file\\
 asMessageEntry The message entry in lang file\\ asMessageEntry The message entry in lang file\\
 asSound The sound to play during the save\\ asSound The sound to play during the save\\
 \\ \\
-\\ +==== Attacks ==== 
-==== Attacks ==== '' ​void CreateSplashDamage(std::​string asAreaName, float afRadius, float afMinDamage,​ float afMaxDamge, float afMinForce, float afMaxForce, float afMaxImpulse,​ int alStrength); ​'' ​  Creates a ball shaped splash damage at the center of an area.\\+ 
 +<code c++> 
 +void CreateSplashDamage(std::​string asAreaName, float afRadius, float afMinDamage,​ float afMaxDamge, 
 +                                             float afMinForce, float afMaxForce, float afMaxImpulse,​ int alStrength);​ 
 +</​code>​ 
 + 
 +Creates a ball shaped splash damage at the center of an area.\\
 asAreaName Name of the area.\\ asAreaName Name of the area.\\
 afRadius Radius of the slash damage in meters.\\ afRadius Radius of the slash damage in meters.\\
Line 510: Line 699:
 afMaxImpulse Impulse is ForceSize / Mass and this is the max value for that. This is useful to insure that samll objects to no gain very high speed.\\ afMaxImpulse Impulse is ForceSize / Mass and this is the max value for that. This is useful to insure that samll objects to no gain very high speed.\\
 alStrength The strength of the the damage.\\ alStrength The strength of the the damage.\\
-\\ +<code c++> 
-''​void SetupDamageArea( string asName, float afDamage, float afUpdatesPerSec,​ int alStrength, bool abDisableObjects,​ bool abDisableEnemies,​ string asDamageType,​ string asDamageSound); ​'' ​  Properties for an area of type "damage", eg _ckgedit_QUOT__area_damage_gamename"​. Will inflict damage on player and entites while in it.\\+void SetupDamageArea( string asName, float afDamage, 
 +             float afUpdatesPerSec,​ int alStrength, 
 +             bool abDisableObjects,​ bool abDisableEnemies,​ 
 +             string asDamageType,​ string asDamageSound);​ 
 +</​code>​ 
 + 
 +Properties for an area of type damage, eg “_area_damage_gamename”. Will inflict damage on player and entites while in it.\\
 asName The name of the area\\ asName The name of the area\\
 afDamage Damage to do for each update\\ afDamage Damage to do for each update\\
Line 518: Line 713:
 abDisableObjects If objects should be disabled on destruction\\ abDisableObjects If objects should be disabled on destruction\\
 abDisableEnemies If enemies should be disabled on destruction\\ abDisableEnemies If enemies should be disabled on destruction\\
-asDamageType What sort of damage graphics to use. "BloodSplash""Ice""Poison".\\+asDamageType What sort of damage graphics to use. BloodSplashIcePoison.\\
 asDamageSound What sound to play at each damage.\\ asDamageSound What sound to play at each damage.\\
-\\ +<code c++> 
-''​void DamageEntity(std::​string asName, float afDamage, int alStrength); ​'' ​  Gives damage to an entity\\+void DamageEntity(std::​string asName, float afDamage, int alStrength);​ 
 +</​code>​ 
 + 
 +Gives damage to an entity\\
 asName the name of the entity\\ asName the name of the entity\\
 afDamage the amount of damage to do\\ afDamage the amount of damage to do\\
 alStrength the strength of the damage\\ alStrength the strength of the damage\\
 \\ \\
-\\ +==== Game Timer ==== 
-==== Game Timer ==== ''​void CreateTimer(std::​string asName, float afTime, std::string asCallback, bool abGlobal); ​'' ​  Creates a new timer which calls a callback function when the time is out.\\ + 
-Syntax: **MyCallback(string asTimerName)**,​ the prefix ​"@" ​(ie "@Func()") shows that the function is in the global script\\+<code c++> 
 +void CreateTimer(std::​string asName, float afTime, std::string asCallback, bool abGlobal); 
 +</​code>​ 
 + 
 +Creates a new timer which calls a callback function when the time is out.\\ 
 +Syntax: **MyCallback(string asTimerName)**,​ the prefix ​@” (ie @Func()) shows that the function is in the global script\\
 asName Name of the timer\\ asName Name of the timer\\
 afTime The time til time out in seconds.\\ afTime The time til time out in seconds.\\
 asCallback The callback fucntion\\ asCallback The callback fucntion\\
 abGlobal If the timer is global. Global timers are not deleted at map change.\\ abGlobal If the timer is global. Global timers are not deleted at map change.\\
 +<code c++>
 +void DestroyTimer(std::​string asName);
 +</​code>​
 +<code c++>
 +void SetTimerPaused(std::​string asName, bool abPaused);
 +</​code>​
 +<code c++>
 +void SetTimerTime(std::​string asName, float afTime);
 +</​code>​
 +<code c++>
 +void AddTimerTime(std::​string asName, float afTime);
 +</​code>​
 +<code c++>
 +float GetTimerTime(std::​string asName);
 +</​code>​
 +
 \\ \\
-''​void DestroyTimer(std::​string asName); '' ​  ''​void SetTimerPaused(std::​string asName, bool abPaused); '' ​  ''​void SetTimerTime(std::​string asName, float afTime); '' ​  ''​void AddTimerTime(std::​string asName, float afTime); '' ​  ''​float GetTimerTime(std::​string asName); '' ​  \\ +==== Player ==== 
-\\ + 
-==== Player ==== ''​static void GivePlayerDamage(float afAmount, std::string asType); ​'' ​  Gives the player a hit + damage\\+<code c++> 
 +static void GivePlayerDamage(float afAmount, ​ std::string asType); 
 +</​code>​ 
 + 
 +Gives the player a hit + damage\\
 afAmount The amount of health taken.\\ afAmount The amount of health taken.\\
 asType what sort of damage effect\\ asType what sort of damage effect\\
-"BloodSplash"\\ +BloodSplash\\ 
-"Ice"\\ +Ice\\ 
-"Poison"\\ +Poison\\ 
-\\ +<code c++> 
-''​void SetPlayerHealth(float afHealth); ​'' ​  Sets the health of the player.\\+void SetPlayerHealth(float afHealth); 
 +</​code>​ 
 + 
 +Sets the health of the player.\\
 afHealth The amount the health should be set to.\\ afHealth The amount the health should be set to.\\
-\\ +<code c++> 
-''​float GetPlayerHealth(); ​'' ​  Gets the current health of the player.\\ +float GetPlayerHealth();​ 
-\\ +</​code>​ 
-''​void SetPlayerPose(std::​string asPose,bool abChangeDirectly); ​'' ​  Sets the pose of the player.\\ + 
-asPose The pose, can be "Stand" ​or "Crouch"\\+Gets the current health of the player.\\ 
 +<code c++> 
 +void SetPlayerPose(std::​string asPose,bool abChangeDirectly);​ 
 +</​code>​ 
 + 
 +Sets the pose of the player.\\ 
 +asPose The pose, can be Stand” or Crouch\\
 abChangeDirectly,​ if the pose should change instantly or in a movement\\ abChangeDirectly,​ if the pose should change instantly or in a movement\\
-\\ +<code c++> 
-''​void SetPlayerActive(bool abActive); ​'' ​  Sets if player can be moved or not.\\+void SetPlayerActive(bool abActive); 
 +</​code>​ 
 + 
 +Sets if player can be moved or not.\\
 abActive If the player is active or not.\\ abActive If the player is active or not.\\
-\\ +<code c++> 
-''​void StartPlayerLookAt(std::​string asEntityName,​ float afSpeedMul, float afMaxSpeed); ​'' ​  This turns the players head towards a specific entity.\\+void StartPlayerLookAt(std::​string asEntityName,​ float afSpeedMul, float afMaxSpeed);​ 
 +</​code>​ 
 + 
 +This turns the players head towards a specific entity.\\
 asEntityName The entity name\\ asEntityName The entity name\\
 afSpeedMul The speed of the head movement is determined by the angle length multiplied by this.\\ afSpeedMul The speed of the head movement is determined by the angle length multiplied by this.\\
 afMaxSpeed The maximum speed the head will turn.\\ afMaxSpeed The maximum speed the head will turn.\\
-\\ +<code c++> 
-''​void StopPlayerLookAt(); ​'' ​  Stops the look at motion.\\ +void StopPlayerLookAt();​ 
-\\ +</​code>​ 
-''​void StartPlayerFearFilter(float afStrength); ​'' ​  Starts a fear effect filter.\\+ 
 +Stops the look at motion.\\ 
 +<code c++> 
 +void StartPlayerFearFilter(float afStrength);​ 
 +</​code>​ 
 + 
 +Starts a fear effect filter.\\
 afStrength strength of the filter.\\ afStrength strength of the filter.\\
-\\ +<code c++> 
-''​SetFlashlightDisabled(bool abDisabled); ​'' ​  Disabled the flashlight.\\+SetFlashlightDisabled(bool abDisabled);​ 
 +</​code>​ 
 + 
 +Disabled the flashlight.\\
 abDisabled true/false for flashlight on/off.\\ abDisabled true/false for flashlight on/off.\\
-\\ +<code c++> 
-''​void StopPlayerFearFilter(); ​'' ​  Stops the fear filter.\\ +void StopPlayerFearFilter();​ 
-\\ +</​code>​ 
-''​void TeleportPlayerToArea(string asArea); ​'' ​  Teleports the player to an area, players feet is aligned to the center of the area.\\+ 
 +Stops the fear filter.\\ 
 +<code c++> 
 +void TeleportPlayerToArea(string asArea); 
 +</​code>​ 
 + 
 +Teleports the player to an area, players feet is aligned to the center of the area.\\
 asArea the name of the area to teleport to.\\ asArea the name of the area to teleport to.\\
 +<code c++>
 +bool GetPlayerHasGasMask();​
 +</​code>​
 +
 +Get if the player has gasmask or not.\\
 \\ \\
-''​bool GetPlayerHasGasMask();​ '' ​  Get if the player has gasmask or not.\\ +==== Inventory ==== 
-\\ + 
-\\ +<code c++> 
-==== Inventory ==== ''​void AddPickupCallback(std::​string asItem, std::string asFunction); ​'' ​  Add a callback that is called when the player picks up an item.\\+void AddPickupCallback(std::​string asItem, std::string asFunction);​ 
 +</​code>​ 
 + 
 +Add a callback that is called when the player picks up an item.\\
 The syntax for the callback function is:\\ The syntax for the callback function is:\\
-**void MyFunction(string asItem)**, the prefix ​"@" ​(ie "@Func()") shows that the function is in the global script\\+**void MyFunction(string asItem)**, the prefix ​@” (ie @Func()) shows that the function is in the global script\\
 asItem The name of the item.\\ asItem The name of the item.\\
 asFuntion The name of the function called.\\ asFuntion The name of the function called.\\
-\\ +<code c++> 
-''​void AddUseCallback(std::​string asItem, std::string asEntity, std::string asFunction); ​'' ​  Add a callback that is called when the player uses the item on en entity\\+void AddUseCallback(std::​string asItem, std::string asEntity, std::string asFunction);​ 
 +</​code>​ 
 + 
 +Add a callback that is called when the player uses the item on en entity\\
 The syntax for the callback function is:\\ The syntax for the callback function is:\\
-**void MyFunction(string asItem, string asEntity)**,​ the prefix ​"@" ​(ie "@Func()") shows that the function is in the global script.\\+**void MyFunction(string asItem, string asEntity)**,​ the prefix ​@” (ie @Func()) shows that the function is in the global script.\\
 asItem The name of the item.\\ asItem The name of the item.\\
 asEntity The name of the entity.\\ asEntity The name of the entity.\\
 asFuntion The name of the function called.\\ asFuntion The name of the function called.\\
-\\ +<code c++> 
-''​void AddCombineCallback(std::​string asItem1,​std::​string asItem2, std::string asFunction); ​'' ​  Add a callback that is called when the player combines two items\\+void AddCombineCallback(std::​string asItem1,​std::​string asItem2, std::string asFunction);​ 
 +</​code>​ 
 + 
 +Add a callback that is called when the player combines two items\\
 The syntax for the callback function is (alSlotIndex = slot at which combination occurd):\\ The syntax for the callback function is (alSlotIndex = slot at which combination occurd):\\
-**void MyFunction(string asItem1, string asItem2, int alSlotIndex)**,​ the prefix ​"@" ​(ie "@Func()") shows that the function is in the global script.\\+**void MyFunction(string asItem1, string asItem2, int alSlotIndex)**,​ the prefix ​@” (ie @Func()) shows that the function is in the global script.\\
 asItem1 The name of the first item.\\ asItem1 The name of the first item.\\
 asItem2 The name of the second item.\\ asItem2 The name of the second item.\\
 asFuntion The name of the function called.\\ asFuntion The name of the function called.\\
-\\ +<code c++> 
-''​void RemovePickupCallback(std::​string asFunction); ​'' ​  ''​void RemoveUseCallback(std::​string asFunction); ​'' ​  ''​void RemoveCombineCallback(std::​string asFunction); ​'' ​  Removes the callback.\\+void RemovePickupCallback(std::​string asFunction);​ 
 +</​code>​ 
 +<code c++> 
 +void RemoveUseCallback(std::​string asFunction);​ 
 +</​code>​ 
 +<code c++> 
 +void RemoveCombineCallback(std::​string asFunction);​ 
 +</​code>​ 
 + 
 +Removes the callback.\\
 asFuntion The name of the function used by the callback.\\ asFuntion The name of the function used by the callback.\\
-\\ +<code c++> 
-''​bool HasItem(std::​string asName); ​'' ​  Checks if the player has a certain item.\\+bool HasItem(std::​string asName); 
 +</​code>​ 
 + 
 +Checks if the player has a certain item.\\
 asName The name of the item.\\ asName The name of the item.\\
-\\ +<code c++> 
-''​void RemoveItem(std::​string asName); ​'' ​  Removes an item from the inventory.\\+void RemoveItem(std::​string asName); 
 +</​code>​ 
 + 
 +Removes an item from the inventory.\\
 asName The name of the item.\\ asName The name of the item.\\
-\\ +<code c++> 
-''​void GiveItem(std::​string asName,​std::​string asEntityFile,​ int alSlotIndex); ​'' ​  Give an item to the player.\\+void GiveItem(std::​string asName,​std::​string asEntityFile,​ int alSlotIndex);​ 
 +</​code>​ 
 + 
 +Give an item to the player.\\
 asName The name of the entity\\ asName The name of the entity\\
 asEntityFile The file to load it from.\\ asEntityFile The file to load it from.\\
 lSlotIndex The index of the slot to put the item in. -1 = first empty slot\\ lSlotIndex The index of the slot to put the item in. -1 = first empty slot\\
-\\ +<code c++> 
-''​SetInventoryMessage(std::​string asMessage); ​'' ​  Displays a message in the inventory.\\+SetInventoryMessage(std::​string asMessage); 
 +</​code>​ 
 + 
 +Displays a message in the inventory.\\
 asMessage The message to write in the inventory.\\ asMessage The message to write in the inventory.\\
-\\ +<code c++> 
-''​SetInventoryMessageTrans(std::​string asTransCat, std::string asTransName); ​'' ​  Displays a message from the lang file in the inventory.\\+SetInventoryMessageTrans(std::​string asTransCat, std::string asTransName);​ 
 +</​code>​ 
 + 
 +Displays a message from the lang file in the inventory.\\
 asTransCat The name of the category in the lang file.\\ asTransCat The name of the category in the lang file.\\
 asTransName The name of the entry in the lang file.\\ asTransName The name of the entry in the lang file.\\
 \\ \\
-\\ +==== Map / Level Properties ==== 
-==== Map / Level Properties ==== ''​SetAmbientColor(float r, float g, float b); '' ​  Sets the ambient color of the level, this should always be part of a level as it gives it a bit of light otherwise shadows will be pitch black.\\ + 
-\\ +<code c++> 
-''​SetSectorProperties(string asSector, float afAmbR,​float afAmbG, float afAmbB); ​'' ​  Sets the ambient color of a sector(individual groups of _room.\\+SetAmbientColor(float r, float g, float b); 
 +</​code>​ 
 + 
 +Sets the ambient color of the level, this should always be part of a level as it gives it a bit of light otherwise shadows will be pitch black.\\ 
 +<code c++> 
 +SetSectorProperties(string asSector, float afAmbR,​float afAmbG, float afAmbB); 
 +</​code>​ 
 + 
 +Sets the ambient color of a sector(individual groups of _room.\\
 asSector the name of the sector.\\ asSector the name of the sector.\\
 afAmbR red 0-1\\ afAmbR red 0-1\\
Line 626: Line 925:
 afAmbB blue 0-1\\ afAmbB blue 0-1\\
 The values are multiplied with the SetAmbientColor(f,​f,​f);​ values. This script function will most likely be expanded to include specific ambient sounds etc for each sector.\\ The values are multiplied with the SetAmbientColor(f,​f,​f);​ values. This script function will most likely be expanded to include specific ambient sounds etc for each sector.\\
-\\ +<code c++> 
-''​SetSkybox(string asTexture); ​'' ​  Sets a texture as a sky box.\\ +SetSkybox(string asTexture); 
-\\ +</​code>​ 
-''​SetSkyboxActive(bool); ​'' ​  Set the skybox active with true/​False\\ + 
-\\ +Sets a texture as a sky box.\\ 
-''​SetSkyboxColor(float R, float G, float B, float A); '' ​  What color should the Skybox have\\+<code c++> 
 +SetSkyboxActive(bool);​ 
 +</​code>​ 
 + 
 +Set the skybox active with true/​False\\ 
 +<code c++> 
 +SetSkyboxColor(float R, float G, float B, float A); 
 +</​code>​ 
 + 
 +What color should the Skybox have\\
 R, G, B and Alpha\\ R, G, B and Alpha\\
-\\ +<code c++> 
-''​SetFogActive(bool abX); '' ​  If a level should have fog or not.\\+SetFogActive(bool abX); 
 +</​code>​ 
 + 
 +If a level should have fog or not.\\
 bool abX, false/​true\\ bool abX, false/​true\\
-\\ +<code c++> 
-''​SetFogProperties(float afStart, float afEnd, float r,float g, float b); '' ​  The properties of the fog.\\+SetFogProperties(float afStart, float afEnd, float r,float g, float b); 
 +</​code>​ 
 + 
 +The properties of the fog.\\
 afStart how many meters from the camera should the fog begin.\\ afStart how many meters from the camera should the fog begin.\\
 afEnd how many meters from the camera should the fog reach full thickness.\\ afEnd how many meters from the camera should the fog reach full thickness.\\
 float r,float g, float b the color of the fog in RGB.\\ float r,float g, float b the color of the fog in RGB.\\
-\\ +<code c++> 
-''​SetFogCulling(bool); ​'' ​  Should the game stop rendering the level when the fog is full thickness\\+SetFogCulling(bool);​ 
 +</​code>​ 
 + 
 +Should the game stop rendering the level when the fog is full thickness\\
 true/​false\\ true/​false\\
-\\ +<code c++> 
-''​SetWaveGravityActive(bool abX); '' ​  Enable a dynamic gravity that mimics waves, ture/​false\\ +SetWaveGravityActive(bool abX); 
-\\ +</​code>​ 
-''​SetupWaveGravity(float afMaxAngle, float afSwingLength,​ float afGravitySize,​ std::string asAxis); ​'' ​  Set the properties for the dynamic wave gravity\\+ 
 +Enable a dynamic gravity that mimics waves, ture/​false\\ 
 +<code c++> 
 +SetupWaveGravity(float afMaxAngle, float afSwingLength,​ float afGravitySize,​ std::string asAxis); 
 +</​code>​ 
 + 
 +Set the properties for the dynamic wave gravity\\
 afMaxAngle The maximum angel of the wave\\ afMaxAngle The maximum angel of the wave\\
 afSwingLength The length for going from top to bottom\\ afSwingLength The length for going from top to bottom\\
 afGravitySize The strength of the gravity\\ afGravitySize The strength of the gravity\\
-asAxis Along which axis should the wave "move"\\ +asAxis Along which axis should the wave move\\ 
-\\ +<code c++> 
-''​SetMapGameName(std::​string asName); ​'' ​  Set the name of the current map, is used for naming the saved games.\\+SetMapGameName(std::​string asName); 
 +</​code>​ 
 + 
 +Set the name of the current map, is used for naming the saved games.\\
 asName the name of the map\\ asName the name of the map\\
-\\ +<code c++> 
-''​SetMapGameNameTrans(std::​string asTransCat,​std::​string asTransEntry); ​'' ​  Set the name of the current map using the lang file, is used for naming the saved games.\\+SetMapGameNameTrans(std::​string asTransCat,​std::​string asTransEntry);​ 
 +</​code>​ 
 + 
 +Set the name of the current map using the lang file, is used for naming the saved games.\\
 asTransCat the category in the lang file\\ asTransCat the category in the lang file\\
 asTransEntry the entry in the lang file with the name of the map\\ asTransEntry the entry in the lang file with the name of the map\\
 \\ \\
-\\ +==== Game Entity Properties ==== 
-==== Game Entity Properties ==== ''​void SetGameEntityActive(std::​string asName, bool abX); '' ​  Set if a game entity is active.\\+ 
 +<code c++> 
 +void SetGameEntityActive(std::​string asName, bool abX); 
 +</​code>​ 
 + 
 +Set if a game entity is active.\\
 asName The name of the game entity\\ asName The name of the game entity\\
 abX If active or not.\\ abX If active or not.\\
-\\ +<code c++> 
-''​bool GetGameEntityActive(std::​string asName); ​'' ​  Get if a game entity is active.\\+bool GetGameEntityActive(std::​string asName); 
 +</​code>​ 
 + 
 +Get if a game entity is active.\\
 asName The name of the game entity\\ asName The name of the game entity\\
 return if active or not.\\ return if active or not.\\
-\\ +<code c++> 
-''​void ReplaceEntity(std::​string asName, std::string asBodyName, std::string asNewName, std::string asNewFile); ​'' ​  Replaces an ingame entity with another entity, the new entity will appear at the center of the old entities location\\+void ReplaceEntity(std::​string asName, std::string asBodyName, std::string asNewName, std::string asNewFile); 
 +</​code>​ 
 + 
 +Replaces an ingame entity with another entity, the new entity will appear at the center of the old entities location\\
 asName Name of the ingame entity\\ asName Name of the ingame entity\\
-asBodyName The name of the body in the old entity that will be used as a center for the new entity, leave as _ckgedit_QUOT__ckgedit> ​if entity only has 1 body\\+asBodyName The name of the body in the old entity that will be used as a center for the new entity, leave as “” ​if entity only has 1 body\\
 asNewName The ingame name given to the new entity\\ asNewName The ingame name given to the new entity\\
 asNewFile The .ent file to be used for the new entity\\ asNewFile The .ent file to be used for the new entity\\
-\\ +<code c++> 
-''​void CreateGameEntityVar(std::​string asEntName, std::string asVarName, int alVal); ​'' ​  Create a variable for a game entity. Nothing happens if it is already created.\\+void CreateGameEntityVar(std::​string asEntName, std::string asVarName, int alVal); 
 +</​code>​ 
 + 
 +Create a variable for a game entity. Nothing happens if it is already created.\\
 asEntName The name of the game entity\\ asEntName The name of the game entity\\
 asVarName The name of variable\\ asVarName The name of variable\\
 alVal value to set the variable to.\\ alVal value to set the variable to.\\
-\\ +<code c++> 
-''​void SetGameEntityVar(std::​string asEntName, std::string asVarName, int alVal); ​'' ​  Change the value of a entity variable to a new value\\+void SetGameEntityVar(std::​string asEntName, std::string asVarName, int alVal); 
 +</​code>​ 
 + 
 +Change the value of a entity variable to a new value\\
 asEntName The name of the game entity\\ asEntName The name of the game entity\\
 asVarName The name of variable\\ asVarName The name of variable\\
 alVal value to set the variable to.\\ alVal value to set the variable to.\\
-\\ +<code c++> 
-''​void AddGameEntityVar(std::​string asEntName, std::string asVarName, int alVal); ​'' ​  Change the value of an entity variable by adding to the previous value\\+void AddGameEntityVar(std::​string asEntName, std::string asVarName, int alVal); 
 +</​code>​ 
 + 
 +Change the value of an entity variable by adding to the previous value\\
 asEntName The name of the game entity\\ asEntName The name of the game entity\\
 asVarName The name of variable\\ asVarName The name of variable\\
 alVal value to add to the existing variable.\\ alVal value to add to the existing variable.\\
-\\ +<code c++> 
-''​int GetGameEntityVar(std::​string asEntName, std::string asVarName); ​'' ​  Get the value of a variable for a game entity.\\+int GetGameEntityVar(std::​string asEntName, std::string asVarName); 
 +</​code>​ 
 + 
 +Get the value of a variable for a game entity.\\
 asEntName The name of the game entity\\ asEntName The name of the game entity\\
 asVarName The name of variable\\ asVarName The name of variable\\
 alVal value to set the variable to.\\ alVal value to set the variable to.\\
-\\ +<code c++> 
-''​void SetGameEntityMaxExamineDist(std::​string asName,​float afDist); ​'' ​  Set the maximum distance at which a game entity can be examined.\\+void SetGameEntityMaxExamineDist(std::​string asName,​float afDist); 
 +</​code>​ 
 + 
 +Set the maximum distance at which a game entity can be examined.\\
 asName The name of the game entity\\ asName The name of the game entity\\
 afDist The distance in meters\\ afDist The distance in meters\\
-\\ +<code c++> 
-''​void SetGameEntityMaxInteractDist(std::​string asName,​float afDist); ​'' ​  Set the maximum distance at which a game entity can be interacted with.\\+void SetGameEntityMaxInteractDist(std::​string asName,​float afDist); 
 +</​code>​ 
 + 
 +Set the maximum distance at which a game entity can be interacted with.\\
 asName The name of the game entity\\ asName The name of the game entity\\
 afDist The distance in meters\\ afDist The distance in meters\\
-\\ +<code c++> 
-''​void SetGameEntityDescriptionTrans(std::​string asName,​std::​string asTransCat, std::string asTransName); ​'' ​  Set a description on a game entity.\\+void SetGameEntityDescriptionTrans(std::​string asName,​std::​string asTransCat, std::string asTransName);​ 
 +</​code>​ 
 + 
 +Set a description on a game entity.\\
 asName The name of the game entity\\ asName The name of the game entity\\
 asTransCat The translation category\\ asTransCat The translation category\\
 asTransName The translation name\\ asTransName The translation name\\
-\\ +<code c++> 
-''​SetGameEntityDescriptionOnceTrans(std::​string asName,​std::​string asTransCat,​std::​string asTransName); ​'' ​  Set a description on a game entity BUT display the eye only 1 time, after that the you can still examine but the eye wont show unless in Interact mode.\\+SetGameEntityDescriptionOnceTrans(std::​string asName,​std::​string asTransCat,​std::​string asTransName);​ 
 +</​code>​ 
 + 
 +Set a description on a game entity BUT display the eye only 1 time, after that the you can still examine but the eye wont show unless in Interact mode.\\
 asName The name of the game entity\\ asName The name of the game entity\\
 asTransCat The translation category\\ asTransCat The translation category\\
 asTransName The translation name\\ asTransName The translation name\\
-\\ +<code c++> 
-''​void SetGameEntityDescription(std::​string asName, std::string asMessage); ​'' ​  Set a description on a game entity.\\+void SetGameEntityDescription(std::​string asName, std::string asMessage); 
 +</​code>​ 
 + 
 +Set a description on a game entity.\\
 asName The name of the game entity\\ asName The name of the game entity\\
 asMessage The message\\ asMessage The message\\
-\\ +<code c++> 
-''​void SetGameEntityGameNameTrans(std::​string asName, std::string asTransCat,​std::​string asTransName); ​'' ​  Set a game name on a game entity.\\+void SetGameEntityGameNameTrans(std::​string asName, std::string asTransCat,​std::​string asTransName);​ 
 +</​code>​ 
 + 
 +Set a game name on a game entity.\\
 asName The name of the game entity\\ asName The name of the game entity\\
 asTransCat The translation category\\ asTransCat The translation category\\
 asTransName The translation name\\ asTransName The translation name\\
-\\ +<code c++> 
-''​void SetDoorState(std::​string asName,​std::​string asState); ​'' ​  Sets the state of a door with animation. This entity was only used in early test builds of HPL.\\+void SetDoorState(std::​string asName,​std::​string asState); 
 +</​code>​ 
 + 
 +Sets the state of a door with animation. This entity was only used in early test builds of HPL.\\
 asName The name of the game entity\\ asName The name of the game entity\\
-asState The state to set, thís can be "Open","Closed""Opening" ​or "Closing".\\ +asState The state to set, thís can be Open,ClosedOpening” or Closing.\\ 
-\\ +<code c++> 
-''​SetDoorLocked(std::​string asDoor, bool abLocked); ​'' ​  Sets a door locked or unlocked, only works with SwingDoor entities(set in the .ent file)\\+SetDoorLocked(std::​string asDoor, bool abLocked); 
 +</​code>​ 
 + 
 +Sets a door locked or unlocked, only works with SwingDoor entities(set in the .ent file)\\
 asDoor the name of the entity.\\ asDoor the name of the entity.\\
 abLocked true or false if locked or not.\\ abLocked true or false if locked or not.\\
-\\ +<code c++> 
-''​SetDoorLockedProperties(std::​string asDoor, std::string asMessCat,​std::​string asMessEntry,​ std::string asSound, bool RepeatLockedMessage); ​'' ​  Gives properties to a locked door, how it should sound what message to show etc. Only works with SwingDoor entities(set in the .ent file)\\+SetDoorLockedProperties(std::​string asDoor, 
 +                ​std::string asMessCat,​std::​string asMessEntry,​ 
 +                ​std::string asSound, 
 +                ​bool RepeatLockedMessage);​ 
 +</​code>​ 
 + 
 +Gives properties to a locked door, how it should sound what message to show etc. Only works with SwingDoor entities(set in the .ent file)\\
 asDoor the name of the entity.\\ asDoor the name of the entity.\\
 asMessCat the name of the category in the translations file.\\ asMessCat the name of the category in the translations file.\\
Line 736: Line 1118:
 asSound sound to play for the locked door when player interacts.\\ asSound sound to play for the locked door when player interacts.\\
 RepeatLockedMessage true or false if the event should be every time or only the first time.\\ RepeatLockedMessage true or false if the event should be every time or only the first time.\\
-\\ +<code c++> 
-''​void SetObjectInteractMode(std::​string asName,​std::​string asMode); ​'' ​  Sets the interact mode of an game object.\\+void SetObjectInteractMode(std::​string asName,​std::​string asMode); 
 +</​code>​ 
 + 
 +Sets the interact mode of an game object.\\
 asName The name of the game object\\ asName The name of the game object\\
-asState The mode to set, valid modes are "Static""Grab""Move" ​and "Push".\\ +asState The mode to set, valid modes are StaticGrabMove” and Push.\\ 
-\\ +<code c++> 
-''​static void __stdcall SetupLink(std::​string asName, std::string asMapFile, std::string asMapPos, std::string asStartSound,​ std::string asStopSound,​ float afFadeOutTime,​ float afFadeInTime); ​__''​__ ​  Sets up the properties for a link.\\+static void __stdcall SetupLink(std::​string asName, std::string asMapFile, std::string asMapPos, 
 +                                              ​std::string asStartSound,​ std::string asStopSound,​ 
 +                                                        ​float afFadeOutTime,​ float afFadeInTime);​ 
 +</​code>​ 
 + 
 +Sets up the properties for a link.\\
 asName The name of the link\\ asName The name of the link\\
 asMapFile The file to be loaded\\ asMapFile The file to be loaded\\
Line 749: Line 1139:
 afFadeOutTime Time in seconds it takes for the fade out.\\ afFadeOutTime Time in seconds it takes for the fade out.\\
 afFadeInTime Time in seconds it takes for the fade in.\\ afFadeInTime Time in seconds it takes for the fade in.\\
-\\ +<code c++> 
-''​static void ''​ __''​stdcall ​SetupLinkLoadText(string asName, string asMapFile, string asMapPos, string asStartSound,​ string asStopSound,​ float afFadeOutTime,​ float afFadeInTime,​ string asTextCat, string asTextEntry); ​'' ​  Sets up the properties for a link and displays a screen with text/​picture while loading.\\+static void __stdcall ​SetupLinkLoadText(string asName, 
 +            ​string asMapFile, string asMapPos, 
 +            ​string asStartSound,​ string asStopSound,​ 
 +            ​float afFadeOutTime,​ float afFadeInTime,​ 
 +            ​string asTextCat, string asTextEntry);​ 
 +</​code>​ 
 + 
 +Sets up the properties for a link and displays a screen with text/​picture while loading.\\
 asName The name of the link\\ asName The name of the link\\
 asMapFile The file to be loaded\\ asMapFile The file to be loaded\\
Line 760: Line 1157:
 asTextCat The text category in translations file .lang\\ asTextCat The text category in translations file .lang\\
 asTextEntry The text entry in translations file .lang\\ asTextEntry The text entry in translations file .lang\\
-\\ +<code c++> 
-''​void SetupLinkLockedProp(std::​string asName,​std::​string asLockedSound,​ std::string asLockedDescCat,​std::​string asLockedDescEntry); ​'' ​  Properties for an area of type "link", eg _ckgedit_QUOT__area_link_gamename"​, to be used if the link is "locked".\\+void SetupLinkLockedProp(std::​string asName,​std::​string asLockedSound,​ 
 +             std::string asLockedDescCat,​std::​string asLockedDescEntry);​ 
 +</​code>​ 
 + 
 +Properties for an area of type link, eg “_area_link_gamename”, to be used if the link is locked.\\
 asName The name of the link\\ asName The name of the link\\
-asLockedSound The "locked sound" ​to play\\+asLockedSound The locked sound” to play\\
 asLockedDescCat In what category the text to use is in the .lang file.\\ asLockedDescCat In what category the text to use is in the .lang file.\\
 asLockedDescEntry In what entry the text is found in the .lang file.\\ asLockedDescEntry In what entry the text is found in the .lang file.\\
-\\ +<code c++> 
-''​void SetLinkLocked(std::​string asName, bool abLocked); ​'' ​  Set an area of type "link" ​as locked or unlocked.\\+void SetLinkLocked(std::​string asName, bool abLocked); 
 +</​code>​ 
 + 
 +Set an area of type link” as locked or unlocked.\\
 asName The name of the link\\ asName The name of the link\\
 abLocked True/false for locked or not.\\ abLocked True/false for locked or not.\\
-\\ +<code c++> 
-''​void SetAreaCustomIcon(std::​string asName, std::string asIcon); ​'' ​  Makes the area show a custom icon on player focus.\\+void SetAreaCustomIcon(std::​string asName, std::string asIcon); 
 +</​code>​ 
 + 
 +Makes the area show a custom icon on player focus.\\
 asName The name of the area\\ asName The name of the area\\
-asIcon The icon, can be: "Inactive""Active""Invalid""Grab""Examine",, "PickUp""Pointer""Item""DoorLink" ​or "None".\\ +asIcon The icon, can be: InactiveActiveInvalidGrabExamine,, PickUpPointerItemDoorLink” or None.\\ 
-\\ +<code c++> 
-''​void AddEnemyPatrolNode(std::​string asEnemy,​std::​string asNode,​float afTime,​std::​string asAnimation); ​'' ​  Adds node that the enemy will have on his patrol path.\\+void AddEnemyPatrolNode(std::​string asEnemy,​std::​string asNode,​float afTime,​std::​string asAnimation);​ 
 +</​code>​ 
 + 
 +Adds node that the enemy will have on his patrol path.\\
 asEnemy Name of the enemy\\ asEnemy Name of the enemy\\
 asNode The Node to walk to.\\ asNode The Node to walk to.\\
 afTime The time to stay at the node when reached.\\ afTime The time to stay at the node when reached.\\
-asAnimation The animation to be played when at the node. _ckgedit_QUOT__ckgedit> ​= idle.\\ +asAnimation The animation to be played when at the node. “” ​= idle.\\ 
-\\ +<code c++> 
-''​void ClearEnemyPatrolNodes(std::​string asEnemy); ​'' ​  Clears all the patrol nodes for the enemy\\+void ClearEnemyPatrolNodes(std::​string asEnemy); 
 +</​code>​ 
 + 
 +Clears all the patrol nodes for the enemy\\
 asEnemy The Name of the enemy.\\ asEnemy The Name of the enemy.\\
-\\ +<code c++> 
-''​void SetEntityHealth(std::​string asName, float afHealth); ​'' ​  Sets the health of an entity\\+void SetEntityHealth(std::​string asName, float afHealth); 
 +</​code>​ 
 + 
 +Sets the health of an entity\\
 asName Name of the entity\\ asName Name of the entity\\
 afHealth the amount to set the health to.\\ afHealth the amount to set the health to.\\
-\\ +<code c++> 
-''​float GetEnemyHealth(std::​string asEnemy); ​'' ​  Gets the health of an enemy\\+float GetEnemyHealth(std::​string asEnemy); 
 +</​code>​ 
 + 
 +Gets the health of an enemy\\
 asEnemyName Name of the enemy\\ asEnemyName Name of the enemy\\
 return the health.\\ return the health.\\
-\\ +<code c++> 
-''​void ShowEnemyPlayer(std::​string asEnemy); ​'' ​  Show the enemy the position of the player and sets the enemy into hunt mode.\\+void ShowEnemyPlayer(std::​string asEnemy); 
 +</​code>​ 
 + 
 +Show the enemy the position of the player and sets the enemy into hunt mode.\\
 asEnemy The name of the Enemy.\\ asEnemy The name of the Enemy.\\
-\\ +<code c++> 
-''​void SetEnemyUseTriggers(std::​string asEnemy, bool abUseTriggers); ​'' ​  If an enemy should use triggers, for example if an enemy should react to sounds.\\+void SetEnemyUseTriggers(std::​string asEnemy, bool abUseTriggers);​ 
 +</​code>​ 
 + 
 +If an enemy should use triggers, for example if an enemy should react to sounds.\\
 asEnemy The name of the Enemy.\\ asEnemy The name of the Enemy.\\
 abUseTriggers use triggers or not.\\ abUseTriggers use triggers or not.\\
-\\ +<code c++> 
-''​void SetEnemyAttackCallback(std::​string asEnemy,​std::​string asFunction); ​'' ​  Activates a callback when an enemy attacks the player.\\+void SetEnemyAttackCallback(std::​string asEnemy,​std::​string asFunction);​ 
 +</​code>​ 
 + 
 +Activates a callback when an enemy attacks the player.\\
 asEnemy The name of the Enemy.\\ asEnemy The name of the Enemy.\\
 asFunction The name of the callback to activate.\\ asFunction The name of the callback to activate.\\
-\\ +<code c++> 
-''​SetLampLit(std::​string asName,bool abLit, bool abFade); ​'' ​  Sets a Lamp entity light on/off, requires the entity file to be a Type="Lamp".\\+SetLampLit(std::​string asName,bool abLit, bool abFade); 
 +</​code>​ 
 + 
 +Sets a Lamp entity light on/off, requires the entity file to be a Type=Lamp.\\
 asName The name of the lamp entity.\\ asName The name of the lamp entity.\\
 abLit if it should be lit or not.\\ abLit if it should be lit or not.\\
 abFade if it should fade on/off, properties are set in the entity file.\\ abFade if it should fade on/off, properties are set in the entity file.\\
-\\ +<code c++> 
-''​void SetLampFlicker(std::​string asName,bool abFlicker); ​'' ​  Sets a Lamp entity lights flicker, requires the entity file to be a Type="Lamp".\\+void SetLampFlicker(std::​string asName,bool abFlicker); 
 +</​code>​ 
 + 
 +Sets a Lamp entity lights flicker, requires the entity file to be a Type=Lamp.\\
 asName The name of the lamp entity.\\ asName The name of the lamp entity.\\
 abFlicker starts/​stops the flicker.\\ abFlicker starts/​stops the flicker.\\
 Flicker properties are set in the entity file.\\ Flicker properties are set in the entity file.\\
-\\ +<code c++> 
-''​SetupStickArea(std::​string asArea, bool abCanDeatch,​ bool abMoveBody, bool abRotateBody,​ bool abCheckCenterInArea,​ float afPoseTime, std::string asAttachSound,​ std::string asDetachSound,​ std::string asAttachPS, std::string asDetachPS, std::string asAttachFunc,​ std::string asDetachFunc); ​'' ​  Give properties to an area of type "stick". Used to make an object attach itself to another etc.\\+SetupStickArea(std::​string asArea, bool abCanDeatch,​ 
 +            ​bool abMoveBody, bool abRotateBody,​ 
 +            ​bool abCheckCenterInArea,​ float afPoseTime, 
 +            ​std::string asAttachSound,​ std::string asDetachSound,​ 
 +            ​std::string asAttachPS, std::string asDetachPS, 
 +            ​std::string asAttachFunc,​ std::string asDetachFunc);​ 
 +</​code>​ 
 + 
 +Give properties to an area of type stick. Used to make an object attach itself to another etc.\\
 asArea The name of the stick area\\ asArea The name of the stick area\\
 abCanDeatch if the area will allow to detach and attached object\\ abCanDeatch if the area will allow to detach and attached object\\
Line 826: Line 1268:
 asAttachFunc name of attach callback\\ asAttachFunc name of attach callback\\
 asDetachFunc name of detach callback\\ asDetachFunc name of detach callback\\
 +<code c++>
 +void AllowAttachment();​
 +</​code>​
 +
 +Executes the attachment settings in SetupStickArea.\\
 \\ \\
-''​void AllowAttachment();​ '' ​  ​Executes the attachment settings in SetupStickArea.// \\ +//Example of an attach callback// 
-\\ +<code c++> 
-Example of an attach callback// ​'' ​void MyAttach(string asArea, string asBody) { if(StringContains(asBody, ​__GESHI_QUOT__entityname__GESHI_QUOT__)) { AllowAttachment();​ } } '' ​  \\ +void MyAttach(string asArea, string asBody) 
-''​DetachBodyFromStickArea(string asArea); ​'' ​  Detach a body from a stick area.\\+{ 
 +    ​if(StringContains(asBody, ​"​entityname"​)) 
 +    ​{ 
 +        ​AllowAttachment();​ 
 +    ​} 
 +
 +</​code>​ 
 + 
 +<code c++> 
 +DetachBodyFromStickArea(string asArea); 
 +</​code>​ 
 + 
 +Detach a body from a stick area.\\
 asArea Name of the area.\\ asArea Name of the area.\\
-\\ +<code c++> 
-''​SetupLadder(string asName,​string asAttachSound,​ string asClimbUpSound,​ string asClimbDownSound); ​'' ​  Sets properties for an area of type "ladder". eg _ckgedit_QUOT__area_ladder_gamename"​\\+SetupLadder(string asName,​string asAttachSound,​ string asClimbUpSound,​ string asClimbDownSound);​ 
 +</​code>​ 
 + 
 +Sets properties for an area of type ladder. eg “_area_ladder_gamename”\\
 asName Name of the area.\\ asName Name of the area.\\
 asAttachSound Sound to be played as player grabs onto ladder\\ asAttachSound Sound to be played as player grabs onto ladder\\
 asClimbUpSound Sound to be played as player climbs up.\\ asClimbUpSound Sound to be played as player climbs up.\\
 asClimbDownSound Sound to be played as player climbs down.\\ asClimbDownSound Sound to be played as player climbs down.\\
-\\ +<code c++> 
-''​void ChangeEntityAnimation(string asName,​string asAnimation,​bool abLoop); ​'' ​  Change the animation of an entity.\\+void ChangeEntityAnimation(string asName,​string asAnimation,​bool abLoop); 
 +</​code>​ 
 + 
 +Change the animation of an entity.\\
 asName Name of the entity.\\ asName Name of the entity.\\
 asAnimation the animation that should be used\\ asAnimation the animation that should be used\\
 abLoop if it should loop or not.\\ abLoop if it should loop or not.\\
-\\ +<code c++> 
-''​void SetupForceArea( string asName, float afMaxForce, float afConstant, float afDestSpeed,​ float afMaxMass, bool abMulWithMass,​ bool abForceAtPoint,​ bool abAffectBodies,​ bool abAffectCharacters); ​'' ​  Properties for an area of type "force", eg _ckgedit_QUOT__area_force_gamename"​.\\+void SetupForceArea( ​   string asName, 
 +            ​float afMaxForce, float afConstant, 
 +            ​float afDestSpeed,​ float afMaxMass, 
 +            ​bool abMulWithMass,​ bool abForceAtPoint,​ 
 +            ​bool abAffectBodies,​ bool abAffectCharacters);​ 
 +</​code>​ 
 + 
 +Properties for an area of type force, eg “_area_force_gamename”.\\
 asName Name of the entity.\\ asName Name of the entity.\\
 afMaxForce the value for the maximum force to apply\\ afMaxForce the value for the maximum force to apply\\
Line 854: Line 1326:
 abAffectBodies affect dynamic objects/​bodies\\ abAffectBodies affect dynamic objects/​bodies\\
 abAffectCharacters affect charaters(player/​enemies/​etc)\\ abAffectCharacters affect charaters(player/​enemies/​etc)\\
-\\ +<code c++> 
-''​SetupLiquidArea(std::​string asName,​float afDensity, float afLinearViscosity,​float afAngularViscosity,​string asPhysicsMaterial. float fR, float fG, float fB, abHasWaves); ​'' ​  Properties for an area of type "liquid", eg "_area_liquid_gamename".\\+SetupLiquidArea(std::​string asName,​float afDensity, float afLinearViscosity,​float afAngularViscosity,​string asPhysicsMaterial. 
 +            ​float fR, float fG, float fB, abHasWaves);​ 
 +</​code>​ 
 + 
 +Properties for an area of type liquid, eg _area_liquid_gamename.\\
 asName Name of the entity.\\ asName Name of the entity.\\
 afDensity The density of the liquid\\ afDensity The density of the liquid\\
-afLinearViscosity How much "friction" ​the liquid should have in linear direction.\\ +afLinearViscosity How much friction” the liquid should have in linear direction.\\ 
-afAngularViscosity How much "friction" ​the liquid should have in angular direction\\+afAngularViscosity How much friction” the liquid should have in angular direction\\
 asPhysicsMaterial What physics material to use\\ asPhysicsMaterial What physics material to use\\
 fR, fG, fB The color of the liquid in Red, Green, Blue\\ fR, fG, fB The color of the liquid in Red, Green, Blue\\
-abHasWaves if objects should bob in the water.\\ +abHasWaves if objects should bob in the water. 
-''​void SetupGameButton(std::​string asName,​string asCallback,​string asAffectedEntities); ​'' ​  Creates a callback for entity of type "button", eg .ent says Type="Button".\\+ 
 +<code c++> 
 + void SetupGameButton(std::​string asName,​string asCallback,​string asAffectedEntities);​ 
 +</​code>​ 
 + 
 +Creates a callback for entity of type button, eg .ent says Type=Button.\\
 asName Name of the entity.\\ asName Name of the entity.\\
 asCallback the name of the callback to activate.\\ asCallback the name of the callback to activate.\\
-asAffectedEntities The names of the entities that should be activated, example ​"light01" ​or "light01, light02, light03".\\ +asAffectedEntities The names of the entities that should be activated, example ​light01” or light01, light02, light03. 
-Callback syntax: **void OnStateChange(string asButton,​bool asInOn);​** ​\\ + 
-''​void SetGameButtonOn(std::​string asName, bool abOn, bool abUseEffects); ​'' ​  Sets a button entity on/off.\\+Callback syntax: **void OnStateChange(string asButton,​bool asInOn);​** 
 +<code c++> 
 +void SetGameButtonOn(std::​string asName, bool abOn, bool abUseEffects);​ 
 +</​code>​ 
 + 
 +Sets a button entity on/off.\\
 asName Name of the entity.\\ asName Name of the entity.\\
 abOn On or off, true/​false\\ abOn On or off, true/​false\\
 abUseEffects if various effects set in the entity files of the entities affected by the button switch should be used or not.\\ abUseEffects if various effects set in the entity files of the entities affected by the button switch should be used or not.\\
-\\ +<code c++> 
-''​int GetLeverState(std::​string asName); ​'' ​  Gets the current state of a Lever entity.\\+int GetLeverState(std::​string asName); 
 +</​code>​ 
 + 
 +Gets the current state of a Lever entity.\\
 asName Name of the entity.\\ asName Name of the entity.\\
 returns int as -1 = min, 0=middle, 1=max\\ returns int as -1 = min, 0=middle, 1=max\\
-\\ +<code c++> 
-''​void SetLeverStuck(std::​string asName,int alState); ​'' ​  Sets a Lever entity stuck at a certain position.\\+void SetLeverStuck(std::​string asName,int alState); 
 +</​code>​ 
 + 
 +Sets a Lever entity stuck at a certain position.\\
 asName Name of the entity.\\ asName Name of the entity.\\
 alState What position to stick it in, state: -1 = min, 0=middle, 1=max\\ alState What position to stick it in, state: -1 = min, 0=middle, 1=max\\
-\\ +<code c++> 
-''​int GetWheelState(std::​string asName); ​'' ​  Gets the current state of a Wheel entity.\\+int GetWheelState(std::​string asName); 
 +</​code>​ 
 + 
 +Gets the current state of a Wheel entity.\\
 asName Name of the entity.\\ asName Name of the entity.\\
 returns int as -1 = min, 0=middle, 1=max\\ returns int as -1 = min, 0=middle, 1=max\\
-\\ +<code c++> 
-''​void SetWheelStuck(std::​string asName,int alState ); '' ​  Sets a Wheel entity stuck at a certain position.\\+void SetWheelStuck(std::​string asName,int alState ); 
 +</​code>​ 
 + 
 +Sets a Wheel entity stuck at a certain position.\\
 asName Name of the entity.\\ asName Name of the entity.\\
 alState What position to stick it in, state: -1 = min, 0=turn off stuck, 1=max\\ alState What position to stick it in, state: -1 = min, 0=turn off stuck, 1=max\\
-\\ +<code c++> 
-''​float GetWheelAngle(std::​string asName); ​'' ​  Gets the current angle of a Wheel entity.\\+float GetWheelAngle(std::​string asName); 
 +</​code>​ 
 + 
 +Gets the current angle of a Wheel entity.\\
 asName Name of the entity.\\ asName Name of the entity.\\
 returns the value as float.\\ returns the value as float.\\
-\\ +<code c++> 
-''​float GetWheelSpeed(std::​string asName); ​'' ​  Gets the current speed of a Wheel entity.\\+float GetWheelSpeed(std::​string asName); 
 +</​code>​ 
 + 
 +Gets the current speed of a Wheel entity.\\
 asName Name of the entity.\\ asName Name of the entity.\\
 returns the value as float.\\ returns the value as float.\\
-\\ +<code c++> 
-''​ConnectWheelToController(string asWheelName,​string asEntName,​string asCtrlName, float afMinDest, float afMaxDest); ​'' ​  Connects a controller in the .ent file to the wheel.\\+ConnectWheelToController(string asWheelName,​string asEntName,​string asCtrlName, 
 +                 float afMinDest, float afMaxDest); 
 +</​code>​ 
 + 
 +Connects a controller in the .ent file to the wheel.\\
 asWheelName Name of the wheel entity in level.\\ asWheelName Name of the wheel entity in level.\\
 asEntName Name of the entity file to use.\\ asEntName Name of the entity file to use.\\
Line 903: Line 1411:
 afMinDest Value of the minimum destination.\\ afMinDest Value of the minimum destination.\\
 afMaxDest Value of the maximum destination.\\ afMaxDest Value of the maximum destination.\\
-\\ +<code c++> 
-''​MoveEntityToArea(string asEntityName,​ string asAreaName, float afSpeed, float afAcceleration,​ float afSlowDownRange,​ string asCallback); ​'' ​  Moves an entity to an area. This can be used to create moving platforms, elevators etc.\\+MoveEntityToArea(string asEntityName,​ string asAreaName, 
 +            ​float afSpeed, float afAcceleration,​ 
 +              ​float afSlowDownRange,​ string asCallback);​ 
 +</​code>​ 
 + 
 +Moves an entity to an area. This can be used to create moving platforms, elevators etc.\\
 asEntityName Name of the entity.\\ asEntityName Name of the entity.\\
 asAreaName Name of the area to move the entity to.\\ asAreaName Name of the area to move the entity to.\\
Line 913: Line 1426:
 **Callback syntax: MyFunc(string asEntityName)** \\ **Callback syntax: MyFunc(string asEntityName)** \\
 \\ \\
-\\ +==== Game Entity Callbacks ==== 
-==== Game Entity Callbacks ==== '' ​void AddEntityCollideCallback(std::​string asType, std::string asDestName, std::string asEntityName,​ std::string asFuncName); ​'' ​  Add a collide callback to an entity.\\+ 
 +<code c++> 
 +void AddEntityCollideCallback(std::​string asType, std::string asDestName, 
 +                        ​std::string asEntityName,​ std::string asFuncName);​ 
 +</​code>​ 
 + 
 +Add a collide callback to an entity.\\
 The syntax for the callback function is:\\ The syntax for the callback function is:\\
-**void MyFunction(string asParent, string asChild)**, the prefix ​"@" ​(ie "@Func()") shows that the function is in the global script.\\+**void MyFunction(string asParent, string asChild)**, the prefix ​@” (ie @Func()) shows that the function is in the global script.\\
 asParent is the entity the function is attached to and asChild is the other entity in the collision.\\ asParent is the entity the function is attached to and asChild is the other entity in the collision.\\
-asType The type of callback, this can be "Enter""During" ​or "Leave"\\ +asType The type of callback, this can be EnterDuring” or Leave\\ 
-asDestName The entity that should have the callback. ​"Player" ​will add it to the player.\\+asDestName The entity that should have the callback. ​Player” will add it to the player.\\
 asEntityName The entity to check for collision with.\\ asEntityName The entity to check for collision with.\\
 asFuncName The name of the script function to add. This must be in the level'​s script file and not the global.\\ asFuncName The name of the script function to add. This must be in the level'​s script file and not the global.\\
-\\ +<code c++> 
-''​void RemoveEntityCollideCallback(std::​string asType, std::string asDestName, std::string asEntityName); ​'' ​  Removes a collide callback on an entity.\\ +void RemoveEntityCollideCallback(std::​string asType, std::string asDestName, std::string asEntityName);​ 
-asType The type of callback, this can be "Enter""During" ​or "Leave"\\+</​code>​ 
 + 
 +Removes a collide callback on an entity.\\ 
 +asType The type of callback, this can be EnterDuring” or Leave\\
 asDestName The entity that has the callback\\ asDestName The entity that has the callback\\
 asEntityName The entity to check for collision with.\\ asEntityName The entity to check for collision with.\\
-\\ +<code c++> 
-''​void AddEntityCallback(std::​string asType, std::string asDestName, std::string asFuncName); ​'' ​  Add a callback to an entity.\\+void AddEntityCallback(std::​string asType, std::string asDestName, std::string asFuncName);​ 
 +</​code>​ 
 + 
 +Add a callback to an entity.\\
 The syntax for the callback function is:\\ The syntax for the callback function is:\\
-**void MyFunction(string asEntity)**,​ the prefix ​"@" ​(ie "@Func()") shows that the function is in the global script.\\+**void MyFunction(string asEntity)**,​ the prefix ​@” (ie @Func()) shows that the function is in the global script.\\
 The different types are the following\\ The different types are the following\\
-"PlayerInteract" ​The player interacts with the entity.\\ +PlayerInteract” The player interacts with the entity.\\ 
-"PlayerExamine" ​The player examines the entity.\\ +PlayerExamine” The player examines the entity.\\ 
-"PlayerLook" ​The player is looking at the entity (it is in "focus").\\ +PlayerLook” The player is looking at the entity (it is in focus).\\ 
-"OnUpdate" ​When the entity is updated.\\ +OnUpdate” When the entity is updated.\\ 
-"OnBreak" ​When the entity breaks.\\+OnBreak” When the entity breaks.\\
 asType The type of callback\\ asType The type of callback\\
 asDestName The entity that should have the callback\\ asDestName The entity that should have the callback\\
 asFuncName The name of the script function to add. This must be in the level'​s script file and not the global.\\ asFuncName The name of the script function to add. This must be in the level'​s script file and not the global.\\
-\\ +<code c++> 
-''​void RemoveEntityCallback(std::​string asType, std::string asDestName); ​'' ​  Removes a callback on an entity.\\+void RemoveEntityCallback(std::​string asType, std::string asDestName);​ 
 +</​code>​ 
 + 
 +Removes a callback on an entity.\\
 asType The type of callback. The same types as for AddEntityCallback applies.\\ asType The type of callback. The same types as for AddEntityCallback applies.\\
 asDestName The entity that has the callback\\ asDestName The entity that has the callback\\
-\\ +<code c++> 
-''​void SetEnemyDeathCallback(std::​string asEnemy,​std::​string asFunction); ​'' ​  Sets the function that is called when the enemy dies.\\+void SetEnemyDeathCallback(std::​string asEnemy,​std::​string asFunction);​ 
 +</​code>​ 
 + 
 +Sets the function that is called when the enemy dies.\\
 asEnemyName Name of the enemy\\ asEnemyName Name of the enemy\\
 asFunction The function, syntax: **MyFunc(string asEnemyName)** \\ asFunction The function, syntax: **MyFunc(string asEnemyName)** \\
-\\ +<code c++> 
-''​SetLampLitChangeCallback(std::​string asName,​std::​string asCallback); ​'' ​  Adds a callback for a Lamp entity, Type="Lamp" ​in .ent, as it changes from on to off or vice versa.\\+SetLampLitChangeCallback(std::​string asName,​std::​string asCallback);​ 
 +</​code>​ 
 + 
 +Adds a callback for a Lamp entity, Type=Lamp” in .ent, as it changes from on to off or vice versa.\\
 asName The name of the lamp entity.\\ asName The name of the lamp entity.\\
 asCallback The name of the callback, syntax: **MyFunc(bool abActive)** \\ asCallback The name of the callback, syntax: **MyFunc(bool abActive)** \\
-\\ +<code c++> 
-''​SetLeverCallback(std::​string asName,​std::​string asType, std::string asCallback); ​'' ​  Adds a callback for a Lever entity, Type="Lever" ​in .ent, as it changes states.\\+SetLeverCallback(std::​string asName,​std::​string asType, std::string asCallback);​ 
 +</​code>​ 
 + 
 +Adds a callback for a Lever entity, Type=Lever” in .ent, as it changes states.\\
 asName The name of the lever entity.\\ asName The name of the lever entity.\\
-asType What type: "Enter""Leave" ​or "During".\\+asType What type: EnterLeave” or During.\\
 asCallback The name of the callback, syntax: **void MyFunc(string asName, int alType, int alState)** \\ asCallback The name of the callback, syntax: **void MyFunc(string asName, int alType, int alState)** \\
 type: 0=enter, 1=leave, 2=during\\ type: 0=enter, 1=leave, 2=during\\
 state: -1 = min, 0=middle, 1=max\\ state: -1 = min, 0=middle, 1=max\\
-\\ +<code c++> 
-''​SetWheelCallback(std::​string asName,​std::​string asType,​std::​string asCallback); ​'' ​  Adds a callback for a Wheel entity, Type="Wheel" ​in .ent.\\+SetWheelCallback(std::​string asName,​std::​string asType,​std::​string asCallback);​ 
 +</​code>​ 
 + 
 +Adds a callback for a Wheel entity, Type=Wheel” in .ent.\\
 asName The name of the wheel entity.\\ asName The name of the wheel entity.\\
-asType What type: "Enter""Leave" ​or "During".\\+asType What type: EnterLeave” or During.\\
 asCallback The name of the callback, syntax: **void MyFunc(string asName, int alType, int alState)** \\ asCallback The name of the callback, syntax: **void MyFunc(string asName, int alType, int alState)** \\
 type: 0=enter, 1=leave, 2=during\\ type: 0=enter, 1=leave, 2=during\\
-state: -1 = min, 0=middle, 1=max//__ \\ +state: -1 = min, 0=middle, 1=max
-\\+
  
hpl1/documentation/script_reference.txt · Last modified: 2020/02/08 21:19 by muffin