function getPlayerDefense(cid)
if not isPlayer(cid) then
return
end
local ret = 0
for _, v in ipairs({CONST_SLOT_HEAD, CONST_SLOT_NECKLACE, CONST_SLOT_ARMOR, CONST_SLOT_RIGHT, CONST_SLOT_LEFT, CONST_SLOT_LEGS, CONST_SLOT_FEET, CONST_SLOT_RING}) do
local k = getPlayerSlotItem(cid, v)
if k.uid > 0 then
local shield = isInArray({CONST_SLOT_RIGHT, CONST_SLOT_LEFT}, v) and getItemInfo(k.itemid).weaponType == WEAPON_SHIELD
ret = ret + (getItemAttribute(k.uid, shield and 'defense' or 'armor') or shield and getItemInfo(k.itemid).defense or getItemInfo(k.itemid).armor)
end
end
return ret
end