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

Wysłany: 2016-08-06, 16:24


STOPseba

Emeryt na scenie MTA






Wiek: 26
Na forum: 3912 dni
Posty: 448
Nick w MP: STOPseba

Piwa: 5016

Respekt: 576,3
Respekt: 576,3

Witam mam tu taki skrypt na kolczatki i czy mo?e kto? mi pom?c ?eby tylko gracz w acl Policja m?g? je rozk?ada? i usuwa?
s:
function onCreateStinger(x, y, z, rx, ry, rz)
    stinger = createObject(2899, x, y, z+0.1, rx, ry, rz)
    setElementData(stinger, "isStinger", true)
    triggerClientEvent( "onCreateStinger", getRootElement(), x, y, z)
    stingerPlant(source)
end
addEvent( "onCreateStinger", true )
addEventHandler( "onCreateStinger", getRootElement(), onCreateStinger)

function stingerPlant(player)
    setPedAnimation(player, "BOMBER", "BOM_plant", 3000, false, false, false)
    setTimer(setPedAnimation, 2000, 1, player)
end

c:
function getPointFrontOfElement(element,distance)
    local x, y, z = getElementPosition ( element )
    local rx, ry, rz = getElementRotation ( element )
    x = x + (distance * (math.sin(math.rad(-rz))) )
    y = y + (distance * (math.cos(math.rad(-rz))) )
    return x,y,z
end

function getPositionFromElementAtOffset(element,x,y,z)
    if not x or not y or not z then      
        return x, y, z   
    end        
    local matrix = getElementMatrix ( element )
    local offX = x * matrix[1][1] + y * matrix[2][1] + z * matrix[3][1] + matrix[4][1]
    local offY = x * matrix[1][2] + y * matrix[2][2] + z * matrix[3][2] + matrix[4][2]
    local offZ = x * matrix[1][3] + y * matrix[2][3] + z * matrix[3][3] + matrix[4][3]
    return offX, offY, offZ
end

function getVehicleWheelPosition(vehicle,wheel)
    local x, y, z = 0, 0, 0
    local minX, minY, minZ, maxX, maxY, maxZ = getElementBoundingBox(vehicle)
    if wheel == 1 then
        x, y, z = getPositionFromElementAtOffset(vehicle, minX, maxY, minZ)
    elseif wheel == 2 then
        x, y, z = getPositionFromElementAtOffset(vehicle, minX, -maxY, minZ)        
    elseif wheel == 3 then
        x, y, z = getPositionFromElementAtOffset(vehicle, maxX, maxY, minZ)
    elseif wheel == 4 then
        x, y, z = getPositionFromElementAtOffset(vehicle, maxX, -maxY, minZ)
    end     
    return x, y, z
end

function plantStingerCommand()
    local x, y, z = getPointFrontOfElement(getLocalPlayer(),3) 
    local rx, ry ,rz = getElementRotation(getLocalPlayer())
    z = getGroundPosition(x, y, z)
    triggerServerEvent ( "onCreateStinger", getLocalPlayer(), x, y, z, rx, ry ,rz)
end
bindKey( "x", "down", plantStingerCommand )

function onClientRender()
    if isPedInVehicle(getLocalPlayer()) then    
         vehicle = getPedOccupiedVehicle(getLocalPlayer())

        g_Stingers = getElementsByType("object")
        
        --local wx0, wy0, wz0 = getVehicleWheelPosition(vehicle,0)
        local wx1, wy1, wz1 = getVehicleWheelPosition(vehicle,1)
        local wx2, wy2, wz2 = getVehicleWheelPosition(vehicle,2)
        local wx3, wy3, wz3 = getVehicleWheelPosition(vehicle,3)
        local wx4, wy4, wz4 = getVehicleWheelPosition(vehicle,4)
        
        -- for visual debug wheel positions
        --dxDrawLine3D(wx1, wy1, wz1, wx2, wy2, wz2, tocolor(0,255,0))
        --dxDrawLine3D(wx3, wy3, wz3, wx4, wy4, wz4, tocolor(0,255,0))
        
        for k, v in ipairs(g_Stingers) do
            if getElementData(v,"isStinger") == true then
                local vx, vy, vz = getElementPosition(v)
                if getDistanceBetweenPoints3D(wx1, wy1, wz1, vx, vy, vz) <= 2.0 then
                    setVehicleWheelStates(vehicle, 1, -1, -1, -1)    
                end
                if getDistanceBetweenPoints3D(wx2, wy2, wz2, vx, vy, vz) <= 2.0 then
                    setVehicleWheelStates(vehicle, -1, 1, -1, -1)    
                end
                if getDistanceBetweenPoints3D(wx3, wy3, wz3, vx, vy, vz) <= 2.0 then
                    setVehicleWheelStates(vehicle, -1, -1, 1, -1)    
                end
                if getDistanceBetweenPoints3D(wx4, wy4, wz4, vx, vy, vz) <= 2.0 then
                    setVehicleWheelStates(vehicle, -1, -1, -1, 1)    
                end        
            end                                        
        end
     end
end
addEventHandler("onClientRender",getRootElement(), onClientRender)

function onCreateStinger (x, y, z)
       if(getDistanceBetweenPoints3D(x, y, z, getElementPosition(getLocalPlayer())) <= 10 ) then
       local sound = playSound3D("plant.wav", x, y, z)
       setSoundMaxDistance(sound, 10)
end
end
addEvent("onCreateStinger", true)
addEventHandler("onCreateStinger", getRootElement(), onCreateStinger)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-06, 16:26


Emm

***** ***






Wiek: 32
Na forum: 4021 dni
Posty: 3191
Nick w MP: Emm

Piwa: 6171

Respekt: 1580
Respekt: 1580Respekt: 1580


   Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .

Więcej informacji znajdziesz w Wikipedii MTA:

isObjectInACLGroup


Podpis

Użytkownik: 20.10.2015r
GTAO Member: 06.03.2016r
Support-Team: 20.01.2016r
Moderator: 30.03.2016r
Mod-Team: 08.10.2016r
Vice Admin: 04.05.2018r
Administrator: 03.05.2022r


! Koniecznie zapoznaj się z regulaminem forum.
Pamiętaj, aby zawsze go przestrzegać, nie mniej ważne są również regulaminy działów, w których się wypowiadasz!
Zamiast zakładać temat po kilka razy, bo jest usuwany przez Administrację, przejrzyj regulamin i napisz poprawnie temat!
Sprawy z administracją możesz załatwiać anonimowo w tym dziale.
Najważniejsze informacje od Administracji możesz przeczytać tutaj oraz tutaj.
Postaw piwo autorowi tego posta
 

 
Tagi: kolczatka
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Kolczatka 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