Ich habe mir ein ped system gemacht was den ped einen verfolgen lässt aber jetzt ist mein problem das nur ich den Ped/Npc sehen kann wie er sich bewegt es sollte aber möglich sein das alle spieler den sehen wie er mir hinterher läuft.
Gibt es eine Lösung dazu ??
Der Ped/NPC wir Serverseitig erstellt.
Hier das serverseitige:
Lua
local ped = createPed(1,1290.3000488281,-786.70001220703,96.5)
function pedm ()
triggerClientEvent("mom",getRootElement(),ped)
end
setTimer(pedm,1000,-1)
und hier das Clientseitige:
Lua
local plr = getLocalPlayer();
addEvent("mom",true)
addEventHandler( "mom", getRootElement(),
function(ped)
if ped then
local x, y, z = getElementPosition( plr );
local px, py, pz = getElementPosition( ped );
local distance = getDistanceBetweenPoints3D( x, y, z, px, py, pz )
if distance < 3.5 then
setPedControlState( ped, "aim_weapon", true );
setPedControlState( ped, "fire", false );
setPedControlState( ped, "fire", true );
setPedControlState( ped, "forwards", false );
if ( isPedDucked( plr ) ~= isPedDucked( ped ) ) then
setPedControlState( ped, "crouch", isPedDucked( getLocalPlayer( ) ));
return
end
else
setPedControlState( ped, "forwards", true );
if distance < 6.0 then
if isPedDucked( plr ) ~= isPedDucked( ped ) then
setPedControlState( ped, "crouch", false );
setPedControlState( ped, "crouch", true );
setPedControlState( ped, "walk", false );
setPedControlState( ped, "sprint", false );
return
else
setPedControlState( ped, "walk", true );
setPedControlState( ped, "sprint", false );
end
elseif distance < 10.0 then
setPedControlState( ped, "walk", false );
setPedControlState( ped, "sprint", true );
else
setPedControlState( ped, "walk", false );
setPedControlState( ped, "sprint", true );
end
local X, Y = 0, 0;
X = math.abs( x - px );
Y = math.abs( y - py );
faceMe = math.deg( math.atan2( Y , X ) );
if ( x >= px ) and ( y > py ) then
faceMe = 90 - faceMe
elseif ( x <= px ) and ( y > py ) then
faceMe = 270 + faceMe
elseif ( x >= px ) and ( y <= py ) then
faceMe = 90 + faceMe
elseif ( x < px ) and ( y <= py ) then
faceMe = 270 - faceMe
end
setPedRotation( ped, faceMe );
setPedLookAt( ped, x, y, z + .5 );
end
end
end
)
_setPedRotation = setPedRotation
function setPedRotation( ped, rot )
return _setPedRotation( ped, 360 - rot );
end
Alles anzeigen
die rechnungsart von der rotation und vom face ist nicht von mir.