Lo script è un autovelox.
Putroppo il conducente paga anche per i passeggeri.
Cè un problema nella funzione chiamata al onMarkerHit.
Ti allego il codice qui che forse è piu pratico.
function playerEnterMarker(marker)
if (not isPedInVehicle (source)) then return end
for k, v in pairs( speedInfo ) do
if marker == speedInfo[ k ].marker then
local vehicle = getPedOccupiedVehicle(source)
if (getElementType(vehicle) == "vehicle" ) then
local driver = getVehicleOccupant ( vehicle )
if (driver) then
local speedx, speedy, speedz = getElementVelocity(vehicle)
actualSpeed = (speedx^2 + speedy^2 + speedz^2)^(0.5)
speed = math.floor(actualSpeed * 111.847)
if (speed > speedInfo[ k ].requiredSpeed ) then
local playerAcc = getPlayerAccount(driver)
local pWanted = getPlayerWantedLevel(driver)
local pMoney = getPlayerMoney(driver)
local price = speedInfo[ k ].ticketCost * (speed - speedInfo[ k ].requiredSpeed)
if (pMoney >= price ) then
takePlayerMoney(driver, price)
outputChatBox("You have paid "..price.." at SPEEDCAMERA #".. k, driver, 255, 200, 0, false)
else
setPlayerWantedLevel(driver, math.min(6, getPlayerWantedLevel(driver) + speedInfo[ k ].ticketWanted))
outputChatBox("You have received "..speedInfo[ k ].ticketWanted.." wanted star at SPEEDCAMERA", driver, 255, 200, 0, false)
end
fadeCamera(driver, false, 0.5, 255, 255, 255)
setTimer(fadeCamera, 100, 1, driver, true, 1.0, 255, 255, 255)
end
end
end
end
end
end
addEventHandler( "onPlayerMarkerHit", root, playerEnterMarker )
Inoltre vorrei sapere se il calcolo della velocità è corretto. (Sulla wiki non ho trovato un esempio valido)