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