Quin
Wiek: 25 Na forum: 4537 dni Posty: 79
Piwa : 3
Siemka, mam problem z przerobieniem skryptu ?eby nie dzia?a? on na zasadzie komendy tylko eventu.
Funkcja kt?ra ma triggerowa? event odpowiedzialny za spawn drona:
function setDrone2 ( itemName )
setElementData ( source , itemName , getElementData ( source , itemName )- 1 )
triggerEvent ( "startspawndrone" , source )
triggerClientEvent ( source , "refreshInventoryManual" , source )
end
addEvent ( "SetDrone2" , true )
addEventHandler ( "SetDrone2" , getRootElement (), setDrone2 )
drone_server:
Originalna funkcja
addCommandHandler ( "drone" ,
function ( player , cmd , ...)
local id = arg [ 1 ] or 501 ;
if tonumber ( id ) then
id = tonumber ( id );
if valid_models [ id ] then
startDrone ( player , id );
else
errMsg ( msg . INVALID_ID , player );
end
else
errMsg ( msg . INVALID_ID , player );
end
end
);
Moja funkcja:
addEvent ( "startspawndrone" , true );
addEventHandler ( "startspawndrone" , root ,
function ( player , ...)
local id = arg [ 1 ] or 501 ;
if tonumber ( id ) then
id = tonumber ( id );
if valid_models [ id ] then
startDrone ( player , id );
else
errMsg ( msg . INVALID_ID , player );
end
else
errMsg ( msg . INVALID_ID , player );
end
end
);
Funkcja odpowiadaj?ca za start drona:
function startDrone ( player , id )
if players [ player ] then
errMsg ( msg . ALREADY_HAS_DRONE : format ( "droned" ), player );
return;
end
if getElementData ( player , "Dron" ) >= 1 then
players [ player ] = {};
local x , y , z = getElementPosition ( player )
local drone = createVehicle ( 501 , x + 1.5 , y + 1.5 , z )
local ped = createPed ( 180 , x + 1.5 , y + 1.5 , z )
players [ player ]. drone = drone ;
players [ player ]. ped = ped
setElementAlpha ( ped , 0 )
warpPedIntoVehicle ( ped , drone )
giveWeapon ( player , 40 , 1 , true )
triggerClientEvent ( player , "drone.start" , resourceRoot , drone , ped )
setPedAnimation ( player , "CAMERA" , "camstnd_lkabt" ,- 1 , false , false , false , true )
toggleAllControls ( player , false , true , false );
addEventHandler ( "onVehicleExplode" , drone , function () stopDrone ( player ) end );
addEventHandler ( "onElementDestroy" , drone , function () stopDrone ( player ) end );
end
end
B??d z db3:
Kod:
[2019-07-27 13] WARNING: [DayZ]\DayZ\dron\drone_server.lua:41: Bad argument @ 'getElementData' [Expected element at argument 1, got nil]
[2019-07-27 13] ERROR: [DayZ]\DayZ\dron\drone_server.lua:41: attempt to compare number with boolean