Jump to content

"QuestionS & Problems" in "MTA"


=UnitX=

Recommended Posts

hi how are you guys ..

heey

i have some question and problems :P

1 - i got a server and i wanna put for the server "Registeration"

thats what i mean .. no1 can log in .. Just They Can By Admin Accept ..

2 - why my server its not in the list ?

i mean

when i press Browse Servers

i didnt find my server in the list .. why ??

BTW i have server and got + 10 members ..

ammmmmmm

3 - Multi Theft Auto San Andreas 1.0

look at the vid -------> https://www.youtube.com/watch?v=ljGM2eYf ... r_embedded

these mods avalaible in mta 1.0 now ?

or didnt come yet ..

4 - i wanna m0d .. in my server .. what its called "Zombie Mod"

5 - i need a "Protect" i mean i want a mod or script protect the server from hacking "S0beit" and mods and protect the Config Files ..

Thanks :]

Link to comment

1. I don't really know what you mean, but probably scriptable

2. Have you portforwarded "server port+123 UDP"? If you have, make sure ASE is enabled in mtaserver.conf

3. This is recorded on the nightly builds and is not possible in DP2.x. For this, you need to use a nightly build. Warning though, it's rather empty concerning player count, so if you want to have a populated server, stick with DP2.3.

4. I can remember there already being such a server. But if you want to make it, good luck on that.

5. There are several resources for this on community.multitheftauto.com which have the intention to stop specific hacks/cheats, dunno about how well they work, but some of them are there.

6. No 6 apparently.

Link to comment

Thanks Gamesnert

but i change the ASE value to 1 and opened the port but it is the same

here is my server config file can you check it out plz

mtaserver.conf

<config> 
   <!-- This parameter specifies the name of the server, visible in the ingame server browser or in ASE. It's a required parameter. --> 
   <servername>www.progamer.com.sa/vb ~WSD~</servername> 
   <!-- This parameter specifies the IP address on which the server. It's useful for servers which have multiple IP addresses attached to them. If left blank, it will default to server's standard local IP. --> 
   <serverip>78.93.3.4</serverip> 
   <!-- This parameter specifies the Maximum Transmission Unit or maximum packet size that the server will use. This will depend on the nature of your clients, as well as the network medium your server is connected to. --> 
   <mtusize>1264</mtusize> 
   <!-- This parameter specifies the UDP port on which the server will be accepting incoming player connections; default value: 22003. It's a required parameter. --> 
   <serverport>22003</serverport> 
   <!-- This parameter specifies the number of maximum player slots available on the server; default value: 32. It's a required parameter. --> 
   <maxplayers>32</maxplayers> 
   <!-- This parameter specifies whether the builtin http server is going to be used. Values: 0 /disabled , 1 /enabled ; default value: 1. Optional parameter. --> 
   <httpserver>1</httpserver> 
   <!-- This parameter specifies the TCP port on which the server will be accepting incoming http connections. It can be set to the same value as <serverport>. It's a required parameter if <httpserver> is set to 1. --> 
   <httpport>22005</httpport> 
   <!-- This parameter specifies whether connecting players will be able to download needed resources for them from an external site rather than from the server. 0 /disabled , 1 /enabled; default value: 0. --> 
   <httpdownload>1</httpdownload> 
   <!-- If set, this parameter specifies the external URL from which clients will be able to download needed resources ingame. Required parameter if <httpdownload> is set to 1. --> 
   <httpdownloadurl/> 
   <!-- This parameter can be used to make the server report to ASE master servers, allowing it to be visible in the ingame server browser. An additional UDP port needs to be available for this to work (value from <serverport> + 123 , so on a default <serverport> value 22003 the right port will be 22126 ). Available values: 0 /disabled , 1 /enabled. Optional parameter, defaults to 0. --> 
   <ase>1</ase> 
   <!-- If set, players will have to provide a password specified below, before they can connect to the server. If left blank, server doesn't require a password from them. --> 
   <password/> 
   <!-- Specifies a location and name of the main server log file. If left blank, server won't be saving this file. --> 
   <logfile>logs/server.log</logfile> 
   <!-- This parameter specifies a location and name of the Access Control List settings file. If left blank, server will use acl.xml file. --> 
   <acl>acl.xml</acl> 
   <!-- Specifies a location and name of the debugscript log file. If left blank, server won't be saving this file. --> 
   <scriptdebuglogfile>logs/scripts.log</scriptdebuglogfile> 
   <!-- Specifies a level of the debugscript log file. Available values: 0, 1, 2, 3. When not set, defaults to 0. --> 
   <scriptdebugloglevel>0</scriptdebugloglevel> 
   <!-- Specifies a level of the html debug. Available values: 0, 1, 2, 3. When not set, defaults to 0. --> 
   <htmldebuglevel>0</htmldebuglevel> 
   <!-- Specifies the module(s) which are loaded with the server. To load several modules, add more <module> parameter(s). Optional parameter. --> 
   <!-- <module>sample_win32.dll</module> --> 
   <!-- <module>sample_linux.so</module> --> 
   <!-- Specifies resources that are loaded when the server starts and/or which are protected from being stopped. To specify several resources, add more <resource> parameter(s). --> 
   <resource src="admin" startup="1" protected="0"/> 
   <resource src="helpmanager" startup="1" protected="0"/> 
   <resource src="mapcycler" startup="1" protected="0"/> 
   <resource src="mapmanager" startup="1" protected="0"/> 
   <resource src="resourcebrowser" startup="1" protected="1" default="true"/> 
   <resource src="resourcemanager" startup="1" protected="1"/> 
   <resource src="scoreboard" startup="1" protected="0"/> 
   <resource src="spawnmanager" startup="1" protected="0"/> 
   <resource src="votemanager" startup="1" protected="0"/> 
   <resource src="webadmin" startup="1" protected="0"/> 
   <resource src="freeroam" startup="1" protected="0"/> 
</config> 
  

what should i do ><"

and this is local.conf file

<config> 
  
    <!-- This parameter specifies the name of the server, visible in the ingame server browser or in ASE. It's a required parameter. --> 
    <servername>Local MTA Server</servername> 
     
    <!-- This parameter specifies the IP address on which the server. It's useful for servers which have multiple IP addresses attached to them. If left blank, it will default to server's standard local IP. --> 
    <serverip></serverip> 
     
    <!-- This parameter specifies the UDP port on which the server will be accepting incoming player connections; default value: 22003. It's a required parameter. --> 
    <serverport>22010</serverport>  
     
    <!-- This parameter specifies the number of maximum player slots available on the server; default value: 32. It's a required parameter. --> 
    <maxplayers>32</maxplayers> 
     
    <!-- This parameter specifies whether the builtin http server is going to be used. Values: 0 - disabled , 1 - enabled ; default value: 1. Optional parameter. --> 
    <httpserver>1</httpserver> 
     
    <!-- This parameter specifies the TCP port on which the server will be accepting incoming http connections. It can be set to the same value as <serverport>. It's a required parameter if <httpserver> is set to 1. --> 
    <httpport>22011</httpport> 
     
    <!-- This parameter specifies whether connecting players will be able to download needed resources for them from an external site rather than from the server. 0 - disabled , 1 - enabled; default value: 0. --> 
    <httpdownload>1</httpdownload> 
     
    <!-- If set, this parameter specifies the external URL from which clients will be able to download needed resources ingame. Required parameter if <httpdownload> is set to 1. --> 
    <httpdownloadurl></httpdownloadurl> 
     
    <!-- This parameter can be used to make the server report to ASE master servers, allowing it to be visible in the ingame server browser. An additional UDP port needs to be available for this to work (value from <serverport> + 123 , so on a default <serverport> value 22003 the right port will be 22126 ). Available values: 0 - disabled , 1 - enabled. Optional parameter, defaults to 0. --> 
    <ase>0</ase> 
     
    <!-- If set, players will have to provide a password specified below, before they can connect to the server. If left blank, server doesn't require a password from them. --> 
    <password></password>  
     
    <!-- Specifies a location and name of the main server log file. If left blank, server won't be saving this file. --> 
    <logfile>logs/local_server.log</logfile> 
     
    <!-- This parameter specifies a location and name of the Access Control List settings file. If left blank, server will use acl.xml file. --> 
    <acl>acl.xml</acl>  
  
    <!-- Specifies a location and name of the debugscript log file. If left blank, server won't be saving this file. --> 
    <scriptdebuglogfile>logs/local_scripts.log</scriptdebuglogfile>  
     
    <!-- Specifies a level of the debugscript log file. Available values: 0, 1, 2, 3. When not set, defaults to 0. --> 
    <scriptdebugloglevel>0</scriptdebugloglevel> 
     
    <!-- Specifies a level of the html debug. Available values: 0, 1, 2, 3. When not set, defaults to 0. --> 
    <htmldebuglevel>0</htmldebuglevel> 
  
    <!-- Specifies the module(s) which are loaded with the server. To load several modules, add more <module> parameter(s). Optional parameter. --> 
    <!-- <module>sample_win32.dll</module> --> 
    <!-- <module>sample_linux.so</module> --> 
     
    <!-- Specifies resources that are loaded when the server starts and/or which are protected from being stopped. To specify several resources, add more <resource> parameter(s). --> 
    <resource src="map_editor" startup="1" protected="0"/> 
     
</config> 
  

I'm waiting for your responce, because really I'm going to be crazy with this thing

Thanks again

Link to comment
It takes quite long for the server to show up in the list (for me it's usually 30 to 60 mins but i heard from other people that it can last 5+ hours)

You can also check http://www.game-monitor.com/search.php?game=mta as you usually see the server there a while before it shows up in the ingame browser.

ooh ..

3 months ..

and it dont show in the servers list .. :S

this is the config files from last 3 months ..

can u edit it and give it to me after the edits .. by Pm

server ip :78.93.3.4

port :22003

and i need some1 who can put the server in the servers list .. :|

Thank$ ..

Link to comment

ok i have some questions ..

i want to disable "votemode in the console"

and "votemap"

just the admins can vote for the map ..

and the other player cannot be able to vote mods and maps ..

and i wanna to disable the registration info in my server ..

registre player 123456

just the player can register by admins ..

and this is my "votemanager_polls.lua" file

local rootElement = getRootElement() 
local thisResourceRoot = getResourceRootElement(getThisResource())
local mapmanagerResource = getResourceFromName("mapmanager")
local serverConsole = getElementByIndex("console", 0)
 
local modeOptions = 0
local mapOptions = 0
local DONT_CHANGE_OPTION = {"Don't change", default=true}
 
local vote = {
    map = {},
    mode = {},
    kick = {},
    ban = {},
    kill = {},
}
 
local function isDisabled (cmd, source)
    if not get(cmd.."_enabled") then
        outputVoteManager(cmd..": this command is disabled.", source)
        return true
    end
    return false
end
 
local function removeLock (userName, command)
    vote[command].blockedPlayers[userName] = nil
end
 
local function chooseRandomMap (chosen)
    if not chosen then
        cancelEvent()
        math.randomseed(getTickCount())
        finishPoll(math.random(1, mapOptions))
    end
    removeEventHandler("onPollEnd", rootElement, chooseRandomMap)
end
 
local function chooseRandomMode (chosen)
    if not chosen then
        cancelEvent()
        math.randomseed(getTickCount())
        finishPoll(math.random(1, modeOptions))
    end
    removeEventHandler("onPollEnd", rootElement, chooseRandomMode)
end
 
--initializes built-in polls' settings
addEventHandler("onResourceStart", thisResourceRoot,
    function()
        for name, info in pairs(vote) do
            local settingsGroup = "vote"..name
            info.locktime    = get(settingsGroup.."_locktime")
            info.percentage  = get(settingsGroup.."_percentage") or nil
            info.timeout     = get(settingsGroup.."_timeout")    or nil
            info.allowchange = get(settingsGroup.."_allowchange")
            info.blockedPlayers = {}
            addCommandHandler("vote"..name, vote[admin].handler )
        end
       
    end
)
 
--[[ user command handlers ]]--
 
function vote.map.handler(source,cmd,resource1Name,resource2Name)
    source = source or serverConsole
   
    if isDisabled(cmd, source) then
        return
    end
 
    local sourceUserName
    if source ~= serverConsole then
        sourceUserName = getPlayerUserName(source)
    end
    if source ~= serverConsole and vote.map.blockedPlayers[sourceUserName] then
        outputVoteManager(cmd..": you have to wait "..vote.map.locktime.." seconds before starting another map vote.", source)
    else
        local resource1, resource2
        if resource1Name then
            resource1 = getResourceFromName(resource1Name)
            if not resource1 then
                outputVoteManager(cmd..": resource '"..resource1Name.."' does not exist.", source)
                return false
            end
        else
            outputVoteManager(cmd..": Usage: /"..cmd.." gamemode [map].", source)
            return false
        end
        if resource2Name then
            resource2 = getResourceFromName(resource2Name)
            if not resource2 then
                outputVoteManager(cmd..": resource '"..resource2Name.."' does not exist.", source)
                return false
            end
        end
        local voteMapStarted, voteMapReturnCode = voteMap(resource1, resource2)
        if voteMapStarted then
            outputVoteManager("Map vote started by "..getClientName(source)..".")
            if source ~= serverConsole then
                -- send Yes if it's a Yes/No vote (voteMapReturnCode == true)
                if voteMapReturnCode == true then
                    triggerClientEvent(source,"doSendVote",rootElement,1)
                end
                vote.map.blockedPlayers[sourceUserName] = true
                setTimer(removeLock, vote.map.locktime * 1000, 1, sourceUserName, "map")
            end
        else
            if voteMapReturnCode == errorCode.pollAlreadyRunning then
                outputVoteManager(cmd..": another poll is in progress.", source)
            elseif voteMapReturnCode == errorCode.noGamemodeRunning then
                outputVoteManager(cmd..": no gamemode is running, you must specify a mode for the map.", source)
            elseif voteMapReturnCode == errorCode.onlyOneCompatibleMap then
                outputVoteManager(cmd..": there's less than two compatible maps for this gamemode.", source)
            elseif voteMapReturnCode == errorCode.invalidMap then
                outputVoteManager(cmd..": invalid map name.", source)
            end
        end
    end
end
 
function vote.mode.handler(source,cmd,resourceName)
    source = source or serverConsole
 
    if isDisabled(cmd, source) then
        return
    end
   
    local sourceUserName
    if source ~= serverConsole then
        sourceUserName = getPlayerUserName(source)
    end
    if source ~= serverConsole and vote.mode.blockedPlayers[sourceUserName] then
        outputVoteManager(cmd..": you have to wait "..vote.map.locktime.." seconds before starting another mode vote.", source)
    else
        local gamemodes = call(mapmanagerResource, "getGamemodes")
       
        --remove the current gamemode from the list
        for i, gamemode in ipairs(gamemodes) do
            if gamemode == call(mapmanagerResource, "getRunningGamemode") then
                table.remove(gamemodes, i)
            end
        end
       
        -- limit it to eight random modes
        if #gamemodes > 8 then
            math.randomseed(getTickCount())
            repeat
                table.remove(gamemodes, math.random(1, #gamemodes))
            until #gamemodes == 8
        end
       
        local voteModeStarted, voteModeReturnCode = voteBetweenModesThenMaps(unpack(gamemodes))
        if voteModeStarted then
            outputVoteManager("Mode vote started by "..getClientName(source)..".")
            if source ~= serverConsole then
                vote.mode.blockedPlayers[sourceUserName] = true
                setTimer(removeLock, vote.mode.locktime * 1000, 1, sourceUserName, "mode")
            end
        else
            if voteModeReturnCode == errorCode.pollAlreadyRunning then
                outputVoteManager(cmd..": another poll is in progress.", source)
            elseif voteModeReturnCode == errorCode.twoModesNeeded then
                outputVoteManager(cmd..": there are less than two modes available.", source)
            end
        end
    end
end
 
function vote.kick.handler(source,cmd,playername,...)
    source = source or serverConsole
 
    if isDisabled(cmd, source) then
        return
    end
   
    local sourceUserName
    if source ~= serverConsole then
        sourceUserName = getPlayerUserName(source)
    end
    if source ~= serverConsole and vote.kick.blockedPlayers[sourceUserName] then
        outputVoteManager(cmd..": you have to wait "..vote.kick.locktime.." seconds before starting another votekick.", source)
    else
        local reason = table.concat({...}," ")
        if #reason == 0 then
            reason = nil
        end
        local voteKickStarted, voteKickReturnCode = voteKick(getPlayerFromNick(playername or ""),reason)
        if voteKickStarted then
            outputVoteManager("Votekick started by "..getClientName(source)..".")
 
            if source ~= serverConsole then
                triggerClientEvent(source,"doSendVote",rootElement,1)
                vote.kick.blockedPlayers[sourceUserName] = true
                setTimer(removeLock, vote.kick.locktime * 1000, 1, sourceUserName, "kick")
            end
        else
            if voteKickReturnCode == errorCode.pollAlreadyRunning then
                outputVoteManager(cmd..": another poll is in progress.", source)
            elseif voteKickReturnCode == errorCode.invalidPlayer then
                outputVoteManager(cmd..": invalid player name.", source)
            end
        end
    end
end
 
function vote.ban.handler(source,cmd,playername,...)
    source = source or serverConsole
 
    if isDisabled(cmd, source) then
        return
    end
   
    local sourceUserName
    if source ~= serverConsole then
        sourceUserName = getPlayerUserName(source)
    end
    if source ~= serverConsole and vote.ban.blockedPlayers[sourceUserName] then
        outputVoteManager(cmd..": you have to wait "..vote.ban.locktime.." seconds before starting another voteban.", source)
    else
        local reason = table.concat({...}," ")
        if #reason == 0 then
            reason = nil
        end
        local voteBanStarted, voteBanReturnCode = voteBan(getPlayerFromNick(playername or ""),reason)
        if voteBanStarted then
            outputVoteManager("Voteban started by "..getClientName(source)..".")
           
            if source ~= serverConsole then
                triggerClientEvent(source,"doSendVote",rootElement,1)
                vote.ban.blockedPlayers[sourceUserName] = true
                setTimer(removeLock, vote.ban.locktime * 1000, 1, sourceUserName, "ban")
            end
        else
            if voteBanReturnCode == errorCode.pollAlreadyRunning then
                outputVoteManager(cmd..": another poll is in progress.", source)
            elseif voteBanReturnCode == errorCode.invalidPlayer then
                outputVoteManager(cmd..": invalid player name.", source)
            end
        end
    end
end
 
function vote.kill.handler(source,cmd,playername,...)
    source = source or serverConsole
 
    if isDisabled(cmd, source) then
        return
    end
   
    local sourceUserName
Link to comment
ok i have some questions ..

i want to disable "votemode in the console"

and "votemap"

just the admins can vote for the map ..

and the other player cannot be able to vote mods and maps ..

and i wanna to disable the registration info in my server ..

registre player 123456

just the player can register by admins ..

and this is my "votemanager_polls.lua" file

local rootElement = getRootElement() 
local thisResourceRoot = getResourceRootElement(getThisResource())
local mapmanagerResource = getResourceFromName("mapmanager")
local serverConsole = getElementByIndex("console", 0)
 
local modeOptions = 0
local mapOptions = 0
local DONT_CHANGE_OPTION = {"Don't change", default=true}
 
local vote = {
    map = {},
    mode = {},
    kick = {},
    ban = {},
    kill = {},
}
 
local function isDisabled (cmd, source)
    if not get(cmd.."_enabled") then
        outputVoteManager(cmd..": this command is disabled.", source)
        return true
    end
    return false
end
 
local function removeLock (userName, command)
    vote[command].blockedPlayers[userName] = nil
end
 
local function chooseRandomMap (chosen)
    if not chosen then
        cancelEvent()
        math.randomseed(getTickCount())
        finishPoll(math.random(1, mapOptions))
    end
    removeEventHandler("onPollEnd", rootElement, chooseRandomMap)
end
 
local function chooseRandomMode (chosen)
    if not chosen then
        cancelEvent()
        math.randomseed(getTickCount())
        finishPoll(math.random(1, modeOptions))
    end
    removeEventHandler("onPollEnd", rootElement, chooseRandomMode)
end
 
--initializes built-in polls' settings
addEventHandler("onResourceStart", thisResourceRoot,
    function()
        for name, info in pairs(vote) do
            local settingsGroup = "vote"..name
            info.locktime    = get(settingsGroup.."_locktime")
            info.percentage  = get(settingsGroup.."_percentage") or nil
            info.timeout     = get(settingsGroup.."_timeout")    or nil
            info.allowchange = get(settingsGroup.."_allowchange")
            info.blockedPlayers = {}
            addCommandHandler("vote"..name, vote[admin].handler )
        end
       
    end
)
 
--[[ user command handlers ]]--
 
function vote.map.handler(source,cmd,resource1Name,resource2Name)
    source = source or serverConsole
   
    if isDisabled(cmd, source) then
        return
    end
 
    local sourceUserName
    if source ~= serverConsole then
        sourceUserName = getPlayerUserName(source)
    end
    if source ~= serverConsole and vote.map.blockedPlayers[sourceUserName] then
        outputVoteManager(cmd..": you have to wait "..vote.map.locktime.." seconds before starting another map vote.", source)
    else
        local resource1, resource2
        if resource1Name then
            resource1 = getResourceFromName(resource1Name)
            if not resource1 then
                outputVoteManager(cmd..": resource '"..resource1Name.."' does not exist.", source)
                return false
            end
        else
            outputVoteManager(cmd..": Usage: /"..cmd.." gamemode [map].", source)
            return false
        end
        if resource2Name then
            resource2 = getResourceFromName(resource2Name)
            if not resource2 then
                outputVoteManager(cmd..": resource '"..resource2Name.."' does not exist.", source)
                return false
            end
        end
        local voteMapStarted, voteMapReturnCode = voteMap(resource1, resource2)
        if voteMapStarted then
            outputVoteManager("Map vote started by "..getClientName(source)..".")
            if source ~= serverConsole then
                -- send Yes if it's a Yes/No vote (voteMapReturnCode == true)
                if voteMapReturnCode == true then
                    triggerClientEvent(source,"doSendVote",rootElement,1)
                end
                vote.map.blockedPlayers[sourceUserName] = true
                setTimer(removeLock, vote.map.locktime * 1000, 1, sourceUserName, "map")
            end
        else
            if voteMapReturnCode == errorCode.pollAlreadyRunning then
                outputVoteManager(cmd..": another poll is in progress.", source)
            elseif voteMapReturnCode == errorCode.noGamemodeRunning then
                outputVoteManager(cmd..": no gamemode is running, you must specify a mode for the map.", source)
            elseif voteMapReturnCode == errorCode.onlyOneCompatibleMap then
                outputVoteManager(cmd..": there's less than two compatible maps for this gamemode.", source)
            elseif voteMapReturnCode == errorCode.invalidMap then
                outputVoteManager(cmd..": invalid map name.", source)
            end
        end
    end
end
 
function vote.mode.handler(source,cmd,resourceName)
    source = source or serverConsole
 
    if isDisabled(cmd, source) then
        return
    end
   
    local sourceUserName
    if source ~= serverConsole then
        sourceUserName = getPlayerUserName(source)
    end
    if source ~= serverConsole and vote.mode.blockedPlayers[sourceUserName] then
        outputVoteManager(cmd..": you have to wait "..vote.map.locktime.." seconds before starting another mode vote.", source)
    else
        local gamemodes = call(mapmanagerResource, "getGamemodes")
       
        --remove the current gamemode from the list
        for i, gamemode in ipairs(gamemodes) do
            if gamemode == call(mapmanagerResource, "getRunningGamemode") then
                table.remove(gamemodes, i)
            end
        end
       
        -- limit it to eight random modes
        if #gamemodes > 8 then
            math.randomseed(getTickCount())
            repeat
                table.remove(gamemodes, math.random(1, #gamemodes))
            until #gamemodes == 8
        end
       
        local voteModeStarted, voteModeReturnCode = voteBetweenModesThenMaps(unpack(gamemodes))
        if voteModeStarted then
            outputVoteManager("Mode vote started by "..getClientName(source)..".")
            if source ~= serverConsole then
                vote.mode.blockedPlayers[sourceUserName] = true
                setTimer(removeLock, vote.mode.locktime * 1000, 1, sourceUserName, "mode")
            end
        else
            if voteModeReturnCode == errorCode.pollAlreadyRunning then
                outputVoteManager(cmd..": another poll is in progress.", source)
            elseif voteModeReturnCode == errorCode.twoModesNeeded then
                outputVoteManager(cmd..": there are less than two modes available.", source)
            end
        end
    end
end
 
function vote.kick.handler(source,cmd,playername,...)
    source = source or serverConsole
 
    if isDisabled(cmd, source) then
        return
    end
   
    local sourceUserName
    if source ~= serverConsole then
        sourceUserName = getPlayerUserName(source)
    end
    if source ~= serverConsole and vote.kick.blockedPlayers[sourceUserName] then
        outputVoteManager(cmd..": you have to wait "..vote.kick.locktime.." seconds before starting another votekick.", source)
    else
        local reason = table.concat({...}," ")
        if #reason == 0 then
            reason = nil
        end
        local voteKickStarted, voteKickReturnCode = voteKick(getPlayerFromNick(playername or ""),reason)
        if voteKickStarted then
            outputVoteManager("Votekick started by "..getClientName(source)..".")
 
            if source ~= serverConsole then
                triggerClientEvent(source,"doSendVote",rootElement,1)
                vote.kick.blockedPlayers[sourceUserName] = true
                setTimer(removeLock, vote.kick.locktime * 1000, 1, sourceUserName, "kick")
            end
        else
            if voteKickReturnCode == errorCode.pollAlreadyRunning then
                outputVoteManager(cmd..": another poll is in progress.", source)
            elseif voteKickReturnCode == errorCode.invalidPlayer then
                outputVoteManager(cmd..": invalid player name.", source)
            end
        end
    end
end
 
function vote.ban.handler(source,cmd,playername,...)
    source = source or serverConsole
 
    if isDisabled(cmd, source) then
        return
    end
   
    local sourceUserName
    if source ~= serverConsole then
        sourceUserName = getPlayerUserName(source)
    end
    if source ~= serverConsole and vote.ban.blockedPlayers[sourceUserName] then
        outputVoteManager(cmd..": you have to wait "..vote.ban.locktime.." seconds before starting another voteban.", source)
    else
        local reason = table.concat({...}," ")
        if #reason == 0 then
            reason = nil
        end
        local voteBanStarted, voteBanReturnCode = voteBan(getPlayerFromNick(playername or ""),reason)
        if voteBanStarted then
            outputVoteManager("Voteban started by "..getClientName(source)..".")
           
            if source ~= serverConsole then
                triggerClientEvent(source,"doSendVote",rootElement,1)
                vote.ban.blockedPlayers[sourceUserName] = true
                setTimer(removeLock, vote.ban.locktime * 1000, 1, sourceUserName, "ban")
            end
        else
            if voteBanReturnCode == errorCode.pollAlreadyRunning then
                outputVoteManager(cmd..": another poll is in progress.", source)
            elseif voteBanReturnCode == errorCode.invalidPlayer then
                outputVoteManager(cmd..": invalid player name.", source)
            end
        end
    end
end
 
function vote.kill.handler(source,cmd,playername,...)
    source = source or serverConsole
 
    if isDisabled(cmd, source) then
        return
    end
Link to comment

Thanks Phat Looser for ur post ..

but i try to delete

# map = {},

# mod= {},e

i enter my server ..

and i cant votemode or map ..

and i am a "Administration"

i wanna admins can be able to vote ..

but other members no ..

Thanks :]

Link to comment

In your ACL (acl.xml) you can add a few lines:

<!-- NOTE: Do NOT add the lines in <group> 
 
  
 tags, but in the <acl> tags. (e.g. <acl name="Default">) 
Add the following to your Admin ACL tag --> 
  
<right name="command.votemap" access="true" /> 
<right name="command.votemode" access="true" /> 
  
<!-- And the following to your Default ACL tag --> 
  
<right name="command.votemap" access="false" /> 
<right name="command.votemode" access="false" /> 

This should make admins capable of starting map/mode votes, while normal players can only vote. (not start a vote)

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...