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

Wysłany: 2016-03-25, 16:04


CzarnaKobra







Wiek: 30
Na forum: 4324 dni
Posty: 59
Nick w MP: CzarnaKobra

Piwa: 1

Respekt: 45,3

Witam mam taki problem posiadam kolczatke wszystko cacy postawia si? lecz nie usuwa chcia?em zrobi? to sam lecz nie dzia?a Wi?c daje wam linijki na postawianie
Jak mo?ecie to wy?lijcie linijki na usuwanie

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


Ostatnio zmieniony przez Fanciak 2016-03-25, 16:52, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-25, 18:54


mlodasnygo







Wiek: 17
Na forum: 4113 dni
Posty: 205

Piwa: 518

Respekt: 161,8
Respekt: 161,8Respekt: 161,8

CzarnaKobra,
podaj stron? clienta.

Podpis
600 dni - 10 marca 2017
:piwo: 500 piw :piwo: - 10 marca 2017
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-25, 19:20


CzarnaKobra







Wiek: 30
Na forum: 4324 dni
Posty: 59
Nick w MP: CzarnaKobra

Piwa: 1

Respekt: 45,3


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
addCommandHandler("k", 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)


Ostatnio zmieniony przez #404 2016-03-25, 20:01, w całości zmieniany 1 raz  
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 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