2013-05-24 07:30:39 +00:00
function HandleItemCommand ( Split , Player )
if ( ( # Split ~= 2 ) and ( # Split ~= 3 ) ) then
Player : SendMessage ( cChatColor.Green .. " Usage: /item [ItemType/Name:Dmg] <Amount> " ) ;
return true ;
2012-01-26 22:44:37 +00:00
end
2013-06-16 17:23:01 +00:00
local Item = cItem ( ) ;
2013-05-24 07:30:39 +00:00
local FoundItem = StringToItem ( Split [ 2 ] , Item ) ;
2012-01-26 22:44:37 +00:00
2013-05-24 07:30:39 +00:00
if not ( IsValidItem ( Item.m_ItemType ) ) then -- StringToItem does not check if item is valid
2012-09-08 21:41:17 +00:00
FoundItem = false
2012-01-26 22:44:37 +00:00
end
2013-05-24 07:30:39 +00:00
if not ( FoundItem ) then
2013-01-13 11:10:26 +00:00
Player : SendMessage ( cChatColor.Green .. " Invalid Item type / name ! " )
2012-01-26 22:44:37 +00:00
return true
end
2013-05-24 07:30:39 +00:00
local ItemAmount = 1 ;
if ( # Split == 3 ) then
ItemAmount = tonumber ( Split [ 3 ] ) ;
if ( ( ItemAmount == nil ) or ( ItemAmount < 1 ) or ( ItemAmount > 512 ) ) then
Player : SendMessage ( cChatColor.Green .. " Invalid Amount! " ) ;
return true ;
2012-01-26 22:44:37 +00:00
end
end
2013-05-24 07:30:39 +00:00
Item.m_ItemCount = ItemAmount ;
local ItemsGiven = Player : GetInventory ( ) : AddItem ( Item ) ;
if ( ItemsGiven == ItemAmount ) then
Player : SendMessage ( cChatColor.Green .. " There you go ! " ) ;
LOG ( " Gave " .. Player : GetName ( ) .. " " .. Item.m_ItemCount .. " times " .. Item.m_ItemType .. " : " .. Item.m_ItemDamage ) ;
2012-01-26 22:44:37 +00:00
else
2013-05-24 07:30:39 +00:00
Player : SendMessage ( cChatColor.Green .. " Not enough space in inventory, only gave " .. ItemsGiven ) ;
LOG ( " Player " .. Player : GetName ( ) .. " asked for " .. Item.m_ItemCount .. " times " .. Item.m_ItemType .. " : " .. Item.m_ItemDamage .. " , but only could fit " .. ItemsGiven ) ;
2012-01-26 22:44:37 +00:00
end
2013-05-24 07:30:39 +00:00
return true ;
2012-01-26 22:44:37 +00:00
end