Postado Setembro 12, 2014 10 anos Bom gostaria que o item music box [id:18511] funcionasse igual no global. Gostaria que ele pudesse ser utilizado para domar qualquer montaria. Aqui está meu tamming.lua 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 = { [18516] = {NAME = 'Gnarlhound', ID = 32, TYPE = TYPE_MONSTER, CHANCE = 20, FAIL_MSG = { {1, "The gnarlhound ran away."}, {2, "Oh no! The golem Wrench broke."}, {3, "The gnarlhound has fled."} }, SUCCESS_MSG = "You have tamed the gnarlhound."}, [18448] = {NAME = 'Magma Crawler', ID = 30, TYPE = TYPE_MONSTER, CHANCE = 20, FAIL_MSG = { {1, "The magma crawler ran away."}, {2, "Oh no! The glow wine broke."}, {3, "The magma crawler has fled."} }, SUCCESS_MSG = "You have tamed the magma crawler."}, [18449] = {NAME = 'Dragonling', ID = 31, TYPE = TYPE_MONSTER, CHANCE = 20, FAIL_MSG = { {1, "The dragonling ran away."}, {2, "Oh no! The decorative ribbon broke."}, {3, "The dragonling has fled."} }, SUCCESS_MSG = "You have tamed the dragonling."}, [18447] = {NAME = 'Ironblight', ID = 29, TYPE = TYPE_MONSTER, CHANCE = 20, FAIL_MSG = { {1, "The ironblight ran away."}, {2, "Oh no! iron loadstone broke."}, {3, "The ironblight has fled."} }, SUCCESS_MSG = "You have tamed the ironblight."}, [22608] = {NAME = 'Shock Head', ID = 42, TYPE = TYPE_MONSTER, CHANCE = 20, FAIL_MSG = { {1, "The shock head ran away."}, {2, "Oh no! The nightmare horn broke."}, {3, "The shock head has fled."} }, SUCCESS_MSG = "You have tamed the shock head."}, [5907] = {NAME = 'Bear', ID = 3, TYPE = TYPE_MONSTER, CHANCE = 20, 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 = 25, 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 = 40, FAIL_MSG = { {1, "The panther has escaped."}, {2, "The whip broke."} }, SUCCESS_MSG = "You have tamed the panther."}, [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."}, [13247] = {NAME = 'Boar', ID = 10, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The boar has run away"}, {3, "The boar attacks you."} }, SUCCESS_MSG = "You have tamed the boar."}, [13305] = {NAME = 'Crustacea Gigantica', ID = 7, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The crustacea has run away."}, {2, "The crustacea ate the shrimp."} }, SUCCESS_MSG = "You have tamed the crustacea."}, [13291] = {NAME = 'Undead Cavebear', ID = 12, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The undead bear has run away."} }, SUCCESS_MSG = "You have tamed the skeleton."}, [13307] = {NAME = 'Wailing Widow', ID = 1, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The widow has run away."}, {2, "The widow has eaten the sweet bait."} }, SUCCESS_MSG = "You have tamed the widow."}, [13292] = {NAME = 'inoperative tin lizzard', ID = 8, TYPE = TYPE_ITEM, CHANCE = 40, FAIL_MSG = { {2, "The key broke inside."} }, SUCCESS_MSG = "You have started the Tin Lizzard!"}, [13294] = {NAME = 'Draptor', ID = 6, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The draptor has run away."}, {3, "The draptor has fled."} }, SUCCESS_MSG = "You have tamed the draptor."}, [13536] = {NAME = 'Crystal Wolf', ID = 16, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The wolf has run away."} }, SUCCESS_MSG = "You have tamed the wolf."}, [13539] = {NAME = 'Enraged White Deer', ID = 18, TYPE = TYPE_MONSTER, CHANCE = 40, 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 = 40, 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 = 40, FAIL_MSG = { {1, "Dromedary has run away."} }, SUCCESS_MSG = "You have tamed the dromedary."}, [13498] = {NAME = 'Sandstone Scorpion', ID = 21, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The scorpion has vanished."}, {2, "Scorpion broken the sceptre."} }, SUCCESS_MSG = "You have tamed the scorpion"}, [13537] = {NAME = 'Donkey', ID = 13, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The witch has escaped!"} }, SUCCESS_MSG = "You have tamed the mule."}, [13938] = {NAME = 'inoperative uniwheel', ID = 15, TYPE = TYPE_ITEM, CHANCE = 40, FAIL_MSG = { {2, "The oil is having no effect."} }, SUCCESS_MSG = "You have found an Uniwheel."}, [13508] = {NAME = 'Slug', ID = 14, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The slug has run away."}, {3, "The drug had no effect."} }, SUCCESS_MSG = "You have tamed the slug."}, [13939] = {NAME = 'Wild Horse', ID = 17, 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."}, [15545] = {NAME = 'Manta Ray', ID = 28, TYPE = TYPE_MONSTER, CHANCE = 30, FAIL_MSG = { {1, "The manta ray fled."}, {3, "The manta ray is trying to escape."} }, SUCCESS_MSG = "You have tamed the manta ray."}, [15546] = {NAME = 'Lady Bug', ID = 27, TYPE = TYPE_MONSTER, CHANCE = 30, FAIL_MSG = { {1, "The ladybug got scared and ran away."}, {3, "The ladybug is trying to nibble."} }, SUCCESS_MSG = "You tame a ladybug."}, [20138] = {NAME = 'Water Buffalo', ID = 35, TYPE = TYPE_MONSTER, CHANCE = 30, FAIL_MSG = { {1, "The water buffalo got scared and ran away."}, {3, "The water buffalo is trying to nibble."} }, SUCCESS_MSG = "You tamed a water buffalo."} } 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 Creature(itemEx.uid):remove() elseif(action[1] == ACTION_BREAK) then effect = CONST_ME_BLOCKHIT Item(item.uid):remove(1) elseif(action[1] == ACTION_ALL) then Creature(itemEx.uid):remove() Item(item.uid):remove(1) end Position(pos):sendMagicEffect(effect) Player(cid):say(action[2], TALKTYPE_ORANGE_1) return action end function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) local monster = Monster(itemEx.uid) local npc = Npc(itemEx.uid) local targetitem = Item(itemEx.uid) local mount = config[item.itemid] if mount == nil or player:hasMount(mount.ID) then return false end local rand = math.random(1, 100) --Monster Mount if monster ~= nil and mount.TYPE == TYPE_MONSTER then if Creature(itemEx.uid):getMaster() then player:say("You cant tame a summon!", TALKTYPE_ORANGE_1) return true end if mount.NAME == monster:getName() then if rand > mount.CHANCE then doFailAction(cid, mount, toPosition, item, itemEx) return true end player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) monster:remove() toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) return true end --NPC Mount elseif npc ~= nil and mount.TYPE == TYPE_NPC then if mount.NAME == npc:getName() then if rand > mount.CHANCE then doFailAction(cid, mount, toPosition, item, itemEx) return true end player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) return true end --Item Mount elseif targetitem ~= nil and mount.TYPE == TYPE_ITEM then if mount.NAME == targetitem:getName() then if rand > mount.CHANCE then doFailAction(cid, mount, toPosition, item, itemEx) return true end player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) 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 player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) 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 player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) return true end end return false end
Postado Setembro 12, 2014 10 anos Opa, conteudo interessante espero que alguem te ajude, eu também quero pro meu projeto vai ficar muito bom :3
Postado Setembro 15, 2014 10 anos Solução Este é um post popular. Esta ai... adaptei o script postado para funcionar como Music Box, doma todos os que estão configurados. Se precisar de ajuda para configurar alguma outra mount ( O script suporta domar itens, monstros e até NPCs... ) só pedir. No arquivo actions.xml adicione a seguinte tag: <action itemid="18511" script="musicbox.lua"/> Crie o arquivo musicbox.lua em otserver/data/actions/scripts e coloque nele: 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 = { ["Gnarlhound"] = {NAME = 'Gnarlhound', ID = 32, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The gnarlhound ran away."}, {2, "Oh no! The golem Wrench broke."}, {3, "The gnarlhound has fled."} }, SUCCESS_MSG = "You have tamed the gnarlhound."}, ["Magma Crawler"] = {NAME = 'Magma Crawler', ID = 30, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The magma crawler ran away."}, {2, "Oh no! The glow wine broke."}, {3, "The magma crawler has fled."} }, SUCCESS_MSG = "You have tamed the magma crawler."}, ["Dragonling"] = {NAME = 'Dragonling', ID = 31, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The dragonling ran away."}, {2, "Oh no! The decorative ribbon broke."}, {3, "The dragonling has fled."} }, SUCCESS_MSG = "You have tamed the dragonling."}, ["Ironblight"] = {NAME = 'Ironblight', ID = 29, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The ironblight ran away."}, {2, "Oh no! iron loadstone broke."}, {3, "The ironblight has fled."} }, SUCCESS_MSG = "You have tamed the ironblight."}, ["Shock Head"] = {NAME = 'Shock Head', ID = 42, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The shock head ran away."}, {2, "Oh no! The nightmare horn broke."}, {3, "The shock head has fled."} }, SUCCESS_MSG = "You have tamed the shock head."}, ["Bear"] = {NAME = 'Bear', ID = 3, TYPE = TYPE_MONSTER, CHANCE = 100, 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."}, ["Black Sheep"] = {NAME = 'Black Sheep', ID = 4, TYPE = TYPE_MONSTER, CHANCE = 100, 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."}, ["Midnight Panther"] = {NAME = 'Midnight Panther', ID = 5, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The panther has escaped."}, {2, "The whip broke."} }, SUCCESS_MSG = "You have tamed the panther."}, ["Terror Bird"] = {NAME = 'Terror Bird', ID = 2, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The bird ran away."}, {3, "The terror bird is pecking you."} }, SUCCESS_MSG = "You have tamed the bird."}, ["Boar"] = {NAME = 'Boar', ID = 10, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The boar has run away"}, {3, "The boar attacks you."} }, SUCCESS_MSG = "You have tamed the boar."}, ["Crustacea Gigantica"] = {NAME = 'Crustacea Gigantica', ID = 7, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The crustacea has run away."}, {2, "The crustacea ate the shrimp."} }, SUCCESS_MSG = "You have tamed the crustacea."}, ["Undead Cavebear"] = {NAME = 'Undead Cavebear', ID = 12, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The undead bear has run away."} }, SUCCESS_MSG = "You have tamed the skeleton."}, ["Wailing Widow"] = {NAME = 'Wailing Widow', ID = 1, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The widow has run away."}, {2, "The widow has eaten the sweet bait."} }, SUCCESS_MSG = "You have tamed the widow."}, ["inoperative tin lizzard"] = {NAME = 'inoperative tin lizzard', ID = 8, TYPE = TYPE_ITEM, CHANCE = 100, FAIL_MSG = { {2, "The key broke inside."} }, SUCCESS_MSG = "You have started the Tin Lizzard!"}, ["Draptor"] = {NAME = 'Draptor', ID = 6, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The draptor has run away."}, {3, "The draptor has fled."} }, SUCCESS_MSG = "You have tamed the draptor."}, ["Crystal Wolf"] = {NAME = 'Crystal Wolf', ID = 16, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The wolf has run away."} }, SUCCESS_MSG = "You have tamed the wolf."}, ["Enraged White Deer"] = {NAME = 'Enraged White Deer', ID = 18, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {2, "The cone broke."}, {3, "The deer has fled in fear."} }, SUCCESS_MSG = "You have tamed the deer."}, ["Panda"] = {NAME = 'Panda', ID = 19, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {4, "Panda ate the leaves and ran away."} }, SUCCESS_MSG = "You have tamed the panda."}, ["Dromedary"] = {NAME = 'Dromedary', ID = 20, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "Dromedary has run away."} }, SUCCESS_MSG = "You have tamed the dromedary."}, ["Sandstone Scorpion"] = {NAME = 'Sandstone Scorpion', ID = 21, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The scorpion has vanished."}, {2, "Scorpion broken the sceptre."} }, SUCCESS_MSG = "You have tamed the scorpion"}, ["Donkey"] = {NAME = 'Donkey', ID = 13, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The witch has escaped!"} }, SUCCESS_MSG = "You have tamed the mule."}, ["inoperative uniwheel"] = {NAME = 'inoperative uniwheel', ID = 15, TYPE = TYPE_ITEM, CHANCE = 100, FAIL_MSG = { {2, "The oil is having no effect."} }, SUCCESS_MSG = "You have found an Uniwheel."}, ["Slug"] = {NAME = 'Slug', ID = 14, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The slug has run away."}, {3, "The drug had no effect."} }, SUCCESS_MSG = "You have tamed the slug."}, ["Wild Horse"] = {NAME = 'Wild Horse', ID = 17, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The horse runs away."}, {2, "The horse ate the oats."} }, SUCCESS_MSG = "You have tamed the horse."}, ["Manta Ray"] = {NAME = 'Manta Ray', ID = 28, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The manta ray fled."}, {3, "The manta ray is trying to escape."} }, SUCCESS_MSG = "You have tamed the manta ray."}, ["Lady Bug"] = {NAME = 'Lady Bug', ID = 27, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The ladybug got scared and ran away."}, {3, "The ladybug is trying to nibble."} }, SUCCESS_MSG = "You tame a ladybug."}, ["Water Buffalo"] = {NAME = 'Water Buffalo', ID = 35, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The water buffalo got scared and ran away."}, {3, "The water buffalo is trying to nibble."} }, SUCCESS_MSG = "You tamed a water buffalo."} } 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 Creature(itemEx.uid):remove() elseif(action[1] == ACTION_BREAK) then effect = CONST_ME_BLOCKHIT Item(item.uid):remove(1) elseif(action[1] == ACTION_ALL) then Creature(itemEx.uid):remove() Item(item.uid):remove(1) end Position(pos):sendMagicEffect(effect) Player(cid):say(action[2], TALKTYPE_ORANGE_1) return action end function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) if not Monster(itemEx.uid) then return true end local monster = Monster(itemEx.uid) local npc = Npc(itemEx.uid) local targetitem = Item(itemEx.uid) local mount = config[monster:getName()] if mount == nil then return false end if player:hasMount(mount.ID) then player:say("You already own this mount!", TALKTYPE_ORANGE_1) return false end local rand = math.random(1, 100) --Monster Mount if monster ~= nil and mount.TYPE == TYPE_MONSTER then if Creature(itemEx.uid):getMaster() then player:say("You cant tame a summon!", TALKTYPE_ORANGE_1) return true end if mount.NAME == monster:getName() then if rand > mount.CHANCE then doFailAction(cid, mount, toPosition, item, itemEx) return true end player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) monster:remove() toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) return true else toPosition:sendMagicEffect(CONST_ME_POFF) end --NPC Mount elseif npc ~= nil and mount.TYPE == TYPE_NPC then if mount.NAME == npc:getName() then if rand > mount.CHANCE then doFailAction(cid, mount, toPosition, item, itemEx) return true end player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) return true end --Item Mount elseif targetitem ~= nil and mount.TYPE == TYPE_ITEM then if mount.NAME == targetitem:getName() then if rand > mount.CHANCE then doFailAction(cid, mount, toPosition, item, itemEx) return true end player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) 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 player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) 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 player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) return true end end return false end
Postado Setembro 15, 2014 10 anos Autor Esta ai... adaptei o script postado para funcionar como Music Box, doma todos os que estão configurados. Se precisar de ajuda para configurar alguma outra mount ( O script suporta domar itens, monstros e até NPCs... ) só pedir. No arquivo actions.xml adicione a seguinte tag: <action itemid="18511" script="musicbox.lua"/> Crie o arquivo musicbox.lua em otserver/data/actions/scripts e coloque nele: 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 = { ["Gnarlhound"] = {NAME = 'Gnarlhound', ID = 32, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The gnarlhound ran away."}, {2, "Oh no! The golem Wrench broke."}, {3, "The gnarlhound has fled."} }, SUCCESS_MSG = "You have tamed the gnarlhound."}, ["Magma Crawler"] = {NAME = 'Magma Crawler', ID = 30, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The magma crawler ran away."}, {2, "Oh no! The glow wine broke."}, {3, "The magma crawler has fled."} }, SUCCESS_MSG = "You have tamed the magma crawler."}, ["Dragonling"] = {NAME = 'Dragonling', ID = 31, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The dragonling ran away."}, {2, "Oh no! The decorative ribbon broke."}, {3, "The dragonling has fled."} }, SUCCESS_MSG = "You have tamed the dragonling."}, ["Ironblight"] = {NAME = 'Ironblight', ID = 29, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The ironblight ran away."}, {2, "Oh no! iron loadstone broke."}, {3, "The ironblight has fled."} }, SUCCESS_MSG = "You have tamed the ironblight."}, ["Shock Head"] = {NAME = 'Shock Head', ID = 42, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The shock head ran away."}, {2, "Oh no! The nightmare horn broke."}, {3, "The shock head has fled."} }, SUCCESS_MSG = "You have tamed the shock head."}, ["Bear"] = {NAME = 'Bear', ID = 3, TYPE = TYPE_MONSTER, CHANCE = 100, 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."}, ["Black Sheep"] = {NAME = 'Black Sheep', ID = 4, TYPE = TYPE_MONSTER, CHANCE = 100, 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."}, ["Midnight Panther"] = {NAME = 'Midnight Panther', ID = 5, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The panther has escaped."}, {2, "The whip broke."} }, SUCCESS_MSG = "You have tamed the panther."}, ["Terror Bird"] = {NAME = 'Terror Bird', ID = 2, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The bird ran away."}, {3, "The terror bird is pecking you."} }, SUCCESS_MSG = "You have tamed the bird."}, ["Boar"] = {NAME = 'Boar', ID = 10, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The boar has run away"}, {3, "The boar attacks you."} }, SUCCESS_MSG = "You have tamed the boar."}, ["Crustacea Gigantica"] = {NAME = 'Crustacea Gigantica', ID = 7, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The crustacea has run away."}, {2, "The crustacea ate the shrimp."} }, SUCCESS_MSG = "You have tamed the crustacea."}, ["Undead Cavebear"] = {NAME = 'Undead Cavebear', ID = 12, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The undead bear has run away."} }, SUCCESS_MSG = "You have tamed the skeleton."}, ["Wailing Widow"] = {NAME = 'Wailing Widow', ID = 1, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The widow has run away."}, {2, "The widow has eaten the sweet bait."} }, SUCCESS_MSG = "You have tamed the widow."}, ["inoperative tin lizzard"] = {NAME = 'inoperative tin lizzard', ID = 8, TYPE = TYPE_ITEM, CHANCE = 100, FAIL_MSG = { {2, "The key broke inside."} }, SUCCESS_MSG = "You have started the Tin Lizzard!"}, ["Draptor"] = {NAME = 'Draptor', ID = 6, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The draptor has run away."}, {3, "The draptor has fled."} }, SUCCESS_MSG = "You have tamed the draptor."}, ["Crystal Wolf"] = {NAME = 'Crystal Wolf', ID = 16, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The wolf has run away."} }, SUCCESS_MSG = "You have tamed the wolf."}, ["Enraged White Deer"] = {NAME = 'Enraged White Deer', ID = 18, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {2, "The cone broke."}, {3, "The deer has fled in fear."} }, SUCCESS_MSG = "You have tamed the deer."}, ["Panda"] = {NAME = 'Panda', ID = 19, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {4, "Panda ate the leaves and ran away."} }, SUCCESS_MSG = "You have tamed the panda."}, ["Dromedary"] = {NAME = 'Dromedary', ID = 20, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "Dromedary has run away."} }, SUCCESS_MSG = "You have tamed the dromedary."}, ["Sandstone Scorpion"] = {NAME = 'Sandstone Scorpion', ID = 21, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The scorpion has vanished."}, {2, "Scorpion broken the sceptre."} }, SUCCESS_MSG = "You have tamed the scorpion"}, ["Donkey"] = {NAME = 'Donkey', ID = 13, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The witch has escaped!"} }, SUCCESS_MSG = "You have tamed the mule."}, ["inoperative uniwheel"] = {NAME = 'inoperative uniwheel', ID = 15, TYPE = TYPE_ITEM, CHANCE = 100, FAIL_MSG = { {2, "The oil is having no effect."} }, SUCCESS_MSG = "You have found an Uniwheel."}, ["Slug"] = {NAME = 'Slug', ID = 14, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The slug has run away."}, {3, "The drug had no effect."} }, SUCCESS_MSG = "You have tamed the slug."}, ["Wild Horse"] = {NAME = 'Wild Horse', ID = 17, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The horse runs away."}, {2, "The horse ate the oats."} }, SUCCESS_MSG = "You have tamed the horse."}, ["Manta Ray"] = {NAME = 'Manta Ray', ID = 28, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The manta ray fled."}, {3, "The manta ray is trying to escape."} }, SUCCESS_MSG = "You have tamed the manta ray."}, ["Lady Bug"] = {NAME = 'Lady Bug', ID = 27, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The ladybug got scared and ran away."}, {3, "The ladybug is trying to nibble."} }, SUCCESS_MSG = "You tame a ladybug."}, ["Water Buffalo"] = {NAME = 'Water Buffalo', ID = 35, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The water buffalo got scared and ran away."}, {3, "The water buffalo is trying to nibble."} }, SUCCESS_MSG = "You tamed a water buffalo."} } 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 Creature(itemEx.uid):remove() elseif(action[1] == ACTION_BREAK) then effect = CONST_ME_BLOCKHIT Item(item.uid):remove(1) elseif(action[1] == ACTION_ALL) then Creature(itemEx.uid):remove() Item(item.uid):remove(1) end Position(pos):sendMagicEffect(effect) Player(cid):say(action[2], TALKTYPE_ORANGE_1) return action end function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) if not Monster(itemEx.uid) then return true end local monster = Monster(itemEx.uid) local npc = Npc(itemEx.uid) local targetitem = Item(itemEx.uid) local mount = config[monster:getName()] if mount == nil then return false end if player:hasMount(mount.ID) then player:say("You already own this mount!", TALKTYPE_ORANGE_1) return false end local rand = math.random(1, 100) --Monster Mount if monster ~= nil and mount.TYPE == TYPE_MONSTER then if Creature(itemEx.uid):getMaster() then player:say("You cant tame a summon!", TALKTYPE_ORANGE_1) return true end if mount.NAME == monster:getName() then if rand > mount.CHANCE then doFailAction(cid, mount, toPosition, item, itemEx) return true end player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) monster:remove() toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) return true else toPosition:sendMagicEffect(CONST_ME_POFF) end --NPC Mount elseif npc ~= nil and mount.TYPE == TYPE_NPC then if mount.NAME == npc:getName() then if rand > mount.CHANCE then doFailAction(cid, mount, toPosition, item, itemEx) return true end player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) return true end --Item Mount elseif targetitem ~= nil and mount.TYPE == TYPE_ITEM then if mount.NAME == targetitem:getName() then if rand > mount.CHANCE then doFailAction(cid, mount, toPosition, item, itemEx) return true end player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) 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 player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) 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 player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) return true end end return false end PERFEITO REP+! OBRIGADO DE CORAÇÃO! Editado Setembro 15, 2014 10 anos por Jack Zika (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.