• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

I need a function that returns the total value of def player

foxkbt

Member
Joined
Sep 29, 2009
Messages
290
Reaction score
7
Location
Salvador
exemple
armor - demon armor - 16
+
feet - steel boots - 3
+
helmet - demon helmet - 10
+
legs - golden legs - 9
+
shield - mastermind shield - 37
=
return (75)
 
LUA:
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
 
Back
Top