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

Wysłany: 2017-01-14, 14:35


NeroNix







Wiek: 27
Na forum: 3614 dni
Posty: 69

Piwa: 1

Respekt: 40,5

Ostrzeżeń: 100%
Witam , mam problem, gdy? mam prace sweepera, kt?ry jest prawie na ka?dym serwerze tak? sam? jak na Its Your World. Liczy ona po 1 kg, a ja chcia?bym zrobi? ?eby liczy?o po 0.01 kg . Jak to zrobi? ?


Za pomoc piwko i respekt

CLIENT:
local czas getTickCount()

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,
}

function render(pojazd)
local x,y,getElementPosition(pojazd)
fxAddWaterSplash (x,y,z-1.9)
if (getTickCount() - czas) < 6000 then return end
czas getTickCount()
--if (not isVehicleOnGround(pojazd)) then outputDebugString("ground FALSE")  return end
if speeed(pojazd) < 30 then return end
ziemia getGroundPosition(x,y,z) - 0.001
hit,_,_,_,_,_,_,_,material,_,target processLineOfSight (x,y,zxyziemia,truefalsetruetruefalsetrue  )
if hit == false then
--outputDebugString("HIT FALSE")
 return end
if (not tekstury[material]) then
--outputDebugString("MATERIAL FALSE")
return end
local smiecie getElementData(pojazd,"vehicle:trash")
local kg math.random(0.8,1.2)
if not getElementData(localPlayer,"player:premium"then
limit 200
else
limit 250
end
if smiecie >= limit then return end
setElementData(pojazd,"vehicle:trash",smiecie+kg)

setElementData(pojazd,"vehicle:desc","Nape?nienie zbiornika : ["..smiecie.." kg]")
end
local function shit()
local pojazd getPedOccupiedVehicle(localPlayer)
if not pojazd then return end
if not getVehicleEngineState(pojazdthen return end
if speeed(pojazd) < 4 then
toggleControl ("brake_reverse"false )
else
toggleControl ("brake_reverse"true )
end
render(pojazd)
end


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

addEventHandler('onClientResourceStart'resourceRoot,
function()
shader dxCreateShader('shader.fx')
terrain dxCreateTexture('sweeper92decal128.png')
dxSetShaderValue(shader'gTexture'terrain)
engineApplyShaderToWorldTexture(shader'sweeper92decal128')
end
)


Server:

local money 35 -- ile dostajesz za 1 kg
local score -- Reputacji ile dostajesz
createBlip(1362.90, -1651.8713.3846,2,0,0,0,0,0,275)

local code="Sweepers" -- kod pracy
local jobOnline=false -- czy praca w??czona
local jobVehicles = { -- pozycjpojazd?w
    {5741360.75, -1661.6713.36-0.2,0.0,360.0,267.7},
    {5741360.75, -1661.67+413.36-0.2,0.0,360.0,267.7},
    {5741360.75, -1661.67+813.36-0.2,0.0,360.0,267.7},
    {5741360.75, -1661.67+1213.36-0.2,0.0,360.0,267.7},
    {5741360.75, -1661.67+1613.36-0.2,0.0,360.0,267.7},
    {5741360.75, -1661.67+2013.36-0.2,0.0,360.0,267.7},
    {5741360.75, -1661.67+2413.36-0.2,0.0,360.0,267.7},
    {5741360.75, -1661.67+2813.36-0.2,0.0,360.0,267.7},

}

local jobMarker createMarker(1375.67, -1632.1713.38-0.90,"corona",2.5,100,50,10)
local text createElement("text")
setElementData(text,"name""Punkt rozladowania")
setElementPosition(text,1375.67, -1632.1713.38+0.2)
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","Czyszczenie ulic")
    setElementData(veh,"vehicle:mileage"math.random(1000,50000))
    setElementData(veh,"vehicle:fuel",100)
    setElementData(veh,"vehicle:job",code)
    setVehicleDamageProof(vehtrue)
    toggleVehicleRespawn(vehtrue)
    setVehicleIdleRespawnDelay(veh10000)
    setElementFrozen(veh,true)
    removeVehicleSirens(veh)
    addVehicleSirens(veh22truetruefalsetrue)
    setVehicleSirens(veh1, -0.30.41.32552550104.691.8)
    setVehicleSirens(veh20.30.41.32552550104.691.8)
end



addEventHandler("onVehicleStartEnter"resourceRoot, function(plr,seat)
    if seat ~= 0 then return end
    if jobOnline == false then
        outputChatBox("* Praca jest wy??czona."plr25500)
        cancelEvent()
        return
    end
    if getElementData(plr,"player:job"then
        outputChatBox("* Posiadasz aktywn? prac?!"plr25500)
        cancelEvent()
        return
    end
end)

addEventHandler("onVehicleExit"resourceRoot, function(plr,seat)
    if seat ~= 0 then return end
    setElementData(source,"vehicle:desc","Czyszczenie ulic")
    setElementData(plr,"player:job",false)
  toggleControl plr"brake_reverse"true )
end)

addEventHandler("onVehicleEnter"resourceRoot, function(plr,seat)
    if seat ~= 0 then return end
    setElementFrozen(source,false)
    setVehicleDamageProof(sourcefalse)
    setElementData(source,"vehicle:trash",0)
    setElementData(plr,"player:job",code)
    outputChatBox("* Rozpocz??e?(a?) prac?!"plr)
    outputChatBox("* Posprz?taj ulice miasta!"plr)
    if not getElementData(plr"player:premium"then
    outputChatBox("* Pami?taj ?e maksymalne zape?nienie zbiornika to 200 kg!"plr255255255)
    else
    outputChatBox("* Pami?taj ?e maksymalne zape?nienie zbiornika to 250 kg!"plr255255255)
    end
--    toggleControl plr"brake_reverse"false )
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(veh,"vehicle:job",code)
    setElementData(source,"vehicle:trash",0)
    setElementFrozen(veh,true)
    setVehicleDamageProof(vehtrue)
    setVehicleOverrideLights veh)
    removeVehicleSirens(veh)
    addVehicleSirens(veh22truetruefalsetrue)
    setVehicleSirens(veh1, -0.30.41.32552550104.691.8)
    setVehicleSirens(veh20.30.41.32552550104.691.8)
end)


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

function RGBToHex(redgreenbluealpha)
    if((red or red 255 or green or green 255 or blue or blue 255) or (alpha and (alpha or alpha 255))) then
        return nil
    end
    if(alphathen
        return string.format("#%.2X%.2X%.2X%.2X"red,green,blue,alpha)
    else
        return string.format("#%.2X%.2X%.2X"red,green,blue)
    end
end

addEventHandler("onMarkerHit",resourceRoot,function(element,md)
    if source ~= jobMarker then return end
    local type getElementType(element)
    if type == "player" then
    if not getPedOccupiedVehicle(elementthen return end
    if getElementData(getPedOccupiedVehicle(element),"vehicle:trash") and getElementData(getPedOccupiedVehicle(element),"vehicle:trash") >= 10 then
        local cash getElementData(getPedOccupiedVehicle(element),"vehicle:trash")*money
        local cash math.floor(cash)
        local m cash
        local vt getElementData(getPedOccupiedVehicle(element),"vehicle:trash")
        setElementData(getPedOccupiedVehicle(element),"vehicle:trash",0)
        setElementData(getPedOccupiedVehicle(element),"vehicle:desc","Czyszczenie ulic")
            if getElementData(element,"player:premium"then
            local m cash *1.5
            local m math.floor(m)
            outputChatBox("[Premium]* Rozladowa?e? zbiornik ?mieci. Wynagrodzenie kt?re dostajesz za "..vt.."KG to 1.5x("..m.."PLN) ",element,0,160,0,true)
            givePlayerMoney(element,m)
            else
            outputChatBox("* Rozladowa?e? zbiornik ?mieci. Wynagrodzenie kt?re dostajesz za "..vt.."KG 1.5x to "..m.."PLN",element,0,160,0,true)
            givePlayerMoney(element,m)
            end
    end
    end
end)
addEventHandler("onElementDestroy"resourceRoot, function()
    local type getElementType(source)
    if type == "vehicle" then
    cancelEvent()
    end
end)
addCommandHandler("sweep-toggle",function(plr,cmd)
if jobOnline == false then
jobOnline true
outputChatBox("ODBLOKOWALES XD",plr,255,0,0)
else
jobOnline false
outputChatBox("ZABLOKOWALES XD",plr,255,0,0)
end
end)
--addEventHandler("onVehicleStartEnter",resourceRoot,function(plr) if wylaczone then cancelEvent();outputChatBox("**Trwaja testy",plr,255,0,0) return end end)

addCommandHandler("respsweepery",function(plr,cmd)
if exports["dutyadmin"]:getAdmin(plr,4) or exports["dutyadmin"]:getAdmin(plr,3then
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","Czyszczenie ulic")
    setElementData(veh,"vehicle:mileage"math.random(1000,50000))
    setElementData(veh,"vehicle:fuel",100)

    setElementData(veh,"vehicle:job",code)
    setVehicleDamageProof(vehtrue)
    toggleVehicleRespawn(vehtrue)
    setVehicleIdleRespawnDelay(veh10000)
    setElementFrozen(veh,true)
    removeVehicleSirens(veh)
    addVehicleSirens(veh22truetruefalsetrue)
    setVehicleSirens(veh1, -0.30.41.32552550104.691.8)
    setVehicleSirens(veh20.30.41.32552550104.691.8)
    addEventHandler("onVehicleExit",veh,function(plr,seatdestroyElement(source);setElementData(plr,"player:job",falseend)
    addEventHandler("onVehicleRespawn",veh,function() destroyElement(source); end)
end
end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-01-14, 15:49


_Haze

Peace Yo!






Wiek: 24
Na forum: 4185 dni
Posty: 1648
Nick w MP: Haze

Piwa: 2628

Respekt: 1020
Respekt: 1020

Po 1 masz tu 32132132 zmiennych kt?re nie s? potrzebne. A ?eby dawa? np 0.1 to tylko podmieniasz
kg = math.random(0.1,1.3) (w og?le to dziwi? si? ?e to dzia?a poniewa? trzeba podawa? liczby ca?kowite ale ok ) na kg = 0.1 jak nie umiesz tego zrobi? to masz kod tutaj
local czas getTickCount()

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,
}

function render(pojazd)
local x,y,getElementPosition(pojazd)
fxAddWaterSplash (x,y,z-1.9)
if (getTickCount() - czas) < 6000 then return end
czas getTickCount()
--if (not isVehicleOnGround(pojazd)) then outputDebugString("ground FALSE")  return end
if speeed(pojazd) < 30 then return end
ziemia getGroundPosition(x,y,z) - 0.001
hit,_,_,_,_,_,_,_,material,_,target processLineOfSight (x,y,zxyziemia,truefalsetruetruefalsetrue  )
if hit == false then
--outputDebugString("HIT FALSE")
 return end
if (not tekstury[material]) then
--outputDebugString("MATERIAL FALSE")
return end
local smiecie getElementData(pojazd,"vehicle:trash")
local kg 0.1
if not getElementData(localPlayer,"player:premium"then
limit 200
else
limit 250
end
if smiecie >= limit then return end
setElementData(pojazd,"vehicle:trash",smiecie+kg)

setElementData(pojazd,"vehicle:desc","Nape?nienie zbiornika : ["..smiecie.." kg]")
end
local function shit()
local pojazd getPedOccupiedVehicle(localPlayer)
if not pojazd then return end
if not getVehicleEngineState(pojazdthen return end
if speeed(pojazd) < 4 then
toggleControl ("brake_reverse"false )
else
toggleControl ("brake_reverse"true )
end
render(pojazd)
end


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

addEventHandler('onClientResourceStart'resourceRoot,
function()
shader dxCreateShader('shader.fx')
terrain dxCreateTexture('sweeper92decal128.png')
dxSetShaderValue(shader'gTexture'terrain)
engineApplyShaderToWorldTexture(shader'sweeper92decal128')
end
)


Postaw piwo autorowi tego posta
 

 
Tagi: praca :: sweepry
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






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