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

Wysłany: 2021-07-18, 12:59


Gumiiiis







Wiek: 22
Na forum: 1782 dni
Posty: 2



Respekt: 50

Witam mam problem z tabem poniewa? chcia?bym dopisa? linijk? aby wy?wietla?a si? ranga suport a dopiero ucz? sie lua i prosi?bym o pomoc
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
--3254521270415
rendertarget=dxCreateRenderTarget((1270/1920)*screen.x, (405/1080)*screen.y,true)









local zoom 1
local fh 1920
if screen.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 isEventHandlerAddedsEventNamepElementAttachedTofunc )
    if typesEventName ) == 'string' and isElementpElementAttachedTo ) and typefunc ) == 'function' then
        local aAttachedFunctions getEventHandlerssEventNamepElementAttachedTo )
        if typeaAttachedFunctions ) == 'table' and #aAttachedFunctions > 0 then
            for iv in ipairsaAttachedFunctions ) do
                if == func then
                    return true
                end
            end
        end
    end
    return false
end

pos={
    ["rec"]=skaluj(3062091308662),
    ["img"]={(306/1920)*screen.x, (203/1080)*screen.y170/zoom167/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(13812311579283),
    ["dxx"]=skaluj(13813311579283),
    ["dx2"]=skaluj(10563181363309),
    ["line5"]={(325/1920)*screen.x, (450/1080)*screen.y, (1595/1920)*screen.x, (450/1080)*screen.y},
    ["dx3"]=skaluj(324409450449),
    ["dx4"]=skaluj(450409576449),
    ["dx5"]=skaluj(576409828449),
    ["dx6"]=skaluj(8284091021449),
    ["dx7"]=skaluj(10214091368449),
    ["dx8"]=skaluj(13684091594449),
    ["rec2"]=skaluj(58546023527),
    ["rec3"]=skaluj(83546017727),
    ["rec4"]=skaluj(103146032827),
    ["rec5"]=skaluj(137846021127),
    ["rec6"]=skaluj(45846011327),
    ["rec7"]=skaluj(33146011327),
    ["rec8"]=skaluj(309212163174)
}





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"000tocolor(255255255255), true)
--    dxDrawLine(pos["line"][1],pos["line"][2],pos["line"][3],pos["line"][4], tocolor(22518328255), 5true)
  --  dxDrawLine(pos["line2"][1],pos["line2"][2],pos["line2"][3],pos["line2"][4], tocolor(22518328255), 5true)
  --  dxDrawLine(pos["line3"][1],pos["line3"][2],pos["line3"][3],pos["line3"][4], tocolor(22518328255), 5true)
  --  dxDrawLine(pos["line4"][1],pos["line4"][2],pos["line4"][3],pos["line4"][4], tocolor(22518328255), 5true)
  --  dxDrawLine((306/1920)*screen.x, (385/1080)*screen.y, (475/1920)*screen.x, (385/1080)*screen.ytocolor(22518328255), 5true)
    dxDrawText("Gracze : "..score.infoplayers[1].."/"..score.infoplayers[2], pos["dx"][1],pos["dx"][2],pos["dx"][3],pos["dx"][4], tocolor(255255255255), 1.00score.font"right""center"falsetruetruefalsefalse)
    dxDrawText("TwĂłj ping : "..getPlayerPing(localPlayer).."ms"pos["dxx"][1],pos["dxx"][2],pos["dxx"][3],pos["dxx"][4], tocolor(255255255255), 1.00score.font"right""center"falsetruetruefalsefalse)
 --   dxDrawText("Scoreboard\nCaseRPG"pos["dx2"][1],pos["dx2"][2],pos["dx2"][3],pos["dx2"][4], tocolor(255255255255), 1.00score.font2"center""center"falsefalsetruefalsefalse)
   -- dxDrawLine(pos["line5"][1],pos["line5"][2],pos["line5"][3],pos["line5"][4], tocolor(22518328255), 3true)
    dxDrawText("SID"pos["dx3"][1],pos["dx3"][2],pos["dx3"][3],pos["dx3"][4], tocolor(255255255150), 1.00score.font"center""center"falsefalsetruefalsefalse)
    dxDrawText("ID"pos["dx4"][1],pos["dx4"][2],pos["dx4"][3],pos["dx4"][4], tocolor(255255255150), 1.00score.font"center""center"falsefalsetruefalsefalse)
    dxDrawText("Nick"pos["dx5"][1],pos["dx5"][2],pos["dx5"][3],pos["dx5"][4], tocolor(255255255150), 1.00score.font"center""center"falsefalsetruefalsefalse)
    dxDrawText("Reputacja"pos["dx6"][1],pos["dx6"][2],pos["dx6"][3],pos["dx6"][4], tocolor(255255255150), 1.00score.font"center""center"falsefalsetruefalsefalse)
    dxDrawText("Organizacja"pos["dx7"][1],pos["dx7"][2],pos["dx7"][3],pos["dx7"][4], tocolor(255255255150), 1.00score.font"center""center"falsefalsetruefalsefalse)
    dxDrawText("S?&#8218;uĹĽba"pos["dx8"][1],pos["dx8"][2],pos["dx8"][3],pos["dx8"][4], tocolor(255255255150), 1.00score.font"center""center"falsefalsetruefalsefalse)

        dxDrawLine((577/1920)*screen.x, (452/1080)*screen.y, (577/1920)*screen.x, (855/1080)*screen.ytocolor(000100), 2true)
        dxDrawLine((451/1920)*screen.x, (452/1080)*screen.y, (451/1920)*screen.x, (855/1080)*screen.ytocolor(000100), 2true)
        dxDrawLine((828/1920)*screen.x, (452/1080)*screen.y, (828/1920)*screen.x, (855/1080)*screen.ytocolor(000100), 2true)
        dxDrawLine((1021/1920)*screen.x, (452/1080)*screen.y, (1021/1920)*screen.x, (855/1080)*screen.ytocolor(000100), 2true)
        dxDrawLine((1368/1920)*screen.x, (452/1080)*screen.y, (1368/1920)*screen.x, (855/1080)*screen.ytocolor(000100), 2true)
        dxDrawImage((325/1920)*screen.x, (452/1080)*screen.y1270/zoom405/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.ytocolor(), false)
            dxDrawText(getPlayerName(localPlayer), (-70/1920)*screen.x, ((10/1080)*screen.y)+score.offset2, (827/1920)*screen.x, (495/1080)*screen.ytocolor(255255255255), 1.00score.font3"center""top"falsefalsefalsetruefalse)
            dxDrawText(pid, (-200/1920)*screen.x, ((10/1080)*screen.y)+score.offset2, (575/1920)*screen.x, (506/1080)*screen.ytocolor(255255255255), 1.00score.font3"center""top"falsefalsefalsefalsefalse)
            dxDrawText(psid, (-325/1920)*screen.x, ((10/1080)*screen.y)+score.offset2, (450/1920)*screen.x, (493/1080)*screen.ytocolor(255255255255), 1.00score.font3"center""top"falsefalsefalsefalsefalse)
            dxDrawText(repu, (180/1920)*screen.x, ((10/1080)*screen.y)+score.offset2, (1019/1920)*screen.x, (493/1080)*screen.ytocolor(255255255255), 1.00score.font3"center""top"falsefalsefalsefalsefalse)
            dxDrawText(organizacja, (370/1920)*screen.x, ((10/1080)*screen.y)+score.offset2, (1366/1920)*screen.x, (493/1080)*screen.ytocolor(255255255255), 1.00score.font3"center""top"falsefalsefalsefalsefalse)
            dxDrawText(fac, (725/1920)*screen.x, ((10/1080)*screen.y)+score.offset2, (1587/1920)*screen.x, (493/1080)*screen.ytocolor(255255255255), 1.00score.font3"center""top"falsefalsefalsefalsefalse)
            dxDrawLine((7/1920)*screen.x, ((45/1080)*screen.y)+score.offset2, (1262/1920)*screen.x, ((45/1080)*screen.y)+score.offset2tocolor(000100), 3false)
           -- dxDrawLine((474/1920)*screen.x, (210/1080)*screen.y, (474/1920)*screen.x, (387/1080)*screen.ytocolor(), 5true)
            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==5 then
                    owner=owner+1
                    table.insert(ownertab,admins[k].nazwa)
                elseif admins[k].level==4 then
                    root=root+1
                    table.insert(roottab,admins[k].nazwa)
                elseif admins[k].level==3 then
                    adm=adm+1
                    table.insert(admtab,admins[k].nazwa)
                elseif admins[k].level==2 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?&#8218;a?&#8250;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.ytocolor(255255255255), 1.00score.font3"left""center"falsefalsetruetruefalse)
        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.ytocolor(255255255255), 1.00score.font3"center""top"falsefalsefalsetruefalse)
            dxDrawText(spis[k].id, (-200/1920)*screen.x, ((10/1080)*screen.y)+score.offset+score.offset2, (575/1920)*screen.x, (506/1080)*screen.ytocolor(255255255255), 1.00score.font3"center""top"falsefalsefalsefalsefalse)
            dxDrawText(spis[k].sid, (-325/1920)*screen.x, ((10/1080)*screen.y)+score.offset+score.offset2, (450/1920)*screen.x, (493/1080)*screen.ytocolor(255255255255), 1.00score.font3"center""top"falsefalsefalsefalsefalse)
            dxDrawText(spis[k].reputacja, (180/1920)*screen.x, ((10/1080)*screen.y)+score.offset+score.offset2, (1019/1920)*screen.x, (493/1080)*screen.ytocolor(255255255255), 1.00score.font3"center""top"falsefalsefalsefalsefalse)
            dxDrawText(spis[k].org, (370/1920)*screen.x, ((10/1080)*screen.y)+score.offset+score.offset2, (1366/1920)*screen.x, (493/1080)*screen.ytocolor(255255255255), 1.00score.font3"center""top"falsefalsefalsefalsefalse)
            dxDrawText(spis[k].sluzba, (725/1920)*screen.x, ((10/1080)*screen.y)+score.offset+score.offset2, (1587/1920)*screen.x, (493/1080)*screen.ytocolor(255255255255), 1.00score.font3"center""top"falsefalsefalsefalsefalse)
            dxDrawLine((7/1920)*screen.x, (((45/1080)*screen.y)+score.offset)+score.offset2, ((1262/1920)*screen.x), (((45/1080)*screen.y)+score.offset)+score.offset2tocolor(), 3false)
        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.renderthen
            if not score.open then
                triggerServerEvent("scoreboard:aktualizuj",localPlayer)
                spis={}
                admins={}
                for _,v in ipairs(getElementsByType("player"))do
                    if getPlayerName(v)~=getPlayerName(localPlayerthen
                        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(ab) 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:destroyBlurBoxblurBoxElement )
           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:createBlurBoxpos["rec"][1],pos["rec"][2],pos["rec"][3],pos["rec"][4], 255255255255false )
        --exports.blur_box:setBlurIntensity(2.0)
        setElementData(localPlayer,"player:hud",false)
    end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-07-18, 18:11


TheSebaPL

Mod-team






Wiek: 21
Na forum: 3098 dni
Posty: 964

Piwa: 3102

Respekt: 640,5
Respekt: 640,5Respekt: 640,5

Stosujesz si? do tego przyk?adu:



Cyli wystarczy doda?


                        elseif getElementData(v,"player:level")==5 then
                            table.insert(admins,{level=5,nazwa=getPlayerName(v)})


Wszystko zale?y jaki LVL ma twoja ranga.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-07-23, 23:05


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4395 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Pisane przeze mnie daawno, wi?c kod jest nieco pogmatwany, masz prawo nie rozumiec go.

@up ma racj?, dodaj kolejny warunek zgodny z twoim levelem a wszystko samo ci juz wskoczy, nast?pnie dodaj w renderze kolejny dxText w celu wyswietlenia go w tabie

Postaw piwo autorowi tego posta
 

 
Tagi: scoreboard
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

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