Jump to content

wins script problem


myyusuf

Recommended Posts

hello it isnt running. i took some codes from nextreme's userpanel. can you help me please?

serverside

function loadPlayerData (player,datatype) 
  local playerIP = getPlayerSerial (player) 
  if (playerIP) then 
    local root = xmlLoadFile ("users.xml") 
    if (root) then 
      local usersNode = xmlFindChild (root,"user",0) 
      if (usersNode) then 
        local playerRootNode = xmlFindChild (usersNode,"SERIAL_" .. getPlayerSerial(player),0) 
        if not (playerRootNode == false) then 
          local playerData = xmlNodeGetAttribute (playerRootNode,datatype) 
          if (playerData) then 
            xmlUnloadFile (root) 
            return playerData 
          else 
            xmlNodeSetAttribute (playerRootNode,datatype,0) 
            xmlSaveFile (root) 
            xmlUnloadFile (root) 
            return 0 
          end 
        else 
          local playerRootNode = xmlCreateChild (usersNode,"SERIAL_" .. getPlayerSerial(player)) 
          xmlNodeSetAttribute (playerRootNode,datatype,0) 
          xmlSaveFile (root) 
          xmlUnloadFile (root) 
          return 0 
        end 
      end 
    end 
  end 
end 
  
function savePlayerData (player,datatype,newvalue) 
  local playerIP = getPlayerSerial (player) 
  if (playerIP) then 
    local root = xmlLoadFile ("users.xml") 
    if (root) then 
      local usersNode = xmlFindChild (root,"user",0) 
      if (usersNode) then 
        local playerRootNode = xmlFindChild (usersNode,"SERIAL_" .. getPlayerSerial(player),0) 
        if not (playerRootNode == false) then 
          local newNodeValue = xmlNodeSetAttribute (playerRootNode,datatype,newvalue) 
          xmlSaveFile (root) 
          xmlUnloadFile (root) 
          return newNodeValue 
        else 
          local playerRootNode = xmlCreateChild (usersNode,"SERIAL_" .. getPlayerSerial(player)) 
          local newNodeValue = xmlNodeSetAttribute (playerRootNode,datatype,newvalue) 
          xmlSaveFile (root) 
          xmlUnloadFile (root) 
          return newNodeValue 
        end 
      end 
    end 
  end 
end 
  
  
  
function exporter(thePlayer) 
local playerCash = tonumber">tonumber(loadPlayerData(thePlayer,"cash")) 
setElementData(thePlayer,"Cash",playerCash) 
end 
addEventHandler ( "onPlayerJoin", getRootElement(), exporter) 
addEventHandler ( "onPlayerWasted", getRootElement(), exporter) 
addEventHandler ( "onPlayerChat", getRootElement(), exporter) 
addEventHandler ( "onNotifyPlayerReady", getRootElement(), exporter) 
addEventHandler ( "onPlayerPickUpRacePickup", getRootElement(), exporter) 
  
  
---------------------------------------------------- 
  
  
addEvent("onPlayerDestructionDerbyWin",true) 
addEventHandler("onPlayerDestructionDerbyWin",getRootElement(), 
function (winner) 
    if getPlayerCount() >= 2 then 
        local cashToWin = 1 
        local playerCash = loadPlayerData(winner,"cash") 
        savePlayerData(winner,"cash",playerCash +cashToWin) 
        local playerCash = loadPlayerData(winner,"cash") 
        outputChatBox ("#c0c0c0* #abcdef" .. getPlayerName(winner) .." #c0c0c0has win this round.",getRootElement(),255,255,255,true) 
        return 
    else 
        outputChatBox("#c0c0c0* Not enough players to earn money - #ABCDEF2 players #c0c0c0required.",winner,255,255,255,true) 
    end 
    local thePlayer = winner 
    local newAmount = cashToWin 
    totalMoneyEarnedAdd(thePlayer,cashToWin) 
    scoreboardRefresh(thePlayer) 
    refreshStats(thePlayer) 
    progressBarUpdate(thePlayer) 
    totalMoneyAchievements(thePlayer) 
end) 
  
  
  
  
function checkWinAndIfWinGiveWinCash () 
  local rank = getAliveCount() 
  local allAlivePlayers = getAlivePlayers() 
  local player = allAlivePlayers[1] 
  local playerCount = getPlayerCount() 
  local cashToWin = 1 
  local money = loadPlayerData(player,"cash") 
  if (rank == 1) then 
    savePlayerData(player,"cash",money + cashToWin) 
    outputChatBox ("#c0c0c0* #abcdef"..getPlayerName(player).." #c0c0c0wins this round.",getRootElement(),255,0,0,true)       
    end 
local player = thePlayer 
scoreboardRefresh(thePlayer) 
refreshStats(thePlayer) 
progressBarUpdate(thePlayer) 
totalMoneyAchievements(thePlayer) 
end 
addEventHandler ("onPlayerWasted",getRootElement(),checkWinAndIfWinGiveWinCash) 
  
  
--------------------------------------------------- 
  
  
    call(getResourceFromName("scoreboard"), "addScoreboardColumn", "cash") 
  
  
--------------------------------------------------- 
  
  
  
addCommandHandler("spd", 
function(player,command,toplayername,datatype,amount) 
    if hasObjectPermissionTo ( player, "function.kickPlayer", false ) then 
        if (toplayername) and (datatype) and (amount) then 
            if (findPlayerByName (toplayername)) then 
                toplayer = findPlayerByName (toplayername) 
                savePlayerData(toplayer,datatype,amount) 
                outputChatBox ("setPlayerData: " .. getPlayerName(toplayer) .. " | Player's " .. datatype .. " has been set to: " .. amount, player,255,0,0,true) 
                --outputChatBox ("" .. getPlayerName (player) .. " has set your " .. datatype .." to: " .. amount, toplayer,255,0,0,true) 
                local playerCash = loadPlayerData(toplayer,"cash") 
                local thePlayer = toplayer 
                scoreboardRefresh(thePlayer) 
                refreshStats(thePlayer) 
                progressBarUpdate(thePlayer) 
            end 
        else 
        outputChatBox ("ERROR! Syntax: /spd [playername] [datatype] [new_amount]",player,255,255,255,true) 
        end 
    else 
    end 
end) 
  

meta.xml

    "V" type">type="script" version="3.0.0" /> 
  
    

users.xml

    
    

  

Edited by Guest
Link to comment
call(getResourceFromName("scoreboard"), "addScoreboardColumn", "cash") 
  
function loadPlayerData ( player, datatype ) 
    if ( not player or not isElement( player ) ) then return false end 
    local playerIP = getPlayerSerial ( player ) 
    if ( playerIP ) then 
        local root = xmlLoadFile ("users.xml") 
        if ( root ) then 
            local usersNode = xmlFindChild ( root, "user", 0 ) 
            if ( usersNode ) then 
                local playerRootNode = xmlFindChild ( usersNode, "SERIAL_" .. getPlayerSerial(player), 0 ) 
                if not ( playerRootNode == false ) then 
                    local playerData = xmlNodeGetAttribute ( playerRootNode, datatype ) 
                    if ( playerData ) then 
                        xmlUnloadFile ( root ) 
                        return playerData 
                    else 
                        xmlNodeSetAttribute ( playerRootNode, datatype, 0 ) 
                        xmlSaveFile ( root ) 
                        xmlUnloadFile ( root ) 
                        return 0 
                    end 
                else 
                    local playerRootNode = xmlCreateChild ( usersNode, "SERIAL_" .. getPlayerSerial(player) ) 
                    xmlNodeSetAttribute ( playerRootNode, datatype, 0 ) 
                    xmlSaveFile ( root ) 
                    xmlUnloadFile ( root ) 
                    return 0 
                end 
            end 
        end 
    end 
end 
  
function savePlayerData ( player, datatype, newvalue ) 
    if ( not player or not isElement( player ) ) then return false end 
    local playerIP = getPlayerSerial (player) 
    if ( playerIP ) then 
        local root = xmlLoadFile ("users.xml") 
        if ( root ) then 
            local usersNode = xmlFindChild ( root, "user", 0 ) 
            if ( usersNode ) then 
                local playerRootNode = xmlFindChild ( usersNode, "SERIAL_" .. getPlayerSerial(player), 0 ) 
                if not ( playerRootNode == false ) then 
                    local newNodeValue = xmlNodeSetAttribute ( playerRootNode, datatype, newvalue ) 
                    xmlSaveFile ( root ) 
                    xmlUnloadFile ( root ) 
                    return newNodeValue 
                else 
                    local playerRootNode = xmlCreateChild ( usersNode, "SERIAL_" .. getPlayerSerial(player) ) 
                    local newNodeValue = xmlNodeSetAttribute ( playerRootNode, datatype, newvalue ) 
                    xmlSaveFile ( root ) 
                    xmlUnloadFile ( root ) 
                    return newNodeValue 
                end 
            end 
        end 
    end 
end 
  
function exporter() 
    local playerCash = tonumber( loadPlayerData ( source, "cash" ) ) -- You're using 'thePlayer', but your event handlers uses 'source' as player argument. 
    setElementData ( source, "Cash", playerCash ) 
end 
addEventHandler ( "onPlayerJoin", getRootElement(), exporter) 
addEventHandler ( "onPlayerWasted", getRootElement(), exporter) 
addEventHandler ( "onPlayerChat", getRootElement(), exporter) 
addEventHandler ( "onNotifyPlayerReady", getRootElement(), exporter) 
addEventHandler ( "onPlayerPickUpRacePickup", getRootElement(), exporter) 
  
addEvent("onPlayerDestructionDerbyWin",true) 
addEventHandler("onPlayerDestructionDerbyWin",getRootElement(), 
    function (winner) 
        if ( getPlayerCount() >= 2 )then 
            local cashToWin = 1 
            local playerCash = tonumber( loadPlayerData( winner, "cash" ) ) 
            savePlayerData( winner, "cash", playerCash + cashToWin ) 
            local playerCash = loadPlayerData( winner, "cash" ) 
            outputChatBox ( "#c0c0c0* #abcdef" .. getPlayerName(winner) .." #c0c0c0has win this round.", root, 255, 255, 255, true ) 
        else 
            outputChatBox( "#c0c0c0* Not enough players to earn money - #ABCDEF2 players #c0c0c0required.", winner, 255, 255, 255, true ) 
            totalMoneyEarnedAdd ( winner, cashToWin ) 
            scoreboardRefresh ( winner ) 
            refreshStats ( winner ) 
            progressBarUpdate ( winner ) 
            totalMoneyAchievements ( winner ) 
        end 
    end 
) 
  
addCommandHandler ("spd", 
    function ( player, command, toplayername, datatype, amount ) 
        if hasObjectPermissionTo ( player, "function.kickPlayer", false ) then 
            if ( toplayername ) and ( datatype ) and ( amount ) then 
                if ( findPlayerByName ( toplayername ) ) then 
                    toplayer = findPlayerByName ( toplayername ) 
                    savePlayerData( toplayer, datatype, amount ) 
                    outputChatBox ( "setPlayerData: " .. getPlayerName ( toplayer ) .. " | Player's " .. datatype .. " has been set to: " .. amount, player, 255, 0, 0, true ) 
                    --outputChatBox ("" .. getPlayerName (player) .. " has set your " .. datatype .." to: " .. amount, toplayer,255,0,0,true) 
                    local playerCash = loadPlayerData ( toplayer, "cash" ) 
                    scoreboardRefresh(toplayer) 
                    refreshStats(toplayer) 
                    progressBarUpdate(toplayer) 
                end 
            else 
                outputChatBox ( "ERROR! Syntax: /spd [playername] [datatype] [new_amount]", player, 255, 255, 255, true ) 
            end 
        end 
    end 
) 

I fixed all I could.

Link to comment
call(getResourceFromName("scoreboard"), "addScoreboardColumn", "cash") 
  
function loadPlayerData ( player, datatype ) 
    if ( not player or not isElement( player ) ) then return false end 
    local playerIP = getPlayerSerial ( player ) 
    if ( playerIP ) then 
        local root = xmlLoadFile ("users.xml") 
        if ( root ) then 
            local usersNode = xmlFindChild ( root, "user", 0 ) 
            if ( usersNode ) then 
                local playerRootNode = xmlFindChild ( usersNode, "SERIAL_" .. getPlayerSerial(player), 0 ) 
                if not ( playerRootNode == false ) then 
                    local playerData = xmlNodeGetAttribute ( playerRootNode, datatype ) 
                    if ( playerData ) then 
                        xmlUnloadFile ( root ) 
                        return playerData 
                    else 
                        xmlNodeSetAttribute ( playerRootNode, datatype, 0 ) 
                        xmlSaveFile ( root ) 
                        xmlUnloadFile ( root ) 
                        return 0 
                    end 
                else 
                    local playerRootNode = xmlCreateChild ( usersNode, "SERIAL_" .. getPlayerSerial(player) ) 
                    xmlNodeSetAttribute ( playerRootNode, datatype, 0 ) 
                    xmlSaveFile ( root ) 
                    xmlUnloadFile ( root ) 
                    return 0 
                end 
            end 
        end 
    end 
end 
  
function savePlayerData ( player, datatype, newvalue ) 
    if ( not player or not isElement( player ) ) then return false end 
    local playerIP = getPlayerSerial (player) 
    if ( playerIP ) then 
        local root = xmlLoadFile ("users.xml") 
        if ( root ) then 
            local usersNode = xmlFindChild ( root, "user", 0 ) 
            if ( usersNode ) then 
                local playerRootNode = xmlFindChild ( usersNode, "SERIAL_" .. getPlayerSerial(player), 0 ) 
                if not ( playerRootNode == false ) then 
                    local newNodeValue = xmlNodeSetAttribute ( playerRootNode, datatype, newvalue ) 
                    xmlSaveFile ( root ) 
                    xmlUnloadFile ( root ) 
                    return newNodeValue 
                else 
                    local playerRootNode = xmlCreateChild ( usersNode, "SERIAL_" .. getPlayerSerial(player) ) 
                    local newNodeValue = xmlNodeSetAttribute ( playerRootNode, datatype, newvalue ) 
                    xmlSaveFile ( root ) 
                    xmlUnloadFile ( root ) 
                    return newNodeValue 
                end 
            end 
        end 
    end 
end 
  
function exporter() 
    local playerCash = tonumber( loadPlayerData ( source, "cash" ) ) -- You're using 'thePlayer', but your event handlers uses 'source' as player argument. 
    setElementData ( source, "Cash", playerCash ) 
end 
addEventHandler ( "onPlayerJoin", getRootElement(), exporter) 
addEventHandler ( "onPlayerWasted", getRootElement(), exporter) 
addEventHandler ( "onPlayerChat", getRootElement(), exporter) 
addEventHandler ( "onNotifyPlayerReady", getRootElement(), exporter) 
addEventHandler ( "onPlayerPickUpRacePickup", getRootElement(), exporter) 
  
addEvent("onPlayerDestructionDerbyWin",true) 
addEventHandler("onPlayerDestructionDerbyWin",getRootElement(), 
    function (winner) 
        if ( getPlayerCount() >= 2 )then 
            local cashToWin = 1 
            local playerCash = tonumber( loadPlayerData( winner, "cash" ) ) 
            savePlayerData( winner, "cash", playerCash + cashToWin ) 
            local playerCash = loadPlayerData( winner, "cash" ) 
            outputChatBox ( "#c0c0c0* #abcdef" .. getPlayerName(winner) .." #c0c0c0has win this round.", root, 255, 255, 255, true ) 
        else 
            outputChatBox( "#c0c0c0* Not enough players to earn money - #ABCDEF2 players #c0c0c0required.", winner, 255, 255, 255, true ) 
            totalMoneyEarnedAdd ( winner, cashToWin ) 
            scoreboardRefresh ( winner ) 
            refreshStats ( winner ) 
            progressBarUpdate ( winner ) 
            totalMoneyAchievements ( winner ) 
        end 
    end 
) 
  
addCommandHandler ("spd", 
    function ( player, command, toplayername, datatype, amount ) 
        if hasObjectPermissionTo ( player, "function.kickPlayer", false ) then 
            if ( toplayername ) and ( datatype ) and ( amount ) then 
                if ( findPlayerByName ( toplayername ) ) then 
                    toplayer = findPlayerByName ( toplayername ) 
                    savePlayerData( toplayer, datatype, amount ) 
                    outputChatBox ( "setPlayerData: " .. getPlayerName ( toplayer ) .. " | Player's " .. datatype .. " has been set to: " .. amount, player, 255, 0, 0, true ) 
                    --outputChatBox ("" .. getPlayerName (player) .. " has set your " .. datatype .." to: " .. amount, toplayer,255,0,0,true) 
                    local playerCash = loadPlayerData ( toplayer, "cash" ) 
                    scoreboardRefresh(toplayer) 
                    refreshStats(toplayer) 
                    progressBarUpdate(toplayer) 
                end 
            else 
                outputChatBox ( "ERROR! Syntax: /spd [playername] [datatype] [new_amount]", player, 255, 255, 255, true ) 
            end 
        end 
    end 
) 

I fixed all I could.

thank you man. you save my life. :)

Link to comment
call(getResourceFromName("scoreboard"), "addScoreboardColumn", "wins") 
call(getResourceFromName("scoreboard"), "addScoreboardColumn", "points")  
  
function loadPlayerData ( player, datatype ) 
    if ( not player or not isElement( player ) ) then return false end 
    local playerIP = getPlayerSerial ( player ) 
    if ( playerIP ) then 
        local root = xmlLoadFile ("users.xml") 
        if ( root ) then 
            local usersNode = xmlFindChild ( root, "user", 0 ) 
            if ( usersNode ) then 
                local playerRootNode = xmlFindChild ( usersNode, "SERIAL_" .. getPlayerSerial(player), 0 ) 
                if not ( playerRootNode == false ) then 
                    local playerData = xmlNodeGetAttribute ( playerRootNode, datatype ) 
                    if ( playerData ) then 
                        xmlUnloadFile ( root ) 
                        return playerData 
                    else 
                        xmlNodeSetAttribute ( playerRootNode, datatype, 0 ) 
                        xmlSaveFile ( root ) 
                        xmlUnloadFile ( root ) 
                        return 0 
                    end 
                else 
                    local playerRootNode = xmlCreateChild ( usersNode, "SERIAL_" .. getPlayerSerial(player) ) 
                    xmlNodeSetAttribute ( playerRootNode, datatype, 0 ) 
                    xmlSaveFile ( root ) 
                    xmlUnloadFile ( root ) 
                    return 0 
                end 
            end 
        end 
    end 
end 
  
function savePlayerData ( player, datatype, newvalue ) 
    if ( not player or not isElement( player ) ) then return false end 
    local playerIP = getPlayerSerial (player) 
    if ( playerIP ) then 
        local root = xmlLoadFile ("users.xml") 
        if ( root ) then 
            local usersNode = xmlFindChild ( root, "user", 0 ) 
            if ( usersNode ) then 
                local playerRootNode = xmlFindChild ( usersNode, "SERIAL_" .. getPlayerSerial(player), 0 ) 
                if not ( playerRootNode == false ) then 
                    local newNodeValue = xmlNodeSetAttribute ( playerRootNode, datatype, newvalue ) 
                    xmlSaveFile ( root ) 
                    xmlUnloadFile ( root ) 
                    return newNodeValue 
                else 
                    local playerRootNode = xmlCreateChild ( usersNode, "SERIAL_" .. getPlayerSerial(player) ) 
                    local newNodeValue = xmlNodeSetAttribute ( playerRootNode, datatype, newvalue ) 
                    xmlSaveFile ( root ) 
                    xmlUnloadFile ( root ) 
                    return newNodeValue 
                end 
            end 
        end 
    end 
end 
  
function exporter() 
    local playerCash = tonumber( loadPlayerData ( source, "wins" ) )  
    setElementData ( source, "wins", playerCash ) 
  
    local playerPoint = tonumber( loadPlayerData ( source, "points" ) )  
    setElementData ( source, "points", playerPoint ) 
end 
  
addEventHandler ( "onPlayerJoin", getRootElement(), exporter) 
addEventHandler ( "onPlayerWasted", getRootElement(), exporter) 
addEventHandler ( "onPlayerChat", getRootElement(), exporter) 
addEventHandler ( "onNotifyPlayerReady", getRootElement(), exporter) 
addEventHandler ( "onPlayerPickUpRacePickup", getRootElement(), exporter) 
  
  
----------------------------------------------------------------- 
  
  
addEvent("onPlayerDestructionDerbyWin",true) 
addEventHandler("onPlayerDestructionDerbyWin",getRootElement(), 
    function (winner) 
        if ( getPlayerCount() >= 2 )then 
            local cashToWin = 1 
            local playerCash = tonumber( loadPlayerData( winner, "wins" ) ) 
            savePlayerData( winner, "wins", playerCash + cashToWin ) 
            local playerCash = loadPlayerData( winner, "wins" ) 
            outputChatBox ( "#c0c0c0* #abcdef" .. getPlayerName(winner) .." #c0c0c0has win this round.", root, 255, 255, 255, true ) 
        else 
            outputChatBox( "#c0c0c0* Not enough players to earn money - #ABCDEF2 players #c0c0c0required.", winner, 255, 255, 255, true ) 
            totalMoneyEarnedAdd ( winner, cashToWin ) 
            scoreboardRefresh ( winner ) 
            refreshStats ( winner ) 
            progressBarUpdate ( winner ) 
            totalMoneyAchievements ( winner ) 
        end 
    end 
) 
  
----------------------------------------------------------------- 
  
  
addEvent("onPlayerDestructionDerbyWin1",true) 
addEventHandler("onPlayerDestructionDerbyWin1",getRootElement(), 
    function (winner1) 
        if ( getPlayerCount() >= 2 )then 
            local cashToWin1 = 3 
            local playerPoint = tonumber loadPlayerData( winner1, "points" ) 
            savePlayerData( winner1, "points", playerPoint + cashToWin1 ) 
            local playerPoint = loadPlayerData( winner1, "points" ) 
            --outputChatBox ( "#c0c0c0* #abcdef" .. getPlayerName(winner1) .." #c0c0c0has win this round.", root, 255, 255, 255, true ) 
        else 
            --outputChatBox( "#c0c0c0* Not enough players to earn money - #ABCDEF2 players #c0c0c0required.", winner1, 255, 255, 255, true ) 
            totalMoneyEarnedAdd ( winner1, cashToWin1 ) 
            scoreboardRefresh ( winner1 ) 
            refreshStats ( winner1 ) 
            progressBarUpdate ( winner1 ) 
            totalMoneyAchievements ( winner1 ) 
        end 
    end 
) 
  

i have another problem now. im trying to make point system. but point dont effect. can you help me please? :?

Link to comment
call(getResourceFromName("scoreboard"), "addScoreboardColumn", "wins") 
call(getResourceFromName("scoreboard"), "addScoreboardColumn", "points") 
  
function loadPlayerData ( player, datatype ) 
    if ( not player or not isElement( player ) ) then return false end 
    local playerIP = getPlayerSerial ( player ) 
    if ( playerIP ) then 
        local root = xmlLoadFile ("users.xml") 
        if ( root ) then 
            local usersNode = xmlFindChild ( root, "user", 0 ) 
            if ( usersNode ) then 
                local playerRootNode = xmlFindChild ( usersNode, "SERIAL_" .. getPlayerSerial(player), 0 ) 
                if not ( playerRootNode == false ) then 
                    local playerData = xmlNodeGetAttribute ( playerRootNode, datatype ) 
                    if ( playerData ) then 
                        xmlUnloadFile ( root ) 
                        return playerData 
                    else 
                        xmlNodeSetAttribute ( playerRootNode, datatype, 0 ) 
                        xmlSaveFile ( root ) 
                        xmlUnloadFile ( root ) 
                        return 0 
                    end 
                else 
                    local playerRootNode = xmlCreateChild ( usersNode, "SERIAL_" .. getPlayerSerial(player) ) 
                    xmlNodeSetAttribute ( playerRootNode, datatype, 0 ) 
                    xmlSaveFile ( root ) 
                    xmlUnloadFile ( root ) 
                    return 0 
                end 
            end 
        end 
    end 
end 
  
function savePlayerData ( player, datatype, newvalue ) 
    if ( not player or not isElement( player ) ) then return false end 
    local playerIP = getPlayerSerial (player) 
    if ( playerIP ) then 
        local root = xmlLoadFile ("users.xml") 
        if ( root ) then 
            local usersNode = xmlFindChild ( root, "user", 0 ) 
            if ( usersNode ) then 
                local playerRootNode = xmlFindChild ( usersNode, "SERIAL_" .. getPlayerSerial(player), 0 ) 
                if not ( playerRootNode == false ) then 
                    local newNodeValue = xmlNodeSetAttribute ( playerRootNode, datatype, newvalue ) 
                    xmlSaveFile ( root ) 
                    xmlUnloadFile ( root ) 
                    return newNodeValue 
                else 
                    local playerRootNode = xmlCreateChild ( usersNode, "SERIAL_" .. getPlayerSerial(player) ) 
                    local newNodeValue = xmlNodeSetAttribute ( playerRootNode, datatype, newvalue ) 
                    xmlSaveFile ( root ) 
                    xmlUnloadFile ( root ) 
                    return newNodeValue 
                end 
            end 
        end 
    end 
end 
  
function exporter() 
    local playerCash = tonumber( loadPlayerData ( source, "wins" ) ) 
    setElementData ( source, "wins", playerCash ) 
  
    local playerPoint = tonumber( loadPlayerData ( source, "points" ) ) 
    setElementData ( source, "points", playerPoint ) 
end 
  
addEventHandler ( "onPlayerJoin", getRootElement(), exporter) 
addEventHandler ( "onPlayerWasted", getRootElement(), exporter) 
addEventHandler ( "onPlayerChat", getRootElement(), exporter) 
addEventHandler ( "onNotifyPlayerReady", getRootElement(), exporter) 
addEventHandler ( "onPlayerPickUpRacePickup", getRootElement(), exporter) 
  
  
----------------------------------------------------------------- 
  
  
addEvent("onPlayerDestructionDerbyWin",true) 
addEventHandler("onPlayerDestructionDerbyWin",getRootElement(), 
    function (winner) 
        if ( getPlayerCount() >= 2 )then 
            local cashToWin = 1 
            local playerCash = tonumber( loadPlayerData( winner, "wins" ) ) 
            savePlayerData( winner, "wins", playerCash + cashToWin ) 
            local pointsToWin = 3 
            local playerPoints = tonumber ( loadPlayerData( winner, "points" ) ) 
            savePlayerData( winner, "points", playerPoints + pointsToWin )       
            outputChatBox ( "#c0c0c0* #abcdef" .. getPlayerName(winner) .." #c0c0c0has win this round.", root, 255, 255, 255, true ) 
        else 
            outputChatBox( "#c0c0c0* Not enough players to earn money - #ABCDEF2 players #c0c0c0required.", winner, 255, 255, 255, true ) 
            totalMoneyEarnedAdd ( winner, cashToWin ) 
            scoreboardRefresh ( winner ) 
            refreshStats ( winner ) 
            progressBarUpdate ( winner ) 
            totalMoneyAchievements ( winner ) 
        end 
    end 
) 

Your mistakes:

1: You forgot the "( )" from "tonumber" function.

2: You have created another function to give the points, but that is not needed.

Link to comment
call(getResourceFromName("scoreboard"), "addScoreboardColumn", "wins") 
call(getResourceFromName("scoreboard"), "addScoreboardColumn", "points") 
  
function loadPlayerData ( player, datatype ) 
    if ( not player or not isElement( player ) ) then return false end 
    local playerIP = getPlayerSerial ( player ) 
    if ( playerIP ) then 
        local root = xmlLoadFile ("users.xml") 
        if ( root ) then 
            local usersNode = xmlFindChild ( root, "user", 0 ) 
            if ( usersNode ) then 
                local playerRootNode = xmlFindChild ( usersNode, "SERIAL_" .. getPlayerSerial(player), 0 ) 
                if not ( playerRootNode == false ) then 
                    local playerData = xmlNodeGetAttribute ( playerRootNode, datatype ) 
                    if ( playerData ) then 
                        xmlUnloadFile ( root ) 
                        return playerData 
                    else 
                        xmlNodeSetAttribute ( playerRootNode, datatype, 0 ) 
                        xmlSaveFile ( root ) 
                        xmlUnloadFile ( root ) 
                        return 0 
                    end 
                else 
                    local playerRootNode = xmlCreateChild ( usersNode, "SERIAL_" .. getPlayerSerial(player) ) 
                    xmlNodeSetAttribute ( playerRootNode, datatype, 0 ) 
                    xmlSaveFile ( root ) 
                    xmlUnloadFile ( root ) 
                    return 0 
                end 
            end 
        end 
    end 
end 
  
function savePlayerData ( player, datatype, newvalue ) 
    if ( not player or not isElement( player ) ) then return false end 
    local playerIP = getPlayerSerial (player) 
    if ( playerIP ) then 
        local root = xmlLoadFile ("users.xml") 
        if ( root ) then 
            local usersNode = xmlFindChild ( root, "user", 0 ) 
            if ( usersNode ) then 
                local playerRootNode = xmlFindChild ( usersNode, "SERIAL_" .. getPlayerSerial(player), 0 ) 
                if not ( playerRootNode == false ) then 
                    local newNodeValue = xmlNodeSetAttribute ( playerRootNode, datatype, newvalue ) 
                    xmlSaveFile ( root ) 
                    xmlUnloadFile ( root ) 
                    return newNodeValue 
                else 
                    local playerRootNode = xmlCreateChild ( usersNode, "SERIAL_" .. getPlayerSerial(player) ) 
                    local newNodeValue = xmlNodeSetAttribute ( playerRootNode, datatype, newvalue ) 
                    xmlSaveFile ( root ) 
                    xmlUnloadFile ( root ) 
                    return newNodeValue 
                end 
            end 
        end 
    end 
end 
  
function exporter() 
    local playerCash = tonumber( loadPlayerData ( source, "wins" ) ) 
    setElementData ( source, "wins", playerCash ) 
  
    local playerPoint = tonumber( loadPlayerData ( source, "points" ) ) 
    setElementData ( source, "points", playerPoint ) 
end 
  
addEventHandler ( "onPlayerJoin", getRootElement(), exporter) 
addEventHandler ( "onPlayerWasted", getRootElement(), exporter) 
addEventHandler ( "onPlayerChat", getRootElement(), exporter) 
addEventHandler ( "onNotifyPlayerReady", getRootElement(), exporter) 
addEventHandler ( "onPlayerPickUpRacePickup", getRootElement(), exporter) 
  
  
----------------------------------------------------------------- 
  
  
addEvent("onPlayerDestructionDerbyWin",true) 
addEventHandler("onPlayerDestructionDerbyWin",getRootElement(), 
    function (winner) 
        if ( getPlayerCount() >= 2 )then 
            local cashToWin = 1 
            local playerCash = tonumber( loadPlayerData( winner, "wins" ) ) 
            savePlayerData( winner, "wins", playerCash + cashToWin ) 
            local pointsToWin = 3 
            local playerPoints = tonumber ( loadPlayerData( winner, "points" ) ) 
            savePlayerData( winner, "points", playerPoints + pointsToWin )       
            outputChatBox ( "#c0c0c0* #abcdef" .. getPlayerName(winner) .." #c0c0c0has win this round.", root, 255, 255, 255, true ) 
        else 
            outputChatBox( "#c0c0c0* Not enough players to earn money - #ABCDEF2 players #c0c0c0required.", winner, 255, 255, 255, true ) 
            totalMoneyEarnedAdd ( winner, cashToWin ) 
            scoreboardRefresh ( winner ) 
            refreshStats ( winner ) 
            progressBarUpdate ( winner ) 
            totalMoneyAchievements ( winner ) 
        end 
    end 
) 

Your mistakes:

1: You forgot the "( )" from "tonumber" function.

2: You have created another function to give the points, but that is not needed.

hmm thank you dude. i love you :D

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