Download Docs/LuaDoc_CObject.md.html from sirnii/myspace: direct link, hf CLI and curl.
- Browser
- Download file 32.7 kB
-
https://huggingface.co/spaces/sirnii/myspace/resolve/main/Docs/LuaDoc_CObject.md.html
- Command line
-
hf download hf://spaces/sirnii/myspace/Docs/LuaDoc_CObject.md.html
-
curl -L -o LuaDoc_CObject.md.html https://huggingface.co/spaces/sirnii/myspace/resolve/main/Docs/LuaDoc_CObject.md.html
32.7 kB
| # CObject Overview | |
| CObjects are objects, accessible to Lua, which have a counterpart in the C++ side of the engine. | |
| They do not have allocated memory in the Lua side, and therefore cannot store any information. | |
| Reference: [CObject](LuaCObject.md.html) | |
| # Parent classes | |
| * ColorizableObject | |
| * FXObject | |
| * MapObject | |
| * [PropertyObject](LuaClasses.md.html#propertyobject) | |
| # CObject reference | |
| ## CObject:Attach | |
| Attaches one object to another at a specified spot. | |
| void **CObject:Attach**(object child, int spot) | |
| object child | |
| : object to be attached | |
| int spot | |
| : spot numeric index | |
| ## CObject:ChangeEntity | |
| Changes the object's entity. | |
| void **CObject:ChangeEntity**(string entity) | |
| string entity | |
| : the entity name | |
| ## CObject:ClearEnumFlags | |
| Clear the object's enumeration flags. | |
| void **CObject:ClearEnumFlags**(int mask) | |
| int mask | |
| : mask containing the flags to be cleared. | |
| Example: | |
| ~~~~ Lua | |
| obj:ClearEnumFlags(const.efVisible) | |
| -- the object is now invisible | |
| ~~~~ | |
| ## CObject:ClearGameFlags | |
| Clear the object's game flags. | |
| void **CObject:ClearGameFlags**(int mask) | |
| int mask | |
| : mask containing the flags to be cleared. | |
| Example: | |
| ~~~~ Lua | |
| obj:ClearGameFlags(const.gofAlwaysRenderable) | |
| -- the object wont be drawn when outside the camera view | |
| ~~~~ | |
| ## CObject:CountAttaches | |
| Counts object attaches based on certain criteria | |
| int **CObject:CountAttaches**([string classes], [function filter], ...) | |
| string classes | |
| : an optional comma separated list of classes, to filter the attached objects. If not provided, all attaches shall be processed. | |
| function filter | |
| : an optional function to test if an attach is to be counted. Any parameter provided after the callback, would be passed to it when called. | |
| _returns_ int | |
| : the count of matched attaches. | |
| Example: | |
| ~~~~ Lua | |
| local count = obj:CountAttaches("foo, bar", function(obj) return not obj:GetVisible() end) | |
| -- 'count' equals the number of the invisible attaches form the classes "foo" and "bar" | |
| ~~~~ | |
| ## CObject:DestroyAttaches | |
| Destroys object attaches based on certain criteria | |
| int **CObject:DestroyAttaches**([string classes], [function filter], ...) | |
| string classes | |
| : an optional comma separated list of classes, to filter the attached objects. If not provided, all attaches shall be processed. | |
| function filter | |
| : an optional function to test if an attach is to be deleted. Any parameter provided after the callback, would be passed to it when called. | |
| _returns_ int | |
| : the count of matched attaches. | |
| Example: | |
| ~~~~ Lua | |
| obj:DestroyAttaches("foo, bar", function(obj) return not obj:GetVisible() end) | |
| -- all invisible attaches form the classes "foo" and "bar" are now destroyed | |
| ~~~~ | |
| ## CObject:Detach | |
| Detach an attached object from its parent. | |
| void **CObject:Detach**() | |
| ## CObject:DetachFromMap | |
| Removes the object from the map. The object's position wont be valid any more. | |
| void **CObject:DetachFromMap**() | |
| ## CObject:ForEachAttach | |
| Calls a function callback for each attached object from a list of classes | |
| int **CObject:ForEachAttach**([string classes], function callback, ...) | |
| string classes | |
| : an optional comma separated list of classes, to filter the attached objects. If not provided, all attaches shall be processed. | |
| function callback | |
| : a function to call for each attach. Any parameter provided after the callback, would be passed to it when called. | |
| _returns_ int | |
| : the count of matched attaches. | |
| Example: | |
| ~~~~ Lua | |
| obj:ForEachAttach("foo, bar", function(obj, visible) obj:SetVisible(visible) end, false) | |
| -- all attaches form the classes "foo" and "bar" are now invisible | |
| ~~~~ | |
| ## CObject:GetAccelerationAndTime | |
| Computes the linear acceleration and the time needed to reach a target position with a given final speed. | |
| int, int **CObject:GetAccelerationAndTime**(point pos, int speed, [int speed0]) | |
| int, int **CObject:GetAccelerationAndTime**(int x, int y, int z, int speed, [int speed0]) | |
| point pos | |
| : the target position as a point | |
| int x, y, z | |
| : the target position as coordinates | |
| int speed | |
| : the desired final speed | |
| int speed0 | |
| : the initial speed (optional, the current speed by default) | |
| _returns_ int, int | |
| : the acceleration and the time | |
| Example: | |
| ~~~~ Lua | |
| local accel, time = obj:GetAccelerationAndTime(pos, 0) | |
| obj:SetAcceleration(accel) | |
| obj:SetPos(pos, time) | |
| -- the object will slowly stop at the target position | |
| ~~~~ | |
| ## CObject:GetAngle | |
| Returns the final rotation angle of an object. | |
| The visual angle is different from the final angle, only when the object is still rotating. | |
| int **CObject:GetAngle**() | |
| _returns_ int | |
| : final rotation angle. | |
| ## CObject:GetAttaches | |
| Collects the attaches from given class(es). If no class is specified, then all attached objects shall be collected. | |
| table **CObject:GetAttaches**([string class]) | |
| table **CObject:GetAttaches**([table classes]) | |
| string class | |
| : an optional class name, to filter the attached objects. | |
| table classes | |
| : an optional class list, to filter the attached objects. | |
| _returns_ table | |
| : a list containing the matched attaches, or nil if none has been found. | |
| Example: | |
| ~~~~ Lua | |
| local attaches = obj:GetAttaches("foo") | |
| -- 'attaches' containts all attached objects form the class "foo" | |
| ~~~~ | |
| ## CObject:GetAxis | |
| Returns the rotation axis of an object. | |
| point **CObject:GetAxis**() | |
| _returns_ point | |
| : rotation axis vector as point | |
| ## CObject:GetClassFlags | |
| Returns the object's class flags. All object flags are represented as a single bit (0 or 1). | |
| int **CObject:GetClassFlags**([int mask]) | |
| int mask | |
| : optional flag mask, used to check if the object contains specific flags. | |
| _returns_ int | |
| : the object's enumeration flags, masked with the mask if provided. | |
| Example: | |
| ~~~~ Lua | |
| if obj:GetClassFlags(const.cfDecal) ~= 0 then | |
| -- the object is a decal | |
| end | |
| ~~~~ | |
| ## CObject:GetDist | |
| Computes the distance from the object's final position to another position. | |
| int **CObject:GetDist**(object obj) | |
| int **CObject:GetDist**(box bx) | |
| int **CObject:GetDist**(point pos) | |
| object obj | |
| : check distance to an object | |
| box bx | |
| : check distance to a box | |
| point pos | |
| : check distance to a position | |
| _returns_ int | |
| : the computed distance | |
| ## CObject:GetEntityBBox | |
| Returns the bounding box of the current state of the object with mirroring applied, but without applying object's position, scale and orientation. | |
| box **CObject:GetEntityBBox**() | |
| _returns_ box | |
| : the bounding box of the entity. | |
| ## CObject:GetEnumFlags | |
| Returns the object's enumeration flags. All object flags are represented as a single bit (0 or 1). | |
| int **CObject:GetEnumFlags**([int mask]) | |
| int mask | |
| : optional flag mask, used to check if the object contains specific flags. | |
| _returns_ int | |
| : the object's enumeration flags, masked with the mask if provided. | |
| Example: | |
| ~~~~ Lua | |
| if obj:GetEnumFlags(const.efVisible) ~= 0 then | |
| -- the object is visible | |
| end | |
| ~~~~ | |
| ## CObject:GetFreeSpot | |
| Returns an index of a spot from a given type with no attaches | |
| int **CObject:GetFreeSpot**(string spot) | |
| string spot | |
| : spot type name | |
| _returns_ int | |
| : the spot index, -1 if not found. | |
| ## CObject:GetGameFlags | |
| Returns the object's game flags. All object flags are represented as a single bit (0 or 1). | |
| int **CObject:GetGameFlags**([int mask]) | |
| int mask | |
| : optional flag mask, used to check if the object contains specific flags. | |
| _returns_ int | |
| : the object's game flags, masked with the mask if provided. | |
| Example: | |
| ~~~~ Lua | |
| if obj:GetGameFlags(const.gofAlwaysRenderable) ~= 0 then | |
| -- the object is drawn even when outside the camera view | |
| end | |
| ~~~~ | |
| ## CObject:GetMaxRadius | |
| Returns the maximim object's entity radius in any of its states (animations). | |
| int **CObject:GetMaxRadius**() | |
| _returns_ int | |
| : object's max radius. | |
| ## CObject:GetNearestSpot | |
| Returns the index of the nearest spot to a specified location | |
| int **CObject:GetNearestSpot**(string spot, point pos) | |
| int **CObject:GetNearestSpot**(string spot, object obj) | |
| string spot | |
| : spot type name | |
| point pos | |
| : location as point | |
| object obj | |
| : location as object | |
| _returns_ int | |
| : the spot index, -1 if not found. | |
| ## CObject:GetNumStates | |
| Returns the number of valid states (animations) for current object. | |
| int **CObject:GetNumStates**() | |
| _returns_ int | |
| : number of states | |
| ## CObject:GetObjectBBox | |
| Returns the object's bounding box in its current state (animation). | |
| box **CObject:GetObjectBBox**() | |
| _returns_ box | |
| : the object's bounding box. | |
| ## CObject:GetParent | |
| Returns the parent object (if the current object is attached). | |
| object **CObject:GetParent**() | |
| _returns_ object | |
| : the parent object if any, nil otherwise | |
| ## CObject:GetPos | |
| Returns the final map position of an object . | |
| The visual position is different from the final position, only when the object is still moving. | |
| point **CObject:GetPos**() | |
| _returns_ point | |
| : final map position. | |
| ## CObject:GetPosXYZ | |
| Same as GetPos, but returns the coordinates of the position. | |
| int, int, int **CObject:GetPosXYZ**() | |
| _returns_ int, int, int | |
| : coordinates of the final map position. | |
| ## CObject:GetRadius | |
| Returns the object's entity radius in its current state (animation). For objects without entity, the radius can be specified as a member 'radius' in the class definition. | |
| int **CObject:GetRadius**() | |
| _returns_ int | |
| : object's radius. | |
| ## CObject:GetRandomSpot | |
| Returns the index of a random spot from a given type | |
| int **CObject:GetRandomSpot**(string spot) | |
| string spot | |
| : spot type name | |
| _returns_ int | |
| : the spot index, -1 if not found. | |
| ## CObject:GetRelativePoint | |
| Computes the world position of a point relative to an object. | |
| point **CObject:GetRelativePoint**(point pos) | |
| point **CObject:GetRelativePoint**(int x, int y, int z) | |
| point pos | |
| : position relative to the object as a point. | |
| int x, y, z | |
| : position relative to the object as coordinates. | |
| Example: | |
| ~~~~ Lua | |
| local pos = obj:GetRelativePoint(0, 0, 10*guim) | |
| -- 'pos' is located 10 meters above the object | |
| ~~~~ | |
| ## CObject:GetRollPitchYaw | |
| Returns the object's orientation as roll, pitch and yaw angles. | |
| int **CObject:GetRollPitchYaw**([int time_delta]) | |
| int time_delta | |
| : optional time interval in the future, thus enabling to get a future orientation. | |
| _returns_ int, int, int | |
| : the object's roll, pitch and yaw angle. | |
| ## CObject:GetScale | |
| Returns the object's scale (disregarding parent hierarchy). | |
| int **CObject:GetScale**() | |
| _returns_ int | |
| : the object's scale in percent (100% is the default). | |
| ## CObject:GetSpotAxisAngle | |
| Returns the rotation of the specified spot around it's rotation axis. | |
| angle axis **CObject:GetSpotAxisAngle**(int spot) | |
| int spot | |
| : spot index. | |
| _returns_ point axis | |
| : the spot rotation axis vector as point. | |
| _returns_ int angle | |
| : the spot rotation. | |
| ## CObject:GetSpotBeginIndex | |
| Returns the first spot index from a given spot type for an object | |
| int, int **CObject:GetSpotBeginIndex**(string spot) | |
| string spot | |
| : spot name | |
| _returns_ int | |
| : the spot index, -1 if not found. | |
| ## CObject:GetSpotEndIndex | |
| Returns the last spot index from a given spot type for an object | |
| int, int **CObject:GetSpotEndIndex**(string spot) | |
| string spot | |
| : spot name | |
| _returns_ int | |
| : the spot index, -1 if not found. | |
| ## CObject:GetSpotPos | |
| Returns the final world position of the specified spot. | |
| point **CObject:GetSpotPos**(int spot) | |
| int spot | |
| : spot index. | |
| _returns_ point | |
| : the spot position. | |
| ## CObject:GetSpotPosXYZ | |
| Same as GetSpotPos but the returned values are the position's coordinates. | |
| int, int, int **CObject:GetSpotPosXYZ**(int spot) | |
| int spot | |
| : spot index. | |
| _returns_ int, int, int | |
| : the coordinates of the spot position. | |
| ## CObject:GetSpotRange | |
| Returns the first and the last spot indexes from a given spot type for an object | |
| int, int **CObject:GetSpotRange**(string spot) | |
| string spot | |
| : spot name | |
| _returns_ int, int | |
| : the spot indexes, -1 if not found. | |
| ## CObject:GetState | |
| Gets the object's current state index (animation index). | |
| int **CObject:GetState**() | |
| _returns_ int | |
| : the state index | |
| ## CObject:GetVisualAngle | |
| Returns the visual rotation angle of an object. | |
| The visual angle is different from the final angle, only when the object is still rotating. | |
| int **CObject:GetVisualAngle**() | |
| _returns_ int | |
| : visual rotation angle. | |
| ## CObject:GetVisualDist | |
| Computes the distance from the object's visual position to another position. | |
| int **CObject:GetVisualDist**(object obj) | |
| int **CObject:GetVisualDist**(box bx) | |
| int **CObject:GetVisualDist**(point pos) | |
| object obj | |
| : check distance to an object | |
| box bx | |
| : check distance to a box | |
| point pos | |
| : check distance to a position | |
| _returns_ int | |
| : the computed distance | |
| ## CObject:GetVisualPos | |
| Returns the visual position of an object. | |
| The visual position is different from the final position, only when the objects is still moving. | |
| point **CObject:GetVisualPos**([int time_delta = 0], [bool extrapolate = false]) | |
| int time_delta | |
| : optional parameter to specify a different moment than now. | |
| bool extrapolate | |
| : if true and if the provided time exceeds the movement time, avoids the clamping. | |
| _returns_ point | |
| : visual position. | |
| ## CObject:GetVisualPos2D | |
| Same as GetVisualPos, but the returned position is only two dimensional. | |
| point **CObject:GetVisualPos2D**([int time], [bool extrapolate = false]) | |
| _returns_ point | |
| : visual 2D position. | |
| ## CObject:GetVisualPosXYZ | |
| Same as GetVisualPos, but the returned values are the object coordinates. | |
| int, int, int **CObject:GetVisualPosXYZ**([int time_delta = 0], [bool extrapolate = false]) | |
| _returns_ int, int, int | |
| : visual coordinates X, Y and Z. | |
| ## CObject:GetVisualScale | |
| Returns the object's current visual scale (disregarding parent hierarchy). | |
| int **CObject:GetVisualScale**(int delta = 0) | |
| _returns_ int | |
| : the object's scale in percent (100% is the default). | |
| ## CObject:GetVisualWorldScale | |
| Returns the object's world current visual scale (considering parent hierarchy). | |
| int **CObject:GetVisualWorldScale**(int delta = 0) | |
| _returns_ int | |
| : the object's world scale in percent (100% is the default). | |
| ## CObject:GetVisualZ | |
| Same as GetVisualPos, but returns only the Z coordinate of the visual map position. | |
| int **CObject:GetVisualZ**([int time_delta = 0], [bool extrapolate = false]) | |
| _returns_ int | |
| : Z coordinate of the visual map position. | |
| ## CObject:GetWorldScale | |
| Returns the object's world scale (considering parent hierarchy). | |
| int **CObject:GetWorldScale**() | |
| _returns_ int | |
| : the object's world scale in percent (100% is the default). | |
| ## CObject:GetZ | |
| Same as GetPos, but returns only the Z coordinate of the final map position, or nil if on the terrain. | |
| int **CObject:GetZ**() | |
| _returns_ int | |
| : Z coordinate of the final map position. | |
| ## CObject:HasAllSurfaces | |
| Checks if the object's entity has specific surfaces. | |
| bool **CObject:HasAllSurfaces**(int mask, [bool hierarchical]) | |
| int mask | |
| : A mask of the surfaces in question. See the 'EntitySurfaces' global for a list of surfaces and their masks. | |
| bool hierarchical | |
| : Checks the attached objects too. | |
| _returns_ bool | |
| : Returns true if the entity has all of those surfaces. | |
| ## CObject:HasAnySurfaces | |
| Checks if the object's entity has specific surfaces. | |
| bool **CObject:HasAnySurfaces**(int mask, [bool hierarchical]) | |
| int mask | |
| : A mask of the surfaces in question. See the 'EntitySurfaces' global for a list of surfaces and their masks. | |
| bool hierarchical | |
| : Checks the attached objects too. | |
| _returns_ bool | |
| : Returns true if the entity has any of those surfaces. | |
| ## CObject:HasEntity | |
| Checks if an object has an entity. | |
| bool **CObject:HasEntity**() | |
| _returns_ bool | |
| : true if entity is present. | |
| ## CObject:HasSpot | |
| Checks if an object has a given spot type. | |
| bool **CObject:HasSpot**(string spot) | |
| string spot | |
| : the spot name to be checked | |
| _returns_ bool | |
| : true if the spot is present. | |
| ## CObject:HasState | |
| Checks if the object's entity has a given state (animation). | |
| bool **CObject:HasState**(string name) | |
| bool **CObject:HasState**(int index) | |
| string name | |
| : the state name to check for | |
| int index | |
| : the state index to check for | |
| _returns_ bool | |
| : Returns true if the state is present | |
| ## CObject:IntersectBBox | |
| Intersects object's bounding box in its current state/animation with a given box or point. | |
| int **CObject:IntersectBBox**(box/point, b2D = false) | |
| _returns_ int/bool | |
| : intersection result. | |
| ## CObject:IsAnimEnd | |
| Returns if the current phase is the last anim phase | |
| int **CObject:IsAnimEnd**([int channel = 1]) | |
| int channel | |
| : optional animation channel | |
| _returns_ bool | |
| : true if the current phase is the last anim phase | |
| ## CObject:IsReachableFrom | |
| Checks if any of the source points can reach any of the approach points. | |
| The function makes a single path finding call. In order to work correctly, all pass tunnels have to be symetrical (no one way tunnels). | |
| bool **CObject:IsReachableFrom**(table sources, int pfclass = 0, int restrict_dist = 150*guim) | |
| table sources | |
| : Table with points or objects or a single object | |
| int pfclass | |
| : Optional pfclass | |
| int restrict_dist | |
| : Optional restrict distance | |
| ## CObject:IsSoundMuted | |
| Returns the value of the sound mute flag for an object. | |
| void **CObject:IsSoundMuted**() | |
| ## CObject:IsValidPos | |
| Checks if an object is present on the map | |
| bool **CObject:IsValidPos**() | |
| _returns_ bool | |
| : returns true, if the object has a position on the map. | |
| ## CObject:IsValidZ | |
| Checks if the object position has a valid Z coordinate. Objects with invalid Z are always drawn on the terrain surface. | |
| bool **CObject:IsValidZ**() | |
| _returns_ bool | |
| : returns true, if the object has a valid Z coordinate. | |
| ## CObject:PlayState | |
| Similar to SetState, but waits until the state animation is played before returning. | |
| void **CObject:PlayState**(string name, [int count = 1, int flags = 0, int crossfade = -1]) | |
| void **CObject:PlayState**(int index, [int count = 1, int flags = 0, int crossfade = -1]) | |
| string name | |
| : the state name to check for | |
| string index | |
| : the state index to check for | |
| int count | |
| : optional count of animation replays (for looped animations only) | |
| int flags | |
| : optional animation control flags (see object documentation for details) | |
| int crossfade | |
| : optional animation crossfade time (see object documentation for details) | |
| ## CObject:RemoveLuaReference | |
| Called when a cobject having a Lua reference is being destroyed. The method isn't overriden by child classes, but instead all implementations are called starting from the topmost parent. | |
| void **CObject:RemoveLuaReference**() | |
| ## CObject:SetAcceleration | |
| Sets linear acceleration as easing function when moving the object. | |
| void **CObject:SetAcceleration**(int accel) | |
| int accel | |
| : the linear acceleration value | |
| ## CObject:SetAngle | |
| Smoothly changes the object's rotation angle over the specified time. | |
| void **CObject:SetAngle**(int angle, [int time = 0]) | |
| int angle | |
| : the new angle (in minutes, 1 degree equals 60 minutes) | |
| int time | |
| : the time (ms) to change the axis (optional) | |
| ## CObject:SetAnimPhase | |
| Advance the object's animation to a specific moment (phase). For nonlooping animations, the phase is clamped between 0 and the normal duration of the animation (without considering any speed modifications). | |
| void **CObject:SetAnimPhase**(int channel, int phase) | |
| int channel | |
| : animation channel index (first channel is 1) | |
| int phase | |
| : the animation time to set. | |
| Example: | |
| ~~~~ Lua | |
| local duration = obj:SetState("step") | |
| obj:SetAnimPhase(1, duration - 1) | |
| -- the object animation is forced to advance to its last frame | |
| ~~~~ | |
| ## CObject:SetAnimSpeed | |
| Sets the new object's animation channel speed. | |
| The channel speed is a property of the animation channel alone and doesn't affect the animations played on other channels. | |
| void **CObject:SetAnimSpeed**(int channel, int speed, [int time = 0]) | |
| int channel | |
| : animation channel (the first channel is 1) | |
| int speed | |
| : the new speed to set in promilles | |
| int time | |
| : the time we want the animation to reach smoothly the given speed (optional) | |
| ## CObject:SetAnimSpeedModifier | |
| Sets the new object's animation speed modifier. | |
| The speed modifier is a property of the object and affects all animation channels. | |
| void **CObject:SetAnimSpeedModifier**(int speed) | |
| int speed | |
| : the new speed modifier to set in promilles | |
| ## CObject:SetAttachAngle | |
| Specifies the angle for the rotation offset when the object is attached. | |
| void **CObject:SetAttachAngle**(int angle) | |
| int angle | |
| : attach rotation angle | |
| ## CObject:SetAttachAxis | |
| Specifies the axis for the rotation offset when the object is attached. | |
| void **CObject:SetAttachAxis**(point axis) | |
| void **CObject:SetAttachAxis**(int dx, int dy, int dz) | |
| point axis | |
| : attach rotation axis vector as point | |
| int dx, dy, dz | |
| : the axis vector as coordinates | |
| ## CObject:SetAttachOffset | |
| Specifies a linear offset when the object is attached. | |
| void **CObject:SetAttachOffset**(point offset) | |
| void **CObject:SetAttachOffset**(int dx, int dy, int dz) | |
| point offset | |
| : offset vector from the spot position as point | |
| int dx, dy, dz | |
| : the offset vector as coordinates | |
| ## CObject:SetAxis | |
| Smoothly changes the object's rotation axis over the specified time. | |
| void **CObject:SetAxis**(point axis, [int time = 0]) | |
| void **CObject:SetAxis**(int dx, int dy, int dz, [int time = 0]) | |
| point axis | |
| : the new rotation axis vector as point | |
| int dx, dy, dz | |
| : the new rotation axis vector as coordinates | |
| int time | |
| : the time (ms) to change the axis (optional). | |
| ## CObject:SetAxisAngle | |
| Smoothly turns the object to the given axis and angle for the specified time. This method ensures proper interpolation avoiding discontinuities. | |
| void **CObject:SetAxisAngle**(point axis, int angle, [int time = 0]) | |
| void **CObject:SetAxisAngle**(int axis_x, int axis_y, int axis_z, int angle, [int time = 0]) | |
| void **CObject:SetAxisAngle**(object other, [int time = 0]) | |
| ## CObject:SetColorModifier | |
| Modifies the colorization of the entire object. | |
| void **CObject:SetColorModifier**(int color, [int time = 0, bool recursive = false]) | |
| int color | |
| : the modification color in integer format. Each color component ranges between 0 and 255. For values above 100 the color component's value is being increased, while for values below, it's being reduced. To disable any modification, use RGB(100, 100, 100). | |
| int time | |
| : optional parameter allowing to make the modification smoothly over an interval of time. | |
| bool recursive | |
| : optional parameter indicating to set the color to all the attaches too. | |
| Example: | |
| ~~~~ Lua | |
| obj:SetColorModifier(RGB(200, 100, 50)) | |
| -- the object is now with increased red color, reduced blue color and unchanged green | |
| obj:SetColorModifier(RGB(100, 100, 100)) | |
| -- the object's true colors are now restored | |
| ~~~~ | |
| ## CObject:SetColorizationMaterial | |
| Specifies object's material properties. | |
| void **CObject:SetColorizationMaterial**(int idx, int color, int roughness, int metallic) | |
| void **CObject:SetColorizationMaterial**(object other) | |
| int idx | |
| : colorization index, depends on the number of colorization masks available in the object's entity | |
| int color | |
| : the material color to be used, in RGB format represented as an unsigned integer (one byte per color component). | |
| int roughness | |
| : the material roughness, represented as an integer between -128 and 127 | |
| int metallic | |
| : the metallic degree, represented as an integer between -128 and 127 | |
| object other | |
| : copy the colorization from another object | |
| ## CObject:SetDust | |
| Changes the object's dust visuals. Has an effect only if the entity has a dust mask. | |
| void **CObject:SetDust**(int value, int material, int color) | |
| int value | |
| : the degree of dust, ranging from 0 to 255 | |
| int material | |
| : material index, can be 0 (exterior) or 1 (interior) | |
| ## CObject:SetEnumFlags | |
| Sets the object's enumeration flags. | |
| void **CObject:SetEnumFlags**(int mask) | |
| int mask | |
| : mask containing the flags to be set. | |
| Example: | |
| ~~~~ Lua | |
| obj:SetEnumFlags(const.efVisible) | |
| -- the object is now visible | |
| ~~~~ | |
| ## CObject:SetGameFlags | |
| Sets the object's game flags. | |
| Example: | |
| ~~~~ Lua | |
| obj:SetGameFlags(const.gofAlwaysRenderable) | |
| -- the object is now drawn even when outside the camera view | |
| ~~~~ | |
| void **CObject:SetGameFlags**(int mask) | |
| int mask | |
| : mask containing the flags to be set. | |
| ## CObject:SetGravity | |
| Sets gravity acceleration as easing function when moving the object. | |
| void **CObject:SetGravity**([int gravity = 980]) | |
| int gravity | |
| : the gravity acceleration value (optional) | |
| ## CObject:SetMirrored | |
| Specifies the the object entity should be mirrored. | |
| void **CObject:SetMirrored**(bool mirrored) | |
| bool mirrored | |
| : true if mirrored | |
| ## CObject:SetOpacity | |
| Sets the current object opacity. | |
| void **CObject:SetOpacity**(int opacity, [int time = 0, bool recursive = false]) | |
| int opacity | |
| : 0 for full transparency; 100 for full opacity | |
| int time | |
| : time for smooth transition (optional) | |
| int recursive | |
| : if true, apply to attached objects too (optional) | |
| ## CObject:SetPos | |
| Smoothly changes the object's position over the specified time. | |
| The map position of the object is changed immediately, but its visual position will change over the given interval of time. | |
| void **CObject:SetPos**(point pos, [int time = 0]) | |
| void **CObject:SetPos**(int x, int y, int z, [int time = 0]) | |
| point pos | |
| : the new position as a point | |
| int x, y, z | |
| : the new position as three coordinates. | |
| int time | |
| : the time (ms) to change the position (optional). | |
| ## CObject:SetPosAxisAngle | |
| Smoothly moves and turns the object to the given pos, axis and angle for the specified time. It is better to use this method instead of invoking the interpolations separately. | |
| void **CObject:SetPosAxisAngle**(point pos, point axis, int angle, [int time = 0]) | |
| void **CObject:SetPosAxisAngle**(int pos_x, int pos_y, int pos_z, int axis_x, int axis_y, int axis_z, int angle, [int time = 0]) | |
| void **CObject:SetPosAxisAngle**(object other, [int time = 0]) | |
| ## CObject:SetRollPitchYaw | |
| Sets the object's orientation via roll, pitch and yaw angles. | |
| void **CObject:SetRollPitchYaw**(int roll, int pitch, int yaw, [int time_delta]) | |
| int roll | |
| : roll angle (Rotation around the object's front-to-back axis) | |
| int pitch | |
| : pitch angle (Rotation around the object's side-to-side axis) | |
| int yaw | |
| : yaw angle (Rotation around the object's vertical axis) | |
| int time_delta | |
| : optional time interval in the future, thus enabling smooth interpolation from the current orientation. | |
| ## CObject:SetSIModulation | |
| Sets the current self illumination modulation. | |
| void **CObject:SetSIModulation**(int modulation) | |
| int modulation | |
| : 0 for no self illumination; 100 for max self illumination | |
| ## CObject:SetScale | |
| Changes the object's scale. | |
| void **CObject:SetScale**(int scale) | |
| int scale | |
| : the object's scale in percent (100% is the default). | |
| int time | |
| : interpolation delta (0 by default). | |
| ## CObject:SetSound | |
| Associates a sound to be played from this object. | |
| void **CObject:SetSound**(string sound, [string type, int volume, int crossfade, bool looping]) | |
| string sound | |
| : a sound name (sound bank) or a sound filename. | |
| string type | |
| : a sound type name, indicating that a sound file is provided, instead of a sound name. | |
| int volume | |
| : forces the volume of the sound between 0 and 1000 (the sound bank volume is used by default). | |
| int crossfade | |
| : optional cross-fade time if changing the sound state. | |
| bool looping | |
| : specifies if the sound should be looping (uses the sound bank flag by default). | |
| ## CObject:SetSoundMute | |
| Sets or resets the sound mute flag for an object. | |
| void **CObject:SetSoundMute**(int volume, bool bMute) | |
| bool bMute | |
| : mutes the sounds from the object if set | |
| ## CObject:SetSoundVolume | |
| Changes the sound volume for an object. | |
| void **CObject:SetSoundVolume**(int volume, [int time = 0]) | |
| int volume | |
| : specifies the volume of the sound between 0 and 1000. | |
| int time | |
| : optional time for smooth change. | |
| ## CObject:SetState | |
| Changes the object's state (animation). | |
| int **CObject:SetState**(string name, [int flags = 0, int crossfade = -1, int speed = 1000, bool change_only]) | |
| int **CObject:SetState**(int index, [int flags = 0, int crossfade = -1, int speed = 1000, bool change_only]) | |
| string name | |
| : the state name to check for | |
| string index | |
| : the state index to check for | |
| int flags | |
| : optional animation control flags (see object documentation for details) | |
| int crossfade | |
| : optional animation crossfade time (see object documentation for details) | |
| int speed | |
| : optional animation speed in promilles | |
| bool change_only | |
| : will early-out if the state is already the requested one | |
| ## CObject:StopSound | |
| Stops the sound of an object. | |
| void **CObject:StopSound**([int time = 0]) | |
| int time | |
| : optional time for smoothly muting the sound. | |
| ## CObject:TimeToAnimEnd | |
| Returns remaining time to the end of currently played animation of the object (the result is depending on the current animation speed). | |
| int **CObject:TimeToAnimEnd**([int channel = 1]) | |
| int channel | |
| : optional animation channel | |
| _returns_ int | |
| : the time remaining | |
| ## GetEntityBBox | |
| Returns the bounding box of an entity in a given state. | |
| box **GetEntityBBox**(string entity, string state) | |
| box **GetEntityBBox**(string entity, int state) | |
| string entity | |
| : entity name | |
| string state | |
| : state name | |
| int state | |
| : state idx | |
| _returns_ box | |
| : the bounding box of the entity. | |
| ## GetNumStates | |
| Returns the number of valid states (animations) for a given entity. | |
| int **GetNumStates**(string entity) | |
| string entity | |
| : the entity name | |
| _returns_ int | |
| : number of states | |
| ## GetSpotBeginIndex | |
| Returns the first spot index from a given spot type for an entity in a given state | |
| int, int **GetSpotBeginIndex**(string entity, string state, string spot) | |
| int, int **GetSpotBeginIndex**(string entity, int state, string spot) | |
| string entity | |
| : entity name | |
| string state | |
| : state name | |
| int state | |
| : state index | |
| string spot | |
| : spot name | |
| _returns_ int | |
| : the spot index, -1 if not found. | |
| ## GetSpotEndIndex | |
| Returns the last spot index from a given spot type for an entity in a given state | |
| int, int **GetSpotEndIndex**(string entity, string state, string spot) | |
| int, int **GetSpotEndIndex**(string entity, int state, string spot) | |
| string entity | |
| : entity name | |
| string state | |
| : state name | |
| int state | |
| : state index | |
| string spot | |
| : spot name | |
| _returns_ int | |
| : the spot index, -1 if not found. | |
| ## GetSpotRange | |
| Returns the first and the last spot indexes from a given spot type for an entity in a given state | |
| int, int **GetSpotRange**(string entity, string state, string spot) | |
| int, int **GetSpotRange**(string entity, int state, string spot) | |
| string entity | |
| : entity name | |
| string state | |
| : state name | |
| int state | |
| : state index | |
| string spot | |
| : spot name | |
| _returns_ int, int | |
| : the spot indexes, -1 if not found. | |
| ## GetTopmostParent | |
| Returns the topmost parent, if attached, or the object itself otherwise. | |
| object **GetTopmostParent**(object obj [, string class = false]) | |
| object obj | |
| : the object | |
| string class | |
| : optional class name as filter | |
| _returns_ object | |
| : the topmost parent | |
| ## HasAllSurfaces | |
| Checks if an entity has specific surfaces. | |
| bool **HasAllSurfaces**(string entity, int mask) | |
| string entity | |
| : The entity name. | |
| int mask | |
| : A mask of the surfaces in question. See the 'EntitySurfaces' global for a list of surfaces and their masks. | |
| _returns_ bool | |
| : Returns true if the entity has all of those surfaces. | |
| ## HasAnySurfaces | |
| Checks if an entity has specific surfaces. | |
| bool **HasAnySurfaces**(string entity, int mask) | |
| string entity | |
| : The entity name. | |
| int mask | |
| : A mask of the surfaces in question. See the 'EntitySurfaces' global for a list of surfaces and their masks. | |
| _returns_ bool | |
| : Returns true if the entity has any of those surfaces. | |
| ## HasSpot | |
| Checks if an entity has a given spot type in a specified state. | |
| bool **HasSpot**(string entity, string state, string spot) | |
| string entity | |
| : the entity name | |
| #param string state - the state to check | |
| string spot | |
| : the spot name to be checked | |
| _returns_ bool | |
| : true if the spot is present. | |
| ## HasState | |
| Checks if an entity has a given state (animation). | |
| bool **HasState**(string entity, string name) | |
| bool **HasState**(string entity, int index) | |
| string entity | |
| : the entity name | |
| string name | |
| : the state name to check for | |
| int index | |
| : the state index to check for | |
| _returns_ bool | |
| : Returns true if the state is present | |
| ## IsBeingDestructed | |
| Returns if the given param is an object in the process of being destroyed. | |
| bool **IsBeingDestructed**(object obj) | |
| object obj | |
| : the object to be tested | |
| _returns_ bool | |
| : true if the object is being destroyed | |
| ## IsValid | |
| Returns if the given param is a valid, non yet destroyed object. | |
| bool **IsValid**(object obj) | |
| object obj | |
| : the object to be tested | |
| _returns_ bool | |
| : true if the object is valid | |
| (insert footer.md.html here) | |
| <link rel="stylesheet" type="text/css" href="Style.css" /> | |
| <!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="markdeep.min.js" charset="utf-8"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script> |