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

Wysłany: 2016-08-08, 00:05


STOPseba

Emeryt na scenie MTA






Wiek: 25
Na forum: 3771 dni
Posty: 448
Nick w MP: STOPseba

Piwa: 5014

Respekt: 576,3
Respekt: 576,3

Witam mam pytanie czy mo?e kto? mi pom?c z tym skryptem.Chodzi o to ?eby gracz kt?ry jest w ACL Policja jak zacznie prace ?eby by? pokazany na TAB
TAB:
dxscoreboard_exports:
MAX_PRIRORITY_SLOT 500

scoreboardColumns = {
    { ["name"] = "id",   ["width"] = 25,  ["friendlyName"] = "ID", ["priority"]=2},
    { ["name"] = "name", ["width"] = 170, ["friendlyName"] = "Nick", ["priority"] = },
    { ["name"] = "player:reputation", ["width"] = 50, ["friendlyName"] = "RP", ["priority"] = },
    { ["name"] = "player:organization", ["width"] = 170, ["friendlyName"] = "Organizacja", ["priority"] = },
    { ["name"] = "player:Praca", ["width"] = 85, ["friendlyName"] = "S?u?by", ["priority"] = },
    { ["name"] = "ping", ["width"] = 30,  ["friendlyName"] = "Ping", ["priority"] = MAX_PRIRORITY_SLOT }
}
resourceColumns = {}

function toboolean( bool )
    bool tostring( bool )
    if bool == "true" then
        return true
    elseif bool == "false" then
        return false
    else
        return nil
    end
end

forceShowTeams tobooleanget"forceShowTeams" ) ) or false
forceHideTeams tobooleanget"forceHideTeams" ) ) or false
allowColorcodedNames tobooleanget"allowColorcodedNames" ) ) or false
scrollStep tonumberget"scrollStep" ) ) or 1

local function iifcondarg1arg2 )
    if cond then
        return arg1
    end
    return arg2
end

function scoreboardAddColumnnameforElementwidthfriendlyNamepriority )
    if typename ) == "string" then
        width tonumberwidth ) or 70
        friendlyName friendlyName or name
        priority tonumberpriority ) or getNextFreePrioritySlotscoreboardGetColumnPriority"name" ) )
        fixPrioritySlotpriority )
        forElement iiftypeforElement ) == "userdata" and isElementforElement ), forElementgetRootElement() )
        
        if forElement == getRootElement() then
            if not (priority MAX_PRIRORITY_SLOT or priority 1then
                for keyvalue in ipairsscoreboardColumns ) do
                    if name == value.name then
                        return false
                    end
                end
                table.insertscoreboardColumns, { ["name"] = name, ["width"] = width, ["friendlyName"] = friendlyName, ["priority"] = priority } )
                table.sortscoreboardColumns, function ( a) return a.priority b.priority end )
                if sourceResource then
                    if not resourceColumns[sourceResourcethen resourceColumns[sourceResource] = {} end
                    table.insert resourceColumns[sourceResource], name )
                end
                return triggerClientEventgetRootElement(), "doScoreboardAddColumn"getRootElement(), namewidthfriendlyNameprioritysourceResource )
            end
        else
            return triggerClientEventforElement"doScoreboardAddColumn"getRootElement(), namewidthfriendlyNameprioritysourceResource )
        end
    end
    return false
end

function scoreboardRemoveColumnnameforElement )
    if typename ) == "string" then
        forElement iiftypeforElement ) == "userdata" and isElementforElement ), forElementgetRootElement() )
        
        if forElement == getRootElement() then
            for keyvalue in ipairsscoreboardColumns ) do
                if name == value.name then
                    table.removescoreboardColumnskey )
                    for resourcecontent in pairsresourceColumns ) do
                        table.removevaluecontentname )
                    end
                    return triggerClientEventgetRootElement(), "doScoreboardRemoveColumn"getRootElement(), name )
                end
            end
        else
            return triggerClientEventforElement"doScoreboardRemoveColumn"getRootElement(), name )
        end
    end
    return false
end

function scoreboardClearColumnsforElement )
    forElement iiftypeforElement ) == "userdata" and isElementforElement ), forElementgetRootElement() )
    
    if forElement == getRootElement() then
        while ( scoreboardColumns[1] ) do
            table.removescoreboardColumns)
            resourceColumns = {}
        end
        return triggerClientEventgetRootElement(), "doScoreboardClearColumns"getRootElement() )
    else
        return triggerClientEventforElement"doScoreboardClearColumns"getRootElement() )
    end
end

function scoreboardResetColumnsforElement )
    forElement iiftypeforElement ) == "userdata" and isElementforElement ), forElementgetRootElement() )
    
    if forElement == getRootElement() then
        while ( scoreboardColumns[1] ) do
            table.removescoreboardColumns)
            resourceColumns = {}
        end
        local result triggerClientEventgetRootElement(), "doScoreboardResetColumns"getRootElement() )
        if result then
            scoreboardAddColumn"name"200"Name" )
            scoreboardAddColumn"ping"40"Ping" )
        end
        return result
    else
        return triggerClientEventforElement"doScoreboardResetColumns"getRootElement(), false )
    end
end

function scoreboardSetForcedforcedforElement )
    if typeforced ) == "boolean" then
        forElement iiftypeforElement ) == "userdata" and isElementforElement ), forElementgetRootElement() )
        return triggerClientEventforElement"doScoreboardSetForced"getRootElement(), forced )
    else
        return false
    end
end

function scoreboardSetSortBynamedescforElement )
    if typename ) == "string" or name == nil then
        if name == nil then
            forElement iiftypedesc ) == "userdata" and isElementdesc ), descgetRootElement() )
        else
            forElement iiftypeforElement ) == "userdata" and isElementforElement ), forElementgetRootElement() )
        end
        desc iiftypedesc ) == "boolean"desctrue )
        return triggerClientEventforElement"doScoreboardSetSortBy"getRootElement(), namedesc )
    else
        return false
    end
end

function scoreboardGetColumnPriorityname )
    if typename ) == "string" then
        for keyvalue in ipairsscoreboardColumns ) do
            if name == value.name then
                return value.priority
            end
        end
    end
    return false
end

function scoreboardSetColumnPrioritynamepriorityforElement )
    if typename ) == "string" and typepriority ) == "number" then
        if not (priority MAX_PRIRORITY_SLOT or priority 1then
            forElement iiftypeforElement ) == "userdata" and isElementforElement ), forElementgetRootElement() )
            if forElement == getRootElement() then
                local columnIndex false
                for keyvalue in ipairsscoreboardColumns ) do
                    if name == value.name then
                        columnIndex key
                    end
                end
                if columnIndex then
                    scoreboardColumns[columnIndex].priority = --- To empty out the current priority
                    fixPrioritySlotpriority )
                    scoreboardColumns[columnIndex].priority priority
                    table.sortscoreboardColumns, function ( a) return a.priority b.priority end )
                    return triggerClientEventforElement"doScoreboardSetColumnPriority"getRootElement(), namepriority )
                end
            else
                return triggerClientEventforElement"doScoreboardSetColumnPriority"getRootElement(), namepriority )
            end
        end
    end
    return false
end

function scoreboardForceTeamsVisibleenabled )
    if typeenabled ) == "boolean" then
        forceShowTeams enabled
        return true
    end
    return false
end

function scoreboardForceTeamsHiddenenabled )
    if typeenabled ) == "boolean" then
        forceHideTeams enabled
        return true
    end
    return false
end

function scoreboardGetColumnCount()
    return #scoreboardColumns
end

function onClientDXScoreboardResourceStart()
    for keycolumn in ipairsscoreboardColumns ) do
        triggerClientEventclient"doScoreboardAddColumn"getRootElement(), column.namecolumn.widthcolumn.friendlyNamecolumn.priority )
    end
end
addEvent"onClientDXScoreboardResourceStart"true )
addEventHandler"onClientDXScoreboardResourceStart"getResourceRootElementgetThisResource() ), onClientDXScoreboardResourceStart )

function requestServerInfoHandler()
    local mapmanager getResourceFromName"mapmanager" )
    local output = {}
    output.forceshowteams forceShowTeams
    output.forcehideteams forceHideTeams
    output.allowcolorcodes allowColorcodedNames
    output.scrollStep scrollStep
    output.server getServerName()
    output.players getMaxPlayers()
    output.gamemode false
    output.map false
    if mapmanager and getResourceStatemapmanager ) == "running" then
        local gamemode exports.mapmanager:getRunningGamemode()
        if gamemode then
            output.gamemode getResourceInfogamemode"name" ) or getResourceNamegamemode )
        end
        local map exports.mapmanager:getRunningGamemodeMap()
        if map then
            output.map getResourceInfomap"name" ) or getResourceNamemap )
        end
    end
    triggerClientEventsource"sendServerInfo"getRootElement(), output )
end
addEvent"requestServerInfo"true )
addEventHandler"requestServerInfo"getRootElement(), requestServerInfoHandler )

function removeResourceScoreboardColumnsresource )
    if resourceColumns[resourcethen
        while resourceColumns[resource][1] do
            local success scoreboardRemoveColumnresourceColumns[resource][1], getRootElement() )
            if not success then break end
        end
        resourceColumns[resource] = nil
    end
end
addEventHandler"onResourceStop"getRootElement(), removeResourceScoreboardColumns )

-- Compability
addScoreboardColumn =     function( nameforElementpositionsize )
                            if typesize ) == "number" and size >= and size <= 1.0 then
                                size size*700
                            end
                            return scoreboardAddColumnnameforElementsizenameposition )
                        end
removeScoreboardColumn scoreboardRemoveColumn
resetScoreboardColumns scoreboardResetColumns
setPlayerScoreboardForced = function( forElementforced ) return scoreboardSetForcedforcedforElement end



function onPlayerJoinToServer()
    if source then
        findIDForPlayer(source)
        local country call(getResourceFromName("admin"),"getPlayerCountry",source)
        if country then
            setElementData(source,"country",country)
        else
            setElementData(source,"country","?")
        end
    end
end
addEventHandler("onPlayerJoin",getRootElement(),onPlayerJoinToServer)


function findIDForPlayer(thePlayer)
    if thePlayer and not getElementData(thePlayer,"ID"then
        local i 0
        local players getElementsByType("player")
        repeat 
            local foundID false
            i 1
            for _,player in pairs(players) do
                if player ~= thePlayer then
                    local playerID tonumber(getElementData(player,"ID"))
                    if playerID == i then
                        foundID true
                        break
                    end
                end
            end
        until not foundID
        setElementData(thePlayer,"ID",i)
    end
end

function onServerIDStart()
    for i,thePlayer in pairs(getElementsByType("player")) do
        findIDForPlayer(thePlayer)
        --local country call(getResourceFromName("admin"),"getPlayerCountry",source)
        if country then
            setElementData(source,"country",country)
        else
            setElementData(source,"country","?")
        end
    end
end
addEventHandler("onResourceStart",resourceRoot,onServerIDStart)

Policja Praca
pickup createPickup 1528.68,-1688.10,9838.55312750) --Policja

addEventHandler "onPickupHit"pickup, function(element)
    if isObjectInACLGroup ("user."..getAccountName getPlayerAccount element ) ), aclGetGroup "Policja" ) ) then --Policja
            cywilt getTeamFromName "CYWILE" )
            setPlayerTeam elementcywilt )
        if getAccountData getPlayerAccount element ), "stary:skin" then
            id tonumber getAccountData getPlayerAccount element ), "stary:skin" ) )
            setElementModel elementid ) 
            setAccountData getPlayerAccount element ), "stary:skin"false )
            removeElementData(element,"Praca")
            takeWeapon(element23)
        else
            skin tonumber getElementModel element ) )
            setAccountData getPlayerAccount element ), "stary:skin"skin )
            setElementModel element280  )
            local nazwa "Police Department"
            local r,g,089255 
            setElementData(element,"Praca",nazwa)
            setElementData(element,"Praca:r",r) 
            setElementData(element,"Praca:g",g)     
            setElementData(element,"Praca:b",b) 
            giveWeapon element2350000 )
end
    end
    end)

pickup createPickup 1528.62,-1690.90,9838.55312750addEventHandler "onPickupHit"pickup, function(element)
    if isObjectInACLGroup ("user."..getAccountName getPlayerAccount element ) ), aclGetGroup "Policja" ) ) then --Drog?wka
            cywilt getTeamFromName "CYWILE" )
            setPlayerTeam elementcywilt )
        if getAccountData getPlayerAccount element ), "stary:skin" then
            id tonumber getAccountData getPlayerAccount element ), "stary:skin" ) )
            setElementModel elementid ) 
            setAccountData getPlayerAccount element ), "stary:skin"false )
            removeElementData(element,"Praca")
            takeWeapon(element23)
        else
            skin tonumber getElementModel element ) )
            setAccountData getPlayerAccount element ), "stary:skin"skin )
            setElementModel element281  )
            local nazwa "Police Department"
            local r,g,089255 
            setElementData(element,"Praca",nazwa)
            setElementData(element,"Praca:r",r) 
            setElementData(element,"Praca:g",g)     
            setElementData(element,"Praca:b",b) 
            giveWeapon element2350000 )
end
    end
    end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-09, 09:44


TheBlackBone

Always offline.






Wiek: 24
Na forum: 3983 dni
Posty: 33
Nick w MP: Bone

Piwa: 7

Respekt: 35,8

Zamie? w Scoreboard
{ ["name"] = "player:Praca", ["width"] = 85, ["friendlyName"] = "S?u?by", ["priority"] = },

Na
{ ["name"] = "Praca", ["width"] = 85, ["friendlyName"] = "S?u?by", ["priority"] = },


Podpis
Kod:

28.04.2018 - Oficjalne odejście ze społeczności 'MTA:SA'
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-09, 11:51


STOPseba

Emeryt na scenie MTA






Wiek: 25
Na forum: 3771 dni
Posty: 448
Nick w MP: STOPseba

Piwa: 5014

Respekt: 576,3
Respekt: 576,3

Dobra dzia?a Wielkie dzieki

Podpis



Kontakt
Discord: STOPseba#7603
STOPseba na fejsie
Messenger


Postaw piwo autorowi tego posta
 

 
Tagi: scoreboarde
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » scoreboarde 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