Szerző Téma: Segítségkérés parancs működéséhez.  (Megtekintve 1806 alkalommal)

Segítségkérés parancs működéséhez.
« Dátum: 2020. július 19. - 20:15:21 »
0 Show voters
Sziasztok nem régen kezdtem el tanulgatni a lua nyelvet de most el akadtam és nem tudom hogyan fixáljam meg a hibát esetleg valaki tudna segiteni nekem?

function gotoPlayer (thePlayer,targetPlayer)
local accName = getAccountName(getPlayerAccount(thePlayer))
if isObjectInACLGroup("user."..accName,aclGetGroup("Console")) then
if not (targetPlayer) then
outputChatBox("[wisdomGaming]: /goto [név]",thePlayer,0,0,0,true)
else
local x,y,z = getElementPosition(targetPlayer)
local veh = getPedOccupiedVehicle(thePlayer)
if isPedInVehicle(thePlayer) then
teleport = setElementPoition(veh,x,y+1,z)
else
teleport = setElementPosition(thePlayer,x,y+1,z)
end
if (teleport) then
setElementInterior(thePlayer,getElementInterior(targetPlayer))
setElementDimension(thePlayer,getElementDimension(targetPlayer))
outputChatBox("Sikeresen elteleportáltál a játékoshoz.",thePlayer,0,0,0,true)
outputChatBox("Egyik admin hozzád teleportált.",targetPlayer,0,0,0,true)
else
outputChatBox("Nem sikerült teleportálni.",thePlayer,0,0,0,true)
end
end
end
end
end
addCommandHandler("goto", gotoPlayer, false, false)

Nem elérhető KrisT

  • 106
    • Profil megtekintése
Re:Segítségkérés parancs működéséhez.
« Válasz #1 Dátum: 2020. augusztus 16. - 02:29:26 »
0 Show voters
Szia!
Gondolom szerver oldalon irtad (remélem).
Az addCommandHandler visszaad több értéket. Az első érték az az, aki a parancsot beírja. A második a parancs neve, innestől pedig a többi argumentum. Tehát neked a targetPlayer az nem a játékos lesz, hanem a parancs neve, jelen esetben a “goto”.
Tehát a functionnak így kellene kinéznie:
function gotoPlayer(thePlayer,cmd,targetPlayer)
Azonban azonosítani is kellene a játékos név, vagy ID alapján. Az egyik legegyszerűbb megoldás a getPlayerFromPartialName useful function, amit megtalálsz az mta wikin. Ez a function visszaadj a játékost névrészlet alapján (az alap MTA beállításaiban megadott név alapján).
Ebben az esetben a játékos elementet változóban tudod tárolni ezzel a functionnal:
local theTargetElement = getPlayerFromPartialName(targetPlayer)

De előtte a kódba bele kell másolnod az useful functiont, hogy működjön. Ezután a célszemélyt már nem targetPlayerrel, hanem jelen esetben theTargetElementtel azonosíthatod. Remélem segítettem.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal