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

Wysłany: 2022-02-04, 19:31


GGHal







Wiek: 20
Na forum: 1731 dni
Posty: 40
Nick w MP: KUBIX5

Piwa: 1

Respekt: 40,5

Cze??, mam pytanie jak dodam prace z innej paczki do mojej to bedzie wszystko git ? chodzi czy kase bede otrzymywa? jak podepne do bazy danych ?? ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-02-05, 00:00


Maniekxx

Amator






Wiek: 24
Na forum: 3035 dni
Posty: 232
Nick w MP: Maniekxx

Piwa: 225

Respekt: 110
Respekt: 110

Ostrzeżeń: 20%
Nie musisz podpina? pracy do bazy danych, aby otrzymywa? z niej pieni?dze (chyba ?e dany zas?b tego wymaga). To czy b?dzie ta praca poprawnie dzia?a? zale?y tylko od tego jak jest napisana i jaki system zapisywania pieni?dzy posiadasz na swoim serwerze. Najprawdopodobniej zapisywania aktualnego stanu finansowego gracza zapisuje si? wraz z nadpisywaniem statystyk do bazy danych, je?li Tw?j serwer korzysta z tradycyjnej metody, czyli setPlayerMoney(), getPlayerMoney() to w zasobie z prac? nadawanie pieni?dzy powinno odbywa? si? za pomoc? wykorzystania wy?ej wymienionych funkcji.
Przyk?ad:

money = 100
setPlayerMoney(client,getPlayerMoney(client)+money)


Natomiast je?li korzystasz przyk?adowo z element daty do zapisu warto?ci pieni?dzy musisz dodawa? warto?ci za pomoc? u?ycia getElementData() oraz setElementData().

Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-02-05, 19:04


GGHal







Wiek: 20
Na forum: 1731 dni
Posty: 40
Nick w MP: KUBIX5

Piwa: 1

Respekt: 40,5

Maniekxx, to tak paczk? mam DirectMta sf1 ona jest na gtao i chce doda? prace z GoodLife paczka te? z gtao
KOD MASZYNISTY (praca afk sf chodzi o trawaje)

local missionText=createElement("text")
setElementData(missionText, "name", "Maszynista\n\nZarobek:\n500.000 PLN do 600.000 PLN\nWymagania:\nPrawo Jazdy kat. B\n3000 SRP \nPieni?dze Trafiaj? Do Bankomatu")
setElementPosition(missionText,  -2275.65, 521.40, 35.11-0.2)
local zone = createColCuboid(-2276.08, 505.98, 34.02, 11, 11, 11)

createBlip(-2275.65, 521.40, 35.11, 46,2,0,0,0,0,0,275)

local tramwaje = createMarker(-2275.65, 521.40, 35.11-0.9, "cylinder", 1.2, 255, 255, 255)
vehs = {}
local code = "tramwaje"
veh_obj = {}

function removePreviousVehicles(plr)
    for i,v in ipairs(getElementsByType("vehicle", resourceRoot)) do
        local sby = getElementData(v, "zrespilGracz")
        if sby and sby == plr and getPedOccupiedVehicle(plr) ~= v then
            destroyElement(v)
        end
    end
end


addEventHandler("onMarkerHit", tramwaje, function(el, md)
    if getElementData(el, "vehicle_job_owner2") then
        outputChatBox("Wyst?pi? b??d, zg?o? si? do CEO!", el)
        return
    end

    if not md or getElementType(el) ~= "player" or getPedOccupiedVehicle(el) then return end
    if getElementData(el,"player:jobtram") then return end
    if getElementData(el, "player:srp") < 3000 then triggerClientEvent(el, 'onClientAddNotification', el, 'Nie posiadasz wystarczaj?co pkt. reputacji:#bf0101\n3,000 REP', 'error') return end
    if exports["pystories-ustawienia-prac"]:getVehicleLicense(el,"B") then triggerClientEvent(el, 'onClientAddNotification', el, 'Nie posiadasz zdanego prawa jazdy:#bf0101\nkat. B', 'error') return end
    if #getElementsWithinColShape(zone,"vehicle") >= 1 then outputChatBox("*Zajezdnia jest zaj?ta, przez pracownika poczekaj a? wyjedzie!",el) return end
    local x,y,z = getElementPosition(el)
    local TramwajVEH = createVehicle(449, -2266.34, 512.93, 35.02, -0.00, 0.00, 89.42)
    setElementCollisionsEnabled(TramwajVEH, false)
    setElementData(el,"tramwajemodel",getElementModel(el))
    setElementModel(el,7)
    setTrainDerailable(TramwajVEH, false)
    setElementData(TramwajVEH,"vehicle:desc", opistrain)
    setElementData(TramwajVEH, "vehicle_job_owner2", el)
    setElementData(TramwajVEH, "vehicle:fuel", 200)
    setVehicleHandling(TramwajVEH, "maxVelocity", 50.0)
    setElementData(TramwajVEH, "vehicle:mileage", math.random(1,100))
    setElementData(el,"player:jobtram",code)
    setTimer(warpPedIntoVehicle,200,1,el,TramwajVEH)
    toggleControl(el,"enter_exit",false)
    setTimer(toggleControl,2000,1,el, "enter_exit",true)
    setTimer(setElementFrozen,2000,1,el, false)
    triggerClientEvent(el, "STARTJobtramwaje", resourceRoot, TramwajVEH)
    vehs[el] = TramwajVEH
 end)
 
 
addEvent("STOPJobtramwaje", true)
addEventHandler("STOPJobtramwaje", resourceRoot, function()
    local tramwaj = getPedOccupiedVehicle(client)
    if tramwaj then
        destroyElement(tramwaj)
    end
end)

addEventHandler("onPlayerVehicleExit",resourceRoot,function()
destroyElement(source)
end)


addEvent("destroyVeh", true)
addEventHandler("destroyVeh", getRootElement(),
function()
     if vehs[client] then
          if isElement(vehs[client]) then destroyElement(vehs[client]) end
     end
    staryModel=getElementData(client,"tramwajemodel")
    if staryModel then
        setElementModel(client,staryModel)
    end
end)

addEventHandler("onElementDestroy",resourceRoot,function()
  if getElementType(source) == "vehicle" then
    if veh_obj[source] then destroyElement(veh_obj[source]); veh_obj[source] = nil end
   end
end)

addEvent("onPlayerQuit", true)
addEventHandler ( "onPlayerQuit", getRootElement(), function()
     if vehs[source] then
          if isElement(vehs[source]) then destroyElement(vehs[source]) end
    end
end)



addEvent("daj:punkty:tramw", true)
addEventHandler("daj:punkty:tramw", root, function(player)
    local sid = getElementData(player, "player:sid")
    local ilosc = getElementData(player, "player:praca:tramw") or 0
    local q = exports['pystories-db']:dbGet("UPDATE pystories_users SET pkt_tramw=pkt_tramw+1 where id=?", sid)
    setElementData(player, "player:praca:tramw", ilosc+1)
end)

str="RANKING\nTOP PRZEJECHANYCH KURS?W:"
local t=createElement("text")
setElementData(t,"scale",1)
setElementPosition(t,-2275.25,527.35,35.08+0.8)
function toppunkty()
    local result=exports["pystories-db"]:dbGet("SELECT * from pystories_users ORDER BY pkt_tramw DESC LIMIT 5") or "Brak"
    str="RANKING\nTOP PRZEJECHANYCH KURS?W:"
    for i,v in ipairs(result) do
                if v["login2"] == false then
                    str=""..str.."\n"..i..". "..v["login"].." - "..v["pkt_tramw"].." Kurs?w"
                else
                    str=""..str.."\n"..i..". "..v["login2"].." - "..v["pkt_tramw"].." Kurs?w"
                end
    end
    setElementData(t, "name", str)
end
setTimer(toppunkty, 10000, 0)
toppunkty()


--[[
Praca tramwaje

]]--
local code = "tramwaje"
local Kursytramwaje = {
        {-2264.67, 525.08, 35.60},
        {-2264.86, 554.23, 35.50},
        {-2264.88, 597.16, 39.83},
        {-2264.91, 652.92, 49.75},
        {-2264.96, 721.44, 49.79},
        {-2264.89, 802.29, 49.86},
        {-2264.88, 894.73, 66.91},
        {-2264.88, 998.42, 79.29},
        {-2264.86, 1113.39, 76.58},
        {-2272.89, 1237.89, 46.27},
        {-2160.05, 1274.23, 27.32},
        {-2039.96, 1307.38, 7.62},
        {-1908.19, 1321.76, 7.50},
        {-1792.88, 1378.78, 7.50},
        {-1686.27, 1299.39, 7.50},
        {-1595.23, 1199.52, 7.50},
        {-1584.13, 1065.85, 7.50},
        {-1529.82, 947.67, 7.50},
        {-1641.08, 921.13, 16.97},
        {-1776.48, 921.13, 25.12},
        {-1911.54, 921.00, 35.71},
        {-2001.63, 869.91, 45.75},
        {-1881.63, 848.88, 35.50},
        {-1745.98, 848.88, 25.18},
        {-1610.50, 848.89, 8.00},
        {-1540.12, 782.52, 7.50},
        {-1630.59, 728.75, 14.87},
        {-1711.55, 670.22, 25.12},
        {-1795.04, 603.25, 33.79},
        {-1930.54, 603.25, 35.50},
        {-2003.41, 534.35, 35.50},
        {-2003.63, 399.12, 35.50},
        {-2004.68, 263.58, 31.81},
        {-2006.50, 128.35, 28.00},
        {-2045.20, 30.38, 35.62},
        {-2166.55, 12.10, 35.62},
        {-2223.97, -70.08, 35.62},
        {-2253.73, 38.59, 35.62},
        {-2251.50, 170.32, 35.62},
        {-2251.50, 302.33, 35.62},
        {-2306.47, 417.18, 35.50},
        {-2362.24, 507.33, 30.00},
        {-2269.28, 511.57, 35.51},
        
}

local jobTarget
local jobMarker
local jobVehicle
local maxTarget = #Kursytramwaje
function odleglosc()
    local pojazd=getPedOccupiedVehicle(localPlayer)
    if pojazd and getTrainSpeed(pojazd)<-0.9 then
        setTrainSpeed(pojazd,-0.9)
    end
end
    
function finishJob()
    if jobMarker and isElement(jobMarker) then
        destroyElement(jobMarker)
        jobMarker = nil
    end
    if jobBlip and isElement(jobBlip) then
        destroyElement(jobBlip)
        jobBlip = nil
    end
    if jobTarget and isElement(jobTarget) then
        outputChatBox("Ble ble wr?c")
        destroyElement(jobTarget)
        jobTarget = 0

    end
if getElementData(localPlayer,"player:jobtram") == code then
setElementData(localPlayer,"player:jobtram",false)
end
triggerServerEvent("destroyVeh", localPlayer)
removeEventHandler("onClientRender",root,odleglosc)
end
addEventHandler ( "onClientPlayerWasted", getLocalPlayer(),finishJob)
addEvent("finishJob",true)
addEventHandler("finishJob",root,function(plr)
if plr ~= localPlayer then return end
finishJob()
end)


function TramwajeDriver(el, md)
    if el ~= localPlayer or not md then return end
    if jobTarget > maxTarget and getPedOccupiedVehicle(el) then return end
    if jobTarget == maxTarget and not getPedOccupiedVehicle(el) then return end
    
    if jobTarget == #Kursytramwaje then
    triggerServerEvent("daj:punkty:tramw", localPlayer, localPlayer)
        finishJob()
        playSoundFrontEnd(5)
        outputChatBox("#06B200(&#10004;) #FFFFFFPomy?lnie zako?czono prac?.", 255,255,255, true)
    else
        local kasa = math.random(500000,600000)
        local premka = math.random(50000,60000)
        local premkaplus = math.random(600000,700000)
        showMarker()
        playSoundFrontEnd(12)
        if getElementData(localPlayer, "player:premium") then
        triggerServerEvent("givePlayerMoney", localPlayer, premka)
        triggerEvent('onClientAddNotification', localPlayer, 'Za dojechanie do punktu otrzymujesz,\nwynagrodzenie w postaci: #00c005'..premka..' $#FFFFFF', 'success')
        setElementData(el,"player:srp", getElementData(el,"player:srp")+math.random(0,3))
        elseif getElementData(localPlayer, "player:premiumplus") then
        triggerServerEvent("givePlayerMoney", localPlayer, premkaplus)
        triggerEvent('onClientAddNotification', localPlayer, 'Za dojechanie do punktu otrzymujesz,\nwynagrodzenie w postaci: #00c005'..premkaplus..' $#FFFFFF', 'success')
        setElementData(el,"player:srp", getElementData(el,"player:srp")+math.random(0,4))
        else
        triggerServerEvent("givePlayerMoney", localPlayer, kasa)
        triggerEvent('onClientAddNotification', localPlayer, 'Za dojechanie do punktu otrzymujesz,\nwynagrodzenie w postaci: #00c005'..kasa..' $#FFFFFF', 'success')
        setElementData(el,"player:srp", getElementData(el,"player:srp")+math.random(0,3))
         end
    end
end

function showMarker()
    if jobMarker and isElement(jobMarker) then
        destroyElement(jobMarker)
        jobMarker = nil
    end
    if jobBlip and isElement(jobBlip) then
        destroyElement(jobBlip)
        jobBlip = nil
    end


    jobTarget = jobTarget + 1
    jobMarker = createMarker(Kursytramwaje[jobTarget][1], Kursytramwaje[jobTarget][2], Kursytramwaje[jobTarget][3], "corona", 4, 255, 0, 0)
    jobBlip = createBlip(Kursytramwaje[jobTarget][1], Kursytramwaje[jobTarget][2], Kursytramwaje[jobTarget][3], 41)
    if Kursytramwaje[jobTarget+1] then
        ile = Kursytramwaje[jobTarget+1]
        ile2 = ile[1]
        ile3 = ile[2]
        ile4 = ile[3]
        setMarkerTarget(jobMarker, ile[1], ile[2], ile[3])
    end

    addEventHandler("onClientMarkerHit", jobMarker, TramwajeDriver)
end

addEvent("STARTJobtramwaje", true)
addEventHandler("STARTJobtramwaje", resourceRoot, function(veh)
    outputChatBox("#06B200(&#10004;) #FFFFFFRozpocze?e?/a? prace jako Maszynista,jed? wed?ug ustalonej trasy.", 255,255,255, true)
    jobVehicle = veh
    jobTarget = 0
    showMarker()
    addEventHandler("onClientRender",root,odleglosc)
end)

addEventHandler("onClientResourceStop", resourceRoot, function()
    if jobVehicle and getElementData(localPlayer, "player:jobtram") then
        setElementData(localPlayer, "player:jobtram", false)
    end
end)


addEventHandler("onClientVehicleExit", resourceRoot, function(plr, seat)
    if seat == 0 then
        if plr == localPlayer then
            finishJob()
            outputChatBox("#bf0101(&#10006;) #FFFFFFZako?czy?e? prac? jako maszynista.", 255,255,255, true)
            setElementPosition(localPlayer,-2267.62, 533.90, 35.02)
        end
    end
end)


Ostatnio zmieniony przez GGHal 2022-02-07, 18:21, w całości zmieniany 3 razy  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-02-06, 14:07


Maniekxx

Amator






Wiek: 24
Na forum: 3035 dni
Posty: 232
Nick w MP: Maniekxx

Piwa: 225

Respekt: 110
Respekt: 110

Ostrzeżeń: 20%
To jest strona klienta, poka? jak wygl?da plik po stronie serwera. wklej kod w taki spos?b.

[lua.]Kod[/lua]

Bez kropki.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-02-07, 18:21


GGHal







Wiek: 20
Na forum: 1731 dni
Posty: 40
Nick w MP: KUBIX5

Piwa: 1

Respekt: 40,5

Maniekxx, to za dzia?a scrypty powy?ej

Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-02-07, 19:15


Maniekxx

Amator






Wiek: 24
Na forum: 3035 dni
Posty: 232
Nick w MP: Maniekxx

Piwa: 225

Respekt: 110
Respekt: 110

Ostrzeżeń: 20%
GGHal, Do czego nawi?zuje ten event?
triggerServerEvent("givePlayerMoney", localPlayer, premka)


[ Dodano: 2022-02-07, 19:24 ]
Z kodu wynika, i? zarobione pieni?dze trafiaj? prosto do bankomatu. event givePlayerMoney() prawdopodobnie exportuje informacje do jakiego? zasobu odpowiadaj?cego za wysy?anie zapytania do bazy danych. Sprawd?, czy w Twoim GM znajduje si? taki sam event, je?li nie to stw?rz go lub przer?b zas?b tak, aby pieni?dze by?y wyp?acane prosto z tej pracy.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-02-07, 20:59


GGHal







Wiek: 20
Na forum: 1731 dni
Posty: 40
Nick w MP: KUBIX5

Piwa: 1

Respekt: 40,5

Maniekxx, to nie m?j skrypt on jest z paczki GoodLife wi?c sam nie wiem

[ Dodano: 2022-02-07, 21:03 ]
Maniekxx, posiadasz mo?e system p?atnych parking?w i kilka prac np. kosiarki sf,lawety,trawaje sf

Postaw piwo autorowi tego posta
 

 
Wysłany: 2022-02-08, 00:05


Maniekxx

Amator






Wiek: 24
Na forum: 3035 dni
Posty: 232
Nick w MP: Maniekxx

Piwa: 225

Respekt: 110
Respekt: 110

Ostrzeżeń: 20%
Niestety, nie posiadam takowych zasob?w, by?bym w stanie jeden dla Ciebie wykona? np system p?atnych parking?w. Mo?esz te? poszuka? na internecie mo?e znajdziesz co? dla siebie.

Wracaj?c do tematu. Nie mam wgl?du w ?aden z 2 wy?ej wymienionych GM. Eventy, kt?re si? tam znajduje, zast?p eventami do tego samego zasobu i nadaj tam pieni?dze za pomoc? setElementData(), wtedy b?dziesz wiedzia? co i jak. Pami?taj, tylko aby nadawanie pieni?dzy odbywa?o si? po stronie serwera, mo?na to wykona? po stronie klienta jednak?e tak jest bezpieczniej.

Postaw piwo autorowi tego posta
 

 
Tagi: odnosnie :: prac
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






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