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

Wysłany: 2019-11-17, 20:41


daybreakx3







Wiek: 27
Na forum: 2412 dni
Posty: 11
Nick w MP: Daybreak

Piwa: 2

Respekt: 50

Witam mam prace sweepery i chcialbym ja przerobic by naliczala punkty na wodzie jako zlowione ryby za kazdym razem jak wszystko ustawiam to nie nalicza w wodzie ale na drodze juz tak... wie ktos moze jak to naprawic? bardzo bym byl wdzieczny pozdrawiam

Kod od strony serwera

local money math.random(10000,11000) -- ile dostajesz za 1 kg
createBlip(1102.49, -1219.2117.8046,2,0,0,0,0,0,275)

local code="Sweepers" -- kod pracy
local jobOnline=true -- czy praca w??czona
local jobVehicles = { -- pozycjpojazd?w
{574,  1086.12, -1220.2417.7180.0180.0180.0},
{5741090.29, -1220.1817.7180.0180.0180.0},
{574,  1094.04, -1220.2017.7180.0180.0180.0},
{5741098.57, -1219.8517.7180.0180.0180.0},
{574,  1103.57, -1220.0717.7180.0180.0180.0},
{5741108.86, -1219.9817.7180.0180.0180.0},
}

local text createElement("text")
setElementData(text,"name""Punkt rozladowania")
setElementPosition(text,800.52, -2097.871.77)
for i,v in ipairs(jobVehicles) do
    local veh=createVehicle(v[1], v[2], v[3], v[4], v[5], v[6], v[7])
    setVehicleRespawnPosition(vehv[2], v[3], v[4], v[5], v[6], v[7])
    setElementData(veh,"vehicle:desc","?owienie Ryb")
    setElementData(veh,"vehicle:mileage"math.random(1000,50000))
    setElementData(veh,"vehicle:fuel",false)
    setElementData(veh,"vehicle:praca",true)
    setElementData(veh,"vehicle:job",code)
    addVehicleSirens(veh42falsetruetruetrue)
setVehicleSirens(veh10.40.451.3525576.50198.9198.9)
setVehicleSirens(veh2, -0.40.451.3525576.50200200)
    setVehicleDamageProof(vehtrue)
    toggleVehicleRespawn(vehtrue)
    setVehicleIdleRespawnDelay(veh30000)
    setElementFrozen(veh,true)
end



addEventHandler("onVehicleStartEnter"resourceRoot, function(plr,seat)
    if seat ~= 0 then cancelEvent() return end
    if getElementData(source,"wuzyciu"then cancelEvent() return end
    if jobOnline == false then
        outputChatBox("* Praca jest wy??czona."plr25500)
        cancelEvent()
        return
    end
    if getElementData(plr,"player:job"then
            exports.rpg_noti:createNotification(plr,"x","Ju? posiadasz aktywn? prac?!")
        cancelEvent()
        return
    end
    q=exports["ogrpg-db"]:dbGet("select pkt,ulepszenia from PSSM_KUTRY where uid=? limit 1"getElementData(plr,"player:uid"))
    if(#q<1) then
    exports["ogrpg-db"]:dbSet("insert into PSSM_KUTRY (uid) values(?)"getElementData(plr,"player:uid"))
    cancelEvent()
    return
    end
end)

addEventHandler("onVehicleExit"resourceRoot, function(plr,seat)
    if seat ~= 0 then return end
    setElementData(source,"vehicle:desc","?owienie Ryb")
    setElementData(plr,"player:job",false)
    setElementData(source,"wuzyciu",false)
    setElementData(plr"pojazdSweepery"false)
    setVehicleSirensOn sourcefalse )
end)

addEventHandler("onVehicleEnter"resourceRoot, function(plr,seat)
    if seat ~= 0 then return end
    --q=exports["ogrpg-db"]:dbGet("select pkt,ulepszenia from PSSM_KUTRY where uid=? limit 1"getElementData(plr,"player:uid"))
    --if(#q<1) then
    --exports["ogrpg-db"]:dbSet("insert into PSSM_KUTRY (uid) values(?)"getElementData(plr,"player:uid"))
    --end
    --if(#q==1) then
    --triggerClientEvent(plr"kutrypunkty"plrq[1].pkttostring(q[1].ulepszenia))
    --end
    triggerClientEvent(plr"kutrypunkty"plrq[1].pkttostring(q[1].ulepszenia))
    setElementFrozen(source,false)
    setVehicleDamageProof(sourcefalse)
    setVehicleSirensOn sourcetrue )
    setElementData(source,"wuzyciu",true)
    setElementData(plr"pojazdSweepery"source)
    setElementData(source,"vehicle:trash",0)
    setElementData(plr,"player:job",code)
    exports.rpg_noti:createNotification(plr,"x","Rozpoczo?e?(a?) prac?!")
    local result exports["ogrpg-db"]:dbGet("select * from PSSM_KUTRY where uid=? limit 1"getElementData(plr,"player:uid"))
    uleps=split(tostring(result[1].ulepszenia), ",")
    if uleps[1] == "1" then
    exports.rpg_noti:createNotification(plr,"x","Tw?j limit ?mieci wynosi 70 KG!")
    else
    exports.rpg_noti:createNotification(plr,"x","Tw?j limit ?mieci wynosi 25 KG!") 
    end
end)

addEventHandler("onVehicleRespawn"resourceRoot, function()
    veh=source
    setElementData(veh,"vehicle:desc","Czyszczenie ulic")
    setElementData(veh,"vehicle:mileage"math.random(1000,50000))
    setElementData(veh,"vehicle:fuel",100)
    setElementData(source,"vehicle:trash",0)
    setElementData(source,"wuzyciu",false)
    setVehicleSirensOn sourcefalse )
    setElementFrozen(veh,true)
    setVehicleDamageProof(vehtrue)
    setVehicleOverrideLights vehend)


addEventHandler("onResourceStop"resourceRoot, function()
    for i,v in ipairs(getElementsByType("player")) do
        if getElementData(v"player:job")==code then
            setElementData(v"player:job"false)
        end
    end
end,false,"high")


addEvent("rozladuj",true)
addEventHandler("rozladuj",root,function(smiecie)
local result exports["ogrpg-db"]:dbGet("select * from PSSM_KUTRY where uid=? limit 1"getElementData(client,"player:uid"))
ulepy=split(tostring(result[1].ulepszenia), ",")
if ulepy[2] == "1" and ulepy[3] == "1" then
cash tonumber(smiecie)*money*1.15
elseif ulepy[2] == "1" then
cash tonumber(smiecie)*money*1.05
elseif ulepy[3] == "1" then
cash tonumber(smiecie)*money*1.10
elseif ulepy[2] == "0" or ulepy[3] == "0" then
cash tonumber(smiecie)*money
end
local m cash
local pm cash*1.3
punkciki =  tonumber(smiecie)
local ajdi getElementData(client,"player:uid")
if getElementData(client,"player:premium"then
        outputChatBox("#ffd700[Premium] #ffffffRozladowa?e? zbiornik ?mieci, za prac? otrzymujesz#66cc00 "..string.format("%.2f"pm/100).." PLN."client255255255true )
        givePlayerMoney(client,pm)
        exports['ogrpg-db']:dbSet("UPDATE ogrpg_users SET punkty_kutry=punkty_kutry+? WHERE id=?",punkciki,ajdi)
        exports['ogrpg-db']:dbSet("UPDATE PSSM_KUTRY SET pkt=pkt+? WHERE uid=?",punkciki,ajdi)
else
        outputChatBox("#ffffffRozladowa?e? zbiornik ?mieci, za prac? otrzymujesz#66cc00 "..string.format("%.2f"m/100).." PLN."client255255255true )
        givePlayerMoney(client,m)
        exports['ogrpg-db']:dbSet("UPDATE ogrpg_users SET punkty_kutry=punkty_kutry+? WHERE id=?",punkciki,ajdi)
        exports['ogrpg-db']:dbSet("UPDATE PSSM_KUTRY SET pkt=pkt+? WHERE uid=?",punkciki,ajdi)
end
        triggerClientEvent client"zerowaniesmieci"client)
        setElementData(getPedOccupiedVehicle(client),"vehicle:trash",0.00)

end)

addEvent("kupulepszenie",true)
addEventHandler("kupulepszenie",root,function(koszt,n)
q2=exports["ogrpg-db"]:dbGet("select * from PSSM_KUTRY where uid=? limit 1"getElementData(client,"player:uid"))
if (#q2<1) then cancelEvent() return end
takePlayerMoney(clientkoszt)
upgrds=split(tostring(q2[1].ulepszenia), ",")
if == 1 then
str="1,"..upgrds[2]..","..upgrds[3]..","..upgrds[4]
elseif == 2 then
str=upgrds[1]..",1,"..upgrds[3]..","..upgrds[4]
elseif == 3 then
str=upgrds[1]..","..upgrds[2]..",1,"..upgrds[4]
elseif == 4 then
str=upgrds[1]..","..upgrds[2]..","..upgrds[3]..",1"
end
exports["ogrpg-db"]:dbSet("update PSSM_KUTRY set pkt=pkt-100, ulepszenia=? where uid=?"strgetElementData(client,"player:uid"))
outputChatBox("Pomy?lnie zakupi?e? ulepszenie!"client,0255,0)
end)

addEventHandler("onElementDestroy"resourceRoot, function()
    local type getElementType(source)
    if type == "vehicle" then
    cancelEvent()
    end
end)

addEventHandler("onPlayerQuit"root, function()
    local pojazd getElementData(source"pojazdSweepery")
    if not pojazd then return end
    setVehicleIdleRespawnDelay(pojazd30000)
    setElementData(source"pojazdSweepery"false)
end)


kod od strony clienta

local czas getTickCount()
local screenWscreenH guiGetScreenSize()
mojeW,mojeH 1360,768
sW,sH guiGetScreenSize()
widthheight = (sW/mojeW), (sH/mojeH)
function speeed(car)
local a1,b1,c1 getElementVelocity(car)
local fast = ((a1^2+b1^2+c1^2)^(0.5) *180)
return fast
end
local code="Sweepers" -- kod pracy
tekstury = {
    [0] = true,
    [1] = true,
    [2] = true,
}
local smiecie 0

function greetingHandler message )
smiecie 0
end
addEvent"zerowaniesmieci"true )
addEventHandler"zerowaniesmieci"localPlayergreetingHandler )

function render(pojazd)
if pojazd and isElement(pojazdthen
local matrix getElementMatrix(pojazd)
local vx,vy,vz getElementVelocity(pojazd)
local maciez = (vx matrix[2][1]) + (vy matrix[2][2]) + (vz matrix[2][3])
if maciez <= 0 then
return false
end
local x,y,getElementPosition(pojazd)
fxAddWaterSplash (x,y,z-1.9)
if (getTickCount() - czas) < math.random(700,1200then return end
czas getTickCount()
--if (not isVehicleOnGround(pojazd)) then outputDebugString("ground FALSE")  return end
if speeed(pojazd) < 33 then return end
ziemia getGroundPosition(x,y,z) - 0.001
hit,_,_,_,_,_,_,_,material,_,target processLineOfSight (x,y,zxyziemia,truefalsetruetruefalsetrue  )
if hit == false then
 return end
if (not tekstury[material]) then
return end
smiecie getElementData(pojazd,"vehicle:trash")
if ulepszenia[4] == "1" then
kg 1/80
elseif ulepszenia[4] == "0" then
kg 1/100
end
if ulepszenia[1] == "1" then
limit 25
elseif ulepszenia[1] == "0" then
limit 70
end
if smiecie >= limit then return end
setElementData(pojazd,"vehicle:trash",smiecie+kg)
end
end
local function shit()
local pojazd getPedOccupiedVehicle(localPlayer)
if not pojazd then return end
if not getVehicleEngineState(pojazdthen return end
render(pojazd)
end



function gui()
exports["buttons"]:createCustomWindow(""screenW/2-150screenH/2+220,300,140tocolor(255255255255), false)
exports["buttons"]:createCustomText("Zebranane zanieczyszczenia"screenW/2-91screenH/2+265,screenW/2+91,screenH/2+265tocolor(255255255255), 99"default""center""center"falsefalsefalsefalsefalse)
exports["buttons"]:createCustomText(""..string.format("%.2f"smiecie).."KG"screenW/2-90screenH/2+310,screenW/2+90,screenH/2+310tocolor(255255255255), 99"default""center""center"falsefalsefalsefalsefalse)
end

function guirozladunek()
exports["buttons"]:createCustomWindow("Miejsce Rozladunku Zanieczyszczen"screenW 0.3016screenH 0.2786screenW 0.4092screenH 0.4805tocolor(255255255255), false)
exports["buttons"]:createCustomText("Tutaj mozesz rozladowac zebrane zanieczyszczenia"screenW/2-80screenH/2-365,screenW/2+91,screenH/2+265tocolor(255255255255), 99"default""center""center"falsefalsefalsefalsefalse)
exports["buttons"]:createCustomText("Aby rozladowac zanieczyszczenia"screenW/2-80screenH/2-305,screenW/2+91,screenH/2+265tocolor(255255255255), 99"default""center""center"falsefalsefalsefalsefalse)
exports["buttons"]:createCustomText("kliknij przycisk 'ROZLADUJ'"screenW/2-80screenH/2-245,screenW/2+91,screenH/2+265tocolor(255255255255), 99"default""center""center"falsefalsefalsefalsefalse)
exports["buttons"]:createCustomText("Zebranane zanieczyszenia"screenW/2-80screenH/2-125,screenW/2+91,screenH/2+265tocolor(255255255255), 99"default""center""center"falsefalsefalsefalsefalse)
exports["buttons"]:createCustomText(""..string.format("%.2f"smiecie).."KG"screenW/2-80screenH/2-110,screenW/2+90,screenH/2+310tocolor(255255255255), 99"default""center""center"falsefalsefalsefalsefalse)
exports["buttons"]:createCustomButton("Rozladuj"screenW 0.3422screenH 0.6719screenW 0.1094screenH 0.0600tocolor(255,255,255,255), false)
exports["buttons"]:createCustomButton("Zamknij"screenW 0.5632screenH 0.6719screenW 0.1094screenH 0.0600tocolor(255,255,255,255), false)

end

function guiulepszen()
exports["buttons"]:createCustomWindow("Panel ulepszen"screenW 0.3016screenH 0.2786screenW 0.4092screenH 0.4805tocolor(255255255255), false)
dxDrawRectangle(532*width287*height271*width42*heighttocolor(000170), false)
dxDrawRectangle(813*width287*height42*width42*heighttocolor(000170), false)
dxDrawRectangle(532*width339*height271*width42*heighttocolor(000170), false)
dxDrawRectangle(813*width339*height42*width42*heighttocolor(000170), false)
dxDrawRectangle(532*width391*height271*width42*heighttocolor(000170), false)
dxDrawRectangle(813*width391*height42*width42*heighttocolor(000170), false)
dxDrawRectangle(532*width443*height271*width42*heighttocolor(000170), false)
dxDrawRectangle(813*width443*height42*width42*heighttocolor(000170), false)
dxDrawText("Twoje punkty: #ff0000"..pkt..""screenW/2+180screenH/2-545,screenW/2+191,screenH/2+265tocolor(255255255255), 1.50"default-bold""center""center"falsetruefalsetruefalse)
dxDrawText("Zwi?kszenie limitu ?mieci do 70 kg\nKoszt: 4000 PLN + 100 punkt?w"530*width287*height803*width287+42*heighttocolor(255255255255), 1.00"default-bold""center""center"falsetruefalsefalsefalse)
dxDrawText("Zwi?kszenie zarobk?w o 5%\nKoszt: 6000 PLN + 150 punkt?w"530*width339*height803*width339+42*heighttocolor(255255255255), 1.00"default-bold""center""center"falsetruefalsefalsefalse)
dxDrawText("Zwi?kszenie zarobk?w o 10%\nKoszt: 8000 PLN + 200 punkt?w"530*width391*height803*width391+42*heighttocolor(255255255255), 1.00"default-bold""center""center"falsetruefalsefalsefalse)
dxDrawText("Zwi?kszenie pr?dko?ci zbierania ?mieci o 20%\nKoszt: 10000 PLN + 300 punkt?w"530*width443*height803*width443+42*heighttocolor(255255255255), 1.00"default-bold""center""center"falsetruefalsefalsefalse)
if ulepszenia[1] == "1" then
dxDrawText("&#10003;"811*width287*height855*width287+42*heighttocolor(255255255255), 1.5"default-bold""center""center"falsetruefalsefalsefalse)
else
dxDrawText("KUP"811*width287*height855*width287+42*heighttocolor(255255255255), 1.5"default-bold""center""center"falsetruefalsefalsefalse)
end
if ulepszenia[2] == "1" then
dxDrawText("&#10003;"811*width339*height855*width339+42*heighttocolor(255255255255), 1.5"default-bold""center""center"falsetruefalsefalsefalse)
else
dxDrawText("KUP"811*width339*height855*width339+42*heighttocolor(255255255255), 1.5"default-bold""center""center"falsetruefalsefalsefalse)
end
if ulepszenia[3] == "1" then
dxDrawText("&#10003;"811*width391*height855*width391+42*heighttocolor(255255255255), 1.5"default-bold""center""center"falsetruefalsefalsefalse)
else
dxDrawText("KUP"811*width391*height855*width391+42*heighttocolor(255255255255), 1.5"default-bold""center""center"falsetruefalsefalsefalse)
end
if ulepszenia[4] == "1" then
dxDrawText("&#10003;"811*width443*height855*width443+42*heighttocolor(255255255255), 1.5"default-bold""center""center"falsetruefalsefalsefalse)
else
dxDrawText("KUP"811*width443*height855*width443+42*heighttocolor(255255255255), 1.5"default-bold""center""center"falsetruefalsefalsefalse)
end
exports["buttons"]:createCustomButton("Zamknij"screenW 0.4532screenH 0.6719screenW 0.1094screenH 0.0600tocolor(255,255,255,255), false)
end

oknorozladunku false
oknoulepszen false

local marker createMarker(800.52, -2097.871.77,"corona",1.015350204)

addEventHandler("onClientMarkerHit"marker, function(el)
    if el~=localPlayer then return end
    if getElementData(el,"player:job") == "Sweepers" then
    addEventHandler("onClientRender",rootguirozladunek)
    oknorozladunku true
    showCursor(true)
    end
end)


function Przechowyjmij(buttonstate)
if button == "left" and state == "down" and oknorozladunku then
if cursorPosition(screenW 0.3422screenH 0.6719screenW 0.1094screenH 0.0600then
local smiecie getElementData(getPedOccupiedVehicle(localPlayer),"vehicle:trash")
if smiecie == 0.00 then
outputChatBox("Tw?j zbiornik jest pusty") return end
triggerServerEvent "rozladuj"localPlayer,smiecie)
showCursor(false)
oknorozladunku false
removeEventHandler ("onClientRender"rootguirozladunek)
end
end
end
addEventHandler("onClientClick"getRootElement(), Przechowyjmij)

function ulepszenie(buttonstate)
if button == "left" and state == "down" and oknoulepszen then
if cursorPosition(813*width287*height42*width42*heightthen
    if ulepszenia[1] == "1" then
        outputChatBox("Posiadasz ju? to ulepszenie!")
        return
    end
    if pkt 100 then
        outputChatBox("Nie posiadasz tyle punkt?w!")
    return
    end
local koszt 400000
if getPlayerMoney(localPlayer) < koszt then
outputChatBox("Nie posiadasz tyle pieni?dzy!")
return
end
triggerServerEvent "kupulepszenie"localPlayer,koszt,1)
if ( not wasEventCancelled() ) then
    ulepszenia[1] = "1"
    pkt=pkt-100
end
elseif cursorPosition(813*width339*height42*width42*heightthen
if ulepszenia[2] == "1" then
outputChatBox("Posiadasz ju? to ulepszenie!")
return
end
if pkt 150 then
outputChatBox("Nie posiadasz tyle punkt?w!")
return
end
local koszt2 600000
if getPlayerMoney(localPlayer) < koszt2 then
outputChatBox("Nie posiadasz tyle pieni?dzy!")
return
end
triggerServerEvent "kupulepszenie"localPlayer,koszt2,2)
if ( not wasEventCancelled() ) then
    ulepszenia[2] = "1"
    pkt=pkt-150
end
elseif cursorPosition(813*width391*height42*width42*heightthen
if ulepszenia[3] == "1" then
outputChatBox("Posiadasz ju? to ulepszenie!")
return
end
if pkt 200 then
outputChatBox("Nie posiadasz tyle punkt?w!")
return
end
local koszt3 800000
if getPlayerMoney(localPlayer) < koszt3 then
outputChatBox("Nie posiadasz tyle pieni?dzy!")
return
end
triggerServerEvent "kupulepszenie"localPlayer,koszt3,3)
if ( not wasEventCancelled() ) then
    ulepszenia[3] = "1"
    pkt=pkt-200
end
elseif cursorPosition(813*width443*height42*width42*heightthen
if ulepszenia[4] == "1" then
outputChatBox("Posiadasz ju? to ulepszenie!")
return
end
if pkt 300 then
outputChatBox("Nie posiadasz tyle punkt?w!")
return
end
local koszt4 1000000
if getPlayerMoney(localPlayer) < koszt4 then
outputChatBox("Nie posiadasz tyle pieni?dzy!")
return
end
triggerServerEvent "kupulepszenie"localPlayer,koszt4,4)
if ( not wasEventCancelled() ) then
    ulepszenia[4] = "1"
    pkt=pkt-300
end
end
end
end
addEventHandler("onClientClick"getRootElement(), ulepszenie)

function Zamknij(buttonstate)
    if button == "left" and state == "down" and oknorozladunku then
           if cursorPosition(screenW 0.5632screenH 0.6719screenW 0.1094screenH 0.0600then
                removeEventHandler ("onClientRender"rootguirozladunek)
                showCursor(false)
                oknorozladunku false
         end
    end
end
addEventHandler("onClientClick"getRootElement(), Zamknij)

function Zamknij2(buttonstate)
    if button == "left" and state == "down" and oknoulepszen then
           if cursorPosition(screenW 0.4532screenH 0.6719screenW 0.1094screenH 0.0600then
                removeEventHandler ("onClientRender"rootguiulepszen)
                showCursor(false)
                oknoulepszen false
         end
    end
end
addEventHandler("onClientClick"getRootElement(), Zamknij2)

function cursorPosition(xywh)
    if (not isCursorShowing()) then
        return false
    end
    local mxmy getCursorPosition()
    local fullxfully guiGetScreenSize()
    cursorxcursory mx*fullxmy*fully
    if cursorx and cursorx and cursory and cursory h then
        return true
    else
        return false
    end
end


addEventHandler("onClientVehicleEnter"resourceRoot,
    function(thePlayerseat)
        if thePlayer == getLocalPlayer() then
            if getElementData(source,"vehicle:job") == code then
            addEventHandler("onClientRender",root,shit)
            addEventHandler("onClientRender",rootgui)
            end
        end
end)
addEventHandler("onClientVehicleExit"resourceRoot,
    function(thePlayerseat)
        if thePlayer == getLocalPlayer() then
            if getElementData(source,"vehicle:job") == code then
            removeEventHandler("onClientRender",root,shit)
            removeEventHandler("onClientRender",rootgui)
            oknoulepszen false
            showCursor(false,true)
            end
        end
end)

function pobierz(pkt2,ulepszeniaa)
addEventHandler("onClientRender",rootguiulepszen)
oknoulepszen true
showCursor(true,true)
ulepszenia=split(tostring(ulepszeniaa), ",")
pkt=pkt2
end
addEvent("kutrypunkty"true)
addEventHandler("kutrypunkty"getLocalPlayer(), pobierz)


Postaw piwo autorowi tego posta
 

 
Tagi: jak :: przerobic :: skrypt :: naliczał :: punkty :: wodzie
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Jak przerobic skrypt by naliczał punkty na wodzie Odpowiedz do tematu

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