• 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!

If mount tamed, doesn't remove item

Thylonn

New Member
Joined
Dec 15, 2012
Messages
52
Reaction score
3
If i tame the mount, the item does not get removed,

Code:
local ACTION_RUN, ACTION_BREAK, ACTION_NONE, ACTION_ALL = 1, 2, 3, 4
local TYPE_MONSTER, TYPE_NPC, TYPE_ACTION, TYPE_UNIQUE = 1, 2, 3, 4
 
local config = {
        [13307] = {NAME = 'Wailing Widow',             	   	ID = 1,         TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The widow has run away."}, {2, "The widow has eaten the sweet bait."} }, SUCCESS_MSG = "You have tamed the widow."},
        [13298] = {NAME = 'Terror Bird',               	   	ID = 2,         TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The bird ran away."}, {3, "The terror bird is pecking you."} }, SUCCESS_MSG = "You have tamed the bird."},
        [5907] = {NAME = 'Bear',                         	ID = 3,         TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The bear ran away."}, {2, "Oh no! The slingshot broke."}, {3, "The bear is trying to hit you with its claws."} }, SUCCESS_MSG = "You have tamed the bear."},
        [13295] = {NAME = 'Black Sheep',                  	ID = 4,         TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The black sheep ran away."}, {2, "Oh no! The reins were torn."}, {3, "The black sheep is trying to run away."} }, SUCCESS_MSG = "You have tamed the sheep."},
        [13293] = {NAME = 'Midnight Panther',     		ID = 5,         TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The panther has escaped."}, {2, "The whip broke."} }, SUCCESS_MSG = "You have tamed the panther."},
        [13294] = {NAME = 'Draptor',                      	ID = 6,         TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The draptor has run away."}, {3, "The draptor has fled."} }, SUCCESS_MSG = "You have tamed the draptor."},
        [13305] = {NAME = 'Crustacea Gigantica', 	  	ID = 7,         TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The crustacea has run away."}, {2, "The crustacea ate the shrimp."} }, SUCCESS_MSG = "You have tamed the crustacea."},
        [13292] = {NAME = 'Tin Lizzard',                  	ID = 8,         TYPE = TYPE_NPC,        CHANCE = 15,    FAIL_MSG = { {2, "The key broke inside."} }, SUCCESS_MSG = "You have started the Tin Lizzard!"},
        [13247] = {NAME = 'Boar',                         	ID = 10,        TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The boar has run away"}, {3, "The boar attacks you."} }, SUCCESS_MSG = "You have tamed the boar."},
        [13291] = {NAME = 'Undead Cavebear',             	ID = 12,        TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The undead bear has run away."} }, SUCCESS_MSG = "You have tamed the skeleton."},
        [13537] = {NAME = 'Donkey',                       	ID = 13,        TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The witch has escaped!"} }, SUCCESS_MSG = "You have tamed the mule."},
        [13508] = {NAME = 'Slug',                         	ID = 14,        TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The slug has run away."}, {3, "The drug had no effect."} }, SUCCESS_MSG = "You have tamed the slug."},
        [13938] = {NAME = 'Uniwheel',                     	ID = 15,        TYPE = TYPE_NPC,        CHANCE = 15,    FAIL_MSG = { {2, "The oil is having no effect."} }, SUCCESS_MSG = "You have found an Uniwheel."},
        [13536] = {NAME = 'Crystal Wolf',                 	ID = 16,        TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The wolf has run away."} }, SUCCESS_MSG = "You have tamed the wolf."},
        [13539] = {NAME = 'White Deer',                   	ID = 18,        TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {2, "The cone broke."}, {3, "The deer has fled in fear."} }, SUCCESS_MSG = "You have tamed the deer."},
        [13538] = {NAME = 'Panda',                       	ID = 19,        TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {4, "Panda ate the leaves and ran away."} }, SUCCESS_MSG = "You have tamed the panda."},
        [13535] = {NAME = 'Dromedary',                  	ID = 20,        TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "Dromedary has run away."} }, SUCCESS_MSG = "You have tamed the dromedary."},
        [13498] = {NAME = 'King Scorpion',              	ID = 21,        TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The scorpion has vanished."}, {2, "Scorpion broken the sceptre."} }, SUCCESS_MSG = "You have tamed the scorpion"},
        [13939] = {NAME = 'War Horse',                    	ID = 23,        TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The horse runs away."}, {2, "The horse ate the oats."} }, SUCCESS_MSG = "You have tamed the horse."},
        [15546] = {NAME = 'Lady Bug',                           ID = 27,        TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The lady bug got scared and ran away."}, {3, "The lady bug is trying to nibble."} }, SUCCESS_MSG = "You have tamed the lady bug."},
        [15545] = {NAME = 'Manta Ray',                 		ID = 28,        TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The manta ray fled."}, {3, "The manta ray is trying to escape."} }, SUCCESS_MSG = "You have tamed the manta ray."},
        [18447] = {NAME = 'Ironblight',                  	ID = 29,        TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The ironblight fled."}, {3, "The ironblight is trying to escape."} }, SUCCESS_MSG = "You have tamed the ironblight."},
        [18448] = {NAME = 'Magma Crawler',                  	ID = 30,        TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The magma crawler fled."}, {3, "The magma crawler is trying to escape."} }, SUCCESS_MSG = "You have tamed the magma crawler."},
        [18449] = {NAME = 'Dragonling',                 	ID = 31,        TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The dragonling fled."}, {3, "The dragonling is trying to escape."} }, SUCCESS_MSG = "You have tamed the dragonling."},
        [18516] = {NAME = 'Modified Gnarlhound',                ID = 32,        TYPE = TYPE_MONSTER,    CHANCE = 15,    FAIL_MSG = { {1, "The modified gnarlhound fled."}, {3, "The modified gnarlhound is trying to escape."} }, SUCCESS_MSG = "You have tamed the modified gnarlhound."}
}
 
local function doFailAction(cid, mount, pos, item, itemEx)
        local action, effect = mount.FAIL_MSG[math.random(1, table.maxn(mount.FAIL_MSG))], CONST_ME_POFF
        if(action[1] == ACTION_RUN) then
                doRemoveCreature(itemEx.uid)
        elseif(action[1] == ACTION_BREAK) then
                effect = CONST_ME_BLOCKHIT
                doRemoveItem(item.uid, 2)
        elseif(action[1] == ACTION_ALL) then
                doRemoveCreature(itemEx.uid)
                doRemoveItem(item.uid, 2)
        end
 
        doSendMagicEffect(pos, effect)
        doCreatureSay(cid, action[2], TALKTYPE_MONSTER_SAY)
        return action
end
 
local function doTame(cid, mount, pos, item, itemEx)
	doPlayerAddMount(cid, mount.ID)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG)
 
	doCreatureSay(cid, mount.SUCCESS_MSG, TALKTYPE_MONSTER_SAY)
	doSendMagicEffect(toPosition, CONST_ME_POFF)
	doRemoveItem(item.uid, 1)
end
 
function onUse(cid, item, fromPosition, itemEx, toPosition)
        local mount = config[item.itemid]
        if(mount == nil or getPlayerMount(cid, mount.ID)) then
                return false
        end
 
        local rand = math.random(1, 100)
        --Monster Mount
        if(isMonster(itemEx.uid) and not isSummon(itemEx.uid) and mount.TYPE == TYPE_MONSTER) then
                if(mount.NAME == getCreatureName(itemEx.uid)) then
                        if (item.itemid == 18511) then
                        	doTame(cid, mount, pos, item, itemEx)
				doRemoveCreature(itemEx.uid)
                        	return true
			elseif (rand > mount.CHANCE) then
                                doFailAction(cid, mount, toPosition, item, itemEx)
                                return true
                        end
 
                        doTame(cid, mount, pos, item, itemEx)
			doRemoveCreature(itemEx.uid)
                        return true
                end
        --NPC Mount
        elseif(isNpc(itemEx.uid) and mount.TYPE == TYPE_NPC) then
                if(mount.NAME == getCreatureName(itemEx.uid)) then
                        if(rand > mount.CHANCE) then
                                doFailAction(cid, mount, toPosition, item, itemEx)
                                return true
                        end
 
                        doTame(cid, mount, pos, item, itemEx)
                        return true
                end
        --Action Mount
        elseif(itemEx.actionid > 0 and mount.TYPE == TYPE_ACTION) then
                if(mount.NAME == itemEx.actionid) then
                        if(rand > mount.CHANCE) then
                                doFailAction(cid, mount, toPosition, item, itemEx)
                                return true
                        end
 
                        doTame(cid, mount, pos, item, itemEx)
                        doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN)
                        return true
                end
        --Unique Mount
        elseif(itemEx.uid <= 65535 and mount.TYPE == TYPE_UNIQUE) then
                if(mount.NAME == itemEx.uid) then
                        if(rand > mount.CHANCE) then
                                doFailAction(cid, mount, toPosition, item, itemEx)
                                return true
                        end
 
                        doTame(cid, mount, pos, item, itemEx)
                        doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN)
 
                        doRemoveItem(item.uid, 2)
                        return true
                end
        end
 
        return false
end


Please help me,
 
Why you have:
doRemoveItem(item.uid, 2)
and not:
doRemoveItem(item.uid) or doRemoveItem(item.uid, 1)

Everything seems to be fine.
 
Back
Top