Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2016-02-14, 11:06


andrzej80

Amator Lua :D






Wiek: 29
Na forum: 3778 dni
Posty: 74
Nick w MP: andrzej80

Piwa: 1

Respekt: 50

Witam mam ma?y problem z systemem fotoradar?w - ot??, gdy kogo? on z?apie, zabiera tyle ile trzeba, wy?wietla si? wszystko co potrzeba, ale w konsoli wywala taki b??d:

Kod:

[2016-02-14 10] ERROR: [skrypty]/fotoradary/fotoradary.lua:23: attempt to perform arithmetic on local 'speedCamera' (a nil value)


Nie mam poj?cia, jak to mo?na rozwi?za? :(

Kod, w kt?rym wywala b??d:
local speedCamera={
    {2000.58984375, -1759.104125976613.5468755075}, 
}

for i,v in pairs(speedCamera) do
    local cs=createColSphere(v[1], v[2], v[3], v[4]-2)
    local o1=createObject(1622v[1], v[2], v[3]+400, -60)
    local o2=createObject(16101v[1]+0.3v[2]-0.1v[3]+4180)
    setElementData(cs'fotoradar:predkosc'v[5] or 60false) -- nie synchronizujemy do serwera
end

addEventHandler('onColShapeHit'resourceRoot, function(elmd)
    if not el then return end
    if getElementType(el) == 'player' then
        local veh=getPedOccupiedVehicle(el)
        if not veh then return end
        if getVehicleController(veh)~=el then return end 
        if getVehicleSirensOn(vehthen return else
            local speedCamera=tonumber(getElementData(source,'fotoradar:predkosc'))
            local vxvyvz=getElementVelocity(veh)
            local speedVehicle=((vx^vy^vz^2)^(0.5))*180
            local cost=100
            local diff=(speedVehicle-speedCamera) 
            if diff>30 then
                -- przekroczono predkosc o 30j
                cost=(diff+speedVehicle)/2
            else
                cost=diff/1.2
            end
            cost=math.floor(cost)
            if speedVehicle speedCamera then
                -- zapisywanie ile razy kierowca przekroczyl predkosc
                -- przy 5-7 razachzostanie informowana policja o piracie drogowym
                if getPlayerMoney(el)>cost then
                    takePlayerMoney(elcost)
                    outputChatBox("Przekroczy?e? pr?dko??! Otrzymujesz mandat w wysoko?ci "..cost.." z?."el3045110)
                else
                    outputChatBox("Przekroczy?e? pr?dko??!"el3045110)
                end
                outputChatBox("Dopuszczalna pr?dko??: "..speedCamera.." km/h, Twoja pr?dko??: "..string.format("%.02f"speedVehicle).." km/h."el3045110)
            end
        end
    end
end)


Drugi plik:
local speedCameras={
    {-2000.60213.1727.692075}, -- mechanik doherty
    {-1123.601146.0637.4020140}, -- most sf fc
    {-183.961113.9119.742075}, -- fort carson
    {1525.931865.8810.822075}, -- las venturas
    {2292.521380.3610.822075}, -- obok piramidy
}

for i,v in ipairs(speedCameras) do
    local cuboid=createColSphere(v[1], v[2], v[3], v[4])
      local object1=createObject(1622v[1], v[2], v[3]+30.9)
      local object2=createObject(16101v[1]+0.3v[2]-0.1v[3]+2.5180)
    setElementData(cuboid"speedcamera:speed"v[5])
end

addEventHandler("onColShapeHit"resourceRoot, function(el,md)
    if getElementType(el) == "player" then
        local veh=getPedOccupiedVehicle(el)
        if not veh then return end
        if getVehicleController(veh)~=el then return end
        local maxspeed=tonumber(getElementData(source,"speedcamera:speed"))
        if getVehicleSirensOn(vehthen
            outputChatBox("Jedziesz aktualnie na sygnale!"el3045110)
        else
            speedxspeedyspeedz getElementVelocity(veh)
            actualspeed = (speedx^speedy^speedz^2)^(0.5)
            kmh actualspeed 180
            if kmh maxspeed then
                local mandate=tonumber(math.floor(math.random(20,50)))
                if getPlayerMoney(el) > mandate then
                    takePlayerMoney(elmandate)
                end
                outputChatBox("Przekroczy?e? pr?dko??! Otrzymujesz mandat w wysoko?ci: "..mandate.." z?."el3045110)
                outputChatBox("Dopuszczalna pr?dko??: "..maxspeed.." km/h, Twoja pr?dko??: "..string.format("%.02f"kmh).." km/h."el3045110)
            end
        end
    end
end)


Skrypt na fotoradary jest z gtaO.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-02-14, 13:32


MIKAELmta







Wiek: 24
Na forum: 3979 dni
Posty: 311

Piwa: 10617

Respekt: 355,3
Respekt: 355,3Respekt: 355,3Respekt: 355,3Respekt: 355,3

Ale co? w dzia?aniu przeszkadza ? Je?li nie, to lepiej da? sobie z tym spok?j :mrgreen:

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-02-14, 14:56


andrzej80

Amator Lua :D






Wiek: 29
Na forum: 3778 dni
Posty: 74
Nick w MP: andrzej80

Piwa: 1

Respekt: 50

W?a?nie nic nie przeszkadza, ale jak si? kilka razy przez te fotoradary przeje?d?a, to si? robi lekki spam w konsoli i logach serwerowych :D

Postaw piwo autorowi tego posta
 

 
Tagi: fotoradary
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku