Jump to content

Userpanel BuyMap Bug


Recommended Posts

Mentre un nostro scripter ci sta facendo un nuovo userpanel ne usiamo uno temporaneo, ma purtroppo non funziona il buymap ,questo è il core-server ,lo script è di Fivos

  
------------------------------------------ 
-- Mapy 
------------------------------------------ 
function buyMap(thePlayer,mapName) 
    if mapIsAlreadySet == false then 
        if not (mapName == "") then 
            local playerCash = tonumber(loadPlayerData(thePlayer,"cash")) 
            if playerCash >= mapCost then 
                executeCommandHandler("pnfnsdhasd3w7432jhdsbw3ersdncsdir",thePlayer,mapName) 
                savePlayerData(thePlayer,"cash",playerCash-mapCost) 
                outputChatBox("#FFFFFFNextmap: "..getPlayerName(thePlayer).."#FFFFFF has bought a next map!",getRootElement(),255,255,255,true) 
                outputChatBox("#FFFFFFNextmap: #00AAFF"..mapName,getRootElement(),255,255,255,true) 
                mapIsAlreadySet = thePlayer 
                local oldmapbuys = loadPlayerData(thePlayer,"mapBuys") 
                savePlayerData(thePlayer,"mapBuys", oldmapbuys + 1) 
                CheckAchievement(thePlayer,13) 
                scoreboardRefresh(thePlayer) 
            else 
                outputChatBox("#00AAFF# #FFFFFFYou don't have enough money to set a map!",thePlayer,255,255,255,true) 
            end 
        else 
            outputChatBox("#00AAFF# #FFFFFFPlease select a map from the list first!",thePlayer,255,255,255,true) 
        end 
    else 
        outputChatBox("#00AAFF# #FFFFFFA map is already set at the moment! Please try again later.",thePlayer,255,255,255,true) 
    end 
end 
  
function unbuyMap(thePlayer) 
    if mapIsAlreadySet ~= false then 
            if mapIsAlreadySet == thePlayer then 
                executeCommandHandler("pnfnsdhasd3w7432jhdsbw3ersdncsdir",thePlayer,nil) 
                local playerCash = tonumber(loadPlayerData(thePlayer,"cash")) 
                savePlayerData(thePlayer,"cash",playerCash+(mapCost/4)*3) 
                outputChatBox("#FFFFFFNextmap: "..getPlayerName(thePlayer).."#FFFFFF has unbought a next map!",getRootElement(),255,255,255,true) 
                mapIsAlreadySet = false 
                local oldmapbuys = loadPlayerData(thePlayer,"mapBuys") 
                savePlayerData(thePlayer,"mapBuys", oldmapbuys - 1) 
                CheckAchievement(thePlayer,13) 
                scoreboardRefresh(thePlayer) 
            else 
                outputChatBox("#00AAFF# #FFFFFFYou didn't buy that map!",thePlayer,255,255,255,true) 
            end 
    else 
        outputChatBox("#00AAFF# #FFFFFFNo map has been bought!",thePlayer,255,255,255,true) 
    end 
end 
  
function resetMapSetStatus() 
    mapIsAlreadySet = false 
end 
addEventHandler("onMapStarting",getRootElement(),resetMapSetStatus) 
  
function getServerMaps (loadList,s)  
    local tableOut 
    if loadList then 
         
        tableOut = {} 
        -- local deletedMaps = {} 
        local gamemodes = {} 
        gamemodes = call(getResourceFromName("mapmanager"), "getGamemodes") 
        for id,gamemode in ipairs (gamemodes) do 
            tableOut[id] = {} 
            tableOut[id].name = getResourceInfo(gamemode, "name") or getResourceName(gamemode) 
            tableOut[id].resname = getResourceName(gamemode) 
            tableOut[id].maps = {} 
            local maps = call(getResourceFromName("mapmanager"), "getMapsCompatibleWithGamemode" , gamemode) 
            for _,map in ipairs (maps) do 
                table.insert(tableOut[id]["maps"] ,{name = getResourceInfo(map, "name") or getResourceName(map), resname = getResourceName(map)}) 
            end 
            table.sort(tableOut[id]["maps"], sortCompareFunction) 
        end 
        table.sort((tableOut), sortCompareFunction) 
        table.insert(tableOut, {name = "no gamemode", resname = "no gamemode", maps = {}}) 
        local countGmodes = #tableOut 
        local maps = call(getResourceFromName("mapmanager"), "getMapsCompatibleWithGamemode") 
        for id,map in ipairs (maps) do 
            -- if fileOpen(":"..getResourceName(map).."/deleted") then 
                -- table.insert(deletedMaps ,{name = getResourceInfo(map, "name") or getResourceName(map), resname = getResourceName(map)}) 
            -- else 
                table.insert(tableOut[countGmodes]["maps"] ,{name = getResourceInfo(map, "name") or getResourceName(map), resname = getResourceName(map)}) 
            -- end 
        end 
        -- table.sort(deletedMaps, sortCompareFunction) 
        table.sort(tableOut[countGmodes]["maps"], sortCompareFunction) 
        -- table.insert(tableOut, {name = "deleted maps", resname = "deleted maps", maps = {}}) 
        -- local countGmodes = countGmodes + 1 
        -- tableOut[countGmodes]["maps"] = deletedMaps 
    end 
     
    local map = call(getResourceFromName("mapmanager"), "getRunningGamemodeMap") 
    local gamemode = call(getResourceFromName("mapmanager"), "getRunningGamemode") 
    gamemode = gamemode and getResourceName(gamemode) or "N/A" 
    map = map and getResourceName(map) or "N/A" 
    callClientFunction(loadList,"loadMaps", tableOut, gamemode, map, s) 
end 
  
function sortCompareFunction(s1, s2) 
    if type(s1) == "table" and type(s2) == "table" then 
        s1, s2 = s1.name, s2.name 
    end 
    s1, s2 = s1:lower(), s2:lower() 
    if s1 == s2 then 
        return false 
    end 
    local byte1, byte2 = string.byte(s1:sub(1,1)), string.byte(s2:sub(1,1)) 
    if not byte1 then 
        return true 
    elseif not byte2 then 
        return false 
    elseif byte1 < byte2 then 
        return true 
    elseif byte1 == byte2 then 
        return sortCompareFunction(s1:sub(2), s2:sub(2)) 
    else 
        return false 
    end 
end 
  

Ho tentato qualsiasi soluzione ,ma a quanto sembra smette di funzionare con qualsiasi soluzione io provi

@Hunterix

Link to comment

Pero Rega Munitevi Di DebugScript 3

Non mi hai detto neanche che errore da :|

Prima di tutto aggiungi la risorsa nel ACL admin group.

Secondo. . .non ti funziona perche probabilmente hai un pannello non tuo e quindi non hai il comando :

"pnfnsdhasd3w7432jhdsbw3ersdncsdir" che dovrebbe essere in racevoting_server.lua

Pero avendo solo il pannello e non la gamemode completa non puo mai funzionarti.

Ho eliminato il comando ed ho messo il triggerServer del admin panel,dovrebbe funzionare.

Ecco qui :

  
------------------------------------------ 
-- Mapy 
------------------------------------------ 
function buyMap(thePlayer,mapName) 
    if mapIsAlreadySet == false then 
        if not (mapName == "") then 
            local playerCash = tonumber(loadPlayerData(thePlayer,"cash")) 
            if playerCash >= mapCost then 
     --executeCommandHandler("pnfnsdhasd3w7432jhdsbw3ersdncsdir",thePlayer,mapName) --No Good 
        triggerEvent ("setNextMap_s", thePlayer, mapName) -- Sounds Good 
                savePlayerData(thePlayer,"cash",playerCash-mapCost) 
                outputChatBox("#FFFFFFNextmap: "..getPlayerName(thePlayer).."#FFFFFF has bought a next map!",getRootElement(),255,255,255,true) 
                outputChatBox("#FFFFFFNextmap: #00AAFF"..mapName,getRootElement(),255,255,255,true) 
                mapIsAlreadySet = thePlayer 
                local oldmapbuys = loadPlayerData(thePlayer,"mapBuys") 
                savePlayerData(thePlayer,"mapBuys", oldmapbuys + 1) 
                CheckAchievement(thePlayer,13) 
                scoreboardRefresh(thePlayer) 
            else 
                outputChatBox("#00AAFF# #FFFFFFYou don't have enough money to set a map!",thePlayer,255,255,255,true) 
            end 
        else 
            outputChatBox("#00AAFF# #FFFFFFPlease select a map from the list first!",thePlayer,255,255,255,true) 
        end 
    else 
        outputChatBox("#00AAFF# #FFFFFFA map is already set at the moment! Please try again later.",thePlayer,255,255,255,true) 
    end 
end 
  
function unbuyMap(thePlayer) 
    if mapIsAlreadySet ~= false then 
            if mapIsAlreadySet == thePlayer then 
                executeCommandHandler("pnfnsdhasd3w7432jhdsbw3ersdncsdir",thePlayer,nil) 
                local playerCash = tonumber(loadPlayerData(thePlayer,"cash")) 
                savePlayerData(thePlayer,"cash",playerCash+(mapCost/4)*3) 
                outputChatBox("#FFFFFFNextmap: "..getPlayerName(thePlayer).."#FFFFFF has unbought a next map!",getRootElement(),255,255,255,true) 
                mapIsAlreadySet = false 
                local oldmapbuys = loadPlayerData(thePlayer,"mapBuys") 
                savePlayerData(thePlayer,"mapBuys", oldmapbuys - 1) 
                CheckAchievement(thePlayer,13) 
                scoreboardRefresh(thePlayer) 
            else 
                outputChatBox("#00AAFF# #FFFFFFYou didn't buy that map!",thePlayer,255,255,255,true) 
            end 
    else 
        outputChatBox("#00AAFF# #FFFFFFNo map has been bought!",thePlayer,255,255,255,true) 
    end 
end 
  
function resetMapSetStatus() 
    mapIsAlreadySet = false 
end 
addEventHandler("onMapStarting",getRootElement(),resetMapSetStatus) 
  
function getServerMaps (loadList,s)  
    local tableOut 
    if loadList then 
        
        tableOut = {} 
        -- local deletedMaps = {} 
        local gamemodes = {} 
        gamemodes = call(getResourceFromName("mapmanager"), "getGamemodes") 
        for id,gamemode in ipairs (gamemodes) do 
            tableOut[id] = {} 
            tableOut[id].name = getResourceInfo(gamemode, "name") or getResourceName(gamemode) 
            tableOut[id].resname = getResourceName(gamemode) 
            tableOut[id].maps = {} 
            local maps = call(getResourceFromName("mapmanager"), "getMapsCompatibleWithGamemode" , gamemode) 
            for _,map in ipairs (maps) do 
                table.insert(tableOut[id]["maps"] ,{name = getResourceInfo(map, "name") or getResourceName(map), resname = getResourceName(map)}) 
            end 
            table.sort(tableOut[id]["maps"], sortCompareFunction) 
        end 
        table.sort((tableOut), sortCompareFunction) 
        table.insert(tableOut, {name = "no gamemode", resname = "no gamemode", maps = {}}) 
        local countGmodes = #tableOut 
        local maps = call(getResourceFromName("mapmanager"), "getMapsCompatibleWithGamemode") 
        for id,map in ipairs (maps) do 
            -- if fileOpen(":"..getResourceName(map).."/deleted") then 
                -- table.insert(deletedMaps ,{name = getResourceInfo(map, "name") or getResourceName(map), resname = getResourceName(map)}) 
            -- else 
                table.insert(tableOut[countGmodes]["maps"] ,{name = getResourceInfo(map, "name") or getResourceName(map), resname = getResourceName(map)}) 
            -- end 
        end 
        -- table.sort(deletedMaps, sortCompareFunction) 
        table.sort(tableOut[countGmodes]["maps"], sortCompareFunction) 
        -- table.insert(tableOut, {name = "deleted maps", resname = "deleted maps", maps = {}}) 
        -- local countGmodes = countGmodes + 1 
        -- tableOut[countGmodes]["maps"] = deletedMaps 
    end 
    
    local map = call(getResourceFromName("mapmanager"), "getRunningGamemodeMap") 
    local gamemode = call(getResourceFromName("mapmanager"), "getRunningGamemode") 
    gamemode = gamemode and getResourceName(gamemode) or "N/A" 
    map = map and getResourceName(map) or "N/A" 
    callClientFunction(loadList,"loadMaps", tableOut, gamemode, map, s) 
end 
  
function sortCompareFunction(s1, s2) 
    if type(s1) == "table" and type(s2) == "table" then 
        s1, s2 = s1.name, s2.name 
    end 
    s1, s2 = s1:lower(), s2:lower() 
    if s1 == s2 then 
        return false 
    end 
    local byte1, byte2 = string.byte(s1:sub(1,1)), string.byte(s2:sub(1,1)) 
    if not byte1 then 
        return true 
    elseif not byte2 then 
        return false 
    elseif byte1 < byte2 then 
        return true 
    elseif byte1 == byte2 then 
        return sortCompareFunction(s1:sub(2), s2:sub(2)) 
    else 
        return false 
    end 
end 
  

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...