myyusuf Posted March 8, 2012 Share Posted March 8, 2012 (edited) 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 March 12, 2012 by Guest Link to comment
Castillo Posted March 8, 2012 Share Posted March 8, 2012 Your script is server side, remove this from meta.xml: "users.xml" type="client"/> Link to comment
myyusuf Posted March 8, 2012 Author Share Posted March 8, 2012 Your script is server side, remove this from meta.xml: "users.xml" type="client"/> not helped. when i use debugscript 3 it shows. Link to comment
Castillo Posted March 8, 2012 Share Posted March 8, 2012 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
myyusuf Posted March 8, 2012 Author Share Posted March 8, 2012 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
myyusuf Posted March 8, 2012 Author Share Posted March 8, 2012 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
Castillo Posted March 8, 2012 Share Posted March 8, 2012 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
myyusuf Posted March 8, 2012 Author Share Posted March 8, 2012 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 Link to comment
NeXTreme Posted March 9, 2012 Share Posted March 9, 2012 I really wonder where you "took some of the code from", since none of my public resources have this sort of code in them. Link to comment
TwiX! Posted March 11, 2012 Share Posted March 11, 2012 xml will f*ck ur server function loadPlayerData ( player, datatype ) function by [NeXTreme] So add credits or delete Link to comment
myyusuf Posted March 12, 2012 Author Share Posted March 12, 2012 xml will f*ck ur server function loadPlayerData ( player, datatype ) function by [NeXTreme] So add credits or delete i did already. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now