Witam. Potrzebuj? osoby kt?ra przerobi mi skrypt od interakcji. chodzi o to aby skrypt odczytywa? z mysql z tabeli czy pojazd ma zamontowane mk2. Wtedy gdy wsiadamy do pojazdu to pod shiftem pojawia si? na samym dole nowa opcja "Regulacja zawieszenia" i pojawiaj? si? pod napisem takie kropki (4 w prawy, 4 w lewo i jedna na ?rodku oczywi?cie zaznaczona). podczas zmiany strz??kami pomi?dzy kropkami zmienia? si? b?dzie wysoko?? zawieszenia. W skr?cie to zrobi? regulacje zawieszenia jak na pylife. Je?li chodzi o czytanie tabeli to sobie sam uzupe?ni?
Mo?na prosi? o przerobienie tego panelu pod logo kt?re tam jest to z 7 i t?o kt?re zamie?cilem by?bym wdzi?czny stawiam piwo dla 1 kto dobrze zrobi z g?ry dzi?ki <3
https://mega.nz/folder/IrBjRSBb#dskYFTxyGNsHv7J6uUR91w
Witam czy da? by rade kto? przerobi? mi licznik ?eby automatycznie si? zmienia?y kolory ?ebym m?g? dawa? go w bazie danych do danego pojazdy.
Z g?ry dzi?kuje i Pozdrawiam.
for i,v in ipairs(vehicles) do
local model = getVehicleModelFromName(v[1])
local veh = createVehicle(model,v[2],v[3],v[4]+0.5,v[5],v[6],v[7])
setElementFrozen(veh,true)
setElementData(veh,"desc",v[1].."\nPrzebieg: 0\nCena:"..v[8])
setVehicleDamageProof(veh,true)
setElementData(veh,"sell",true)
local xd=createColCuboid(v[2]-2.5,v[3]-1.5,v[4]-1.75,4,4,4)
setElementData(xd,"salon",true)
end
setTimer(function()
for i,v in ipairs(getElementsByType("vehicle")) do
if getElementData(v,"sell") then
local x,y,z = getElementRotation(v)
setElementRotation(v,x,y,z+2.5)
end
end
end,50,0)
addCommandHandler("id",function(plr,cmd,el)
local model = getVehicleModelFromName(el)
outputChatBox(tonumber(model),plr)
end)
addEventHandler("onVehicleStartEnter",root,function(plr,seat,jacked)
if not getElementData(source,"sell") then return end
cancelEvent()
end)
Prosi?bym o przerobienie skryptu ruletki chodzi mi oto zeby pobiera?o i dodawa?o kase nie z r?ki tylko z bankomatu ps. wszystko podpiete pod pystories z g?ry dzi?kuje !
Witam posiadam sa customs lecz mam problem poniewaz jak sie zmienia kolor i sie nie potwierdzi go poprostu cofnie sie/wyjdzie z tuningu to on sie zmienia a chce by dopiero po zakupie go sie zmienial kod https://pastebin.com/AwSL9Pae
Hej mam paczk? EMS:https://gtao.pl/%3Cfont-colorff00ff%3Egm%3C-font%3E-ems-definitive-edition-vt136078.htm .I mam podpi?te DB wgrana baz? danych i mam logowanie loguje si? i mam konto ale w bazie nie mam tak samo jak loguj taki nick nie istnieje. Mam dobrze podpi?t? baz? danych poniewa? przed chwila dzia?a?a ju? instaluje 5 raz paczk?. Mo?na poprosi? o pomoc?
Hej mam paczk? EMS:https://gtao.pl/%3Cfont-colorff00ff%3Egm%3C-font%3E-ems-definitive-edition-vt136078.htm .I mam podpi?te DB wgrana baz? danych i mam logowanie loguje si? i mam konto ale w bazie nie mam tak samo jak loguj taki nick nie istnieje. Mam dobrze podpi?t? baz? danych poniewa? przed chwila dzia?a?a ju? instaluje 5 raz paczk?. Mo?na poprosi? o pomoc?
Siemka, przerobi?by kto? mi na szybko aby dawa?o hajs do bankomatu, oraz zabiera?o, w DB3 wyskakuje "attempt to compare table with number"
local LIMIT=3 -- tylko gracz mo?e kupi? trzy pojazdy
local cmd="sell"
local cmd2="kuppojazd"
local sprzedazPojazdu={}
local marker=nil
local timer=nil
local pozycjeMarkerow={
-- Opis nad markerem, x,y,z, int, dim
{"Gie?da\n\nSprzeda? Pojazd?w", 1175.856, 1249.349, -92.2, 0, 0, 3}, -- urzad san fierro
}
for i,v in pairs(pozycjeMarkerow) do
local mkr=createMarker(v[2], v[3], v[4]-1, "cylinder", v[7], 3, 178, 34, 34)
setElementDimension(mkr, v[6] or 0)
setElementInterior(mkr, v[5] or 0)
setElementData(mkr, "sprzedaz:pojazd?w", true)
marker = mkr
local t=createElement("text")
setElementData(t,"name", v[1])
setElementPosition(t,v[2],v[3],v[4])
setElementDimension(t, v[6] or 0)
setElementInterior(t, v[5] or 0)
addEventHandler ("onMarkerHit", mkr, function(el,md)
outputChatBox("#FF8C00>> #ffffffAby sprzeda? pojazd wpisz /sell <nick/ID> <id pojazdu> <cena> ", el, 0, 0, 0, true)
setElementData(el, "sprzedaz:pojazdow", true)
end)
addEventHandler ("onMarkerLeave", mkr, function(el,md)
setElementData(el, "sprzedaz:pojazdow", false)
end)
end
function checkVehiclePlayer(plr)
-- Pobieramy tabel? i nast?pnie zwracamy j?
local result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_vehicles")
local number=0
-- Uruchamiamy p?tl? spradzaj?c? pojazdy z bazy danych i
-- por?wnujemy w?a?ciciela z UID osoby kt?ra chce zakupi?
for i,v in ipairs(result) do
if result[1].ownedPlayer == getElementData(plr,"player:sid") then
number=number+1
end
end
-- Zwracamy ilo?? pojazd?w gracza je?eli nie ma zwr?ci
-- mu false.
return number
end
local function pokazOperacje(plr)
if not sprzedazPojazdu[plr] then return end
local veh=sprzedazPojazdu[plr][3] -- sprawdzanie tablicy
outputChatBox("#00ff00✔ #ffffffOtrzyma?e?(a?) ofert? sprzeda?y pojazdu "..getVehicleNameFromModel(getVehicleModel(veh)).." za cen? $"..sprzedazPojazdu[plr][4], plr, 255, 255, 0, true)
outputChatBox("#FF8C00>> #ffffffID: "..getElementData(veh,"vehicle:id").." | Przebieg: "..getElementData(veh,"vehicle:mileage").."", plr, 255, 255, 0, true)
outputChatBox("#FF8C00>> #ffffffAby potwierdzi? zakup wpisz /kuppojazd, masz 20 sekund.", plr, 255, 255, 0, true)
timer=setTimer(function()
sprzedazPojazdu[plr]=nil
outputChatBox("Ⓘ #FFFFFFTransakcja zosta?a anulowana.", plr, 255,255,0, true)
removeCommandHandler("akceptuj.pojazd", akceptujTransakcje) -- usuwanie komendy
end, 20000, 1)
addCommandHandler("kuppojazd", akceptujTransakcje) -- tworzenie komendy
end
function akceptujTransakcje(plr,cmd)
if not sprzedazPojazdu[plr] then return end
local veh=sprzedazPojazdu[plr][3]
local cost=sprzedazPojazdu[plr][4]
local target=sprzedazPojazdu[plr][1]
if cost < 0 then
outputChatBox("Ⓘ #FFFFFFCena jest nieprawid?owa.", plr, 255,255,0, true)
return
end
if tonumber(cost) > exports["DB2"]:pobierzWyniki("SELECT bank_money FROM pystories_users WHERE id=? LIMIT 1",getElementData(plr,"player:sid")) then
outputChatBox("Ⓘ #FFFFFFNie posiadasz tyle got?wki!", plr, 255,255,0, true)
return
end
exports["pystories-db"]:dbSet("UPDATE pystories_users SET bank_money=bank_money-" .. cost .. " WHERE id=" .. getElementData(plr, "player:sid"))
exports["pystories-db"]:dbSet("UPDATE pystories_users SET bank_money=bank_money+" .. cost .. " WHERE id=" .. getElementData(target, "player:sid"))
killTimer(timer)
outputChatBox("#00ff00✔ #ffffffSprzeda? przeprowadzona pomy?lnie.", plr, 0, 0, 0, true)
outputChatBox("#00ff00✔ #ffffffSprzeda? przeprowadzona pomy?lnie.", target, 0, 0, 0, true)
removeCommandHandler("akceptuj.pojazd", akceptujTransakcje) -- usuwanie komendy
wykonajZapytanie(veh,plr,target) -- do bazy danych ustawiamy od razu
end
function wykonajZapytanie(veh,plr,target)
setElementData(veh,"vehicle:ownedGroup", 0)
setElementData(veh,"vehicle:rent", 0)
setElementData(veh,"vehicle:ownedPlayer",getElementData(plr,"player:sid"))
exports["pystories-db"]:dbSet("UPDATE pystories_vehicles SET ownedPlayer=? AND ownedGroup=0 AND rent=0 WHERE id=?", getElementData(plr,"player:sid"), getElementData(veh,"vehicle:id"))
local text = string.format("[SELL-CAR] Gracz "..getPlayerName(plr).."("..getElementData(plr,"player:sid")..") sprzeda? pojazd "..getElementData(veh,"vehicle:id").." dla "..getPlayerName(target).."("..getElementData(target,"player:sid")..")")
triggerEvent("admin:logs", root, text)
--triggerEvent("admin:addText", resourceRoot, text:gsub("#%x%x%x%x%x%x",""))
-- triggerClientEvent(root, "admin:addText", root, pm_text)
triggerClientEvent("onDebugMessage", resourceRoot, text,5, "Sprzeda? pojazdu")
-- triggerClientEvent(root, "admin:addText", root, )
end
addCommandHandler(cmd, function(plr,_,cel,id,cost)
if getElementData(plr, "sprzedaz:pojazdow")== false then
outputChatBox("#ff0000✘ #ffffffKupiec r?wnie? musi znajdowa? si? w blipie.", plr, 255, 0, 0, true)
return
end
costt=tonumber(cost)
if not cel or not costt then
outputChatBox("#ff0000✘ #ffffffU?ycie: /sell <nick/ID> <id pojazdu> <cena>", plr, 0, 0, 0, true)
return
end
local target=exports["pystories-core"]:findPlayer(plr,cel)
if not target then
outputChatBox("#ff0000✘ #ffffffNie znaleziono podanego gracza.", plr, 255, 0, 0, true)
return
end
if getElementData(target, "sprzedaz:pojazdow")== false then
outputChatBox("#ff0000✘ #ffffffKupiec r?wnie? musi znajdowa? si? w blipie.", plr, 255, 0, 0, true)
return
end
if tonumber(costt) < 0 then
outputChatBox("#ff0000✘ #ffffffPoda?e?(a?) nieprawid?ow? warto??.", plr, 255, 0, 0, true)
return
end
local result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND parking=1 LIMIT 1;", id)
if result and #result > 0 then
outputChatBox("#ff0000✘ #ffffffPojazd znajduje si? na parkingu policyjnym, b?d? w przechowalni, nie mo?esz go sprzeda?.", plr, 255, 0, 0, true)
return
end
for _,vehicle in ipairs(getElementsByType("vehicle")) do
if tonumber(getElementData(vehicle,"vehicle:id")) == tonumber(id) then
if tonumber(getElementData(vehicle,"vehicle:ownedPlayer")) ~= tonumber(getElementData(plr,"player:sid")) then
outputChatBox("✘ #FFFFFFNie jeste? w?a?cicielem.", plr, 255, 0, 0, true)
return
end
sprzedazPojazdu[target]={plr,target,vehicle,costt}
end
end
-- Warunek sprawdzaj?ca ile gracz ma pojazd?w, je?eli bedzie mia?
-- wi?cej ni? LIMIT na g?rze to wy?wietli mu si? komunikat.
--[[if getElementData(target,"player:premium")==false then
if checkVehiclePlayer(target) and checkVehiclePlayer(target) >= LIMIT then
--outputChatBox("* Maksymalnie ten gracz mo?e mie?: "..LIMIT.." pojazd?w", plr, 255, 0, 0)
return
end
end]]--
pokazOperacje(target)
outputChatBox("Ⓘ #FFFFFFWys?ano ofert?.", plr, 255,255,0, true)
Z racji tego, ?e jest wiele os?b, kt?re w dziale Lua wrzucaj? jak?? cz??? kodu i prosz? o przerobienie go w jakim? konkretnym celu postanowi?em utworzy? taki zbiorczy temat, by ?y?o si? ?atwiej i sprawniej.
Mo?e ma?y regulamin:
Wrzucamy tutaj skrypty w postaci pliku (np. link ze stronki hostingowej tak by mo?na by?o takie co? pobra?).
Opis ma by? w miar? prosty i zrozumia?y, a mianowicie jak np. wrzucacie plik, w kt?rym jest zas?b odpowiedzialny za spawnowanie pojazd?w to piszecie kr?tko np. "chc? by ten skrypt zapisywa? r?wnie? pojazdy, kt?re b?d? nale?a?y do x gracza".
Posty, kt?re b?d? zawiera?y x linijek kodu, a nie b?dzie w nich pliku do pobrania b?d? usuwane automatycznie.
W momencie gdy kto? zna rozwi?zanie problemu pisze do swojego "zleceniodawcy" na prywatn? skrzynk?, a nie spami tutaj postami typu "ja to potrafi? zrobi?, napisz na GG: x".
Tematy o podobnej tre?ci znajduj?ce si? w innym temacie ni? ten b?d? usuwane.
I raz jeszcze powt?rz?: nie wrzucamy kod?w tutaj lecz pliki z zasobami (chodzi mi o to, by by?y tam zar?wno pliki .lua i inne). Wszystkie zasoby, kt?re b?d? nie kompletne b?d? usuwane.
Mi?ego programowania
Siemano je?eli ma kto? czas i ch?ci to prosi? bym o przerobienie mi tego skryptu. mianowicie chodzi mi o to ze w tym skrypcie mozna napadac ca?y czas a ja chcia?bym aby napadac mozna bylo Raz na 2godziny, czyli ktos napadnie na bank to mo?e dopiero napa?? za 2godziny i fajnie jak by pisalo np "Napada? mozesz co 2h"
Witam potrzebuj? przerobi? skrypt.
Problem polega na tym ?e posiadam scrolbord z VectoryRPG i potrzebuj? dopisa? rang? Support.
Za pomoc stawiam piwerko
score={}
multi=1
admins={}
screen=Vector2(guiGetScreenSize())
if screen.x<1050 then
multi=1.6
end
score.font=dxCreateFont("czcionka.ttf",((15/1920)*screen.x)*multi) or "default-bold"
score.font2=dxCreateFont("czcionka.ttf",((25/1920)*screen.x)*multi) or "default-bold"
score.font3=dxCreateFont("czcionka.ttf",((12/1920)*screen.x)*multi) or "default-bold"
score.infoplayers={0,0}
score.offset=0
to_down=0
score.offset2=0
score.open=false
--325, 452, 1270, 415
rendertarget=dxCreateRenderTarget((1270/1920)*screen.x, (405/1080)*screen.y,true)
local zoom = 1
local fh = 1920
if screen.x < fh then
zoom = math.min(2,fh/screen.x)
end
skaluj=function(x,y,w,h)
return {(x/1920)*screen.x,(y/1080)*screen.y,(w/1920)*screen.x,(h/1080)*screen.y}
end
function isEventHandlerAdded( sEventName, pElementAttachedTo, func )
if type( sEventName ) == 'string' and isElement( pElementAttachedTo ) and type( func ) == 'function' then
local aAttachedFunctions = getEventHandlers( sEventName, pElementAttachedTo )
if type( aAttachedFunctions ) == 'table' and #aAttachedFunctions > 0 then
for i, v in ipairs( aAttachedFunctions ) do
if v == func then
return true
end
end
end
end
return false
end
pos={
["rec"]=skaluj(306, 209, 1308, 662),
["img"]={(306/1920)*screen.x, (203/1080)*screen.y, 170/zoom, 167/zoom},
["line"]={(304/1920)*screen.x, (209/1080)*screen.y, (1615/1920)*screen.x, (209/1080)*screen.y},
["line2"]={(306/1920)*screen.x, (208/1080)*screen.y, (306/1920)*screen.x, (870/1080)*screen.y},
["line3"]={(304/1920)*screen.x, (870/1080)*screen.y, (1616/1920)*screen.x, (870/1080)*screen.y},
["line4"]={(1614/1920)*screen.x, (208/1080)*screen.y, (1614/1920)*screen.x, (870/1080)*screen.y},
["dx"]=skaluj(1381, 231, 1579, 283),
["dxx"]=skaluj(1381, 331, 1579, 283),
["dx2"]=skaluj(1056, 318, 1363, 309),
["line5"]={(325/1920)*screen.x, (450/1080)*screen.y, (1595/1920)*screen.x, (450/1080)*screen.y},
["dx3"]=skaluj(324, 409, 450, 449),
["dx4"]=skaluj(450, 409, 576, 449),
["dx5"]=skaluj(576, 409, 828, 449),
["dx6"]=skaluj(828, 409, 1021, 449),
["dx7"]=skaluj(1021, 409, 1368, 449),
["dx8"]=skaluj(1368, 409, 1594, 449),
["rec2"]=skaluj(585, 460, 235, 27),
["rec3"]=skaluj(835, 460, 177, 27),
["rec4"]=skaluj(1031, 460, 328, 27),
["rec5"]=skaluj(1378, 460, 211, 27),
["rec6"]=skaluj(458, 460, 113, 27),
["rec7"]=skaluj(331, 460, 113, 27),
["rec8"]=skaluj(309, 212, 163, 174)
}
score.render=function()
if not score.open then return end
exports['server-dx']:dxWindow(pos["rec"][1],pos["rec"][2],pos["rec"][3],pos["rec"][4])
-- exports['server-dx']:dxWindow(pos["rec8"][1],pos["rec8"][2],pos["rec8"][3],pos["rec8"][4])
dxDrawImage(pos["img"][1],pos["img"][2],pos["img"][3],pos["img"][4], "logo.png", 0, 0, 0, tocolor(255, 255, 255, 255), true)
-- dxDrawLine(pos["line"][1],pos["line"][2],pos["line"][3],pos["line"][4], tocolor(225, 183, 28, 255), 5, true)
-- dxDrawLine(pos["line2"][1],pos["line2"][2],pos["line2"][3],pos["line2"][4], tocolor(225, 183, 28, 255), 5, true)
-- dxDrawLine(pos["line3"][1],pos["line3"][2],pos["line3"][3],pos["line3"][4], tocolor(225, 183, 28, 255), 5, true)
-- dxDrawLine(pos["line4"][1],pos["line4"][2],pos["line4"][3],pos["line4"][4], tocolor(225, 183, 28, 255), 5, true)
-- dxDrawLine((306/1920)*screen.x, (385/1080)*screen.y, (475/1920)*screen.x, (385/1080)*screen.y, tocolor(225, 183, 28, 255), 5, true)
dxDrawText("Gracze : "..score.infoplayers[1].."/"..score.infoplayers[2], pos["dx"][1],pos["dx"][2],pos["dx"][3],pos["dx"][4], tocolor(255, 255, 255, 255), 1.00, score.font, "right", "center", false, true, true, false, false)
dxDrawText("Tw?j ping : "..getPlayerPing(localPlayer).."ms", pos["dxx"][1],pos["dxx"][2],pos["dxx"][3],pos["dxx"][4], tocolor(255, 255, 255, 255), 1.00, score.font, "right", "center", false, true, true, false, false)
-- dxDrawText("Scoreboard\nVectoryRPG", pos["dx2"][1],pos["dx2"][2],pos["dx2"][3],pos["dx2"][4], tocolor(255, 255, 255, 255), 1.00, score.font2, "center", "center", false, false, true, false, false)
-- dxDrawLine(pos["line5"][1],pos["line5"][2],pos["line5"][3],pos["line5"][4], tocolor(225, 183, 28, 255), 3, true)
dxDrawText("SID", pos["dx3"][1],pos["dx3"][2],pos["dx3"][3],pos["dx3"][4], tocolor(255, 255, 255, 150), 1.00, score.font, "center", "center", false, false, true, false, false)
dxDrawText("ID", pos["dx4"][1],pos["dx4"][2],pos["dx4"][3],pos["dx4"][4], tocolor(255, 255, 255, 150), 1.00, score.font, "center", "center", false, false, true, false, false)
dxDrawText("Nick", pos["dx5"][1],pos["dx5"][2],pos["dx5"][3],pos["dx5"][4], tocolor(255, 255, 255, 150), 1.00, score.font, "center", "center", false, false, true, false, false)
dxDrawText("Reputacja", pos["dx6"][1],pos["dx6"][2],pos["dx6"][3],pos["dx6"][4], tocolor(255, 255, 255, 150), 1.00, score.font, "center", "center", false, false, true, false, false)
dxDrawText("Organizacja", pos["dx7"][1],pos["dx7"][2],pos["dx7"][3],pos["dx7"][4], tocolor(255, 255, 255, 150), 1.00, score.font, "center", "center", false, false, true, false, false)
dxDrawText("S?u?ba", pos["dx8"][1],pos["dx8"][2],pos["dx8"][3],pos["dx8"][4], tocolor(255, 255, 255, 150), 1.00, score.font, "center", "center", false, false, true, false, false)
dxDrawLine((577/1920)*screen.x, (452/1080)*screen.y, (577/1920)*screen.x, (855/1080)*screen.y, tocolor(0, 0, 0, 100), 2, true)
dxDrawLine((451/1920)*screen.x, (452/1080)*screen.y, (451/1920)*screen.x, (855/1080)*screen.y, tocolor(0, 0, 0, 100), 2, true)
dxDrawLine((828/1920)*screen.x, (452/1080)*screen.y, (828/1920)*screen.x, (855/1080)*screen.y, tocolor(0, 0, 0, 100), 2, true)
dxDrawLine((1021/1920)*screen.x, (452/1080)*screen.y, (1021/1920)*screen.x, (855/1080)*screen.y, tocolor(0, 0, 0, 100), 2, true)
dxDrawLine((1368/1920)*screen.x, (452/1080)*screen.y, (1368/1920)*screen.x, (855/1080)*screen.y, tocolor(0, 0, 0, 100), 2, true)
dxDrawImage((325/1920)*screen.x, (452/1080)*screen.y, 1270/zoom, 405/zoom,rendertarget,0,0,0,tocolor(255,255,255,255),true)
score.offset=0
dxSetRenderTarget(rendertarget,true)
dxSetBlendMode("modulate_add")
if not getElementData(localPlayer,"id") then
pid=0
else
pid=getElementData(localPlayer,"id")
end
if getElementData(localPlayer,"player:faction") then
fac=getElementData(localPlayer,"player:faction")
else
fac="--"
end
if getElementData(localPlayer,"player:sid") then
psid=getElementData(localPlayer,"player:sid")
else
psid="N/A"
end
if getElementData(localPlayer,"player:organization") then
organizacja=getElementData(localPlayer,"player:organization")
else
organizacja="--"
end
if getElementData(localPlayer,"player:srp") then
repu=getElementData(localPlayer,"player:srp")
else
repu="N/A"
end
--dxDrawRectangle((7/1920)*screen.x, ((0/1080)*screen.y)+score.offset2, (1255/1920)*screen.x, (44/1080)*screen.y, tocolor(0, 114, 255,100), false)
dxDrawText(getPlayerName(localPlayer), (-70/1920)*screen.x, ((10/1080)*screen.y)+score.offset2, (827/1920)*screen.x, (495/1080)*screen.y, tocolor(255, 255, 255, 255), 1.00, score.font3, "center", "top", false, false, false, true, false)
dxDrawText(pid, (-200/1920)*screen.x, ((10/1080)*screen.y)+score.offset2, (575/1920)*screen.x, (506/1080)*screen.y, tocolor(255, 255, 255, 255), 1.00, score.font3, "center", "top", false, false, false, false, false)
dxDrawText(psid, (-325/1920)*screen.x, ((10/1080)*screen.y)+score.offset2, (450/1920)*screen.x, (493/1080)*screen.y, tocolor(255, 255, 255, 255), 1.00, score.font3, "center", "top", false, false, false, false, false)
dxDrawText(repu, (180/1920)*screen.x, ((10/1080)*screen.y)+score.offset2, (1019/1920)*screen.x, (493/1080)*screen.y, tocolor(255, 255, 255, 255), 1.00, score.font3, "center", "top", false, false, false, false, false)
dxDrawText(organizacja, (370/1920)*screen.x, ((10/1080)*screen.y)+score.offset2, (1366/1920)*screen.x, (493/1080)*screen.y, tocolor(255, 255, 255, 255), 1.00, score.font3, "center", "top", false, false, false, false, false)
dxDrawText(fac, (725/1920)*screen.x, ((10/1080)*screen.y)+score.offset2, (1587/1920)*screen.x, (493/1080)*screen.y, tocolor(255, 255, 255, 255), 1.00, score.font3, "center", "top", false, false, false, false, false)
dxDrawLine((7/1920)*screen.x, ((45/1080)*screen.y)+score.offset2, (1262/1920)*screen.x, ((45/1080)*screen.y)+score.offset2, tocolor(0, 0, 0, 100), 3, false)
-- dxDrawLine((474/1920)*screen.x, (210/1080)*screen.y, (474/1920)*screen.x, (387/1080)*screen.y, tocolor(0, 114, 255, 255), 5, true)
owner,root,adm,mod=0,0,0,0
ownertab={}
roottab={}
admtab={}
modtab={}
txtowner=""
txtroot=""
txtadm=""
txtmod=""
for k,v in ipairs(admins)do
if admins[k].level==4 then
owner=owner+1
table.insert(ownertab,admins[k].nazwa)
elseif admins[k].level==3 then
root=root+1
table.insert(roottab,admins[k].nazwa)
elseif admins[k].level==2 then
adm=adm+1
table.insert(admtab,admins[k].nazwa)
elseif admins[k].level==1 then
mod=mod+1
table.insert(modtab,admins[k].nazwa)
end
end
if #ownertab>0 then
txtowner="("..table.concat(ownertab,",").."#ffffff)"
end
if #roottab>0 then
txtroot="("..table.concat(roottab,",").."#ffffff)"
end
if #admtab>0 then
txtadm="("..table.concat(admtab,",").."#ffffff)"
end
if #modtab>0 then
txtmod="("..table.concat(modtab,",").."#ffffff)"
end
dxDrawText("Aktywna administracja(/admins) :\n\n#E47833W?a?ciciel#ffffff : "..owner.." "..txtowner.."\n#cc00ccROOT #ffffff: "..root.." "..txtroot.."\n#ff0000Administrator #ffffff: "..adm.." "..txtadm.."\n#0099ffModerator #ffffff: "..mod.." "..txtmod.."", (488/1920)*screen.x, (221/1080)*screen.y, (847/1920)*screen.x, (380/1080)*screen.y, tocolor(255, 255, 255, 255), 1.00, score.font3, "left", "center", false, false, true, true, false)
for k,v in ipairs(spis)do
score.offset=score.offset+(45/1080)*screen.y
--exports['server-dx']:dxWindow((7/1920)*screen.x, ((0/1080)*screen.y)+score.offset+score.offset2, (1255/1920)*screen.x, (44/1080)*screen.y)
dxDrawText(spis[k].nazwa, (-70/1920)*screen.x, ((10/1080)*screen.y)+score.offset+score.offset2, (827/1920)*screen.x, (495/1080)*screen.y, tocolor(255, 255, 255, 255), 1.00, score.font3, "center", "top", false, false, false, true, false)
dxDrawText(spis[k].id, (-200/1920)*screen.x, ((10/1080)*screen.y)+score.offset+score.offset2, (575/1920)*screen.x, (506/1080)*screen.y, tocolor(255, 255, 255, 255), 1.00, score.font3, "center", "top", false, false, false, false, false)
dxDrawText(spis[k].sid, (-325/1920)*screen.x, ((10/1080)*screen.y)+score.offset+score.offset2, (450/1920)*screen.x, (493/1080)*screen.y, tocolor(255, 255, 255, 255), 1.00, score.font3, "center", "top", false, false, false, false, false)
dxDrawText(spis[k].reputacja, (180/1920)*screen.x, ((10/1080)*screen.y)+score.offset+score.offset2, (1019/1920)*screen.x, (493/1080)*screen.y, tocolor(255, 255, 255, 255), 1.00, score.font3, "center", "top", false, false, false, false, false)
dxDrawText(spis[k].org, (370/1920)*screen.x, ((10/1080)*screen.y)+score.offset+score.offset2, (1366/1920)*screen.x, (493/1080)*screen.y, tocolor(255, 255, 255, 255), 1.00, score.font3, "center", "top", false, false, false, false, false)
dxDrawText(spis[k].sluzba, (725/1920)*screen.x, ((10/1080)*screen.y)+score.offset+score.offset2, (1587/1920)*screen.x, (493/1080)*screen.y, tocolor(255, 255, 255, 255), 1.00, score.font3, "center", "top", false, false, false, false, false)
dxDrawLine((7/1920)*screen.x, (((45/1080)*screen.y)+score.offset)+score.offset2, ((1262/1920)*screen.x), (((45/1080)*screen.y)+score.offset)+score.offset2, tocolor(0, 114, 255, 100), 3, false)
end
dxSetBlendMode("blend")
dxSetRenderTarget(false)
end
addEventHandler("onClientRender",root,score.render)
addEventHandler("onClientKey",root,function(key,state)
if key=="tab" then
if state then
--if not isEventHandlerAdded("onClientRender",root,score.render) then
if not score.open then
triggerServerEvent("scoreboard:aktualizuj",localPlayer)
spis={}
admins={}
for _,v in ipairs(getElementsByType("player"))do
if getPlayerName(v)~=getPlayerName(localPlayer) then
if not getElementData(v,"id") then
pid=0
else
pid=getElementData(v,"id")
end
if getElementData(v,"player:faction") then
fac=getElementData(v,"player:faction")
else
fac="--"
end
if getElementData(v,"player:sid") then
psid=getElementData(v,"player:sid")
else
psid="N/A"
end
if getElementData(v,"player:organization") then
organizacja=getElementData(v,"player:organization")
else
organizacja="--"
end
if getElementData(v,"player:srp") then
repu=getElementData(v,"player:srp")
else
repu="N/A"
end
table.insert(spis,{nazwa=getPlayerName(v),id=pid,sid=psid,sluzba=fac,org=organizacja,reputacja=repu})
end
if getElementData(v,"player:level")==4 then
table.insert(admins,{level=4,nazwa=getPlayerName(v)})
elseif getElementData(v,"player:level")==3 then
table.insert(admins,{level=3,nazwa=getPlayerName(v)})
elseif getElementData(v,"player:level")==2 then
table.insert(admins,{level=2,nazwa=getPlayerName(v)})
elseif getElementData(v,"player:level")==1 then
table.insert(admins,{level=1,nazwa=getPlayerName(v)})
end
end
table.sort(spis, function(a, b) return a.id < b.id end )
end
else
--removeEventHandler("onClientRender",root,score.render)
score.open=false
unbindKey("mouse_wheel_up","down",scroolUp)
unbindKey("mouse_wheel_down","down",scroolDown)
--blurBoxElement = not exports.blur_box:destroyBlurBox( blurBoxElement )
setElementData(localPlayer,"player:hud",true)
end
end
end)
function scroolDown()
if #getElementsByType("player")>9 then
max=#getElementsByType("player")-9
if to_down>=max then return end
score.offset2=score.offset2-(50/1080)*screen.y
to_down=to_down+1
end
end
function scroolUp()
if to_down>0 then
score.offset2=score.offset2+(50/1080)*screen.y
to_down=to_down-1
end
end
addEvent("scoreboard:aktualizuj",true)
addEventHandler("scoreboard:aktualizuj",root,function(aktualnie,max)
if localPlayer==source then
score.infoplayers={aktualnie,max}
--addEventHandler("onClientRender",root,score.render)
score.open=true
bindKey("mouse_wheel_up","down",scroolUp)
bindKey("mouse_wheel_down","down",scroolDown)
--blurBoxElement = exports.blur_box:createBlurBox( pos["rec"][1],pos["rec"][2],pos["rec"][3],pos["rec"][4], 255, 255, 255, 255, false )
--exports.blur_box:setBlurIntensity(2.0)
setElementData(localPlayer,"player:hud",false)
end
end)
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