Wysłany: 2022-02-04, 19:31
GGHal
Wiek: 20 Na forum: 1589 dni Posty: 40
Nick w MP: KUBIX5
Piwa : 1
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 ?
Wysłany: 2022-02-05, 00:00
Maniekxx
Amator
Wiek: 24 Na forum: 2894 dni Posty: 232
Nick w MP: Maniekxx
Piwa : 225
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().
Wysłany: 2022-02-05, 19:04
GGHal
Wiek: 20 Na forum: 1589 dni Posty: 40
Nick w MP: KUBIX5
Piwa : 1
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(✔) #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(✔) #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(✖) #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
Wysłany: 2022-02-06, 14:07
Maniekxx
Amator
Wiek: 24 Na forum: 2894 dni Posty: 232
Nick w MP: Maniekxx
Piwa : 225
To jest strona klienta, poka? jak wygl?da plik po stronie serwera. wklej kod w taki spos?b.
[lua.]Kod[/lua]
Bez kropki.
Wysłany: 2022-02-07, 18:21
GGHal
Wiek: 20 Na forum: 1589 dni Posty: 40
Nick w MP: KUBIX5
Piwa : 1
Maniekxx , to za dzia?a scrypty powy?ej
Wysłany: 2022-02-07, 19:15
Maniekxx
Amator
Wiek: 24 Na forum: 2894 dni Posty: 232
Nick w MP: Maniekxx
Piwa : 225
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.
Wysłany: 2022-02-07, 20:59
GGHal
Wiek: 20 Na forum: 1589 dni Posty: 40
Nick w MP: KUBIX5
Piwa : 1
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
Wysłany: 2022-02-08, 00:05
Maniekxx
Amator
Wiek: 24 Na forum: 2894 dni Posty: 232
Nick w MP: Maniekxx
Piwa : 225
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.
Tagi: odnosnie :: prac
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: