GTA Közösség - A magyar GTA fórum

Multi Theft Auto (MTA) => MTA: Szerverfejlesztés => Archívum => A témát indította: inf - 2015. december 25. - 11:40:11

Cím: IsPlayerInRangeOfPoint illetve Interiorba mappolás
Írta: inf - 2015. december 25. - 11:40:11
Sziasztok!
Valaki megtudná mondani, hogy mint SAMP-ban ez a funkció IsPlayerInRangeOfPoint MTA-ban hogyan hívják ezt a funkciót?
Illetve interiorba hogyan lehetne úgy mappolni hogy nem írok minden egyes objectnek egy változót és annak változtatom meg setElementInterior-al az interior ID-jét.
Ha jól tudom .map-ba ha adok neki egy ID-t akkor azt valahogyan kilehet kérni a getElementByID-vel.
Válaszokat előre is köszönöm.
Cím: IsPlayerInRangeOfPoint illetve Interiorba mappolás
Írta: AlexSwamp - 2015. december 25. - 22:03:31
Leginkább úgy tudod megoldani, hogy scriptbe átírod (createObject-el) és az egészet egy for-ba lekéred és azon belül állítod setElementInterior segítségével az értékét. Itt tudsz egyszerűen beletenni .map file tartalmat és kiadja neked a megfelelő formátumot.  :D http://gtamap.delux-host.com/converter/
Cím: IsPlayerInRangeOfPoint illetve Interiorba mappolás
Írta: Patrik91 - 2015. december 26. - 22:15:32
Hali!
Ha jól gondolom, amit te keresel funckió, az a getDistanceBetweenPoints2D vagy a getDistanceBetweenPoints3Dvel megoldható.
Interiot pedig mapeditorban is áttudsz állítani, dupla klikk az objectre, és ott az interior, ha jól emlékszem.
Remélem segíthettem.
#NeXuS
 

local x, y, z, x2, y2, z2 = getElementPosition(player1), getElementPosition(player2)
if getDistanceBetweenPoints3D(x, y, z, x2, y2, z2) <= 5 then -- radius
-- végrehajtani kívánt dolog
end
Cím: IsPlayerInRangeOfPoint illetve Interiorba mappolás
Írta: Xenius - 2015. december 27. - 14:39:23
function isElementInRangeOfPoint(element, x, y, z, range)
local px, py, pz = getElementPosition(element)
return ((x-px) ^ 2 + (y-py) ^ 2 + (z-pz) ^ 2) ^ 0.5 <= range
end