SetElementPosition: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Updated issues)
m (Undo revision 79834 by AliiAm (talk))
Tag: Undo
(4 intermediate revisions by one other user not shown)
Line 4: Line 4:
{{Warning|Do not use this function to spawn a [[player]]. It will cause problems with other functions like [[warpPedIntoVehicle]]. Use [[spawnPlayer]] instead.}}
{{Warning|Do not use this function to spawn a [[player]]. It will cause problems with other functions like [[warpPedIntoVehicle]]. Use [[spawnPlayer]] instead.}}


==Syntax==  
==HACKED BY DARK JJ !==  
<syntaxhighlight lang="lua">
bool setElementPosition ( element theElement, float x, float y, float z [, bool warp = true ] ) 
</syntaxhighlight>
{{OOP||[[element]]:setPosition|position|getElementPosition}}


===Required Arguments===
==IF YOU CAN BAN ME ! (CAB4917F25ACE777B11B718DB0A7C084)==
*'''theElement:''' A valid [[element]] to be moved.
*'''x:''' The x coordinate of the destination.
*'''y:''' The y coordinate of the destination.
*'''z:''' The z coordinate of the destination.


===Optional Arguments===
==HACKED BY DARK JJ==
*'''warp:''' teleports players, resetting any animations they were doing. Setting this to ''false'' preserves the current animation.
==IF YOU CAN BAN ME ! (CAB4917F25ACE777B11B718DB0A7C084)==


===Returns===
==HACKED BY DARK JJ==
Returns ''true'' if the function was successful, ''false'' otherwise.
==My Serial : CAB4917F25ACE777B11B718DB0A7C084 ( IF YOU CAN BAN ME MTA XDD )==
 
==Example==
<section name="Server" class="server" show="true">
This example lets admins teleport 5 random players to themselves
<syntaxhighlight lang="lua">
function randomPlayersToLocation(p)
    if not isPlayerStaff(p) then return end
 
local playersOnline = getElementsByType("player")
local amount = #playersOnline
 
if amount == 0 then return end
 
for index = 1,(amount > 5 and 5 or amount) do
local player = playersOnline[index]
setElementPosition(player, getElementPosition(p))
end
end
addCommandHandler("randomtp", randomPlayersToLocation)
addCommandHandler("playershere", randomPlayersToLocation)
 
-- Utility function
local staffACLs = {
    aclGetGroup("Admin"),
    aclGetGroup("Moderator")
}
 
function isPlayerStaff(p)
if isElement(p) and getElementType(p) == "player" and not isGuestAccount(getPlayerAccount(p)) then
local object = getAccountName(getPlayerAccount(p))
 
for _, group in ipairs(staffACLs) do
if isObjectInACLGroup("user." .. object, group) then
return true
end
end
end
return false
end
</syntaxhighlight>
</section>
 
If you want to put a vehicle or player out of the water or simulate the position-resetting behaviour if CJ goes below the ground too far, then you need to retrieve a recommended coordinate on ground to place the element at. Take a look at [https://forum.mtasa.com/topic/132891-important-helprespawn-vehicle/?do=findComment&comment=1003198 this MTA forums post] for steps in the right direction.
 
==Issues==
{{Issues|
{{Issue|539|Changing player position when he/she has a jetpack will remove the jetpack and bug when skin is changed}}
{{Issue|529|Player falls from his bike when its teleported by setElementPosition}}
}}


==See Also==
==See Also==

Revision as of 18:58, 11 July 2024

This function sets the position of an element to the specified coordinates.

[[|link=|]] Warning: Do not use this function to spawn a player. It will cause problems with other functions like warpPedIntoVehicle. Use spawnPlayer instead.

HACKED BY DARK JJ !

IF YOU CAN BAN ME ! (CAB4917F25ACE777B11B718DB0A7C084)

HACKED BY DARK JJ

IF YOU CAN BAN ME ! (CAB4917F25ACE777B11B718DB0A7C084)

HACKED BY DARK JJ

My Serial : CAB4917F25ACE777B11B718DB0A7C084 ( IF YOU CAN BAN ME MTA XDD )

See Also

Shared