Help with your scripting

Rotate a physics body

Rotate a physics body

Postby CreativeOcclusion » 21 Mar 2016, 06:52

I am trying to rotate rotate a physics body...

Code: Select all
function onInit   
   
   SpinnerID = entity.getEntityIDFromTag("Spinner_1");
   
end

function postInit(objID)
   
   SpinnerArmBodyID = physics.getBodyID(SpinnerID);
   
end

function onUpdate(objID)
   
   w,x,y,z = entity.getWorldOrientation( entity.getIDFromTag("Spinner_1") );
   entity.setWorldOrientation( SpinnerArmBodyID, w, x, y, z );
   
end


This doesn't work because I can't find a physics command to rotate the body...I have a spinning object that the player has to run by as it is spinning...I need the physics body to spin with the entity...I guess I will need to attach a trigger to the object to detect a collision...I am not sure if this is the best way to do this or not...Any help or suggestions will be appreciated...CO
Thanks, CreativeOcclusion
User avatar
CreativeOcclusion
Skyline Warrior
 
Posts: 366
Joined: 22 Jun 2015, 19:34
Location: Texas

Re: Rotate a physics body

Postby Shando » 21 Mar 2016, 09:21

Hey buddy,

To set a spinning body using Physics (I presume stationary?) you have to add an angular velocity and remove both gravity and angular damping. There is a great example of Turbine Blades towards the bottom of this page http://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Manual/RigidDynamics.html.

With regards to collisions, you just use the standard Physics Collision Flags and the physics.setCollision functions afaik.

Hope this helps

Regards

Shando
Ryzen 7 4800H 16GB GTX1650 Win 11 64
Love, Hope, Strength http://www.lovehopestrength.co.uk
User avatar
Shando
Skyline Moderator
Skyline Moderator
 
Posts: 560
Joined: 06 Mar 2013, 22:35
Location: Moffat Beach, Queensland
Skill: Programmer
Skill: Scripter
Skill: Level Designer

Re: Rotate a physics body

Postby SolarPortal » 21 Mar 2016, 11:37

if you want the physics to rotate, then i wouldn't use the entity.functions for rotations. Instead use angular momentum like Shando has suggested which will then rotate the entity along with it.
Skyline Game Engine - Lead Dev.
Please provide as much info as possible when asking for help.


Specs: OS: Win 10 64bit, CPU: Intel i7 4770 3.4ghz x 4 core(8 threads), GPU: Nvidia GTX 1060 6GB, Ram: 16gig DDR3, Windows on 250gb Samsung Evo 860

Twitter: @SolarPortal
Instagram: @SolarPortal
User avatar
SolarPortal
Skyline Founder
Skyline Founder
 
Posts: 3631
Joined: 29 Jul 2012, 15:56
Location: UK
Skill: 3D Modeller
Skill: 2D Artist
Skill: Programmer
Skill: Level Designer

Re: Rotate a physics body

Postby CreativeOcclusion » 21 Mar 2016, 23:49

Code: Select all
--My Spinner Script------------------------

obj = 0 -- | Define a variable for our object ID


function onInit(objID)
   sky.lprint("\nLUA: Move Spinner Demo: ACTIVATED");
   SpinnerID = entity.getEntityIDFromTag("Spinner_1");
   
end

function postInit(objID)
   SpinnerBodyID = physics.getBodyID(SpinnerID);
   physics.setBodyGravity(SpinnerBodyID,0,0,0);
   physics.setAngularDamping(SpinnerBodyID, 0.0);
      
end

function onUpdate(timeDelta)

   x,y,z = entity.getPosition( SpinnerID );
   physics.setPosition(SpinnerBodyID, entity.getWorldPosition(SpinnerID));
   physics.setAngularVelocity(SpinnerBodyID,0,1.0,0);

      
end      


Here is some test code I am using to try to get the body to rotate...What am I doing wrong?
Thanks, CreativeOcclusion
User avatar
CreativeOcclusion
Skyline Warrior
 
Posts: 366
Joined: 22 Jun 2015, 19:34
Location: Texas

Re: Rotate a physics body

Postby SolarPortal » 22 Mar 2016, 00:31

Hi CO :)

Here is the working script for me:

Code: Select all
--My Spinner Script------------------------

obj = 0 -- | Define a variable for our object ID
SpinnerID = 0
SpinnerBodyID = -1
function onInit(objID)
   sky.lprint("\nLUA: Move Spinner Demo: ACTIVATED");
   SpinnerID = entity.getEntityIDFromTag("Spinner_1");
   
end

function postInit(objID)
   SpinnerBodyID = physics.getBodyID(SpinnerID);
   --physics.setBodyGravity(SpinnerBodyID,0,0,0);
   physics.setAngularDamping(SpinnerBodyID, 0.3);
     
end

function onUpdate(timeDelta)

   x,y,z = entity.getPosition( SpinnerID );
   physics.setPosition(SpinnerBodyID, entity.getWorldPosition(SpinnerID));

   physics.setAngularVelocity(SpinnerBodyID,0,30,0);
    physics.setMaxAngularVelocity(SpinnerBodyID,30);
     
end     


Creates some cool spinny tops lol :P

I also had the have the physics set to dynamic in order for the setAngular... physics to work.
There is a base limit on rotation as well with physics and you need to use the command found in the script to edit the max speed.

I don't think this is the solution to your static weapons problem. Perhaps kinematics will be better?
Skyline Game Engine - Lead Dev.
Please provide as much info as possible when asking for help.


Specs: OS: Win 10 64bit, CPU: Intel i7 4770 3.4ghz x 4 core(8 threads), GPU: Nvidia GTX 1060 6GB, Ram: 16gig DDR3, Windows on 250gb Samsung Evo 860

Twitter: @SolarPortal
Instagram: @SolarPortal
User avatar
SolarPortal
Skyline Founder
Skyline Founder
 
Posts: 3631
Joined: 29 Jul 2012, 15:56
Location: UK
Skill: 3D Modeller
Skill: 2D Artist
Skill: Programmer
Skill: Level Designer

Re: Rotate a physics body

Postby CreativeOcclusion » 22 Mar 2016, 02:26

This is great for a top spinning on a terrain...Not good indoors...does not stay put...Does not work at all kinematic...Only Dynamic...When player hit it, it goes off down the hall...Does not work with convex or mesh...It just takes off spinning down the hall...It was real fun watching it in the room with all the barrels...They were flying everywhere...Priceless! :twisted: ...I may just go with something else...Would have been cool though...Thanks...CO
Thanks, CreativeOcclusion
User avatar
CreativeOcclusion
Skyline Warrior
 
Posts: 366
Joined: 22 Jun 2015, 19:34
Location: Texas

Re: Rotate a physics body

Postby Shando » 22 Mar 2016, 09:27

Hi CO,

There's a couple of things you could try:

1) Give the body infinite mass and inertia
2) Give the body infinite mass and limit the rotation to a particular axis

Hope this helps as it would be cool if you could get it working with the built-in Physics 8-)

Regards

Shando
Ryzen 7 4800H 16GB GTX1650 Win 11 64
Love, Hope, Strength http://www.lovehopestrength.co.uk
User avatar
Shando
Skyline Moderator
Skyline Moderator
 
Posts: 560
Joined: 06 Mar 2013, 22:35
Location: Moffat Beach, Queensland
Skill: Programmer
Skill: Scripter
Skill: Level Designer

Re: Rotate a physics body

Postby SolarPortal » 22 Mar 2016, 15:57

Gave it another go today with kinematics and got this:
Code: Select all
--My Spinner Script------------------------

obj = 0 -- | Define a variable for our object ID
SpinnerID = 0
SpinnerBodyID = -1
function onInit(objID)
   sky.lprint("\nLUA: Move Spinner Demo: ACTIVATED");
   SpinnerID = objID;
   
end

function postInit(objID)
   SpinnerBodyID = physics.getBodyID(SpinnerID);
   --physics.setBodyGravity(SpinnerBodyID,0,0,0);
   physics.setAngularDamping(SpinnerBodyID, 0.3);
     
end

function onUpdate(timeDelta)
   entity.yaw( SpinnerID, 10, enum.rotateDegree() );
   
   x,y,z = entity.getPosition( SpinnerID );
   ow,ox,oy,oz = entity.getWorldOrientation( SpinnerID );
   
   physics.setPosition(SpinnerBodyID, entity.getWorldPosition(SpinnerID));
   
   -- Rotate the kinematic rigidbody
   physics.rotate(SpinnerBodyID, ox, oy, oz, ow);
   
   --physics.setAngularVelocity(SpinnerBodyID,0,30,0);
   --physics.setMaxAngularVelocity(SpinnerBodyID,30);
end     


Set your body to kinematic and then run the script.

We have also noticed a slight discrepancy using kinematic where the position may be wrong, restarting the game usually fixes it and it is random. I will take a look at it today since i am in Tech support mode and already in that source fixing a problem with FPS and end game :)
Skyline Game Engine - Lead Dev.
Please provide as much info as possible when asking for help.


Specs: OS: Win 10 64bit, CPU: Intel i7 4770 3.4ghz x 4 core(8 threads), GPU: Nvidia GTX 1060 6GB, Ram: 16gig DDR3, Windows on 250gb Samsung Evo 860

Twitter: @SolarPortal
Instagram: @SolarPortal
User avatar
SolarPortal
Skyline Founder
Skyline Founder
 
Posts: 3631
Joined: 29 Jul 2012, 15:56
Location: UK
Skill: 3D Modeller
Skill: 2D Artist
Skill: Programmer
Skill: Level Designer

Re: Rotate a physics body

Postby CreativeOcclusion » 22 Mar 2016, 17:39

This is exactly what I needed....If this command was in the API Docs, I would have got it working 3 days ago..

Code: Select all
physics.rotate(SpinnerBodyID, ox, oy, oz, ow);


rotate is not listed...

I do appreciate your help...This does work perfect...Please add the rotate to the physics class API Docs when you get time to avoid other users having the same problem...Thanks...CO
Thanks, CreativeOcclusion
User avatar
CreativeOcclusion
Skyline Warrior
 
Posts: 366
Joined: 22 Jun 2015, 19:34
Location: Texas

Re: Rotate a physics body

Postby SolarPortal » 22 Mar 2016, 17:42

ahh np :) I will add it now :)

There are the odd commands missing from the list and we will be updating API docs on the new renderer release to ensure all commands are listed :)

In the meantime, i think Shando wrote a handy lua snippet to spit out all the lua functions available. Perhaps he can post a link to it here :)

Also, i have just improved the accuracy of positions with the kinematic bodies to stop moving incorrectly so much. Back to the FPS now :)

Edit: Added :)
Skyline Game Engine - Lead Dev.
Please provide as much info as possible when asking for help.


Specs: OS: Win 10 64bit, CPU: Intel i7 4770 3.4ghz x 4 core(8 threads), GPU: Nvidia GTX 1060 6GB, Ram: 16gig DDR3, Windows on 250gb Samsung Evo 860

Twitter: @SolarPortal
Instagram: @SolarPortal
User avatar
SolarPortal
Skyline Founder
Skyline Founder
 
Posts: 3631
Joined: 29 Jul 2012, 15:56
Location: UK
Skill: 3D Modeller
Skill: 2D Artist
Skill: Programmer
Skill: Level Designer

Re: Rotate a physics body

Postby CreativeOcclusion » 22 Mar 2016, 17:49

Thanks SP...Great Job!...Go SkyLine!!! :)
Thanks, CreativeOcclusion
User avatar
CreativeOcclusion
Skyline Warrior
 
Posts: 366
Joined: 22 Jun 2015, 19:34
Location: Texas

Re: Rotate a physics body

Postby CreativeOcclusion » 26 Mar 2016, 02:14

@SolarPortal

Code: Select all
physics.rotate(SpinnerBodyID, ox, oy, oz, ow);


This rotate command is setRotation in the docs...setRotation does not work...rotate works...In case you didn't see my other post I posted this here...Just wanted to let you know so it can be changed...CO
Thanks, CreativeOcclusion
User avatar
CreativeOcclusion
Skyline Warrior
 
Posts: 366
Joined: 22 Jun 2015, 19:34
Location: Texas

Re: Rotate a physics body

Postby SolarPortal » 26 Mar 2016, 15:06

rotate is for the kinematic bodies whereas the setRotation is for the rididbodies. I will need to take a look in source to check if this is correct though. Thanks for pointing this out :)
Skyline Game Engine - Lead Dev.
Please provide as much info as possible when asking for help.


Specs: OS: Win 10 64bit, CPU: Intel i7 4770 3.4ghz x 4 core(8 threads), GPU: Nvidia GTX 1060 6GB, Ram: 16gig DDR3, Windows on 250gb Samsung Evo 860

Twitter: @SolarPortal
Instagram: @SolarPortal
User avatar
SolarPortal
Skyline Founder
Skyline Founder
 
Posts: 3631
Joined: 29 Jul 2012, 15:56
Location: UK
Skill: 3D Modeller
Skill: 2D Artist
Skill: Programmer
Skill: Level Designer

Re: Rotate a physics body

Postby CreativeOcclusion » 26 Mar 2016, 18:55

Thanks for clearing this up...
Thanks, CreativeOcclusion
User avatar
CreativeOcclusion
Skyline Warrior
 
Posts: 366
Joined: 22 Jun 2015, 19:34
Location: Texas

Re: Rotate a physics body

Postby Shando » 27 Mar 2016, 08:31

Hi All,

Sorry it's a bit late, but to print out the currently available functions (NAMES ONLY) you put this code in your SceneScript:

Code: Select all
local inspect = require 'inspect'

function onInit(objID)
   local myStr = inspect ( _G );
   sky.lprint ( myStr );
end


Add the attached file to your Scripts Folder and run the Scene in the Editor. You will then see a list of all available functions (including the standard Lua ones in the Console.

I've just run it and got the following listing:

Code: Select all
<1>{
  _G = <table 1>,
  _VERSION = "Lua 5.1",
  action = <2>{
    addToEntity = <function 1>,
    fadeActionParam = <function 2>,
    getActionID = <function 3>,
    getActionParam = <function 4>,
    setActionParam = <function 5>
  },
  anim = <3>{
    getBlendMaskEntry = <function 6>,
    getCurrentAnims = <function 7>,
    getEnabled = <function 8>,
    getFromMap = <function 9>,
    getLength = <function 10>,
    getLooped = <function 11>,
    getSpeed = <function 12>,
    getTime = <function 13>,
    getWeight = <function 14>,
    loadAnimation = <function 15>,
    playAnimation = <function 16>,
    setBlendMaskEntry = <function 17>,
    setEnabled = <function 18>,
    setLength = <function 19>,
    setLooped = <function 20>,
    setSpeed = <function 21>,
    setTime = <function 22>,
    setWeight = <function 23>,
    stopAnimation = <function 24>
  },
  assert = <function 25>,
  bone = <4>{
    attach = <function 26>,
    destroyAnimTracks = <function 27>,
    detach = <function 28>,
    detachAll = <function 29>,
    getHandle = <function 30>,
    getInitialOrientation = <function 31>,
    getInitialPosition = <function 32>,
    getInitialScale = <function 33>,
    getLocalOrientation = <function 34>,
    getLocalPosition = <function 35>,
    getPositionOffset = <function 36>,
    getScale = <function 37>,
    getWorldOrientation = <function 38>,
    getWorldPosition = <function 39>,
    pitch = <function 40>,
    printBones = <function 41>,
    restoreAnimTracks = <function 42>,
    roll = <function 43>,
    scale = <function 44>,
    setLocalOrientation = <function 45>,
    setLocalPosition = <function 46>,
    setManuallyControlled = <function 47>,
    setScale = <function 48>,
    setWorldOrientation = <function 49>,
    setWorldPosition = <function 50>,
    storeAnimTracks = <function 51>,
    yaw = <function 52>
  },
  camera = <5>{
    attachToEntity = <function 53>,
    dettachFromEntity = <function 54>,
    getDirection = <function 55>,
    getFOV = <function 56>,
    getOrientation = <function 57>,
    getPitch = <function 58>,
    getPosition = <function 59>,
    getRoll = <function 60>,
    getWorldOrientation = <function 61>,
    getYaw = <function 62>,
    lookAtEntity = <function 63>,
    lookAtPos = <function 64>,
    pitch = <function 65>,
    roll = <function 66>,
    setActiveCamera = <function 67>,
    setCameraMode = <function 68>,
    setDirection = <function 69>,
    setFOV = <function 70>,
    setFarClip = <function 71>,
    setLodBias = <function 72>,
    setNearClip = <function 73>,
    setOrientation = <function 74>,
    setPosition = <function 75>,
    yaw = <function 76>
  },
  cegui = <6>{
    createMouse = <function 77>,
    createScheme = <function 78>,
    loadLayout = <function 79>,
    registerButton = <function 80>,
    setProperty = <function 81>,
    setText = <function 82>,
    setTextColor = <function 83>,
    setVisible = <function 84>,
    showUI = <function 85>
  },
  character = <7>{
    doJump = <function 86>,
    doStrafe = <function 87>,
    enableGravity = <function 88>,
    followPath = <function 89>,
    followPathPosition = <function 90>,
    getCollisionFlag = <function 91>,
    getPosition = <function 92>,
    invertGravity = <function 93>,
    isDestinationReached = <function 94>,
    isFollowingPath = <function 95>,
    ko = <function 96>,
    move = <function 97>,
    moveUp = <function 98>,
    revive = <function 99>,
    setAdvancedCollision = <function 100>,
    setGravity = <function 101>,
    setJumpDownforce = <function 102>,
    setMoveAdvanced = <function 103>,
    setMoveDirection = <function 104>,
    setPathAccuracy = <function 105>,
    setPathMaxTurn = <function 106>,
    setPathNodeIndex = <function 107>,
    setPosition = <function 108>,
    setPositionString = <function 109>
  },
  collectgarbage = <function 110>,
  controller = <8>{
    doJump = <function 111>,
    doStrafe = <function 112>,
    enableGravity = <function 113>,
    followPath = <function 114>,
    followPathPosition = <function 115>,
    getBodyID = <function 116>,
    getCollisionFlag = <function 117>,
    getContactHit_ID = <function 118>,
    getContactHit_MotionDirection = <function 119>,
    getContactHit_MotionLength = <function 120>,
    getContactHit_WorldNormal = <function 121>,
    getContactHit_WorldPos = <function 122>,
    getFollowedPathName = <function 123>,
    getPosition = <function 124>,
    invertGravity = <function 125>,
    isDestinationReached = <function 126>,
    isFollowingPath = <function 127>,
    move = <function 128>,
    moveUp = <function 129>,
    remove = <function 130>,
    resetData = <function 131>,
    setAdvancedCollision = <function 132>,
    setData_Offset = <function 133>,
    setData_characterHeight = <function 134>,
    setData_characterWidth = <function 135>,
    setData_flipDirection = <function 136>,
    setData_gravityY = <function 137>,
    setData_shapeType = <function 138>,
    setData_skinWidth = <function 139>,
    setData_slopeLimit = <function 140>,
    setData_stepOffset = <function 141>,
    setData_upDirectionIndex = <function 142>,
    setGravity = <function 143>,
    setJumpDownforce = <function 144>,
    setMoveAdvanced = <function 145>,
    setMoveDirection = <function 146>,
    setPathAccuracy = <function 147>,
    setPathMaxTurn = <function 148>,
    setPathNodeIndex = <function 149>,
    setPosition = <function 150>,
    setPositionString = <function 151>,
    setQueryFlag = <function 152>,
    spawn = <function 153>
  },
  coroutine = <9>{
    create = <function 154>,
    resume = <function 155>,
    running = <function 156>,
    status = <function 157>,
    wrap = <function 158>,
    yield = <function 159>
  },
  debug = <10>{
    debug = <function 160>,
    getfenv = <function 161>,
    gethook = <function 162>,
    getinfo = <function 163>,
    getlocal = <function 164>,
    getmetatable = <function 165>,
    getregistry = <function 166>,
    getupvalue = <function 167>,
    setfenv = <function 168>,
    sethook = <function 169>,
    setlocal = <function 170>,
    setmetatable = <function 171>,
    setupvalue = <function 172>,
    traceback = <function 173>
  },
  dofile = <function 174>,
  draw = <11>{
    autoClear = <function 175>,
    circle = <function 176>,
    circleFilled = <function 177>,
    clear = <function 178>,
    cube = <function 179>,
    cubeFilled = <function 180>,
    cylinder = <function 181>,
    cylinderFilled = <function 182>,
    line = <function 183>,
    sphere = <function 184>,
    sphereFilled = <function 185>,
    tetra = <function 186>,
    tetraFilled = <function 187>
  },
  entity = <12>{
    addScript = <function 188>,
    alignToFloorBounds = <function 189>,
    alignToFloorPivot = <function 190>,
    attach = <function 191>,
    callFn = <function 192>,
    callPublicFn = <function 193>,
    delete = <function 194>,
    detach = <function 195>,
    editorAddScript = <function 196>,
    editorSpawn = <function 197>,
    entityExist = <function 198>,
    exist = <function 199>,
    followPath = <function 200>,
    getBoundingMaximum = <function 201>,
    getBoundingMinimum = <function 202>,
    getBoundingRadius = <function 203>,
    getBoundingSize = <function 204>,
    getDescription = <function 205>,
    getDirection = <function 206>,
    getDirectionOfEntity = <function 207>,
    getDistance = <function 208>,
    getDistanceToCamera = <function 209>,
    getDistanceToVector = <function 210>,
    getDynamicProperty = <function 211>,
    getElevation = <function 212>,
    getEntityIDFromTag = <function 213>,
    getEntityName = <function 214>,
    getForward = <function 215>,
    getHeading = <function 216>,
    getIDFromTag = <function 217>,
    getLastHitEntityID = <function 218>,
    getLastHitID = <function 219>,
    getLocalOrientation = <function 220>,
    getLocalOrientationByAxis = <function 221>,
    getLocalPosition = <function 222>,
    getMaterialName = <function 223>,
    getMeshName = <function 224>,
    getName = <function 225>,
    getNumSubEntities = <function 226>,
    getPosition = <function 227>,
    getRadialOffset = <function 228>,
    getRight = <function 229>,
    getRotationTo = <function 230>,
    getScale = <function 231>,
    getSquaredDistance = <function 232>,
    getTagFromEntityID = <function 233>,
    getTagFromID = <function 234>,
    getUp = <function 235>,
    getWorldOrientation = <function 236>,
    getWorldOrientationByAxis = <function 237>,
    getWorldPosition = <function 238>,
    inverseTransform = <function 239>,
    isColliding = <function 240>,
    lookatObject = <function 241>,
    lookatPosition = <function 242>,
    move = <function 243>,
    pitch = <function 244>,
    refreshDynamicProperties = <function 245>,
    roll = <function 246>,
    rotate = <function 247>,
    rotateToSurface = <function 248>,
    setAdvancedMaterial = <function 249>,
    setDescription = <function 250>,
    setDirection = <function 251>,
    setDynamicProperty = <function 252>,
    setFixedYaw = <function 253>,
    setLocalOrientation = <function 254>,
    setMaterialName = <function 255>,
    setPos = <function 256>,
    setPosition = <function 257>,
    setQueryFlag = <function 258>,
    setQueryFlag_DoNotSelect = <function 259>,
    setQueryFlag_Model = <function 260>,
    setRotation = <function 261>,
    setScale = <function 262>,
    setShadow = <function 263>,
    setSubMaterialName = <function 264>,
    setTag = <function 265>,
    setVisible = <function 266>,
    setWorldOrientation = <function 267>,
    spawn = <function 268>,
    spawnPreset = <function 269>,
    subtractPositions = <function 270>,
    subtractPositions_float3 = <function 271>,
    turn = <function 272>,
    yaw = <function 273>
  },
  enum = <13>{
    GS_GameMain = <function 274>,
    GS_GameOver = <function 275>,
    GS_GamePaused = <function 276>,
    GS_GameStart = <function 277>,
    GS_GameWin = <function 278>,
    GS_User1 = <function 279>,
    GS_User10 = <function 280>,
    GS_User2 = <function 281>,
    GS_User3 = <function 282>,
    GS_User4 = <function 283>,
    GS_User5 = <function 284>,
    GS_User6 = <function 285>,
    GS_User7 = <function 286>,
    GS_User8 = <function 287>,
    GS_User9 = <function 288>,
    body_Capsule = <function 289>,
    body_ConvexHull = <function 290>,
    body_Cube = <function 291>,
    body_Cylinder = <function 292>,
    body_MeshHull = <function 293>,
    body_PlayerCapsule = <function 294>,
    body_Sphere = <function 295>,
    direction_Negative_Unit_X = <function 296>,
    direction_Negative_Unit_Y = <function 297>,
    direction_Negative_Unit_Z = <function 298>,
    direction_Unit_X = <function 299>,
    direction_Unit_Y = <function 300>,
    direction_Unit_Z = <function 301>,
    rotateDegree = <function 302>,
    rotateRadian = <function 303>,
    vehicleDrive_EightWheels = <function 304>,
    vehicleDrive_FourWheels = <function 305>,
    vehicleDrive_FrontWheels = <function 306>,
    vehicleDrive_RearWheels = <function 307>,
    vehicleDrive_SixWheels = <function 308>,
    vehicleSound_EngineHigh = <function 309>,
    vehicleSound_EngineLow = <function 310>,
    vehicleSound_Exhaust = <function 311>,
    vehicleSound_GearChange = <function 312>,
    vehicleSound_Handbrake = <function 313>,
    vehicleSound_TickOver = <function 314>,
    vehicleSound_TireSlip = <function 315>,
    vehicleSound_Turbo = <function 316>
  },
  env = <14>{
    getTOD_DiffuseStrength = <function 317>,
    getTOD_Enabled = <function 318>,
    getTOD_LightEnabled = <function 319>,
    getTOD_SpecularStrength = <function 320>,
    getTOD_Time = <function 321>,
    getTOD_TimeMultiplier = <function 322>,
    getTOD_VolCloudsEnabled = <function 323>,
    loadTODFile = <function 324>,
    setTOD_DiffuseStrength = <function 325>,
    setTOD_Enabled = <function 326>,
    setTOD_LightEnabled = <function 327>,
    setTOD_SpecularStrength = <function 328>,
    setTOD_Time = <function 329>,
    setTOD_TimeMultiplier = <function 330>,
    setTOD_VolCloudsEnabled = <function 331>
  },
  error = <function 332>,
  fpsSystem = <15>{
    damagePlayer = <function 333>,
    getMaxAmmo = <function 334>,
    getMaxClips = <function 335>,
    getWeapon = <function 336>,
    playReloadSound = <function 337>,
    setAsPlayer = <function 338>,
    setHasAmmo = <function 339>,
    setKO = <function 340>,
    setPosition = <function 341>,
    setPositionString = <function 342>,
    setWeapon = <function 343>
  },
  game = <16>{
    clickObject = <function 344>,
    doDamage = <function 345>,
    enableMouseRay = <function 346>,
    getHealth = <function 347>,
    resetLevel = <function 348>,
    setHealth = <function 349>,
    setMouseTrap = <function 350>,
    setSceneSpeed = <function 351>,
    setTargetID = <function 352>,
    setWeapon = <function 353>,
    shoot = <function 354>
  },
  gcinfo = <function 355>,
  getfenv = <function 356>,
  getmetatable = <function 357>,
  gfxOption_fsaa_runOnce = false,
  gfxOption_renderer_runOnce = false,
  gui = <17>{
    enableGameInput = <function 358>,
    getAttribute = <function 359>,
    getProperty = <function 360>,
    hide = <function 361>,
    hideCursor = <function 362>,
    load = <function 363>,
    loadFromTemplate = <function 364>,
    setAttribute = <function 365>,
    setBackgroundColor = <function 366>,
    setFontColor = <function 367>,
    setFontFamily = <function 368>,
    setFontSize = <function 369>,
    setFontStyle = <function 370>,
    setFontWeight = <function 371>,
    setFullScreen = <function 372>,
    setPosX = <function 373>,
    setPosY = <function 374>,
    setPosition = <function 375>,
    setProperty = <function 376>,
    setScaleX = <function 377>,
    setScaleXCent = <function 378>,
    setScaleY = <function 379>,
    setScaleYCent = <function 380>,
    setText = <function 381>,
    setWindowPosition = <function 382>,
    setWindowPositionCent = <function 383>,
    setWindowSize = <function 384>,
    show = <function 385>,
    showCursor = <function 386>,
    workSpace = <function 387>
  },
  input = <18>{
    getFromMap = <function 388>,
    keyDown = <function 389>,
    keyHit = <function 390>,
    mouseDown = <function 391>,
    mouseHit = <function 392>,
    releaseKey = <function 393>
  },
  io = <19>{
    close = <function 394>,
    flush = <function 395>,
    input = <function 396>,
    lines = <function 397>,
    open = <function 398>,
    output = <function 399>,
    popen = <function 400>,
    read = <function 401>,
    stderr = <userdata 1>,
    stdin = <userdata 2>,
    stdout = <userdata 3>,
    tmpfile = <function 402>,
    type = <function 403>,
    write = <function 404>
  },
  ipairs = <function 405>,
  light = <20>{
    getDiffuseColor = <function 406>,
    getSpecularColor = <function 407>,
    setBrightness = <function 408>,
    setDiffuseColor = <function 409>,
    setIntensity = <function 410>,
    setRange = <function 411>,
    setSpecularColor = <function 412>,
    spawnLight = <function 413>
  },
  load = <function 414>,
  loadfile = <function 415>,
  loadstring = <function 416>,
  lprint = <function 417>,
  math = <21>{
    abs = <function 418>,
    acos = <function 419>,
    asin = <function 420>,
    atan = <function 421>,
    atan2 = <function 422>,
    ceil = <function 423>,
    cos = <function 424>,
    cosh = <function 425>,
    deg = <function 426>,
    exp = <function 427>,
    floor = <function 428>,
    fmod = <function 429>,
    frexp = <function 430>,
    huge = 1.#INF,
    ldexp = <function 431>,
    log = <function 432>,
    log10 = <function 433>,
    max = <function 434>,
    min = <function 435>,
    mod = <function 429>,
    modf = <function 436>,
    pi = 3.1415926535898,
    pow = <function 437>,
    rad = <function 438>,
    random = <function 439>,
    randomseed = <function 440>,
    sin = <function 441>,
    sinh = <function 442>,
    sqrt = <function 443>,
    tan = <function 444>,
    tanh = <function 445>
  },
  module = <function 446>,
  navmesh = <22>{
    addDCC = <function 447>,
    addEntity = <function 448>,
    getAgentMaxSpeed = <function 449>,
    getAgentSpeed = <function 450>,
    getAgentVelocity = <function 451>,
    getDestination = <function 452>,
    getRandomPosition = <function 453>,
    isDestinationReached = <function 454>,
    removeEntity = <function 455>,
    setAgentColQueryRange = <function 456>,
    setAgentControlled = <function 457>,
    setAgentHeight = <function 458>,
    setAgentMaxAccel = <function 459>,
    setAgentMaxSpeed = <function 460>,
    setAgentPathOptRange = <function 461>,
    setAgentWidth = <function 462>,
    setDestination = <function 463>,
    showAgentDebug = <function 464>,
    stopAgent = <function 465>
  },
  newType = <23>{
    color = <function 466>,
    vec2 = <function 467>,
    vec3 = <function 468>,
    vec4 = <function 469>
  },
  newproxy = <function 470>,
  next = <function 471>,
  onInit = <function 472>,
  onKeyDown = <function 473>,
  onUpdate = <function 474>,
  optionSettings_fsaa = 0,
  optionSettings_fullscreen = 0,
  optionSettings_height = 600,
  optionSettings_quality = 3,
  optionSettings_renderer = 0,
  optionSettings_showStats = 0,
  optionSettings_triggerRestart = false,
  optionSettings_vsync = 1,
  optionSettings_width = 800,
  os = <24>{
    clock = <function 475>,
    date = <function 476>,
    difftime = <function 477>,
    execute = <function 478>,
    exit = <function 479>,
    getenv = <function 480>,
    remove = <function 481>,
    rename = <function 482>,
    setlocale = <function 483>,
    time = <function 484>,
    tmpname = <function 485>
  },
  package = <25>{
    config = "\\\n;\n?\n!\n-",
    cpath = ".\\?.dll;D:\\Aurasoft\\SkylineSDK\\Skyline\\Win64_Release\\?.dll;D:\\Aurasoft\\SkylineSDK\\Skyline\\Win64_Release\\loadall.dll",
    loaded = {
      _G = <table 1>,
      action = <table 2>,
      anim = <table 3>,
      bone = <table 4>,
      camera = <table 5>,
      cegui = <table 6>,
      character = <table 7>,
      controller = <table 8>,
      coroutine = <table 9>,
      debug = <table 10>,
      draw = <table 11>,
      entity = <table 12>,
      enum = <table 13>,
      env = <table 14>,
      fpsSystem = <table 15>,
      game = <table 16>,
      gui = <table 17>,
      input = <table 18>,
      inspect = {
        KEY = inspect.KEY,
        METATABLE = inspect.METATABLE,
        _DESCRIPTION = "human-readable representations of tables",
        _LICENSE = '    MIT LICENSE\n\n    Copyright (c) 2013 Enrique García Cota\n\n    Permission is hereby granted, free of charge, to any person obtaining a\n    copy of this software and associated documentation files (the\n    "Software"), to deal in the Software without restriction, including\n    without limitation the rights to use, copy, modify, merge, publish,\n    distribute, sublicense, and/or sell copies of the Software, and to\n    permit persons to whom the Software is furnished to do so, subject to\n    the following conditions:\n\n    The above copyright notice and this permission notice shall be included\n    in all copies or substantial portions of the Software.\n\n    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n    IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n    CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n    TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n    SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n  ',
        _URL = "http://github.com/kikito/inspect.lua",
        _VERSION = "inspect.lua 3.0.0",
        inspect = <function 486>,
        <metatable> = {
          __call = <function 487>
        }
      },
      io = <table 19>,
      light = <table 20>,
      math = <table 21>,
      navmesh = <table 22>,
      newType = <table 23>,
      os = <table 24>,
      package = <table 25>,
      particle = <26>{
        PU_Create = <function 488>,
        PU_Pause = <function 489>,
        PU_Run = <function 490>,
        PU_Stop = <function 491>,
        PU_setRenderOrder = <function 492>,
        attach = <function 493>,
        changeParticleData = <function 494>,
        createParticleFX = <function 495>,
        createSkyParticleFX = <function 496>,
        deleteParticleFX = <function 497>,
        lookAtObj = <function 498>,
        lookAtPoint = <function 499>,
        setEffectDuration = <function 500>,
        setEffectFile = <function 501>,
        setEffectName = <function 502>,
        setEmitterRate = <function 503>,
        setEmitting = <function 504>,
        setParticlePosition = <function 505>,
        setParticleSpeed = <function 506>,
        setPosition = <function 507>,
        setRenderOrder = <function 508>,
        setRotation = <function 509>,
        setScale = <function 510>,
        setVisibleDistance = <function 511>,
        spawnEffect = <function 512>,
        spawnSkyParticleEffect = <function 513>
      },
      path = <27>{
        addNode = <function 514>,
        createPath = <function 515>,
        deleteNode = <function 516>,
        doesPathExist = <function 517>,
        getNodePosition = <function 518>,
        getNodeYaw = <function 519>,
        getNumNodes = <function 520>,
        insertNode = <function 521>,
        removePath = <function 522>,
        setNodePosition = <function 523>
      },
      physics = <28>{
        addBody = <function 524>,
        addPlayerBody = <function 525>,
        addTrigger = <function 526>,
        assignGroupCollisionFlag = <function 527>,
        createRay = <function 528>,
        deleteRay = <function 529>,
        getAngularDamping = <function 530>,
        getAngularVelocity = <function 531>,
        getBodyID = <function 532>,
        getBounce = <function 533>,
        getContactData = <function 534>,
        getContactEntID = <function 535>,
        getContactForce = <function 536>,
        getContactNormal = <function 537>,
        getContactNumShapes = <function 538>,
        getContactPoint = <function 539>,
        getFriction = <function 540>,
        getGameType = <function 541>,
        getGravity = <function 542>,
        getLinearDamping = <function 543>,
        getMass = <function 544>,
        getPosition = <function 545>,
        getRotation = <function 546>,
        getVelocity = <function 547>,
        getVelocityMagnitude = <function 548>,
        move = <function 549>,
        rayDebugLines = <function 550>,
        rayFromIDToID = <function 551>,
        rayFromPoint = <function 552>,
        rayFromPointByAxis = <function 553>,
        rayFromPointToPoint = <function 554>,
        rayGetDistance = <function 555>,
        rayGetImpactPos = <function 556>,
        rayGetNormal = <function 557>,
        removeBody = <function 558>,
        rotate = <function 559>,
        setActive = <function 560>,
        setAngularDamping = <function 561>,
        setAngularVelocity = <function 562>,
        setBodyGravity = <function 563>,
        setBounce = <function 564>,
        setCollisionEnable_OnEnd = <function 565>,
        setCollisionEnable_OnStart = <function 566>,
        setCollisionEnable_OnStay = <function 567>,
        setCollisionFlag = <function 568>,
        setForce = <function 569>,
        setForceAtPoint = <function 570>,
        setFriction = <function 571>,
        setGameType = <function 572>,
        setGravity = <function 573>,
        setGroupCollisionFlag = <function 574>,
        setImpulse = <function 575>,
        setImpulseAtPoint = <function 576>,
        setLinearDamping = <function 577>,
        setLocalForce = <function 578>,
        setLocalForceAtPoint = <function 579>,
        setLocalImpulse = <function 580>,
        setLocalImpulseAtPoint = <function 581>,
        setMass = <function 582>,
        setMaxAngularVelocity = <function 583>,
        setPosition = <function 584>,
        setRotation = <function 585>,
        setSceneGravity = <function 586>,
        setSkinWidth = <function 587>,
        setTerrainBounce = <function 588>,
        setTerrainFriction = <function 589>,
        setTriggerOrientation = <function 590>,
        setTriggerPosition = <function 591>,
        setVelocity = <function 592>
      },
      qt = <29>{
        addComboItem = <function 593>,
        blockSignals = <function 594>,
        clear = <function 595>,
        closeEditor = <function 596>,
        deselectAllItems = <function 597>,
        getAllDirsInDirectory = <function 598>,
        getAllTreeIDs = <function 599>,
        getChecked = <function 600>,
        getComboItemText = <function 601>,
        getCurrentIndex = <function 602>,
        getDirDialog = <function 603>,
        getFileInfo_AbsoluteFilePath = <function 604>,
        getFileInfo_AbsolutePath = <function 605>,
        getFileInfo_BaseName = <function 606>,
        getFileInfo_Suffix = <function 607>,
        getFileInfo_path = <function 608>,
        getHTMLText = <function 609>,
        getIcon = <function 610>,
        getListItemCount = <function 611>,
        getListItemText = <function 612>,
        getListSelectedItem = <function 613>,
        getNumTableColumns = <function 614>,
        getNumTableRows = <function 615>,
        getOpen_FileDialog = <function 616>,
        getPixmap = <function 617>,
        getSave_FileDialog = <function 618>,
        getSelectedItems = <function 619>,
        getSelectionMode = <function 620>,
        getTableItemText = <function 621>,
        getTableSelectedItem = <function 622>,
        getText = <function 623>,
        getTreeItemText = <function 624>,
        getTreeSelectedItem = <function 625>,
        getValue = <function 626>,
        hideWidget = <function 627>,
        insertListItem = <function 628>,
        insertTableColumn = <function 629>,
        insertTableRow = <function 630>,
        insertTreeItem = <function 631>,
        openEditor = <function 632>,
        removeComboItem = <function 633>,
        removeListItem = <function 634>,
        removeTableColumn = <function 635>,
        removeTableRow = <function 636>,
        removeTreeItem = <function 637>,
        setChecked = <function 638>,
        setComboItemText = <function 639>,
        setCurrentIndex = <function 640>,
        setDisabled = <function 641>,
        setEnabled = <function 642>,
        setFocus = <function 643>,
        setIcon = <function 644>,
        setIconSize = <function 645>,
        setIconView = <function 646>,
        setItemWidgetChecked = <function 647>,
        setItemWidgetImage = <function 648>,
        setItemWidgetSize = <function 649>,
        setItemWidgetText = <function 650>,
        setListItemIcon = <function 651>,
        setListItemText = <function 652>,
        setListItemTextAlign = <function 653>,
        setListItemWidget = <function 654>,
        setListSelectedItem = <function 655>,
        setListView = <function 656>,
        setMaxSize = <function 657>,
        setMaximumValue = <function 658>,
        setMinSize = <function 659>,
        setMinimumValue = <function 660>,
        setPixmap = <function 661>,
        setSelectionMode = <function 662>,
        setTableItemIcon = <function 663>,
        setTableItemText = <function 664>,
        setTableItemTextAlign = <function 665>,
        setTableItemWidget = <function 666>,
        setTableSelectedItem = <function 667>,
        setText = <function 668>,
        setTreeCollapseAll = <function 669>,
        setTreeExpandAll = <function 670>,
        setTreeItemExpanded = <function 671>,
        setTreeItemIcon = <function 672>,
        setTreeItemText = <function 673>,
        setTreeItemTextAlign = <function 674>,
        setTreeItemWidget = <function 675>,
        setTreeSelectedItem = <function 676>,
        setValue = <function 677>,
        showWidget = <function 678>
      },
      quat = <30>{
        getPitch = <function 679>,
        getQuat = <function 680>,
        getRoll = <function 681>,
        getRollPitchYaw = <function 682>,
        getW = <function 683>,
        getX = <function 684>,
        getXAxis_RotationTo = <function 685>,
        getY = <function 686>,
        getYAxis_RotationTo = <function 687>,
        getYaw = <function 688>,
        getZ = <function 689>,
        getZAxis_RotationTo = <function 690>,
        inverse = <function 691>,
        multiply = <function 692>,
        newQuat = <function 693>,
        newQuatFromAngleAxis = <function 694>,
        normalise = <function 695>,
        rotateOrientation = <function 696>,
        setQuatValues = <function 697>,
        setW = <function 698>,
        setX = <function 699>,
        setY = <function 700>,
        setZ = <function 701>,
        slerp = <function 702>
      },
      ray = <31>{
        getHeightOffGround = <function 703>,
        raycastFromObject = <function 704>,
        raycastToCamera = <function 705>,
        raycastToCenterScreen = <function 706>,
        raycastToCursor = <function 707>
      },
      render = <32>{
        getDefaultGUI_ID = <function 708>,
        getFSAA = <function 709>,
        getFullScreen = <function 710>,
        getPossibleFSAA = <function 711>,
        getPossibleRenderers = <function 712>,
        getPossibleResolutions = <function 713>,
        getQuality = <function 714>,
        getRenderer = <function 715>,
        getResolution = <function 716>,
        getShowDefaultGUI = <function 717>,
        getShowStats = <function 718>,
        getVsync = <function 719>,
        setFSAA = <function 720>,
        setFullscreen = <function 721>,
        setQuality = <function 722>,
        setRenderer = <function 723>,
        setResolution = <function 724>,
        setShowDefaultGUI = <function 725>,
        setShowStats = <function 726>,
        setVSync = <function 727>
      },
      resource = <33>{
        prepareMaterial = <function 728>,
        prepareMesh = <function 729>,
        preparePreset = <function 730>
      },
      ribbon = <34>{
        create = <function 731>,
        destroy = <function 732>,
        getPosition = <function 733>,
        setCastShadows = <function 734>,
        setDefaults = <function 735>,
        setDepthBias = <function 736>,
        setDiffuseTexture = <function 737>,
        setEmissiveAmt = <function 738>,
        setFaceCamera = <function 739>,
        setFadeColour = <function 740>,
        setInitialColour = <function 741>,
        setIsVisible = <function 742>,
        setLighting = <function 743>,
        setMaterialName = <function 744>,
        setMaxElements = <function 745>,
        setNormalVector = <function 746>,
        setNumOfChains = <function 747>,
        setOpacity = <function 748>,
        setPosition = <function 749>,
        setRenderBackface = <function 750>,
        setRenderDistance = <function 751>,
        setRenderQueue = <function 752>,
        setRotateEnable = <function 753>,
        setRotateSpeed = <function 754>,
        setSceneBlend = <function 755>,
        setScrollAmount = <function 756>,
        setScrollEnable = <function 757>,
        setTexAddressMode = <function 758>,
        setTexFiltering = <function 759>,
        setTrailLength = <function 760>,
        setUseTexCoords = <function 761>,
        setWidth = <function 762>,
        setWidthRemovePerSec = <function 763>,
        timeOut = <function 764>
      },
      screen = <35>{
        getHeight = <function 765>,
        getMouseDelta = <function 766>,
        getMouseX = <function 767>,
        getMouseY = <function 768>,
        getWidth = <function 769>,
        worldPosInFront = <function 770>,
        worldPosInFrustum = <function 771>,
        worldPosToAbsScreenPos = <function 772>,
        worldPosToScreenPos = <function 773>
      },
      sensor = <36>{
        enableVisibilityCheck = <function 774>,
        isTargetVisible = <function 775>,
        setSensorFaction = <function 776>,
        setTargetMode_Closest = <function 777>,
        setTargetMode_Faction = <function 778>,
        setTargetMode_Random = <function 779>,
        setTargetMode_Single = <function 780>
      },
      shader = <37>{
        setFragmentParam = <function 781>,
        setVertexParam = <function 782>
      },
      sky = <38>{
        callGlobalFn = <function 783>,
        exitEnable = <function 784>,
        exitGame = <function 785>,
        getDir_AssetLibrary = <function 786>,
        getDir_DataFolder = <function 787>,
        getDir_Environements = <function 788>,
        getDir_GameAssets = <function 789>,
        getDir_GameRoot = <function 790>,
        getDir_Materials = <function 791>,
        getDir_Models = <function 792>,
        getDir_Presets = <function 793>,
        getDir_Scenes = <function 794>,
        getDir_Scripts = <function 795>,
        getDir_Textures = <function 796>,
        getDir_VisualModules = <function 797>,
        getDir_Win32 = <function 798>,
        getDir_Win64 = <function 799>,
        getGameState = <function 800>,
        getMouseDelta = <function 801>,
        getSceneScriptID = <function 802>,
        getSelectedID = <function 803>,
        getTable = <function 804>,
        getVar = <function 805>,
        include = <function 806>,
        loadScene = <function 807>,
        lprint = <function 808>,
        print = <function 809>,
        printTable = <function 810>,
        raycastToCursor = <function 811>,
        restartGame = <function 812>,
        setGameState = <function 813>,
        setTable = <function 814>,
        setVar = <function 815>,
        suppressErrors = <function 816>,
        trace = <function 817>,
        ui_changeInterface = <function 818>,
        ui_clear = <function 819>,
        ui_setFontColor = <function 820>
      },
      sound = <39>{
        changePitch = <function 821>,
        changePosition = <function 822>,
        changeVolume = <function 823>,
        create2DSound = <function 824>,
        createSound = <function 825>,
        distanceAttenuation = <function 826>,
        freeSound = <function 827>,
        isPlaying = <function 828>,
        play2DSound = <function 829>,
        play3DSound = <function 830>,
        setIsStreamed = <function 831>,
        setLooped = <function 832>,
        setMaxDistance = <function 833>,
        setMinDistance = <function 834>,
        setPitch = <function 835>,
        setRolloff = <function 836>,
        setSoundFile = <function 837>,
        setVolume = <function 838>,
        stopSound = <function 839>
      },
      string = <40>{
        byte = <function 840>,
        char = <function 841>,
        dump = <function 842>,
        find = <function 843>,
        format = <function 844>,
        gfind = <function 845>,
        gmatch = <function 845>,
        gsub = <function 846>,
        len = <function 847>,
        lower = <function 848>,
        match = <function 849>,
        rep = <function 850>,
        reverse = <function 851>,
        sub = <function 852>,
        upper = <function 853>
      },
      table = <41>{
        concat = <function 854>,
        foreach = <function 855>,
        foreachi = <function 856>,
        getn = <function 857>,
        insert = <function 858>,
        maxn = <function 859>,
        remove = <function 860>,
        setn = <function 861>,
        sort = <function 862>
      },
      terrain = <42>{
        getHeightAtPoint = <function 863>,
        getSurfaceAtPoint = <function 864>,
        getTextureAtPoint = <function 865>
      },
      time = <43>{
        startMultiTimer = <function 866>,
        startTimer = <function 867>,
        stopMultiTimer = <function 868>,
        stopTimer = <function 869>
      },
      transform = <44>{
        degreeToRadian = <function 870>,
        radianToDegree = <function 871>
      },
      ui = <45>{
        deleteLayer = <function 872>,
        enableDefaultUI = <function 873>,
        newLayer = <function 874>,
        newText = <function 875>,
        setColor = <function 876>,
        setFontSize = <function 877>,
        setLayer = <function 878>,
        setLayerVisible = <function 879>,
        text = <function 880>
      },
      vector2 = <46>{
        angle = <function 881>,
        angleTo = <function 882>,
        crossProduct = <function 883>,
        distance = <function 884>,
        dotProduct = <function 885>,
        isNAN = <function 886>,
        isZeroLength = <function 887>,
        length = <function 888>,
        midPoint = <function 889>,
        normalise = <function 890>,
        normalisedCopy = <function 891>,
        perpendicular = <function 892>,
        randomDeviant = <function 893>,
        reflect = <function 894>,
        squaredDistance = <function 895>,
        squaredLength = <function 896>
      },
      vector3 = <47>{
        absDotProduct = <function 897>,
        angle = <function 898>,
        crossProduct = <function 899>,
        directionEquals = <function 900>,
        distance = <function 901>,
        dotProduct = <function 902>,
        getRotationTo = <function 903>,
        isNAN = <function 904>,
        isZeroLength = <function 905>,
        length = <function 906>,
        midPoint = <function 907>,
        normalise = <function 908>,
        normalisedCopy = <function 909>,
        perpendicular = <function 910>,
        positionCloses = <function 911>,
        positionEquals = <function 912>,
        primaryAxis = <function 913>,
        randomDeviant = <function 914>,
        reflect = <function 915>,
        squaredDistance = <function 916>,
        squaredLength = <function 917>
      },
      vector4 = <48>{
        dotProduct = <function 918>,
        isNAN = <function 919>
      },
      vehicle = <49>{
        accelerate = <function 920>,
        addChassis = <function 921>,
        addWheel = <function 922>,
        applyForce = <function 923>,
        applyForceAtPoint = <function 924>,
        applyLocalForce = <function 925>,
        applyLocalForceAtPoint = <function 926>,
        createPhyicsBody = <function 927>,
        createVehicle = <function 928>,
        createWheels = <function 929>,
        decelerate = <function 930>,
        deformMesh = <function 931>,
        destroy = <function 932>,
        enableAutoMaxSteer = <function 933>,
        followPath = <function 934>,
        followPathPosition = <function 935>,
        getActiveVehicleID = <function 936>,
        getAutoMaxSteerEnabled = <function 937>,
        getCurrentGear = <function 938>,
        getCurrentThrottle = <function 939>,
        getFollowedPathName = <function 940>,
        getMaxBrakeForce = <function 941>,
        getMaxSpeed_KPH = <function 942>,
        getMaxSpeed_MPH = <function 943>,
        getMoveDirection = <function 944>,
        getNumOfChassis = <function 945>,
        getNumOfWheels = <function 946>,
        getRPM = <function 947>,
        getSpeed_Kph = <function 948>,
        getSpeed_Mph = <function 949>,
        getSteeringAngle = <function 950>,
        getSteeringMulti = <function 951>,
        getTagOffset = <function 952>,
        getVehicleID = <function 953>,
        getVelocity = <function 954>,
        getWheelGlobalPosition = <function 955>,
        getWheelLocalPosition = <function 956>,
        getWheelMesh = <function 957>,
        getWheelRadius = <function 958>,
        getWheel_ContactForce = <function 959>,
        getWheel_ContactGround = <function 960>,
        getWheel_ContactNormal = <function 961>,
        getWheel_ContactPoint = <function 962>,
        getWheel_ContactPosition = <function 963>,
        getWheel_LateralDirection = <function 964>,
        getWheel_LateralImpulse = <function 965>,
        getWheel_LateralSlip = <function 966>,
        getWheel_LongitudalDirection = <function 967>,
        getWheel_LongitudalImpulse = <function 968>,
        getWheel_LongitudalSlip = <function 969>,
        handBrake = <function 970>,
        isDestinationReached = <function 971>,
        isEngineStarted = <function 972>,
        isEngineStarting = <function 973>,
        isFollowingPath = <function 974>,
        isPlayer = <function 975>,
        setAirResistance = <function 976>,
        setAngularDamping = <function 977>,
        setAngularMomentum = <function 978>,
        setAngularVelocity = <function 979>,
        setAntiRollAmount = <function 980>,
        setAsPlayer = <function 981>,
        setBrakeTorque = <function 982>,
        setCenterOfMass = <function 983>,
        setCurrentGear = <function 984>,
        setCurrentThrottle = <function 985>,
        setCustomDebugMaterial = <function 986>,
        setDownforce = <function 987>,
        setGearRatio = <function 988>,
        setInverseWheelMass = <function 989>,
        setLatWheelFrictionSettings = <function 990>,
        setLatWheelFrictionStiffness = <function 991>,
        setLength = <function 992>,
        setLinearDamping = <function 993>,
        setLinearMomentum = <function 994>,
        setLinearVelocity = <function 995>,
        setLongWheelFrictionSettings = <function 996>,
        setLongWheelFrictionStiffness = <function 997>,
        setLooped = <function 998>,
        setMass = <function 999>,
        setMaxSpeed_KPH = <function 1000>,
        setMaxSpeed_MPH = <function 1001>,
        setMaxSteeringAngle = <function 1002>,
        setMotorTorque = <function 1003>,
        setNoWheelsDownforce = <function 1004>,
        setNumOfChassis = <function 1005>,
        setNumberOfGears = <function 1006>,
        setNumberOfWheels = <function 1007>,
        setOrientation = <function 1008>,
        setPairDownforce = <function 1009>,
        setPathAccuracy = <function 1010>,
        setPathMaxTurn = <function 1011>,
        setPathNodeIndex = <function 1012>,
        setPitch = <function 1013>,
        setPosition = <function 1014>,
        setRPM = <function 1015>,
        setSound = <function 1016>,
        setSteeringCoefMulti = <function 1017>,
        setSteeringMulti = <function 1018>,
        setSuspensionSettings = <function 1019>,
        setTagOffset = <function 1020>,
        setTorqueCurveSlot = <function 1021>,
        setVolume = <function 1022>,
        setWheelAsHandbrake = <function 1023>,
        setWheelMesh = <function 1024>,
        setWheelParticle = <function 1025>,
        setWheelParticleEnabled = <function 1026>,
        setWheelParticlePosition = <function 1027>,
        setWheelRadius = <function 1028>,
        showDebug = <function 1029>,
        startEngine = <function 1030>,
        steerLeft = <function 1031>,
        steerRight = <function 1032>,
        stopEngine = <function 1033>,
        useAirResistance = <function 1034>,
        useAntiRoll = <function 1035>,
        useSound = <function 1036>,
        useWheelParticle = <function 1037>
      }
    },
    loaders = { <function 1038>, <function 1039>, <function 1040>, <function 1041> },
    loadlib = <function 1042>,
    path = ".\\?.lua;D:\\Aurasoft\\SkylineSDK\\Skyline\\Win64_Release\\lua\\?.lua;D:\\Aurasoft\\SkylineSDK\\Skyline\\Win64_Release\\lua\\?\\init.lua;D:\\Aurasoft\\SkylineSDK\\Skyline\\Win64_Release\\?.lua;D:\\Aurasoft\\SkylineSDK\\Skyline\\Win64_Release\\?\\init.lua",
    preload = {},
    seeall = <function 1043>
  },
  pairs = <function 1044>,
  pairsByOrderedKeys = <function 1045>,
  particle = <table 26>,
  path = <table 27>,
  pcall = <function 1046>,
  physics = <table 28>,
  print = <function 1047>,
  qt = <table 29>,
  quat = <table 30>,
  rapidjson = {
    _NAME = "rapidjson",
    _VERSION = "scm",
    array = <function 1048>,
    decode = <function 1049>,
    dump = <function 1050>,
    encode = <function 1051>,
    load = <function 1052>,
    null = <function 1053>,
    object = <function 1054>
  },
  rawequal = <function 1055>,
  rawget = <function 1056>,
  rawset = <function 1057>,
  ray = <table 31>,
  render = <table 32>,
  require = <function 1058>,
  resource = <table 33>,
  ribbon = <table 34>,
  screen = <table 35>,
  select = <function 1059>,
  sensor = <table 36>,
  setfenv = <function 1060>,
  setmetatable = <function 1061>,
  shader = <table 37>,
  showSkyOptionsScreen = <function 1062>,
  sky = <table 38>,
  skyMath = {
    linearInterp = <function 1063>
  },
  skyOptions_acceptChanges_No = <function 1064>,
  skyOptions_acceptChanges_Yes = <function 1065>,
  skyOptions_applyGfx = <function 1066>,
  skyOptions_back = <function 1067>,
  skyOptions_setFSAA = <function 1068>,
  skyOptions_setFullscreen = <function 1069>,
  skyOptions_setQuality = <function 1070>,
  skyOptions_setRenderer = <function 1071>,
  skyOptions_setResolution = <function 1072>,
  skyOptions_setShowStats = <function 1073>,
  skyOptions_setVSync = <function 1074>,
  sound = <table 39>,
  sprint = <function 1075>,
  string = <table 40>,
  table = <table 41>,
  tablelength = <function 1076>,
  terrain = <table 42>,
  time = <table 43>,
  tonumber = <function 1077>,
  tostring = <function 1078>,
  trace = <function 1079>,
  transform = <table 44>,
  type = <function 1080>,
  ui = <table 45>,
  unpack = <function 1081>,
  updateDefaultGUI_Screen = <function 1082>,
  vector2 = <table 46>,
  vector3 = <table 47>,
  vector4 = <table 48>,
  vehicle = <table 49>,
  xpcall = <function 1083>
}


Regards

Shando
Attachments
inspect.lua
(8.97 KiB) Downloaded 477 times
Ryzen 7 4800H 16GB GTX1650 Win 11 64
Love, Hope, Strength http://www.lovehopestrength.co.uk
User avatar
Shando
Skyline Moderator
Skyline Moderator
 
Posts: 560
Joined: 06 Mar 2013, 22:35
Location: Moffat Beach, Queensland
Skill: Programmer
Skill: Scripter
Skill: Level Designer

Re: Rotate a physics body

Postby CreativeOcclusion » 27 Mar 2016, 19:29

Thanks Shando....This is what I needed... :D ...CO
Thanks, CreativeOcclusion
User avatar
CreativeOcclusion
Skyline Warrior
 
Posts: 366
Joined: 22 Jun 2015, 19:34
Location: Texas


Return to Lua Scripting

Who is online

Users browsing this forum: No registered users and 6 guests

cron