Jump to content

Bad argument error


mremin

Recommended Posts

İ have this function but have error

17. line bad argument @ ' getPlayerSerial'

5. and 11. line bad argument @ ' getPlayerName'

Attempt to concatenate a boolean value

  
function getPlayerCash (source, cmd, player) 
    local player = player or source  
    local playerPoints = loadPlayerData (player, 'cash')  
    outputChatBox (getPlayerName (player)..' #FF0000has '..tostring (playerPoints)..'$!', root, 255, 0, 0, true)  
end 
  
function getPlayerPoints (source, cmd, player)  
    local player = player or source 
    local playerPoints = loadPlayerData (player, 'points')  
    outputChatBox (getPlayerName (player)..' #FF0000has '..tostring (playerPoints)..' points!', root, 255, 0, 0, true)  
end 
  
  
  
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 
  

Link to comment

server-side command handler passes

1. player element as 1st argument

2. command name as 2nd

3. rest are command arguments player typed

so getPlayerCash (source, cmd, player) wont work, use:

function getPlayerCash (player, cmd, otherguy) 
    player = getPlayerFromName(otherguy) or player 
    local playerPoints = loadPlayerData (player, 'cash') 
    outputChatBox (getPlayerName(player)..' #FF0000has '..tostring (playerPoints)..'$!', root, 255, 0, 0, true) 
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...