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

Wysłany: 2018-06-29, 22:34


Kulegg







Wiek: 46
Na forum: 3266 dni
Posty: 283

Piwa: 20

Respekt: 50

Witam, mam skrypt na montowanie mk, dodaje pr?dko??, ale chcia?bym jeszcze co? doda? do tego. Mo?na w markerze jak si? wjedzie (gracze mog?, wszyscy) zamontowa? mk1, oraz mk2, chcia?bym aby mo?na te? tam zamontowa? nitro X10, oraz ?e jak zamontujemy to nitro, to ?eby dodawa?o i zapisywa?o to w tym aucie do kt?rego dodali?my, druga sprawa to jak zwi?kszy? osi?gi zamontowanego mk w skrypcie? Gdzie jest ta linijka bo szukam i nie widze?

kod z nitro_c:

 GUIEditor = {
    button = {},
    window = {}
}
addEventHandler("onClientResourceStart", resourceRoot,
    function()
        GUIEditor.window[1] = guiCreateWindow(330, 200, 405, 460, "MK", false)
        guiWindowSetSizable(GUIEditor.window[1], false)
        guiSetAlpha(GUIEditor.window[1], 0.83)

        GUIEditor.button[1] = guiCreateButton(23, 37, 115, 58, "MK1\n5000000 PLN", false, GUIEditor.window[1])
        guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FFAAAAAA")

        GUIEditor.button[2] = guiCreateButton(145, 37, 115, 58, "MK2\n8000000 PLN", false, GUIEditor.window[1])
        guiSetProperty(GUIEditor.button[2], "NormalTextColour", "FFAAAAAA")

       
        GUIEditor.button[8] = guiCreateButton(11, 369, 383, 81, "Zamknij okno", false, GUIEditor.window[1])
        guiSetProperty(GUIEditor.button[8], "NormalTextColour", "FFAAAAAA")    
    end
)

addEventHandler("onClientResourceStart",resourceRoot,
function()
guiSetVisible(GUIEditor.window[1],false)
end
)

marker = createMarker(-2297.61, -124.34, 35.32-0.9, 'cylinder', 4, 255, 0, 0, 120)
--createBlipAttachedTo(marker, 63)

function hit(plr,md)
if plr ~= localPlayer then return end
if not isPedInVehicle(localPlayer) then return end
guiSetVisible(GUIEditor.window[1], true)
showCursor(true)
setElementFrozen(pojazd,true)
--setElementFrozen(plr,true)
end
addEventHandler("onClientMarkerHit", marker, hit)


function mk1()
if source ~= GUIEditor.button[1] then return end
    triggerServerEvent("mk1", localPlayer)
    guiSetVisible(GUIEditor.window[1],false)
showCursor(false)
setElementFrozen(pojazd,false)
end

addEventHandler ( "onClientGUIClick", root, mk1)


function mk2()
if source ~= GUIEditor.button[2] then return end
    triggerServerEvent("mk2", localPlayer)
    guiSetVisible(GUIEditor.window[1],false)
showCursor(false)
setElementFrozen(pojazd,false)
end

addEventHandler ( "onClientGUIClick", root, mk2)

function rh1()
if source ~= GUIEditor.button[3] then return end
    triggerServerEvent("rh", localPlayer)
    guiSetVisible(GUIEditor.window[1],false)
showCursor(false)
setElementFrozen(pojazd,false)
end

addEventHandler ( "onClientGUIClick", root, rh1)

function zamknij()
if source ~= GUIEditor.button[8] then return end
   guiSetVisible(GUIEditor.window[1], localPlayer)
   setElementFrozen(pojazd,false)
end
addEventHandler ( "onClientGUIClick", root, zamknij)


function zamykamy()
if source ~= GUIEditor.button[8] then return end
guiSetVisible(GUIEditor.window[1],false)
setElementFrozen(pojazd,false)
setElementFrozen(plr,false)
showCursor(false)
end

addEventHandler ( "onClientGUIClick", root, zamykamy)


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
FELEQ
Wysłany: 2018-06-29, 23:18


PatryKK.

Emeryt LUA






Wiek: 27
Na forum: 3202 dni
Posty: 1059
Nick w MP: PatryKK.

Piwa: 2331

Respekt: 331,5
Respekt: 331,5Respekt: 331,5Respekt: 331,5

Daj kod z nitro_s

Podpis
GG:75080675
- ✔
- ✔
- ✔
- ✔

Aktualny projekt: BRAK
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-06-29, 23:33


Kulegg







Wiek: 46
Na forum: 3266 dni
Posty: 283

Piwa: 20

Respekt: 50

 --[[
@author Mikael <mikael.mta@wp.pl>
Skrypt wykonany dla New World 2016
]]

mk1 = 5000000
mk2 = 8000000



local licz = {}
local t=createElement('text')
setElementData(t,'name','Automatyczny monta? tuningu mechanicznego')
setElementPosition(t,-2297.61, -124.34, 35.32+0.5)

--createBlip(-1770.96,1205.90,25.13, 53) -- fancy workshop blip

addEvent("mk1", true)
addEventHandler("mk1", root, function()
pojazd = getPedOccupiedVehicle(source)
if not pojazd then return end
if (getPlayerMoney(source) > tonumber(mk1)) then
  local id = getElementData(pojazd, "vehicle:id")
  exports["pystories-db"]:dbSet("UPDATE pystories_vehicles SET mk1=1 WHERE id=?", id)
         outputChatBox("* Pomy?lnie zamontowano MK1.", source,true)
     outputChatBox("* Oddaj auto do przecho aby zobaczy? efekty!", source,true)
         takePlayerMoney( source, mk1 )
    else
         outputChatBox("* Nie sta? Ci? na to.", source,true)
end
end
)


addEvent("mk2", true)
addEventHandler("mk2", root, function()
pojazd = getPedOccupiedVehicle(source)
if not pojazd then return end
if (getPlayerMoney(source) > tonumber(mk2)) then
  local id = getElementData(pojazd, "vehicle:id")
  exports["pystories-db"]:dbSet("UPDATE pystories_vehicles SET mk2=1 WHERE id=?", id)
     outputChatBox("* Pomy?lnie zamontowano MK2.", source,true)
     outputChatBox("* Oddaj auto do przecho aby zobaczy? efekty!", source,true)
     takePlayerMoney( source, mk2 )
  else
     outputChatBox("* Nie sta? Ci? na to.", source,true)
end
end
)

addEvent("rh", true)
addEventHandler("rh", root, function()
pojazd = isPedInVehicle(source)
if not pojazd then return end
if (getPlayerMoney(source) > tonumber(rh)) then
  local id = getElementData(pojazd, "vehicle:id")
  exports["pystories-db"]:dbSet("UPDATE pystories_vehicles SET naped=1 WHERE id=?", id)
     outputChatBox("* Pomy?lnie zamontowano nap?d 4x4.", source,true)
     outputChatBox("* Oddaj auto do przecho aby zobaczy? efekty!", source,true)
     takePlayerMoney( source, rh)
  else
     outputChatBox("* Nie sta? Ci? na to.", source,true)
end
end
)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-06-30, 00:50


Emm

***** ***






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

Piwa: 6171

Respekt: 1580
Respekt: 1580Respekt: 1580


   Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
W zasobie z przechowalni? powiniene? mie? (intuicyjnie) przy wyjmowaniu pojazdu ustawianie handlingu pojazdu na podstawie MK z bazy danych (skoro zapis tak stworzony). Zaprezentuj nam r?wnie? ten kod.

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
 

 
Wysłany: 2018-06-30, 01:46


Kulegg







Wiek: 46
Na forum: 3266 dni
Posty: 283

Piwa: 20

Respekt: 50

c_parking:
 &#65279;--[[
addEventHandler("onResourceStart", resourceRoot, 
function ()
    CuboidNumber_0 = createColCuboid(-1951.8657226563, 613.52954101563, 33.78190612793, 14.4, 7.3, 6.2)
end
)
--]]

--[[
addEventHandler("onResourceStart", resourceRoot, 
function ()
    CuboidNumber_0 = createColCuboid(-1966.6160888672, 613.84454345703, 33.78190612793, 14.4, 7.3, 6.2)
end
)
--]]

local screenW, screenH = guiGetScreenSize()
local marker=createMarker(-1968.79, 620.47, 35.17-0.9, "cylinder", 2, 255,255,255,50)
local sphere=createColCuboid(-1966.6160888672, 613.84454345703, 33.78190612793, 14.4, 7.3, 6.2)

local t=createElement("text")
setElementData(t,"scale",1.5)
setElementData(t,"name","Odbi?r pojazd?w")
setElementPosition(t,-1968.79, 620.47, 35.17)

local wm={}
wm.window=guiCreateWindow(0.25, 0.26, 0.51, 0.42, "Odbieranie pojazd?w", true)
guiWindowSetSizable(wm.window, false)
guiWindowSetMovable(wm.window, false)
guiSetVisible(wm.window, false)
wm.gridlist=guiCreateGridList(0.04, 0.09, 0.92, 0.65, true, wm.window)
guiGridListAddColumn(wm.gridlist, "ID", 0.2)
guiGridListAddColumn(wm.gridlist, "Model", 0.55)
guiGridListAddColumn(wm.gridlist, "Zarejestrowany", 0.2)
wm.submit=guiCreateButton(0.04, 0.76, 0.47, 0.19, "Wyjmij pojazd", true, wm.window)
wm.close=guiCreateButton(0.57, 0.75, 0.39, 0.20, "Zamknij", true, wm.window)

addEvent("onParkingGetVehicles", true)
addEventHandler("onParkingGetVehicles", root, function(result)
    guiGridListClear(wm.gridlist)
    if not result then return end
    for i,v in pairs(result) do
        if v["registered"] == "false" then 
        v["registered"] = "NIE"
        else
        v["registered"] = "TAK"
        end
        local row=guiGridListAddRow(wm.gridlist)
        guiGridListSetItemText(wm.gridlist, row, 1, v["id"], false, false)
        guiGridListSetItemText(wm.gridlist, row, 2, getVehicleNameFromModel(v["model"]), false, false)
        guiGridListSetItemText(wm.gridlist, row, 3, v["registered"], false, false)
    end
end)

addEventHandler("onClientMarkerHit", marker, function(el,md)
    if el~=localPlayer then return end
    if isPedInVehicle(el) then return end
    if guiGetVisible(wm.window) == false then
        showCursor(true)
        guiSetVisible(wm.window,true)
        triggerServerEvent("onParkingGetRekords", localPlayer)
        --etCameraMatrix(-2056.26, 468.77, 38.49, -2048.08, 467.73, 35.17)
    end
end)

addEventHandler("onClientGUIClick", resourceRoot, function()
    if source == wm.close then
        if guiGetVisible(wm.window) == true then
            showCursor(false)
            guiSetVisible(wm.window,false)
            setCameraTarget(localPlayer, localPlayer)
        end
    end
    if source == wm.submit then
        local selectedRow=guiGridListGetSelectedItem(wm.gridlist) or -1
        if selectedRow < 0 then return end
        local vehicles=getElementsWithinColShape(sphere,"vehicle")
        if #vehicles > 0 then
            outputChatBox("* Nie ma miejsca aby wyci?gn?? pojazd !",localPlayer)
            return
        end
        local id=guiGridListGetItemText(wm.gridlist, selectedRow, 1)
        local register=guiGridListGetItemText(wm.gridlist, selectedRow, 3)
        if register == "NIE" then
        outputChatBox("* Zarejestruj pojazd w urz?dzie! Jego ID to "..id,255,0,0)
        return end
        guiGridListRemoveRow(wm.gridlist, selectedRow)
        triggerServerEvent("onParkingVehicleSpawn", localPlayer, tonumber(id))
    end
end)


s_parking:
 &#65279;--[[
addEventHandler("onResourceStart", resourceRoot, 
function ()
    CuboidNumber_0 = createColCuboid(-1951.8657226563, 613.52954101563, 33.78190612793, 14.4, 7.3, 6.2)
end
)
--]]

--[[
addEventHandler("onResourceStart", resourceRoot, 
function ()
    CuboidNumber_0 = createColCuboid(-1966.6160888672, 613.84454345703, 33.78190612793, 14.4, 7.3, 6.2)
end
)
--]]


local marker=createMarker(-1945.00, 617.12, 35.02-2, "cylinder", 6.4, 255,255,255,20)
createBlip(-1968.79, 620.47, 35.17, 35,2,0,0,0,0,0,250)
local mdestroy = createColCuboid(-1951.8657226563, 613.52954101563, 33.78190612793, 14.4, 7.3, 6.2)
local t=createElement("text")
setElementData(t,"scale",1.5)
setElementData(t,"name","Pozostawianie pojazd?w")
setElementPosition(t,-1945.00, 617.12, 35.02)

addEvent("onParkingGetRekords", true)
addEventHandler("onParkingGetRekords", root, function()
    local sid=getElementData(source,"player:sid")
    if not sid then return end
    local org = getElementData(source,"player:organization")
    local result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_vehicles WHERE (ownedPlayer=? OR ownedGroup=?) AND parking=1",sid,org or "Brak")
    if #result > 0 then
        triggerClientEvent(source, "onParkingGetVehicles", source, result)
    end
end)

addEventHandler("onColShapeHit", mdestroy, 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 id=getElementData(veh,"vehicle:id")
        if not id then return end
        if isTimer(timeroddania) then return end
        setElementFrozen(veh,true)
        outputChatBox("* Trwa zapisywanie pojazdu...", el)
        toggleControl(el,"enter_exit",false)
        timeroddania=setTimer(function()
            setElementFrozen(veh,false)
            local id=getElementData(veh,"vehicle:id")
            if not id then return end
            exports["pystories-vehicles"]:onSaveVehicle(veh)
            destroyElement(veh)
            exports["pystories-db"]:dbSet("UPDATE pystories_vehicles SET parking=1 WHERE id=?", id)
            toggleControl(el,"enter_exit",true)
            outputChatBox("* Pomy?lnie zapisano pojazd.", el)
        end, 3000, 1)
    elseif getElementType(el) == "vehicle" then
        local peds= getVehicleOccupants(el)
        if #peds > 0 then return end
        local id=getElementData(el,"vehicle:id")
        if not id then return end
        if isTimer(timeroddania) then return end
        timeroddania=setTimer(function()
            setElementFrozen(el,false)
            local id=getElementData(el,"vehicle:id")
            if not id then return end
            exports["pystories-vehicles"]:onSaveVehicle(el)
            destroyElement(el)
            exports["pystories-db"]:dbSet("UPDATE pystories_vehicles SET parking=1 WHERE id=?", id)
            outputChatBox("* Pomy?lnie zapisano pojazd.", el, 255, 255 ,255 ,true)
        end, 3000, 1)
        setElementFrozen(el,true)
        setVehicleLocked(el,true)
    end
end)

addEvent("onParkingVehicleSpawn", true)
addEventHandler("onParkingVehicleSpawn", root, function(id)
    if not id then return end
    local spawn=exports["pystories-vehicles"]:onRespawnVehicles(_,id,{-1959.97, 617.08, 35.37, 1.1, 0.0, 179.1})
    if spawn then
    --addEventHandler("onClientRender",root,render1)  
    outputChatBox("* Pomy?lnie wyci?gni?to pojazd z przechowalni.",el)
    end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-06-30, 11:21


Emm

***** ***






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

Piwa: 6171

Respekt: 1580
Respekt: 1580Respekt: 1580


   Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
    local spawn=exports["pystories-vehicles"]:onRespawnVehicles(_,id,{-1959.97, 617.08, 35.37, 1.1, 0.0, 179.1})

Z tego co widz?, to b?dzie potrzebny jeszcze chyba zas?b "pystories-vehicles". :p

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
 

 
Wysłany: 2018-06-30, 13:56


Kulegg







Wiek: 46
Na forum: 3266 dni
Posty: 283

Piwa: 20

Respekt: 50

 
vehicles=0
root=getRootElement()
resourceRoot=getResourceRootElement(getThisResource())

local nlOffsets={
    [411]={-1,0,-0.6},    -- infernus
    [470]={-1,0,-0.4},    -- patriot
    [541]={-0.9,0,-0.4},    -- bulelt
    [549]={-0.9,0,-0.4},    -- tampa
    [587]={-1,0,-0.5},    -- euros
}

local nlIDX={
    3962,2113,1784,2054,2428,2352
}

function getVehicleHandlingProperty ( element, property )
    if isElement ( element ) and getElementType ( element ) == "vehicle" and type ( property ) == "string" then
        local handlingTable = getVehicleHandling ( element ) 
        local value = handlingTable[property] 
 
        if value then
            return value
        end
    end
 
    return false
end

function getAdmin2(plr,level)
    if level then
        local result=exports["pystories-db"]:dbGet("SELECT * from pystories_admins WHERE serial=? AND level=?", getPlayerSerial(plr), level)
        if result and #result > 0 then
            return true
        else
            return false
        end
    else
        local result=exports["pystories-db"]:dbGet("SELECT * from pystories_admins WHERE serial=?", getPlayerSerial(plr))
        if result and #result > 0 then
            return true
        else
            return false
        end
    end
end
--///////////////////////////////////// WCZYTYWANIE POJAZD?W /////////////////////////////////
function onRespawnVehicles(_,id,poss)
    -- Settings (QUERY)
    if id then
        result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_vehicles WHERE parking=1 AND id=?", id)
        query=exports["pystories-db"]:dbSet("UPDATE pystories_vehicles SET parking=0 WHERE id=?", id)
    else
        result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_vehicles WHERE parking=0")
    end

    -- Pairs
    for ile,vehicle in pairs(result) do
        vehicles=ile

        if id then pos={poss[1], poss[2], poss[3], poss[4], poss[5], poss[6]}
        else pos=split(vehicle["pos"], ",") end

        local color=split(vehicle["color"], ",")
        local lights=split(vehicle["headlights"], ",")

        local veh=createVehicle(vehicle["model"], pos[1], pos[2], pos[3], pos[4], pos[5], pos[6])
        setVehicleColor(veh, color[1], color[2], color[3], color[4],color[5], color[6], color[7], color[8],color[9], color[10], color[11], color[12])
        setVehicleHeadLightColor(veh, lights[1], lights[2], lights[3])
        if vehicle["plateText"] ~= "" then
        setVehiclePlateText(veh, vehicle["plateText"])
        else
         setVehiclePlateText(veh, tostring("SA "..vehicle["id"]))
        end
        setElementFrozen(veh, (vehicle["frozen"]) > 0)
        if vehicle["paintjob"] ~= 3 then
        setVehiclePaintjob(veh, vehicle["paintjob"])
        end
        setElementHealth(veh, vehicle["health"])
        setElementData(veh,"vehicle:spawn",true)
        setElementData(veh,"vehicle:id", vehicle["id"])
        setElementData(veh,"vehicle:fuel", vehicle["fuel"])
        setElementData(veh,"vehicle:desc", vehicle["text"] or false)
        setElementData(veh,"vehicle:mileage", vehicle["mileage"])
        setElementData(veh,"vehicle:driver", vehicle["driver"])
        setElementData(veh,"vehicle:ownedGroup", vehicle["ownedGroup"])
        setElementData(veh,"vehicle:ownedPlayer", vehicle["ownedPlayer"])
        
        local mk1 = vehicle['mk1']
        local mk1 = vehicle['mk2']
        local xfour = vehicle['awd']
        
        if (type(vehicle['rent']) == "string") then
        local tabelka = {}
        local rente = split(vehicle['rent'], ',')
        for k,v in ipairs(rente) do
        table.insert(tabelka,v)
        end
        setElementData(veh,"vehicle:rent", tabelka or false)
        else
        setElementData(veh,"vehicle:rent",0)
        end
        
        if tonumber(xfour) == 1 then
        setVehicleHandling(veh,"driveType","awd")
        end
        
        if tonumber(mk1) ~= 0 then
        local fast = getVehicleHandlingProperty(veh,"engineAcceleration")
        local maxfast = getVehicleHandlingProperty(veh,"maxVelocity")
        local masa = getVehicleHandlingProperty(veh,"mass")
        local masa2 = getVehicleHandlingProperty(veh,"turnMass")
        local xd = getVehicleHandlingProperty(veh,"tractionMultiplier")
        local coef = getVehicleHandlingProperty(veh,"dragCoeff")
        setVehicleHandling(veh,"engineAcceleration",fast+0.5)
        setVehicleHandling(veh,"maxVelocity",maxfast+6)
        setVehicleHandling(veh,"mass",masa+100)
        setVehicleHandling(veh,"tractionMultiplier",xd+0.1)
        setVehicleHandling(veh,"steeringLock",40)
        setVehicleHandling(veh,"dragCoeff",coef-0.15)
        end
        
        if tonumber(mk2) ~= 0 then
        local fast = getVehicleHandlingProperty(veh,"engineAcceleration")
        local maxfast = getVehicleHandlingProperty(veh,"maxVelocity")
        local masa = getVehicleHandlingProperty(veh,"mass")
        local masa2 = getVehicleHandlingProperty(veh,"turnMass")
        local xd = getVehicleHandlingProperty(veh,"tractionMultiplier")
        local coef = getVehicleHandlingProperty(veh,"dragCoeff")
        setVehicleHandling(veh,"engineAcceleration",fast+1.3)
        setVehicleHandling(veh,"maxVelocity",maxfast+14)
        setVehicleHandling(veh,"tractionMultiplier",xd+0.2)
        setVehicleHandling(veh,"mass",masa+150)
        setVehicleHandling(veh,"steeringLock",42)
        setVehicleHandling(veh,"dragCoeff",coef-0.21)
        end
        
    --[[    if vehicle["rearlights"] ~= "" then
        setElementData(veh,"vehicle:light", vehicle["rearlights"])
        else
        setElementData(veh,"vehicle:light", "High Quality")
        end]]--
        setElementData(veh,"neony", vehicle["neon"])
        if vehicle["blokada"] == "true" then
            setElementData(veh,"vehicle:block", true)
            setVehicleWheelStates(veh, 2, 2, 2, 2)
        else
            setElementData(veh,"vehicle:block", false)
        end
        local rodzajneonu=tonumber(getElementData(veh,"neony"))
        if getElementData(veh,"neony") ~= 0 then
        local m = getElementModel(veh)
        local of
        if not nlOffsets[m] then
        of={-1,0,-0.5}
        else
        of=nlOffsets[m]
        end
        neon1=createObject(nlIDX[rodzajneonu],0,0,0)
        neon2=createObject(nlIDX[rodzajneonu],0,0,0)
        setElementData(veh,"zneony", {neon1, neon2})
        attachElements(neon1,veh,of[1],of[2],of[3])
        attachElements(neon2,veh,-of[1],of[2],of[3])
        end

        for i,v in ipairs(split(vehicle["tuning"], ",")) do addVehicleUpgrade(veh, v) end
        for i,v in ipairs(split(vehicle["panelstates"], ",")) do setVehiclePanelState(veh, i, tonumber(v)) end
        setVehicleDamageProof(veh, true)
    end
    outputDebugString("[pystories_vehicles] Loaded "..vehicles.." vehicles.")
end

--///////////////////////////////////// ZAPISYWANIE POJAZD?W /////////////////////////////////
function onSaveVehicle(vehicle)
    if getElementData(vehicle,"vehicle:spawn") then
        -- Setting
        local panelstates={}
        local model=getElementModel(vehicle)
        local health=getElementHealth(vehicle)
        local x,y,z=getElementPosition(vehicle)
        local rx,ry,rz=getElementRotation(vehicle)
        local desc=getElementData(vehicle,"vehicle:desc") or ""
        local id=getElementData(vehicle,"vehicle:id")
        local fuel=getElementData(vehicle,"vehicle:fuel")
        local mileage=getElementData(vehicle,"vehicle:mileage")
        local c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12=getVehicleColor(vehicle, true)
        local driver=getElementData(vehicle,"vehicle:driver") or ""
        local rent=getElementData(vehicle,"vehicle:rent")
        local player=getElementData(vehicle,"vehicle:ownedPlayer")
     --   local group=getElementData(vehicle,"vehicle:ownedGroup")
        local blokada=getElementData(vehicle,"vehicle:block")
        local neon=getElementData(vehicle,"neony")
        local h1,h2,h3=getVehicleHeadLightColor(vehicle)
        local paintjob=getVehiclePaintjob(vehicle)
        local rear="Brak"
        local frozen= isElementFrozen(vehicle) and 1 or 0
        for i=0,6 do table.insert(panelstates, getVehiclePanelState(vehicle,i)) end
        panelstates=table.concat(panelstates,",")
        upgrades=getVehicleUpgrades(vehicle)
        if not upgrades then upgrades={} end
        upgrades=table.concat(upgrades, ",")
        -- Query
        local query = exports["pystories-db"]:dbSet(string.format("UPDATE pystories_vehicles SET model='%d', pos='%.2f,%.2f,%.2f,%.2f,%.2f,%.2f', rent='%d',text='%s', health='%d', fuel='%d', mileage='%d', frozen='%d', driver='%s', color='%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d', panelstates='%s', paintjob='%d', tuning='%s', headlights='%d,%d,%d', ownedPlayer='%d', neon='%d', blokada='%s' WHERE id=%d",
        model, x,y,z, rx,ry,rz, "0",desc, health, fuel, mileage, frozen, driver, c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12, panelstates, paintjob, upgrades, h1,h2,h3, player, neon, tostring(blokada), id))
        if (type(rent) == "table") then
        local rr = string.format("%s", table.concat(rent, ',') )
    --    outputDebugString(rr)
        local query2= exports['pystories-db']:dbSet("UPDATE pystories_vehicles SET rent=? WHERE id=?",rr,id)
        end
    end
end

function onParkVehicle(vehicle) 
    local query=exports["pystories-db"]:dbSet("UPDATE pystories_vehicles SET parking=1 WHERE id=?", getElementData(vehicle,"vehicle:id"))
    if query then
        local zneony=getElementData(vehicle,"zneony")
        if (zneony and type(zneony)=="table") then
        destroyElement(zneony[1])
        destroyElement(zneony[2])
        removeElementData(vehicle,"zneony")
        end
        destroyElement(vehicle)
    end
end

--///////////////////////////////////// SPRAWDZANIE USTAWIE? /////////////////////////////////
function getSettings(plr,code,value)
    local sid=getElementData(plr,"player:sid")
    if not sid then return end
    if value == "faction" then
        local result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_factions WHERE code=? AND sid=?", code, sid)
        if result and #result > 0 then
            return result[1].code
        else
            return false
        end
    end
    if value == "organization" then
        local result=exports["pystories-db"]:dbGet("SELECT * FROM ms_organizacje WHERE sid=?", sid)
        if result and #result > 0 then
            return result[1].code
        else
            return false
        end
    end
    if value == "owner" then
        local result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_users WHERE id=?", sid)
        if result and #result > 0 then
            return result[1].id
        else
            return false
        end
    end
end

--///////////////////////////////////// INNE USTAWIENIA /////////////////////////////////
addEventHandler("onVehicleExit", root, function(plr,seat)
    if seat ~= 0 then return end 
       onSaveVehicle(source)
       setVehicleEngineState(source, false)
    setVehicleDamageProof(source, true)
    unbindKey(plr, 'n', 'down', bindHoron4)
end)


addEventHandler("onPlayerQuit", root, function()
    local veh=getPedOccupiedVehicle(source)
    if veh then
        setVehicleDamageProof(source, true)
        onSaveVehicle(veh)
    end
end)

addEventHandler("onResourceStop", resourceRoot, function()
    for i,v in ipairs(getElementsByType("vehicle")) do
        onSaveVehicle(v)
        local zneony=getElementData(v,"zneony")
        if (zneony and type(zneony)=="table") then
        destroyElement(zneony[1])
        destroyElement(zneony[2])
        removeElementData(v,"zneony")
        end
    end
    outputDebugString("[pystories_vehicles] Saved all vehicles!")
end)

addEventHandler("onVehicleEnter", root, function(plr,seat)
    if seat ~= 0 then return end
    setVehicleEngineState(source, false)
    setElementData(source,"vehicle:driver",getPlayerName(plr))
    if getElementData(source,"neony") and getElementData(source,"neony") ~= 0 then
        --triggerClientEvent(plr,"addNotification",root,"* Posiadasz neony w pojezdzie, mo?esz wl?czy? i wylaczyc je za pomoc? przycisku H.","info")
        outputChatBox("* Posiadasz neony w pojezdzie, mo?esz wl?czy? i wylaczyc je za pomoc? przycisku N.",plr)
        bindKey(plr, 'n', 'down', bindHoron4, plr)
    end
end)

--///////////////////////////////////// SPRAWDZENIE W?A?CICIELA /////////////////////////////////
addEventHandler("onVehicleStartEnter", resourceRoot, function(plr,seat,jacked)
    if seat == 0 then
        local rent=getElementData(source, "vehicle:rent")
        local group=getElementData(source, "vehicle:ownedGroup")
        if group == "0" then group = "Brak" end
        local player=getElementData(source, "vehicle:ownedPlayer")
        if getAdmin2(plr, 4) then
            return
        end
        if rent and (type(rent) == "table") then
            for i,s in pairs(rent) do
                if tonumber(s) == getElementData(plr,"player:sid") then
                return end
            end
        end
        
        local plrgroup = getElementData(plr,"player:organization")
        if plrgroup then
        --    outputDebugString(group)
            if getSettings(plr,false,"organization") == group then return end
        end
        if player and player ~= getSettings(plr,false,"owner") then
            --triggerClientEvent(plr,"addNotification",root,"* Nie masz kluczyk?w do tego pojazdu.","error")
            outputChatBox("* Nie posiadasz kluczyk?w do tego pojazdu.", plr)
            cancelEvent()
        end
    end
end)

addEventHandler("onVehicleStartEnter", root, function(plr,seat,jacked)
    if jacked then 
        if getElementData(source,"vehicle:ownedPlayer") == getElementData(plr,"player:sid") then return end
        cancelEvent()
    end
end)

addEventHandler("onVehicleStartEnter", root, function(plr,seat,jacked)
    if seat == 0 then
        if getElementData(source,"spawnowany")== true then
            if getElementData(plr,"player:admin")== false then
                cancelEvent()
            end
        end
    end
end)



function bindHoron4(plr)
        veh=getPedOccupiedVehicle(plr)
        if not veh then return end
        local rodzajneonu=tonumber(getElementData(veh,"neony"))
        if not rodzajneonu then return end
        if rodzajneonu==0 then 
        outputChatBox('* Brak Neonow.', plr, 255, 0 ,0)
        return end
        local zneony=getElementData(veh,"zneony")
        if (zneony and type(zneony)=="table") then
        destroyElement(zneony[1])
        destroyElement(zneony[2])
        removeElementData(veh,"zneony")

        --triggerClientEvent(plr,"addNotification",root,'* Wy??czy?e? Neony.',"warning")
        outputChatBox("* Od??czy?e?(a?) neony od pojazdu.",plr)
        else
        local m = getElementModel(veh)
        local of
        if not nlOffsets[m] then
        of={-1,0,-0.5}
        else
        of=nlOffsets[m]
        end
        neon1=createObject(nlIDX[rodzajneonu],0,0,0)
        neon2=createObject(nlIDX[rodzajneonu],0,0,0)
        setElementData(veh,"zneony", {neon1, neon2})
        attachElements(neon1,veh,of[1],of[2],of[3])
        attachElements(neon2,veh,-of[1],of[2],of[3])
        --triggerClientEvent(plr,"addNotification",root,'* W??czy?e? Neony. Pojawi? si? one jak poruszysz pojazdem!',"info")
        outputChatBox("* Za??czy?e?(a?) neony w poje?dzie.",plr)
        end
end

addEventHandler("onElementDestroy", getRootElement(), function ()
  if getElementType(source) == "vehicle" then
      local zneony=getElementData(source,"zneony")
    if (zneony and type(zneony)=="table") then
        destroyElement(zneony[1])
        destroyElement(zneony[2])
        removeElementData(source,"zneony")
        end
    end
end)


addEventHandler("onResourceStart", resourceRoot, function() onRespawnVehicles(_,false) end)


--[[
vehicles retrieval - mechanizm wylawiajacy pojazdy z wody
@author Lukasz Biegaj <wielebny@bestplay.pl>
@author Karer <karer.programmer@gmail.com>
@author WUBE <wube@lss-rp.pl>
@copyright 2011-2013 Lukasz Biegaj <wielebny@bestplay.pl>
]]--



--[[function shuffle(t)
  local n = #t
 
  while n >= 2 do
    -- n is now the last pertinent index
    local k = math.random(n) -- 1 <= k <= n
    -- Quick swap
    t[n], t[k] = t[k], t[n]
    n = n - 1
  end
  return t
end

local function vr()

    local pojazdy=getElementsByType("vehicle")

    if (#pojazdy<1) then return end

    local pojazdwoda={}
    for _,pojazd in ipairs(pojazdy) do
        if isElementInWater(pojazd) and not getVehicleController(pojazd) then
            local x,y,z=getElementPosition(pojazd)
            if (z<-1) then
                table.insert(pojazdwoda,pojazd)
            end
        end
    end
    if (#pojazdwoda<1) then return end

    outputDebugString("system_wylawiania_aut> Pojazdow w wodzie/pod mapa: " .. #pojazdwoda)

    shuffle(pojazdwoda)
    
    local pojazd=pojazdwoda[1]
    if getElementData(pojazd, "vehicle:spawn") then
        onParkVehicle(pojazd)
    else
        respawnVehicle(pojazd)
    end
end
setTimer(vr, 35000, 0)--]]

--//////////////////////////////////////////////////////// Licencje

local categoryA={[463] = true,[462] = true,[461] = true,[581] = true,[448] = true,[468] = true,[471] = true,[521] = true,[522] = true,[523] = true} 
local categoryB={[602] = true,[545] = true,[496] = true,[517] = true,[401] = true,[410] = true,[518] = true,[600] = true,[527] = true,[436] = true,[589] = true,[580] = true,[419] = true,[439] = true,[533] = true,[549] = true,[526] = true,[491] = true,[474] = true,[445] = true,[467] = true,[604] = true,[426] = true,[507] = true,[547] = true,[585] = true,[405] = true,[587] = true,[409] = true,[466] = true,[550] = true,[492] = true,[566] = true,[546] = true,[540] = true,[551] = true,[421] = true,[516] = true,[529] = true,[488] = true,[460] = true,
[469] = true,[487] = true,[510] = true,[509] = true,[481] = true,[586] = true,[472] = true,[473] = true,[493] = true,[595] = true,[484] = true,[430] = true,[453] = true,[452] = true,[446] = true,[454] = true,[485] = true,[552] = true,
[438] = true,[574] = true,[420] = true,[525] = true,[408] = true,[596] = true,[597] = true,[427] = true,[599] = true,[490] = true,[432] = true,[528] = true,[601] = true,[407] = true,[544] = true,[470] = true,[598] = true,[588] = true,
[532] = true,[443] = true,[486] = true,[531] = true,[543] = true,[422] = true,[583] = true,[478] = true,[605] = true,[554] = true,[530] = true,[418] = true,[572] = true,[582] = true,[536] = true,[575] = true,[534] = true,
[567] = true,[535] = true,[576] = true,[412] = true,[402] = true,[542] = true,[603] = true,[475] = true,[449] = true,[537] = true,[570] = true,[441] = true,[464] = true,[501] = true,[465] = true,[564] = true,[568] = true,[557] = true,[424] = true,[504] = true,[495] = true,[457] = true,[539] = true,[483] = true,[571] = true,[500] = true, 
[444] = true,[556] = true,[429] = true,[411] = true,[541] = true,[559] = true,[415] = true,[561] = true,[480] = true,[560] = true,[562] = true,[506] = true,[565] = true,[451] = true,[434] = true,[558] = true,[494] = true,[555] = true,[502] = true,[477] = true,[503] = true,[579] = true,[400] = true,[404] = true,[489] = true,[505] = true,[479] = true,[442] = true,[458] = true,
[606] = true,[607] = true,[610] = true,[590] = true,[569] = true,[611] = true,[584] = true,[608] = true,[435] = true,[450] = true,[591] = true,[594] = true}
local categoryC={[403] = true,[406] = true,[413] = true,[414] = true,[416] = true,[423] = true,[428] = true,[431] = true,[433] = true,[437] = true,[440] = true,[455] = true,[456] = true,[459] = true,[482] = true,[498] = true,[499] = true,[508] = true,[514] = true,[515] = true,[524] = true,[538] = true,[573] = true}
addEventHandler("onVehicleStartEnter", resourceRoot, function(plr,seat,jacked)
    if seat == 0 then
        if categoryA[getElementModel(source)] then
           if exports["pystories-ustawienia-prac"]:getVehicleLicense(plr,"A") then
            cancelEvent()
            end
        elseif categoryB[getElementModel(source)] then
            if exports["pystories-ustawienia-prac"]:getVehicleLicense(plr,"B") then
            cancelEvent()
            end
        elseif categoryC[getElementModel(source)] then
            if exports["pystories-ustawienia-prac"]:getVehicleLicense(plr,"C") then
            cancelEvent()
            end
        end
    end
end)

addEventHandler("onVehicleEnter", getRootElement(), function(plr,seat,jacked)
if seat ~= 0 then return end
if getElementData(source, "vehicle:id") and getElementData(source, "vehicle:spawn") then
local mk2 = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND mk2=?",getElementData(source, "vehicle:id"), "1")
local mk1 = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND mk1=?",getElementData(source, "vehicle:id"), "1")
local rh = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND rh=?",getElementData(source, "vehicle:id"), "1")
local np = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND naped=?",getElementData(source, "vehicle:id"), "1")
if #mk1 > 0 then outputChatBox(" Pomy?lnie zaprogramowano MK1",plr,255,255,255) end
if #mk2 > 0 then outputChatBox(" Pomy?lnie zaprogramowano MK2",plr,255,255,255) end
if #rh > 0 then outputChatBox(" Pomy?lnie zaprogramowano RH1",plr,255,255,255) end
if #np > 0 then outputChatBox(" Pomy?lnie zaprogramowano Nap?d 4x4",plr,255,255,255) end
end
end)

local strefa = { }
local strefy = {
    {1336.23840, 656.78876, 9.85624, 60.50634765625, 146.80010986328, 16.164074325562 },
    {924.07690, 1661.90576, 9.25354, 194.91711425781, 138.31750488281, 23.899999046326},
    {2197.99780, 2405.43872, -31.81085, 178.1982421875, 112.3896484375, 57.499998474121},
}
 
local ogranicznik = createElement ("ogranicznik");
for i,v in ipairs ( strefy  ) do
     strefa[i] = createColCuboid ( v [ 1 ], v [ 2 ], v [ 3 ], v [ 4 ], v [ 5 ], v [ 6 ], v [7] )
     setElementParent (strefa [i], ogranicznik);
end
 
addEventHandler("onColShapeHit", ogranicznik, function(el,md)
    if getElementType(el)=="vehicle" then
            setElementData(el,"vehicle:tempspeed", 50)
    end
end)
addEventHandler("onColShapeLeave", ogranicznik, function(el,md)
    if getElementType(el)=="vehicle" then
        removeElementData(el,"vehicle:tempspeed")
    end
end)
function wariant(plr, cmd, var1, var2)
    local veh = getPedOccupiedVehicle(plr)
    if not veh then return end
     local var1, var2 = getVehicleVariant(veh)
    if (veh and getVehicleController(veh) ~= plr) then return end
    local speedx, speedy, speedz = getElementVelocity(veh)
    if not speedx then speedx=0 end
    if not speedy then speedy=0 end
    if not speedz then speedz=0 end
    speedx = tonumber(speedx);speedy=tonumber(speedy);speedz=tonumber(speedz)
    local speed = (speedx^2 + speedy^2 + speedz^2)^(0.5) * 180
    if speed > 2 then outputChatBox("* St?j w miejscu !",plr) return end
    local panel = {}
    for i=0,6 do
    panel[i] = getVehiclePanelState ( veh, i )
    end
    setVehicleVariant(veh, tonumber(not var1), tonumber(not var1))
    for i=0, 6 do
    setVehiclePanelState ( veh, i ,panel[i])
    end
end
addCommandHandler("wariant", wariant)

 



[ Dodano: 2018-06-30, 14:00 ]
Ulepszy?em mk, trzeba by?o w?a?nie w vehicles to zrobi?, ale chcia?bym jeszcze doda? do mo?liwo?ci ztunowanie i kupienia w tune mechanicznym: Nitro x10, tak samo by sie kupowa?o jak mk

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-06-30, 18:37


Emm

***** ***






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

Piwa: 6171

Respekt: 1580
Respekt: 1580Respekt: 1580


   Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
No to analogicznie do zrobionego kupna mk musisz dorobi? monta? nitra, pr?buj. Jak si? nie uda to pisz.

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: montaż
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