strona clienta :
local sX, sY = guiGetScreenSize()
local screenW, screenH = guiGetScreenSize()
font = dxCreateFont(":vc-nametagi/f/droid-sans.ttf",10) or "default-bold"
montazlicznik = false
kolor = false
cena = false
function isMouseIn(psx,psy,pssx,pssy,abx,aby)
if not isCursorShowing() then return end
sx,sy = guiGetScreenSize()
cx,cy=getCursorPosition()
cx,cy=cx*sx,cy*sy
if cx >= psx and cx <= psx+pssx and cy >= psy and cy <= psy+pssy then
return true,cx,cy
else
return false
end
end
function gui()
dxDrawImage(screenW * 0.2396, screenH * 0.0370, screenW * 0.5208, screenH * 0.9259, "liczniki.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
dxDrawImage(screenW * 0.6365, screenH * 0.8935, screenW * 0.0781, screenH * 0.0463, "zamknij.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
if not isMouseIn(screenW * 0.2698, screenH * 0.1917, screenW * 0.1500, screenH * 0.2676) then
dxDrawImage(screenW * 0.2698, screenH * 0.1917, screenW * 0.1500, screenH * 0.2676, ":vc-licznik/img/yellow.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
else
dxDrawImage(screenW * 0.2698, screenH * 0.1917, screenW * 0.1500, screenH * 0.2676, ":vc-licznik/img/yellow.png", 0, 0, 0, tocolor(255,255,255), false)
dxDrawText("10 $",screenW * 0.3146, screenH * 0.3213, screenW * 0.3786, screenH * 0.3602,tocolor(255,255,255),1,font,"center","center",false,false,false,true)
end
if not isMouseIn(screenW * 0.2698, screenH * 0.4398, screenW * 0.1500, screenH * 0.2676) then
dxDrawImage(screenW * 0.2698, screenH * 0.4398, screenW * 0.1500, screenH * 0.2676, ":vc-licznik/img/blue.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
else
dxDrawImage(screenW * 0.2698, screenH * 0.4398, screenW * 0.1500, screenH * 0.2676, ":vc-licznik/img/blue.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
dxDrawText("100 $",screenW * 0.3146, screenH * 0.5722, screenW * 0.3786, screenH * 0.6111,tocolor(255,255,255),1,font,"center","center",false,false,false,true)
end
if not isMouseIn(screenW * 0.2698, screenH * 0.6917, screenW * 0.1500, screenH * 0.2676) then
dxDrawImage(screenW * 0.2698, screenH * 0.6917, screenW * 0.1500, screenH * 0.2676, ":vc-licznik/img/red.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
else
dxDrawImage(screenW * 0.2698, screenH * 0.6917, screenW * 0.1500, screenH * 0.2676, ":vc-licznik/img/red.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
dxDrawText("1000 $",screenW * 0.3146, screenH * 0.8259, screenW * 0.3786, screenH * 0.8648,tocolor(255,255,255),1,font,"center","center",false,false,false,true)
end
if not isMouseIn(screenW * 0.4198, screenH * 0.1917, screenW * 0.1500, screenH * 0.2676) then
dxDrawImage(screenW * 0.4198, screenH * 0.1917, screenW * 0.1500, screenH * 0.2676, ":vc-licznik/img/pink.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
else
dxDrawImage(screenW * 0.4198, screenH * 0.1917, screenW * 0.1500, screenH * 0.2676, ":vc-licznik/img/pink.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
dxDrawText("10000 $",screenW * 0.4646, screenH * 0.3204, screenW * 0.5286, screenH * 0.3593,tocolor(255,255,255),1,font,"center","center",false,false,false,true)
end
if not isMouseIn(screenW * 0.5698, screenH * 0.1917, screenW * 0.1500, screenH * 0.2676) then
dxDrawImage(screenW * 0.5698, screenH * 0.1917, screenW * 0.1500, screenH * 0.2676, ":vc-licznik/img/orange.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
else
dxDrawImage(screenW * 0.5698, screenH * 0.1917, screenW * 0.1500, screenH * 0.2676, ":vc-licznik/img/orange.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
dxDrawText("100000 $",screenW * 0.6146, screenH * 0.3204, screenW * 0.6786, screenH * 0.3593,tocolor(255,255,255),1,font,"center","center",false,false,false,true)
end
if not isMouseIn(screenW * 0.4198, screenH * 0.4398, screenW * 0.1500, screenH * 0.2676) then
dxDrawImage(screenW * 0.4198, screenH * 0.4398, screenW * 0.1500, screenH * 0.2676, ":vc-licznik/img/aqua.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
else
dxDrawImage(screenW * 0.4198, screenH * 0.4398, screenW * 0.1500, screenH * 0.2676, ":vc-licznik/img/aqua.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
dxDrawText("1000000 $",screenW * 0.4651, screenH * 0.5731, screenW * 0.5292, screenH * 0.6120,tocolor(255,255,255),1,font,"center","center",false,false,false,true)
end
if not isMouseIn(screenW * 0.5698, screenH * 0.4398, screenW * 0.1500, screenH * 0.2676) then
dxDrawImage(screenW * 0.5698, screenH * 0.4398, screenW * 0.1500, screenH * 0.2676, ":vc-licznik/img/green.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
else
dxDrawImage(screenW * 0.5698, screenH * 0.4398, screenW * 0.1500, screenH * 0.2676, ":vc-licznik/img/green.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
dxDrawText("1000000 $",screenW * 0.6151, screenH * 0.5731, screenW * 0.6792, screenH * 0.6120,tocolor(255,255,255),1,font,"center","center",false,false,false,true)
end
dxDrawText("Aby zakupi? #ffff00licznik #ffffffkliknij na #ffff00wybrany przez siebie model#ffffff, po #ffff00najechaniu #ffffffna dany licznik wy?wietli si? #ffff00cena.",screenW * 0.2708, screenH * 0.1657, screenW * 0.7479, screenH * 0.2222,tocolor(255,255,255),1,font,"center","center",false,false,false,true)
end
marker = createMarker(1876.70, -2008.69, 13.55-0.9, 'cylinder', 4, 255,255,255)
createBlipAttachedTo(marker, 8,2,0,0,0,0,0,275)
function licznik(button, state)
if montazlicznik and button == "left" and state == "down" then
if isMouseIn(screenW * 0.2698, screenH * 0.1917, screenW * 0.1500, screenH * 0.2676) then
kolor = "yellow"
cena = "10"
triggerServerEvent("licznik", localPlayer,kolor,cena)
elseif isMouseIn(screenW * 0.2698, screenH * 0.4398, screenW * 0.1500, screenH * 0.2676) then
kolor = "blue"
cena = "100"
triggerServerEvent("licznik", localPlayer,kolor,cena)
elseif isMouseIn(screenW * 0.2698, screenH * 0.6917, screenW * 0.1500, screenH * 0.2676) then
kolor = "red"
cena = "1000"
triggerServerEvent("licznik", localPlayer,kolor,cena)
elseif isMouseIn(screenW * 0.4198, screenH * 0.1917, screenW * 0.1500, screenH * 0.2676) then
kolor = "pink"
cena = "10000"
triggerServerEvent("licznik", localPlayer,kolor,cena)
elseif isMouseIn(screenW * 0.5698, screenH * 0.1917, screenW * 0.1500, screenH * 0.2676) then
kolor = "orange"
cena = "100000"
triggerServerEvent("licznik", localPlayer,kolor,cena)
elseif isMouseIn(screenW * 0.4198, screenH * 0.4398, screenW * 0.1500, screenH * 0.2676) then
kolor = "aqua"
cena = "100000"
triggerServerEvent("licznik", localPlayer,kolor,cena)
elseif isMouseIn(screenW * 0.5698, screenH * 0.4398, screenW * 0.1500, screenH * 0.2676) then
kolor = "green"
cena = "1000000"
triggerServerEvent("licznik", localPlayer,kolor,cena)
end
end
end
addEventHandler("onClientClick", root, licznik)
function hit(plr,md)
local veh = getPedOccupiedVehicle(localPlayer)
if plr ~= localPlayer then return end
if not isPedInVehicle(localPlayer) then return end
addEventHandler("onClientRender",root,gui)
showCursor(true)
setVehicleFrozen(veh,true)
montazlicznik = true
end
addEventHandler("onClientMarkerHit", marker, hit)
function closemontazlicznik(button, state)
local veh = getPedOccupiedVehicle(localPlayer)
if montazlicznik and button == "left" and state == "down" then
if isMouseIn(screenW * 0.6365, screenH * 0.8935, screenW * 0.0781, screenH * 0.0463) then
removeEventHandler("onClientRender",root,gui)
showCursor(false)
setVehicleFrozen(veh,false)
montazlicznik = false
end
end
end
addEventHandler("onClientClick", root, closemontazlicznik)
strona serwera : local t=createElement('text')
setElementData(t,'name','Automatyczna zmiana koloru licznika')
setElementPosition(t,1876.70, -2008.69, 13.55)
addEvent("licznik", true)
addEventHandler("licznik", root, function(licznik,cena)
pojazd = getPedOccupiedVehicle(source)
local id = getElementData(pojazd,"vehicle:id")
if not pojazd then return end
local qr = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND licznik=?",id, licznik)
if #qr == 1 then exports['noti']:showBox(source,"info","Posiadasz ju? taki licznik.") return end
if (getPlayerMoney(source) > tonumber(cena)) then
local id = getElementData(pojazd, "vehicle:id")
exports["pystories-db"]:dbSet("UPDATE pystories_vehicles SET licznik=? WHERE id=?",licznik, id)
setElementData(pojazd,"licznik:rgb",licznik)
exports['noti']:showBox(source,"error","Zamontowano licznik "..licznik)
takePlayerMoney(source,cena)
else
exports['noti']:showBox(source,"warning","Nie sta? Ci? na ten licznik.")
end
end)
[ Dodano: 2019-06-15, 23:29 ]
i tu jescze kod licznika rowery = {
[507] = true
}
local screenW, screenH = guiGetScreenSize()
function LicznikPojazdu()
veh=getPedOccupiedVehicle(localPlayer)
if not veh then return end
local vx, vy, vz = getElementVelocity(veh)
local speed = ((vx^2 + vy^2 + vz^2)^(0.5))*180
local speedy = speed*0.835
local przebieg = getElementData(veh,"vehicle:mileage") or 0
local paliwo = getElementData(veh,"vehicle:fuel") or 0
local rgb = getElementData(veh, "licznik:rgb") or "zwykly"
if ( getVehicleOverrideLights ( veh ) ~= 2 ) then
dxDrawImage(screenW * 0.7594, screenH * 0.6157, screenW * 0.2240, screenH * 0.3981, "img/licznikoff.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
dxDrawImage(screenW * 0.7646, screenH * 0.6398, screenW * 0.2240, screenH * 0.3981, "img/wskaznik.png", 357+speedy, 0, 0, tocolor(255, 255, 255, 255), false)
else
if rgb == "red" then
dxDrawImage(screenW * 0.7594, screenH * 0.6157, screenW * 0.2240, screenH * 0.3981, "img/red.png", 0, 0, 0, tocolor(255, 255, 255, 240), false)
dxDrawImage(screenW * 0.7646, screenH * 0.6398, screenW * 0.2240, screenH * 0.3981, "img/wskaznik.png", 357+speedy, 0, 0, tocolor(255, 255, 255, 255), false)
elseif rgb == "yellow" then
dxDrawImage(screenW * 0.7594, screenH * 0.6157, screenW * 0.2240, screenH * 0.3981, "img/yellow.png", 0, 0, 0, tocolor(255, 255, 255, 240), false)
dxDrawImage(screenW * 0.7646, screenH * 0.6398, screenW * 0.2240, screenH * 0.3981, "img/wskaznik.png", 357+speedy, 0, 0, tocolor(255, 255, 255, 255), false)
elseif rgb == "blue" then
dxDrawImage(screenW * 0.7594, screenH * 0.6157, screenW * 0.2240, screenH * 0.3981, "img/blue.png", 0, 0, 0, tocolor(255, 255, 255, 240), false)
dxDrawImage(screenW * 0.7646, screenH * 0.6398, screenW * 0.2240, screenH * 0.3981, "img/wskaznik.png", 357+speedy, 0, 0, tocolor(255, 255, 255, 255), false)
elseif rgb == "green" then
dxDrawImage(screenW * 0.7594, screenH * 0.6157, screenW * 0.2240, screenH * 0.3981, "img/green.png", 0, 0, 0, tocolor(255, 255, 255, 240), false)
dxDrawImage(screenW * 0.7646, screenH * 0.6398, screenW * 0.2240, screenH * 0.3981, "img/wskaznik.png", 357+speedy, 0, 0, tocolor(255, 255, 255, 255), false)
elseif rgb == "aqua" then
dxDrawImage(screenW * 0.7594, screenH * 0.6157, screenW * 0.2240, screenH * 0.3981, "img/aqua.png", 0, 0, 0, tocolor(255, 255, 255, 240), false)
dxDrawImage(screenW * 0.7646, screenH * 0.6398, screenW * 0.2240, screenH * 0.3981, "img/wskaznik.png", 357+speedy, 0, 0, tocolor(255, 255, 255, 255), false)
elseif rgb == "pink" then
dxDrawImage(screenW * 0.7594, screenH * 0.6157, screenW * 0.2240, screenH * 0.3981, "img/pink.png", 0, 0, 0, tocolor(255, 255, 255, 240), false)
dxDrawImage(screenW * 0.7646, screenH * 0.6398, screenW * 0.2240, screenH * 0.3981, "img/wskaznik.png", 357+speedy, 0, 0, tocolor(255, 255, 255, 255), false)
elseif rgb == "orange" then
dxDrawImage(screenW * 0.7594, screenH * 0.6157, screenW * 0.2240, screenH * 0.3981, "img/orange.png", 0, 0, 0, tocolor(255, 255, 255, 240), false)
dxDrawImage(screenW * 0.7646, screenH * 0.6398, screenW * 0.2240, screenH * 0.3981, "img/wskaznik.png", 357+speedy, 0, 0, tocolor(255, 255, 255, 255), false)
else
dxDrawImage(screenW * 0.7594, screenH * 0.6157, screenW * 0.2240, screenH * 0.3981, "img/licznik.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
dxDrawImage(screenW * 0.7646, screenH * 0.6398, screenW * 0.2240, screenH * 0.3981, "img/wskaznik.png", 357+speedy, 0, 0, tocolor(255, 255, 255, 255), false)
end
end
dxDrawText(('%01d'):format(math.floor(przebieg)).."km", (screenW * 0.8532) + 1, (screenH * 0.9463) + 1, (screenW * 0.9073) + 1, (screenH * 0.9713) + 1, tocolor(0, 0, 0, 255), 1.2, "default-bold", "center", "center", false, false, true, false, false)
dxDrawText(('%01d'):format(math.floor(przebieg)).."km", screenW * 0.8532, screenH * 0.9463, screenW * 0.9073, screenH * 0.9713, tocolor(255, 255, 255, 255), 1.2, "default-bold", "center", "center", false, false, true, false, false)
if getElementData(veh,"vehicle:engine") == "elektryczny" then
dxDrawText(('%01d'):format(math.floor(paliwo)).."%", (screenW * 0.8552) + 1, (screenH * 0.8400) + 1, (screenW * 0.9073) + 1, (screenH * 0.9713) + 1, tocolor(0, 0, 0, 255), 1.2, "default-bold", "center", "center", false, false, true, false, false)
dxDrawText(('%01d'):format(math.floor(paliwo)).."%", screenW * 0.8552, screenH * 0.8400, screenW * 0.9073, screenH * 0.9713, tocolor(255, 255, 255, 255), 1.2, "default-bold", "center", "center", false, false, true, false, false)
else
dxDrawText(('%01d'):format(math.floor(paliwo)).."l", (screenW * 0.8552) + 1, (screenH * 0.8400) + 1, (screenW * 0.9073) + 1, (screenH * 0.9713) + 1, tocolor(0, 0, 0, 255), 1.2, "default-bold", "center", "center", false, false, true, false, false)
dxDrawText(('%01d'):format(math.floor(paliwo)).."l", screenW * 0.8552, screenH * 0.8400, screenW * 0.9073, screenH * 0.9713, tocolor(255, 255, 255, 255), 1.2, "default-bold", "center", "center", false, false, true, false, false)
end
if isElementFrozen(veh) then
r1,g1,b1 = 255,0,0
else
r1,g1,b1 = 255,255,255
end
local silnik = getVehicleEngineState(veh)
if silnik == false then
r2,g2,b2 = 255,0,0
else
r2,g2,b2 = 255,255,255
end
if getVehicleOverrideLights(veh) ~= 2 then
r3,g3,b3 = 255,255,255
else
r3,g3,b3 = 70,184,73
end
dxDrawImage(screenW * 0.8521, screenH * 0.9185, screenW * 0.0156, screenH * 0.0278, "img/silnik.png", 0, 0, 0, tocolor(r2,g2,b2, 255), true)
dxDrawImage(screenW * 0.8721, screenH * 0.9185, screenW * 0.0156, screenH * 0.0278, "img/reczny.png", 0, 0, 0, tocolor(r1,g1,b1, 255), true)
dxDrawImage(screenW * 0.8921, screenH * 0.9185, screenW * 0.0156, screenH * 0.0278, "img/swiatla.png", 0, 0, 0, tocolor(r3,g3,b3, 255), true)
end
addEventHandler("onClientVehicleEnter",root,function(plr)
if plr ~= localPlayer then return end
local v = getPedOccupiedVehicle(localPlayer)
if rowery[getElementModel(v)] then return end
addEventHandler("onClientRender",root,LicznikPojazdu)
end)
addEventHandler("onClientVehicleExit",root,function(plr,seat)
if plr ~= localPlayer then return end
if seat ~= 0 then return end
removeEventHandler("onClientRender",root,LicznikPojazdu)
end)
|