Wysłany: 2021-05-04, 08:39
!ryzee
rebornMTA
Wiek: 19 Na forum: 2253 dni Posty: 111
Nick w MP: drakovskyy
Piwa : 55
Siemka! Potrzebuj? wyskalowa? text i gui, po wej?ciu do pojazdu, ?eby na ka?dej rozdzia?ce by?o ?adnie i pi?knie . ?rednio ogarniam skalowanie, wi?c licze na pomoc! Stawiam Repke, za pomoc! I zimnego Harnasia!
Client:
local salon = {}
local dane = dxCreateFont ( 'f.ttf' , 20 )
local dane1 = dxCreateFont ( 'f.ttf' , 12 )
local nawa = dxCreateFont ( 'f1.ttf' , 20 )
local dane123 = dxCreateFont ( 'f.ttf' , 12 )
local sw , sh = guiGetScreenSize ()
local scale = 1920 / sw
function convertNumber ( number )
local formatted = number
while true do
formatted , k = string . gsub ( formatted , "^(-?%d+)(%d%d%d)" , '%1,%2' )
if ( k == 0 ) then
break
end
end
return formatted
end
function mysz ( x , y , width , height )
if ( not isCursorShowing ( ) ) then
return false
end
local sx , sy = guiGetScreenSize ( )
local cx , cy = getCursorPosition ( )
local cx , cy = ( cx * sx ), ( cy * sy )
if ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) then
return true
else
return false
end
end
local anims , builtins = {}, { "Linear" , "InQuad" , "OutQuad" , "InOutQuad" , "OutInQuad" , "InElastic" , "OutElastic" , "InOutElastic" , "OutInElastic" , "InBack" , "OutBack" , "InOutBack" , "OutInBack" , "InBounce" , "OutBounce" , "InOutBounce" , "OutInBounce" , "SineCurve" , "CosineCurve" }
function table . find ( t , v )
for k , a in ipairs ( t ) do
if a == v then
return k
end
end
return false
end
function animate ( f , t , easing , duration , onChange , onEnd )
assert ( type ( f ) == "number" , "Bad argument @ 'animate' [expected number at argument 1, got " .. type ( f ).. "]" )
assert ( type ( t ) == "number" , "Bad argument @ 'animate' [expected number at argument 2, got " .. type ( t ).. "]" )
assert ( type ( easing ) == "string" or ( type ( easing ) == "number" and ( easing >= 1 or easing <= #builtins)), "Bad argument @ 'animate' [Invalid easing at argument 3]")
assert ( type ( duration ) == "number" , "Bad argument @ 'animate' [expected function at argument 4, got " .. type ( duration ).. "]" )
assert ( type ( onChange ) == "function" , "Bad argument @ 'animate' [expected function at argument 5, got " .. type ( onChange ).. "]" )
table . insert ( anims , { from = f , to = t , easing = table . find ( builtins , easing ) and easing or builtins [ easing ], duration = duration , start = getTickCount ( ), onChange = onChange , onEnd = onEnd })
return #anims
end
function destroyAnimation ( a )
if anims [ a ] then
table . remove ( anims , a )
end
end
addEventHandler ( "onClientRender" , root , function( )
local now = getTickCount ( )
for k , v in ipairs ( anims ) do
v . onChange ( interpolateBetween ( v . from , 0 , 0 , v . to , 0 , 0 , ( now - v . start ) / v . duration , v . easing ))
if now >= v . start + v . duration then
if type ( v . onEnd ) == "function" then
v . onEnd ( )
end
table . remove ( anims , k )
end
end
end )
ALPHA = 1
gotowka = false
karta = false
salon . render = function()
local veh = getPedOccupiedVehicle ( localPlayer )
if not veh then return end
local mileage = getElementData ( veh , "vehicle:mileage" ) or 0
local cena = tonumber ( getElementData ( veh , "cost" ))
local veh1 = getVehicleName ( veh )
dxDrawImage ( 684 / scale , 291 / scale , progress / scale , 400 / scale , ":ng-salony/menu.png" , 0 , 0 , 0 , tocolor ( 255 , 255 , 255 , ALPHA1 ), false )
dxDrawRectangle ( 721 / scale , 355 / scale , progress123 / scale , 3 / scale , tocolor ( 153 , 204 , 255 , ALPHA1 ), false )
dxDrawText ( veh1 , 697 / scale , 308 / scale , 927 / scale , 361 / scale , tocolor ( 255 , 255 , 255 , ALPHA1 ), 1.00 , nawa , "center" , "center" , false , false , false , false , false )
dxDrawText ( "Przebieg" , 697 / scale , 361 / scale , 927 / scale , 414 / scale , tocolor ( 161 , 161 , 161 , ALPHA1 ), 1.00 , dane1 , "center" , "center" , false , false , false , false , false )
dxDrawText ( mileage .. " km" , 697 / scale , 404 / scale , 927 / scale , 457 / scale , tocolor ( 255 , 255 , 255 , ALPHA1 ), 1.00 , dane , "center" , "center" , false , false , false , false , false )
dxDrawText ( "Bak" , 697 / scale , 457 / scale , 927 / scale , 510 / scale , tocolor ( 161 , 161 , 161 , ALPHA1 ), 1.00 , dane1 , "center" , "center" , false , false , false , false , false )
dxDrawText ( "40L" , 697 / scale , 500 / scale , 927 / scale , 553 / scale , tocolor ( 255 , 255 , 255 , ALPHA1 ), 1.00 , dane , "center" , "center" , false , false , false , false , false )
dxDrawText ( "Pojemno??" , 697 / scale , 548 / scale , 927 / scale , 601 / scale , tocolor ( 161 , 161 , 161 , ALPHA1 ), 1.00 , dane1 , "center" , "center" , false , false , false , false , false )
dxDrawText ( poj , 697 / scale , 591 / scale , 927 / scale , 644 / scale , tocolor ( 255 , 255 , 255 , ALPHA1 ), 1.00 , dane , "center" , "center" , false , false , false , false , false )
dxDrawText ( "Cena" , 970 / scale , 361 / scale , 1200 / scale , 414 / scale , tocolor ( 161 , 161 , 161 , ALPHA1 ), 1.00 , dane1 , "center" , "center" , false , false , false , false , false )
dxDrawRectangle ( 955 / scale , 552 / scale , 253 / scale , 40 / scale , tocolor ( 25 , 25 , 25 , ALPHA1 ), false )
dxDrawRectangle ( 955 / scale , 606 / scale , 253 / scale , 40 / scale , tocolor ( 25 , 25 , 25 , ALPHA1 ), false )
-- dxDrawText ( "\nPo zakupie pojazdu\nzostaniesz przetransportowany\ndo przechowalni pojazd?w" , 970 / scale , 455 / scale , 1200 / scale , 508 / scale , tocolor ( 153 , 204 , 255 , ALPHA1 ), 1.00 , dane1 , "center" , "center" , false , false , false , false , false )
if mysz ( 955 / scale , 552 / scale , 253 / scale , 40 / scale ) then
dxDrawRectangle ( 955 / scale , 590 / scale , 253 / scale , 2 / scale , tocolor ( 248 , 233 , 0 , ALPHA1 ), false )
dxDrawText ( "Zakup" , 953 / scale , 552 / scale , 1208 / scale , 590 / scale , tocolor ( 248 , 233 , 0 , ALPHA1 ), 1.00 , dane1 , "center" , "center" , false , false , false , false , false )
else
dxDrawRectangle ( 955 / scale , 590 / scale , 253 / scale , 2 / scale , tocolor ( 255 , 255 , 255 , ALPHA1 ), false )
dxDrawText ( "Zakup" , 953 / scale , 552 / scale , 1208 / scale , 590 / scale , tocolor ( 255 , 255 , 255 , ALPHA1 ), 1.00 , dane1 , "center" , "center" , false , false , false , false , false )
end
if mysz ( 955 / scale , 606 / scale , 253 / scale , 40 / scale ) then
dxDrawRectangle ( 955 / scale , 644 / scale , 253 / scale , 2 / scale , tocolor ( 248 , 233 , 0 , ALPHA1 ), false )
dxDrawText ( "Anuluj" , 953 / scale , 606 / scale , 1208 / scale , 644 / scale , tocolor ( 248 , 233 , 0 , ALPHA1 ), 1.00 , dane1 , "center" , "center" , false , false , false , false , false )
else
dxDrawRectangle ( 955 / scale , 644 / scale , 253 / scale , 2 / scale , tocolor ( 255 , 255 , 255 , ALPHA1 ), false )
dxDrawText ( "Anuluj" , 953 / scale , 606 / scale , 1208 / scale , 644 / scale , tocolor ( 255 , 255 , 255 , ALPHA1 ), 1.00 , dane1 , "center" , "center" , false , false , false , false , false )
end
if gotowka == true then
dxDrawText ( "Got?wka" , 1039 / scale , 513 / scale , 1115 / scale , 531 / scale , tocolor ( 255 , 255 , 255 , 255 ), 1.00 , dane123 , "center" , "center" , false , false , false , false , false )
else
dxDrawText ( "Karta" , 1039 / scale , 513 / scale , 1115 / scale , 531 / scale , tocolor ( 255 , 255 , 255 , 255 ), 1.00 , dane123 , "center" , "center" , false , false , false , false , false )
end
dxDrawText ( "P?atno??" , 1039 / scale , 500 / scale , 1115 / scale , 483 / scale , tocolor ( 161 , 161 , 161 , ALPHA1 ), 1.00 , dane123 , "center" , "center" , false , false , false , false , false )
dxDrawImage ( 1118 / scale , 508 / scale , 40 / scale , 28 / scale , "arrow_right.png" , 0 , 0 , 0 , tocolor ( 255 , 255 , 255 , 255 ), false )
dxDrawImage ( 1002 / scale , 508 / scale , 40 / scale , 28 / scale , "arrow_left.png" , 0 , 0 , 0 , tocolor ( 255 , 255 , 255 , 255 ), false )
dxDrawText ( "" .. convertNumber ( math . floor ( cena )).. " $" , 970 / scale , 399 / scale , 1200 / scale , 452 / scale , tocolor ( 255 , 255 , 255 , ALPHA1 ), 1.00 , dane , "center" , "center" , false , false , false , false , false )
-- dxDrawText ( "Got?wka" , 1014 , 456 , 1149 , 484 , tocolor ( 255 , 255 , 255 , 255 ), 1.00 , "default" , "left" , "top" , false , false , false , false , false )
-- dxDrawText ( "Karta" , 1014 , 510 , 1149 , 538 , tocolor ( 255 , 255 , 255 , 255 ), 1.00 , "default" , "left" , "top" , false , false , false , false , false )
end
addEvent ( "salon:gui" , true )
addEventHandler ( "salon:gui" , root , function( interakcja )
veh1 = getVehicleName ( getPedOccupiedVehicle ( localPlayer ))
veh = getPedOccupiedVehicle ( localPlayer )
if veh1 == "Alpha" then
veh1 = "Tesla"
end
if veh1 == "Hotring Racer 2" then
veh1 = "Mercedes AMG"
end
if veh1 == "Club" then
veh1 = "Toyota Supra"
end
if getElementData ( veh , "elektryk" ) == true
then poj = "Elektryczne"
else
poj = "1.4dm3"
end
setElementData ( localPlayer , "salon:payment:cash" , true )
setElementData ( localPlayer , "salon:payment:card" , false )
gotowka = true
karta = false
animate ( 2 , 559 , "Linear" , 500 , function( value ) progress = value end )
animate ( 0 , 255 , "Linear" , 800 , function( value1 ) ALPHA1 = value1 end )
-- zakup = exports [ 'ng-dxGui' ]: dxCreateButton ( 'Kup' , 968 , 555 , 256 , 28 ,{ 255 , 255 , 255 , 255 }, 2 );
-- anuluj = exports [ 'ng-dxGui' ]: dxCreateButton ( 'Anuluj' , 968 , 606 , 256 , 28 ,{ 255 , 255 , 255 , 255 }, 2 );
animate ( 0 , 180 , "Linear" , 500 , function( value123 ) progress123 = value123 end )
addEventHandler ( "onClientRender" , root , salon . render )
showCursor ( true )
addEventHandler ( "onClientClick" , root , click )
end )
click = function( button , state )
if ( button == "left" and state == "up" ) then
if ( mouse ( 1118 / scale , 508 / scale , 40 / scale , 28 / scale )) and getElementData ( localPlayer , "salon:payment:cash" ) == true then
karta = true
gotowka = false
setElementData ( localPlayer , "salon:payment:card" , true )
setElementData ( localPlayer , "salon:payment:cash" , false )
elseif mouse ( 1118 / scale , 508 / scale , 40 / scale , 28 / scale ) and getElementData ( localPlayer , "salon:payment:card" ) == true then
gotowka = true
karta = false
setElementData ( localPlayer , "salon:payment:card" , false )
setElementData ( localPlayer , "salon:payment:cash" , true )
elseif mouse ( 1118 / scale , 508 / scale , 40 / scale , 28 / scale ) and getElementData ( localPlayer , "salon:payment:card" ) == false and karta == true then
karta = true
gotowka = false
setElementData ( localPlayer , "salon:payment:card" , true )
setElementData ( localPlayer , "salon:payment:cash" , false )
elseif mouse ( 1118 / scale , 508 / scale , 40 / scale , 28 / scale ) and getElementData ( localPlayer , "salon:payment:card" ) == true and karta == true then
karta = false
gotowka = true
setElementData ( localPlayer , "salon:payment:card" , false )
setElementData ( localPlayer , "salon:payment:cash" , true )
end
if ( mouse ( 955 / scale , 606 / scale , 253 / scale , 40 / scale )) then
removeEventHandler ( "onClientRender" , root , salon . render )
removeEventHandler ( "onClientClick" , root , click )
showCursor ( false )
end
if( mouse ( 955 / scale , 552 / scale , 253 / scale , 40 / scale )) then
triggerServerEvent ( "salon:buy" , resourceRoot , localPlayer )
end
end
end
function mouse ( x , y , w , h )
if not isCursorShowing () then return end
local sw , sh = guiGetScreenSize ()
local mouse = { getCursorPosition ()}
local myX , myY = ( mouse [ 1 ] * sw ), ( mouse [ 2 ] * sh )
if ( myX >= x and myX <= ( x + w )) and ( myY >= y and myY <= ( y + h )) then
return true
end
return false
end
Serwer:
createBlip (- 1660.95 , 1213.61 , 7.25 , 55 ) -- Sportowe SF
createBlip (- 1959.01 , 278.27 , 41.05 , 55 ) -- Doherty SF
createBlip (- 1905.53 , - 528.38 , 24.64 , 55 ) -- Cygan SF
createBlip (- 2028.63 , - 108.39 , 38.92 , 36 , 2 , 0 , 0 , 0 , 0 , 0 , 275 )
local object = createObject ( 1365 , 807.44 ,- 650.83 ,- 70.55 , 0 , 0 , 0 )
setElementDimension ( object , 1 )
local object2 = createObject ( 1365 , 807.44 ,- 650.83 ,- 68.55 , 0 , 0 , 0 )
setElementDimension ( object2 , 1 )
-- magazyn ^
-- salon lowrider
createObject ( 3578 , 1737.23 , 330.55 , 26.80 , 0 , 0 , 90 )
function convertNumber ( number )
local formatted = number
while true do
formatted , k = string . gsub ( formatted , "^(-?%d+)(%d%d%d)" , '%1,%2' )
if ( k == 0 ) then
break
end
end
return formatted
end
positionVehicles = {
-- doherty SF
{ 'Clover' , 542 , 247 , 300000 , - 1949.20 , 261.60 , 35.13 , 359.4 , 0.0 , 36.3 , 0 , 0 },
{ 'Vincent' , 540 , 117 , 336000 , - 1947.21 , 272.27 , 35.33 , 359.7 , 0.0 , 121.3 , 0 , 0 },
{ 'Fortune' , 526 , 117 , 492000 , - 1958.60 , 261.13 , 35.24 , 359.9 , 0.1 , 326.5 , 0 , 0 },
{ 'Greenwood' , 492 , 587 , 408000 , - 1954.30 , 302.67 , 35.25 , 0.0 , 0.0 , 150.6 , 0 , 0 },
{ 'Sabre' , 475 , 986 , 536000 , - 1945.77 , 273.75 , 40.93 , 0.1 , 360.0 , 122.7 , 0 , 0 },
{ 'Premier' , 426 , 408 , 576000 , - 1945.79 , 266.88 , 40.80 , 0.0 , 0.0 , 117.1 , 0 , 0 },
{ 'Tahoma' , 566 , 1173 , 528000 , - 1946.03 , 258.87 , 40.83 , 0.3 , 0.0 , 116.1 , 0 , 0 },
--{ 'Euros' , 587 , 1276 , 600000 , - 1955.04 , 257.14 , 40.79 , 0.0 , 360.0 , 335.8 , 0 , 0 },
{ 'Intruder' , 546 , 34 , 432000 , - 1954.77 , 304.12 , 40.77 , 0.0 , 360.0 , 152.3 , 0 , 0 },
--{ 'Banshee' , 429 , 0 , 5000000 , - 1962.31 , 282.77 , 35.15 , 359.5 , 0.1 , 351.1 , 0 , 0 },
-- sportowe SF
--{ 'Uranus' , 558 , 27 , 3780000 , - 1670.44 , 1205.39 , 13.30 , 359.6 , 0.0 , 293.0 , 0 , 0 },
--{ 'Flash' , 565 , 17 , 4900000 , - 1665.68 , 1223.51 , 13.30 , 359.7 , 0.0 , 202.8 , 0 , 0 },
{ 'Sultan' , 560 , 4 , 5984000 , - 1655.12 , 1216.41 , 13.38 , 359.9 , 360.0 , 45.5 , 0 , 0 },
{ 'Jester' , 559 , 11 , 6840000 , - 1647.60 , 1206.72 , 13.33 , 360.0 , 360.0 , 26.5 , 0 , 0 },
--{ 'SuperGT' , 506 , 09 , 9080000 , - 1669.07 , 1205.85 , 20.86 , 360.0 , 360.0 , 284.1 , 0 , 0 },
--{ 'Cheetah' , 415 , 23 , 11440000 , - 1665.07 , 1222.76 , 20.93 , 0.3 , 0.0 , 200.1 , 0 , 0 },
{ 'Infernus' , 411 , 02 , 22000000 , - 1646.90 , 1206.20 , 20.88 , 359.9 , 359.9 , 47.2 , 0 , 0 },
--{ 'Bullet' , 541 , 03 , 11160000 , - 1654.66 , 1216.08 , 20.78 , 359.5 , 360.0 , 44.9 , 0 , 0 },
--{ 'Turismo' , 451 , 02 , 12380000 , - 1658.43 , 1203.90 , 20.86 , 359.6 , 359.9 , 89.4 , 0 , 0 },
--{ 'Porsche' , 480 , 1023 , 6750000 , - 1662.35 , 1214.59 , 6.94 , 359.9 , 360.0 , 236.2 , 0 , 0 },
{ 'Elegy' , 562 , 07 , 6137000 , - 1679.29 , 1209.28 , 20.81 , 359.5 , 359.9 , 227.6 , 0 , 0 },
-- SALON BM
--{ 'Tesla' , 602 , 0 , 3000000 , - 2525.34 , 2314.01 , 5.03 , 0.1 , 360.0 , 175.5 , 0 , 0 },
--{ 'Mercedes' , 503 , 0 , 8000000 , - 2512.12 , 2315.70 , 4.98 , 0.9 , 0.0 , 141.8 , 0 , 0 },
--{ 'Mustang' , 494 , 0 , 2000000 , - 2497.53 , 2315.61 , 5.10 , 0.3 , 359.9 , 137.9 , 0 , 0 },
--{ 'BMW' , 516 , 0 , 13800000 , - 2491.33 , 2315.22 , 4.90 , 0.1 , 359.9 , 138.0 , 0 , 0 },
-- cygan
--{ 'Tampa' , 549 , 20020 , 249000 , - 1911.66 , - 511.79 , 24.77 , 357.5 , 1.1 , 213.6 , 0 , 0 },
{ 'Sadler' , 543 , 20320 , 240000 , - 1895.01 , - 524.64 , 24.50 , 358.5 , 359.5 , 136.9 , 0 , 0 },
{ 'Perennial' , 404 , 20012 , 180000 , - 1896.98 , - 539.31 , 24.29 , 359.6 , 360.0 , 123.8 , 0 , 0 },
{ 'Moonbeam' , 418 , 22000 , 144000 , - 1909.71 , - 539.67 , 24.75 , 0.0 , 360.0 , 353.0 , 0 , 0 },
--{ 'Previon' , 436 , 24000 , 216000 , - 1897.48 , - 520.83 , 24.50 , 358.9 , 359.6 , 142.3 , 0 , 0 },
{ 'Picador' , 600 , 21000 , 264000 , - 1907.90 , - 522.47 , 24.47 , 359.0 , 0.6 , 234.7 , 0 , 0 },
-- Offroad SF
--{ 'Mesa' , 500 , 36540 , 1345000 , - 2834.28 , 1321.02 , 8.35 , 338.9 , 360.0 , 223.9 , 0 , 0 },
--{ 'Huntley' , 579 , 11320 , 2540000 , - 2823.05 , 1324.89 , 7.99 , 339.8 , 0.0 , 180.2 , 0 , 0 },
--{ 'Rancher' , 489 , 18765 , 3478000 , - 2813.77 , 1325.18 , 8.32 , 340.1 , 359.9 , 179.8 , 0 , 0 },
--{ 'Bandito' , 568 , 18115 , 11111111 , - 2804.13 , 1325.39 , 8.00 , 340.1 , 355.2 , 166.9 , 0 , 0 },
-- Motory SF
--{ 'BF-400' , 581 , 2300 , 570000 , - 2478.51 , - 170.42 , 25.21 + 0.25 , 359.3 , 0.0 , 90.5 , 0 , 0 },
--{ 'FCR-900' , 521 , 1100 , 640000 , - 2478.49 , - 174.63 , 25.19 + 0.25 , 359.2 , 0.0 , 92.5 , 0 , 0 },
--{ 'PCJ-600' , 461 , 800 , 510000 , - 2478.48 , - 178.87 , 25.20 + 0.25 , 358.8 , 0.0 , 90.1 , 0 , 0 },
--{ 'NRG-500' , 522 , 287 , 780000 , - 2478.48 , - 183.07 , 25.19 + 0.25 , 358.9 , 0.0 , 91.7 , 0 , 0 },
--{ 'Freeway' , 463 , 786 , 620000 , - 2478.42 , - 187.23 , 25.16 + 0.25 , 359.8 , 0.0 , 90.3 , 0 , 0 },
--{ 'Sanchez' , 468 , 987 , 548000 , - 2478.31 , - 191.45 , 25.29 + 0.25 , 359.9 , 360.0 , 90.9 , 0 , 0 },
--{ 'Wayfarer' , 586 , 455 , 470000 , - 2478.48 , - 195.68 , 25.14 + 0.25 , 359.9 , 0.0 , 91.0 , 0 , 0 },
-- LOWRIDERY
--{ 'Lamborghini Sian' , 412 , 12 , 35000000 , - 1492.04 , 745.91 , 6.82 , 0.6 , 360.0 , 125.3 , 1400 , 0 },
--{ 'Mercedes AMG v2' , 517 , 12 , 25000000 , - 2062.32 , - 33.48 , 36.03 , 341.0 , 359.9 , 324.8 , 1450 , 0 },
--{ 'Tornado' , 576 , 0 , 1850000 , 2157.76 , 988.41 , 10.43 , 0.3 , 0.0 , 359.6 , 0 , 0 },
--{ 'Slamvan' , 535 , 0 , 1500000 , 2148.15 , 988.09 , 10.58 , 359.8 , 360.0 , 0.3 , 0 , 0 },
-- BM
--{ 'Ford GT' , 507 , 500 , 12000000 , - 2509.87 , 2300.39 , 5.06 , 359.6 , 0.0 , 33.3 , 0 , 0 },
--{ 'Audi R8' , 491 , 255 , 6000000 , - 2504.15 , 2316.25 , 4.84 , 359.5 , 0.0 , 136.6 , 0 , 0 },
--{ 'BMW i8' , 603 , 255 , 25000000 , - 2515.74 , 2299.61 , 4.97 , 359.9 , 359.9 , 37.5 , 0 , 0 },
--{ 'BMW M5' , 405 , 124 , 8500000 , - 2522.42 , 2299.92 , 5.18 , 0.1 , 360.0 , 39.2 , 0 , 0 },
--{ 'Nissan GT-R' , 439 , 52 , 7500000 , - 1491.89 , 767.21 , 6.93 , 1.0 , 360.0 , 130.5 , 0 , 0 },
--{ 'Nissan Silvia' , 567 , 1 , 7500000 , - 1492.04 , 752.29 , 6.64 , 1.5 , 0.0 , 126.6 , 0 , 0 },
-- LS
--{ 'Toyota Supra' , 589 , 32 , 7000000 , - 1510.93 , 788.36 , 6.71 , 0.3 , 0.0 , 230.4 , 0 , 0 },
--{ 'Toyota Supra' , 419 , 2 , 9000000 , - 1510.71 , 780.17 , 6.71 , 0.3 , 0.0 , 229.4 , 0 , 0 },
--{ 'Nissan GTR' , 536 , math . random ( 500 , 1200 ), 9000000 , - 1510.76 , 772.76 , 6.63 , 0.1 , 0.0 , 230.6 , 0 , 0 },
--{ 'Audi' , 604 , math . random ( 500 , 1200 ), 34000000 , - 1491.97 , 760.05 , 6.87 , 359.3 , 360.0 , 127.8 , 0 , 0 },
--{ 'Mercedes-Benz Drift Version' , 580 , math . random ( 3 , 300 ), 13999323 , - 1510.77 , 753.05 , 6.96 , 2.2 , 0.0 , 310.4 , 0 , 0 },
--{ 'Buggati Divo' , 518 , 0 , 56323454 , - 1492.38 , 773.74 , 6.91 , 0.0 , 360.0 , 130.5 , 0 , 0 },
--{ 'Mini' , 496 , 0 , 28999999 , - 1492.04 , 781.16 , 6.80 , 359.8 , 360.0 , 131.3 , 0 , 0 },
--{ 'Cabbie' , 438 , 0 , 1999999 , 2232.58 , 1499.08 , 11.76 , 340.8 , 356.3 , 40.4 , 0 , 0 },
--{ 'Mitsubishi' , 479 , 0 , 99999999 , 2231.72 , 1486.93 , 11.53 , 340.3 , 355.5 , 40.0 , 0 , 0 },
--{ 'Mower' , 572 , 0 , 3000000 , - 2056.76 , 13.99 , 36.25 , 341.6 , 357.1 , 172.1 , 1250 , 0 }, -- EVENT
--{ 'BMX' , 481 , 0 , 1200000 , - 2063.54 , 13.85 , 36.14 , 338.7 , 7.4 , 202.2 , 50 , 0 }, -- EVENT
--{ 'Windsor' , 555 , 0 , 12500000 , 2183.90 , 1673.64 , 10.72 , 360.0 , 359.7 , 41.7 , 0 , 0 },
--{ 'Corvette' , 421 , 0 , 250000000 , 2231.27 , 1471.68 , 11.19 , 343.6 , 349.4 , 21.7 , 3000 , 0 },
--{ 'Lamborghini' , 550 , 0 , 250000000 , 2231.87 , 1458.98 , 11.14 , 341.4 , 353.4 , 33.8 , 3000 , 0 },
--{ 'BMW' , 527 , 0 , 250000000 , 2231.42 , 1446.89 , 11.49 , 341.5 , 351.6 , 28.5 , 3000 , 0 },
--{ 'BMW E30' , 477 , 0 , 250000000 , 2231.05 , 1430.38 , 11.25 , 345.3 , 348.8 , 19.4 , 3300 , 0 },
-- DOSTAWCZAKI
--{ 'Burrito' , 482 , 0 , 24553211 , - 2645.97 , 1378.62 , 7.29 , 358.9 , 359.8 , 234.5 , 0 , 0 },
--{ 'Pony' , 413 , 0 , 18423123 , - 2645.49 , 1363.20 , 7.25 , 358.7 , 0.1 , 282.8 , 0 , 0 },
--{ 'Berkley\' s RC Van ', 459, 0, 12774511, -2644.56, 1333.87, 7.23, 359.3, 359.4, 307.9,0,0},
--{' Rumpo ', 440, 0, 13972211, -2644.94, 1345.42, 7.27, 358.9, 0.2, 291.1,0,0},
--{' Bobcat ', 422, 0, 11201244, -2632.07, 1334.50, 7.18, 359.1, 0.1, 311.6,0,0},
--{' Rolls Royce ', 467, 0, 95000000, -1492.15, 788.45, 6.76, 0.5, 359.9, 130.6,2000,0},
}
for i,v in pairs(positionVehicles) do
local cena = v[4]
local veh=createVehicle(v[2], v[5], v[6], v[7], v[8], v[9], v[10], v[11])
if getVehicleName(veh) == "Phoenix" then
setElementData(veh,' vehicle : desc ',' Pojazd elektryczny\nAby wy ? wietli ? wi ? cej informacji nt . tego modelu wsi ? d ? do pojazdu\nCena : '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja : '..v[11]..'')
elseif getVehicleName(veh) == "Blade" then
setElementData(veh,' vehicle : desc ',' Driftow ? z\nAby wy ? wietli ? wi ? cej informacji nt . tego modelu wsi ? d ? do pojazdu\nCena : '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja : '..v[11]..'')
elseif getVehicleName(veh) == "Club" then
setElementData(veh,' vehicle : desc ',' Driftow ? z\nAby wy ? wietli ? wi ? cej informacji nt . tego modelu wsi ? d ? do pojazdu\nCena : '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja : '..v[11]..'')
elseif getVehicleName(veh) == "Stafford" then
setElementData(veh,' vehicle : desc ',' Driftow ? z\nAby wy ? wietli ? wi ? cej informacji nt . tego modelu wsi ? d ? do pojazdu\nCena : '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja : '..v[11]..'')
elseif getVehicleName(veh) == "Esperanto" then
setElementData(veh,' vehicle : desc ',' Driftow ? z\nAby wy ? wietli ? wi ? cej informacji nt . tego modelu wsi ? d ? do pojazdu\nCena : '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja : '..v[11]..'')
elseif getVehicleName(veh) == "Alpha" then
setElementData(veh,' vehicle : desc ',' Pojazd elektryczny\nAby wy ? wietli ? wi ? cej informacji nt . tego modelu wsi ? d ? do pojazdu\nCena : '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja : '..v[11]..'')
elseif getVehicleName(veh) == "Savanna" then
setElementData(veh,' vehicle : desc ',' Pojazd dodany dzi ? ki sponsorowi Surfek z okazji Halloween , dzi ? kujemy ! \nAby wy ? wietli ? wi ? cej informacji nt . tego modelu wsi ? d ? do pojazdu\nCena : '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja : '..v[11]..'')
elseif getVehicleName(veh) == "Sadler Damaged" then
setElementData(veh,' vehicle : desc ',' Lataj ? cy pojazd\nDeluxo\nCena : '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja : '..v[11]..'')
elseif getVehicleName(veh) == "Stallion" then
setElementData(veh,' vehicle : desc ',' Pojazd dodany dzi ? ki sponsorowi Sasha , dzi ? kujemy ! \nAby wy ? wietli ? wi ? cej informacji nt . tego modelu wsi ? d ? do pojazdu\nCena : '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja : '..v[11]..'')
elseif getVehicleName(veh) == "Hustler" then
setElementData(veh,' vehicle : desc ',' Pojazd dodany z okazji Halloween , dost ? pny na czas nieokre ? lony\nAby wy ? wietli ? wi ? cej informacji nt . tego modelu wsi ? d ? do pojazdu\nCena : '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja : '..v[11]..'')
else
setElementData(veh,' vehicle : desc ',' Aby wy ? wietli ? wi ? cej informacji nt . tego modelu wsi ? d ? do pojazdu\nCena : '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja : '..v[11]..'')
end
setVehicleOverrideLights(veh, 1)
setElementFrozen(veh, true)
setElementData(veh,' recznySalonData ', true)
setVehicleColor(veh, 153, 204, 255)
setVehiclePlateText(veh,v[1])
setVehicleDamageProof(veh, false)
setElementData(veh,' vehicle . selling ', true)
setElementData(veh,"vehicle:pojemnosc",wybranapojemnosc)
setElementData(veh, "cost", v[4])
setElementData(veh, "rp", v[11])
setElementData(veh, "vehicle:mileage", v[3])
setVehicleDamageProof(veh, true)
if wybranapojemnosc == "1.2" then
wybranapojemnosc = "1"
elseif wybranapojemnosc == "1.4" then
wybranapojemnosc = "2"
elseif wybranapojemnosc == "1.6" then
wybranapojemnosc = "3"
elseif wybranapojemnosc == "1.8" then
wybranapojemnosc = "4"
elseif wybranapojemnosc == "2.0" then
wybranapojemnosc = "5"
end
veh:setData(' vehsell : info ', {
[' cost ']=(v[4]),
[' model ']=v[2],
[' mileage ']=v[3],
[' selling ']=v[10],
[' pojemnosc ']=v[11]
,0,0}, false)
end
function wyliczpoj(name)
local poj = getElementData(name,"vehicle:pojemnosc")
if poj == "1" then
tszy = "1.2"
elseif poj == "2" then
tszy = "1.4"
elseif poj == "3" then
tszy = "1.6"
elseif poj == "4" then
tszy = "1.8"
elseif poj == "5" then
tszy = "2.0"
elseif poj == "6" then
tszy = "2.2"
elseif poj == "7" then
tszy = "2.4"
elseif poj == "8" then
tszy = "2.7"
elseif poj == "9" then
tszy = "3.0"
elseif poj == "10" then
tszy = "3.2"
elseif poj == "11" then
tszy = "3.4"
elseif poj == "12" then
tszy = "3.6"
elseif poj == "13" then
tszy = "3.8"
elseif poj == "14" then
tszy = "4.0"
end
end
addEventHandler(' onVehicleEnter ', resourceRoot, function(plr, seat, jacked)
triggerClientEvent(plr, "salon:gui", plr, "on")
showCursor(source, true)
end)
addEventHandler(' onVehicleExit ', resourceRoot, function(plr, seat, jacked)
if seat~=0 then return end
local data=plr:getData(' vehsell : info ')
if not data then return end
plr:removeData(' vehsell : info ')
end)
addEvent("salon:buy", true)
addEventHandler("salon:buy", resourceRoot, function(plr)
local vehicle=plr:getOccupiedVehicle()
if getElementData(vehicle, "rp") > getElementData(plr, "player:srp") then
triggerClientEvent(plr, "createNotif",plr,"Nie masz wystarczaj?co reputacji,\n?eby kupi? ten pojazd!",3,"error")
return end
if getVehicleName(vehicle) == "Washington" or getVehicleName(vehicle) == "Cadrona" or getVehicleName(vehicle) == "Sunrise" or getVehicleName(vehicle) == "Hotring Racer 3" or getVehicleName(vehicle) == "Willard" or getVehicleName(vehicle) == "Regina" then
if not getElementData(plr, "player:gold") then
triggerClientEvent(plr, "createNotif",plr,"Aby zakupi? ten pojazd, musisz posiada? golda!",3,"error")
return
end
end
local cost=vehicle:getData("cost")
if getElementData(plr, "salon:payment:cash") == true then
if cost > 99999999 then
triggerClientEvent(plr, "createNotif",plr,"Za ten pojazd musisz zap?aci? kart?!",3,"error")
return
end
end
if getElementData(plr, "salon:payment:cash") == true then
if getPlayerMoney(plr) < getElementData(getPedOccupiedVehicle(plr), "cost") then
triggerClientEvent(plr, "createNotif",plr,"Nie posiadasz wystarczajacej kwoty pieniedzy!",3,"error")
return
end
end
local vehicle=plr:getOccupiedVehicle()
if vehicle then
removePedFromVehicle(vehicle)
end
local cost=vehicle:getData("cost")
local model=getElementModel(vehicle)
local mileage=vehicle:getData("vehicle:mileage")
local pojemnosc=vehicle:getData("vehicle:poj")
local uid=getElementData(plr,' player : sid ') or 0
if getElementData(plr, "salon:payment:cash") == true then
takePlayerMoney(plr, cost)
else
local ilosc_kasy = exports["pystories-db"]:dbGet("SELECT bank_money FROM pystories_users WHERE id=" .. getElementData(plr, "player:sid") .. " LIMIT 1")
local kasa=ilosc_kasy[1]
if kasa.bank_money < cost then
triggerClientEvent(plr, "createNotif",plr,"Nie posiadasz "..cost.." $!",3,"error")
return
end
exports["pystories-db"]:dbSet("UPDATE pystories_users SET bank_money=bank_money-" .. cost .. " WHERE id=" .. uid .. " LIMIT 1")
end
if model == 602 or model == 603 then
exports["pystories-db"]:dbSet("INSERT INTO pystories_vehicles (model,fuel,bak,ownedPlayer,firstOwner,mileage,registered,parking,engine) VALUES (?,?,?,?,?,?,?,1,?)", model,"100","100", getElementData(plr,"player:sid"), getPlayerName(plr),mileage,"true","diesel")
else
exports["pystories-db"]:dbSet("INSERT INTO pystories_vehicles (model,ownedPlayer,firstOwner,mileage,registered,parking,engine) VALUES (?,?,?,?,?,1,?)", model, getElementData(plr,"player:sid"), getPlayerName(plr),mileage,"true","diesel")
end
exports["pystories-db"]:dbSet("INSERT INTO logi_salon (Model,Cena,Kto) VALUES (?,?,?)",getVehicleNameFromModel(model),cost,getPlayerName(plr):gsub("#%x%x%x%x%x%x",""))
print("[SALON] Dodano log do salonu!")
triggerClientEvent(plr, "createNotif",plr,"Pomy?lnie zakupiono: "..getVehicleNameFromModel(model).."\nSzerokiej drogi! ?yczy Ekipa\n.newGame",3,"success")
end)
Wysłany: 2021-05-04, 10:30
TheSebaPL
Mod-team
Wiek: 21 Na forum: 3098 dni Posty: 964
Piwa : 3102
Ja u?ywam takiego skalowania:
local sx , sy = guiGetScreenSize ()
local px , py = ( sx / 1280 ),( sy / 720 )
1280 tak?e 720 zmie? na swoj? rozdzielczo?? je?eli robi?e? na 1920x1080 to tak wpisz.
dxDrawText ( veh1 , 697 * px , 308 * py , 927 * px , 361 * py , tocolor ( 255 , 255 , 255 , ALPHA1 ), 1.00 , nawa , "center" , "center" , false , false , false , false , false )
Wed?ug mnie jest dobre to skalowanie i na ka?dej rozdzielczo?ci ma wszystko dobrze wygl?da?.
Więcej szczegółów
Wystawiono 1 piw(a):!ryzee
Wysłany: 2021-05-04, 16:57
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4394 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
W tym dziale moge cie jedynie nakierowac jak to zrobic.
Na poczatku mala rada - skaluj w jak najwiekszej mozliwie rozdzielczosci - lepiej cos zmniejszyc bez utraty jakosci niz powiekszyc i stworzyc piksele
Na pocz?tku definiujesz sobie zmienn? do pobrania w,h ekranu gracza
Kod: screen=Vector2(guiGetScreenSize())
Nast?pnie dla przyk?adu mamy x,y,w,h okna : 150,200,450,500
Po wyskalowaniu wygl?da to tak
Kod: (150/1920)*screen.x, (200/1080)*screen.y, (450/1920)*screen.x, (500/1080)*screen.y
Gdzie 1920 i 1080 to twoja rozdzielczosc NA KTOREJ TWORZYLES dany element
Więcej szczegółów
Wystawiono 1 piw(a):!ryzee
Tagi: skalowanie :: gui :: salonie
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: