Jump to content
×
×
  • Create New...

Yan Oliveira

Moderador
  • Posts

    2142
  • Joined

  • Last visited

  • Days Won

    48

Yan Oliveira last won the day on November 1

Yan Oliveira had the most liked content!

About Yan Oliveira

  • Rank
    Yan18

Perfil

  • Gênero
    Masculino

Informações

  • Forma que conheci o xTibia
    Sites de Busca
  • Sou
    Scripter

Recent Profile Visitors

5530 profile views
  1. Tibiaotserv voce pode me ajudar? queria 2 scripts .

    1- era pq eu tenho muita addons eu queria um script ex:/outfit druid ou /outfit mage por exemplo, ai mudava pra esse addon mas só podia mudar se a pessoa tivesse o addon

     

    2- era tipo um item que dava um addon, mas removia outro addon mas a pessoa não podia escolher qual ia ser removido, eu msmo que ia modificar no script

     

    e tbm gostaria de sabe pq não aparece todos os addons pra mim eu tenho 32 addons todos estão funcionando ok

    mas tipo no select character o limite ta 25 addons ai eu falo !addon druid ,ele remove 1 addon pra entrar esse addon que adicionei

  2. Tutorial explicando e ensinando a como usar diretamente essa janela doShowTextDialog() acho que não tem, mas tem alguns tutoriais ensinando a usar para coisas específicas, como por exemplo, um tutorial meu de colocar todas as quests do servidor nela: https://xtibia.com/forum/topic/251549-quest-log-em-janela/?tab=comments#comment-1759135 Como não sei se você possui algum conhecimento em programação, vou fazer para você, mas se tiver, pode entrar nesse link do meu tutorial e colocar somente os textos desejados. Vai em Data/Talkactions/Scripts e crie um arquivo chamado rules.lua e adicione o script dentro: Se seu servidor for TFS 0.x adicione esse script: -- AVISOS -- local avisos = { [1] = "Não ofender ninguém.", [2] = "Não compartilhar sua conta com nenhuma pessoa.", [3] = "Respeitar todos os jogadores.", } -- DICAS -- local dicas = { [1] = "Se você estiver com algum problema, reporte para a administração utilizando o atalho CTRL+R.", [2] = "Para saber quantos jogadores há online, utilize o comando !online.", } -------------- VARIÁVEIS ------------- local id_icon_item = 2160 -- ID DO ITEM QUE FICARÁ COMO ÍCONE DA JANELA local text = "" -- TEXTO QUE CONCATENARÁ TODAS AS MENSAGENS PARA ADICIONAR NA JANELA ------------------------ CÓDIGO ---------------------------- function onSay(cid, words, param) -- REGRAS -- for index, value in ipairs(avisos) do if index == 1 then text = "\t- REGRAS" text = text .. "\n\n" .. index .. "- " .. value elseif index > 1 and index < #avisos then text = text .. "\n" .. index .. "- " .. value else text = text .. "\n" .. index .. "- " .. value .. "\n\n\n" end end -- DICAS -- for index, value in ipairs(dicas) do if index == 1 then text = text .. "\t- DICAS" text = text .. "\n\n" .. index .. "- " .. value elseif index > 1 and index < #avisos then text = text .. "\n" .. index .. "- " .. value else text = text .. "\n" .. index .. "- " .. value end end return doShowTextDialog(cid, id_icon_item, text) end Se for TFS 1.X, adicione esse script: -- AVISOS -- local avisos = { [1] = "Não ofender ninguém.", [2] = "Não compartilhar sua conta com nenhuma pessoa.", [3] = "Respeitar todos os jogadores.", } -- DICAS -- local dicas = { [1] = "Se você estiver com algum problema, reporte para a administração utilizando o atalho CTRL+R.", [2] = "Para saber quantos jogadores há online, utilize o comando !online.", } -------------- VARIÁVEIS ------------- local id_icon_item = 2160 -- ID DO ITEM QUE FICARÁ COMO ÍCONE DA JANELA local text = "" -- TEXTO QUE CONCATENARÁ TODAS AS MENSAGENS PARA ADICIONAR NA JANELA ------------------------ CÓDIGO ---------------------------- function onSay(player, words, param, channel) -- REGRAS -- for index, value in ipairs(avisos) do if index == 1 then text = "\t- REGRAS" text = text .. "\n\n" .. index .. "- " .. value elseif index > 1 and index < #avisos then text = text .. "\n" .. index .. "- " .. value else text = text .. "\n" .. index .. "- " .. value .. "\n\n\n" end end -- DICAS -- for index, value in ipairs(dicas) do if index == 1 then text = text .. "\t- DICAS" text = text .. "\n\n" .. index .. "- " .. value elseif index > 1 and index < #avisos then text = text .. "\n" .. index .. "- " .. value else text = text .. "\n" .. index .. "- " .. value end end return player:showTextDialog(id_icon_item, text) end Agora vá abra o talkactions.xml e adicione a tag: <talkaction words="!rules" event="script" value="rules.lua"/> <!-- SE QUISER MUDAR O COMANDO, SÓ MUDAR DENTRO DE words --> As únicas coisas que você precisará mexer é nas tabelas que contém as mensagens, coloquei textos genéricos, e o id do ícone que ficará na janela que está na variável id_icon_item (coloquei um id aleatório). Eu deixei o comando !rules para executar o comando na tag do xml, então usando o comando, esse será o resultado:
  3. Nas próximas vezes, tente postar os códigos dentro da tag CODE, pois além de ficar mais fácil para ver o script, não precisa baixar arquivos. Troque o order.lua da pasta Actions por este: local skills = specialabilities local surfborders = {4644, 4645, 4646, 4647, 4648, 4649, 4650, 4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663} local storages = {17000, 63215, 17001, 13008, 5700} --alterado v1.9 \/ local unfix = {x = 1, y = 1, z = 1} local txt = { ["rock smash"] = {"break that rock!", "smash that rock!", "destroy that rock!", "smash it!", "break it!", "destroy it!"}, ["cut"] = {"cut that bush!", "cut it down!", "cut it off!", "cut off that bush!", "cut down that bush!", "cut that bush down!"}, ["move"] = {"move!", "move there!", "go there!", "walk there!"}, ["light"] = {"flash!", "light!", "flash this place!", "light up this place!"}, ["dig"] = {"open that hole!", "dig that hole!", "open it!", "dig it!"}, ["blink"] = {"teleport there!", "blink there!", "blink!", "teleport!"}, ["ride"] = {"let me ride you!", "let's ride!", "let me mount you!", "let me get on you!"}, ["fly"] = {"let's fly!", "let me get on you!"} , ["untransform"] = {"go back to normal!", "transform into yourself again!", "stop transformation!"}, ["headbutt"] = {"headbutt on three", "headbutt that three!", "headbutt it off"}, ["levitate_fly"] = {"let's levitate!", "let me get on you!", "let's scary someone!"}, --alterado v1.8 } function onUse(cid, item, frompos, item2, topos) local checkpos = topos checkpos.stackpos = 0 if getPlayerStorageValue(cid, 75846) >= 1 then return true end --alterado v1.9 if getTileThingByPos(checkpos).uid <= 0 then return true end --------SKETCH--------------- local lockedpokes = {""} if isPlayer(cid) and #getCreatureSummons(cid) > 0 and getCreatureName(getCreatureSummons(cid)[1]) == "Smeargle" and getPlayerStorageValue(getCreatureSummons(cid)[1], 18554) > 0 then if isMonster(item2.uid) and isInArray(lockedpokes, getCreatureName(item2.uid)) then doPlayerSendTextMessage(cid, 20, "You can't copy this move.") return true end local lockedcds = {""} for x=1, 8 do table.insert(lockedcds, "Sketch "..x) end local canShiny = true local smeargle = getCreatureSummons(cid)[1] local tocopy = item2.uid local selfball = getPlayerSlotItem(cid, 8).uid if (isShinyName(getCreatureName(item2.uid)) and canShiny) or not isShinyName(getCreatureName(item2.uid)) then if getPlayerStorageValue(smeargle, 18554) then for x=1, 8 do if getPlayerStorageValue(smeargle, 18554) == x and movestable[getCreatureName(tocopy)] and movestable[getCreatureName(tocopy)]["move"..(x)] and not isInArray(lockedcds, movestable[getCreatureName(tocopy)]["move"..(x)].name) then if not smeargleHaveSpell(cid, movestable[getCreatureName(tocopy)]["move"..(x)].name) then doItemSetAttribute(selfball, "skt"..(x), getCreatureName(tocopy)) else doPlayerSendTextMessage(cid, 20, "You smeargle already have this move.") end end end setPlayerStorageValue(smeargle, 18554, -1) end doUpdateMoves(cid) return true else doPlayerSendTextMessage(cid, 20, "You can't copy moves of shinyes pokemons.") end end --------END FLY/RIDE -------- if getCreatureCondition(cid, CONDITION_OUTFIT) and (item2.uid == cid or getRecorderPlayer(topos) == cid) and (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1) then if isInArray({460, 11675, 11676, 11677}, getTileInfo(getThingPos(cid)).itemid) then doPlayerSendCancel(cid, "You can\'t stop flying at this height!") return true end local item = getPlayerSlotItem(cid, 8) local pokemon = getItemAttribute(item.uid, "poke") local x = pokes[pokemon] if getTileInfo(getThingPos(cid)).itemid >= 4820 and getTileInfo(getThingPos(cid)).itemid <= 4825 then doPlayerSendCancel(cid, "You can\'t stop flying above the water!") return true end doSummonMonster(cid, pokemon) local pk = getCreatureSummons(cid)[1] if not isCreature(pk) then pk = doCreateMonster(pokemon, backupPos) if not isCreature(pk) then doPlayerSendCancel(cid, "You can't stop flying/riding here.") return true end doConvinceCreature(cid, pk) end doTeleportThing(pk, getThingPos(cid), false) doCreatureSetLookDir(pk, getCreatureLookDir(cid)) adjustStatus(pk, item.uid, true, false, true) doPlayerSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", let me get down!", 1) doRegainSpeed(cid) doRemoveCondition(cid, CONDITION_OUTFIT) setPlayerStorageValue(cid, 17000, -1) setPlayerStorageValue(cid, 17001, -1) if useOTClient then doUpdateMoves(cid) doPlayerSendCancel(cid, '12//,show') --alterado v1.9 end return true end ----------------------------- local player = getRecorderPlayer(topos) --alterado v1.8 \/ -------- DUEL SYSTEM ------------------------ if isPlayer(player) and player ~= cid and getPlayerStorageValue(player, 6598754) <= -1 and getPlayerStorageValue(player, 52480) <= -1 then if getPlayerStorageValue(cid, 52480) <= -1 or (getPlayerStorageValue(cid, 52481) >= 1 and getPlayerStorageValue(cid, 52482) ~= -1) then --- for s = 1, #storages do if getPlayerStorageValue(cid, storages[s]) >= 1 then return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!") end end if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then return doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!") end if #getCreatureSummons(cid) < 1 then return doPlayerSendTextMessage(cid, 20, "You need a pokemon to invit someone to duel!") end --- if getPlayerStorageValue(cid, 52480) <= -1 then doPlayerSetVocation(cid, 7) openChannelDialog(cid) setPlayerStorageValue(cid, 52480, 1) setPlayerStorageValue(cid, 6598754, 5) setPlayerStorageValue(cid, 52482, getCreatureName(cid)..",") setPlayerStorageValue(cid, 52483, getCreatureName(player)..",") doCreatureSetSkullType(cid, 2) doSendAnimatedText(getThingPosWithDebug(cid), "FIRST TEAM", 215) return true elseif getPlayerStorageValue(cid, 52481) >= 1 and getPlayerStorageValue(cid, 52482) ~= -1 then local t1 = string.explode(getPlayerStorageValue(cid, 52482), ",") local t2 = string.explode(getPlayerStorageValue(cid, 52483), ",") if (#t1 >= getPlayerStorageValue(cid, 52480) and #t2 >= getPlayerStorageValue(cid, 52480)) or (isInArray(t1, getCreatureName(player)) or isInArray(t2, getCreatureName(player))) then return true end local sto2, sto3, name = getPlayerStorageValue(cid, 52482), getPlayerStorageValue(cid, 52483), getCreatureName(player) if getPlayerStorageValue(cid, 52480) == 2 then setPlayerStorageValue(cid, 52483, sto3.. name..",") --time adversario doSendAnimatedText(getThingPosWithDebug(player), "SECOND TEAM", 215) elseif getPlayerStorageValue(cid, 52480) == 3 and #t1 < 3 then setPlayerStorageValue(cid, 52482, sto2.. name..",") --time aliado doSendAnimatedText(getThingPosWithDebug(player), "FIRST TEAM", 215) elseif getPlayerStorageValue(cid, 52480) == 3 and #t1 >= 3 then setPlayerStorageValue(cid, 52483, sto3.. name..",") --time adversario doSendAnimatedText(getThingPosWithDebug(player), "SECOND TEAM", 215) end setPlayerStorageValue(player, 52481, getPlayerStorageValue(cid, 52481)) setPlayerStorageValue(player, 52485, getCreatureName(cid)) local players, pokes = getPlayerStorageValue(cid, 52480), getPlayerStorageValue(cid, 52481) local str = {} table.insert(str, getCreatureName(cid).." is inviting you to a duel! Use order in him to accept it!\n") table.insert(str, "Info Battle: Duel "..players.."x"..players.." - "..pokes.." pokes.") --alterado v1.9 doPlayerSendTextMessage(player, 20, table.concat(str)) return true end end --- elseif isPlayer(player) and player ~= cid and getPlayerStorageValue(player, 6598754) == 5 and getPlayerStorageValue(player, 52481) >= 1 then local t1 = string.explode(getPlayerStorageValue(player, 52482), ",") local t2 = string.explode(getPlayerStorageValue(player, 52483), ",") --- if not isInArray(t1, getCreatureName(cid)) and not isInArray(t2, getCreatureName(cid)) then return true end --- for s = 1, #storages do if getPlayerStorageValue(cid, storages[s]) >= 1 then return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!") end end if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then return doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!") end local pokes = getLivePokeballs(cid, getPlayerSlotItem(cid, 3).uid, true) if #pokes < getPlayerStorageValue(player, 52481) then return doPlayerSendTextMessage(cid, 20, "You need atleast ".. getPlayerStorageValue(player, 52481).." pokemons to duel with this person!") end if getPlayerStorageValue(cid, 52482) ~= -1 then return doPlayerSendTextMessage(cid, 20, "You already invit someone to duel!") end if #getCreatureSummons(cid) < 1 then return doPlayerSendTextMessage(cid, 20, "You need a pokemon to accept a duel!") end --- setPlayerStorageValue(cid, 52480, getPlayerStorageValue(player, 52480)) setPlayerStorageValue(player, 52484, getPlayerStorageValue(player, 52484)-1) if getPlayerStorageValue(player, 52484) == 0 then for a = 1, #t1 do local pid, sid = getPlayerByName(t1[a]), getPlayerByName(t2[a]) if not isCreature(pid) or getPlayerStorageValue(pid, 52480) <= -1 then removeFromTableDuel(player, t1[a]) else doCreatureSetSkullType(pid, 1) end if not isCreature(sid) or getPlayerStorageValue(sid, 52480) <= -1 then removeFromTableDuel(player, t2[a]) else doCreatureSetSkullType(sid, 1) end end beginDuel(player, 6) else doCreatureSetSkullType(cid, 2) end doSendAnimatedText(getThingPos(cid), "BATTLE", COLOR_ELECTRIC) return true elseif isPlayer(player) and player == cid and getPlayerStorageValue(player, 52480) >= 1 then doEndDuel(cid, true) return true end ------------------------------------------------------------------------------------ if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid, "You need a pokemon to use order!") end if getCreatureNoMove(getCreatureSummons(cid)[1]) then return true end markLP(getCreatureSummons(cid)[1], -1) local marked = getMarkedPos(getCreatureSummons(cid)[1]) --alterado v1.8 \/ if type(marked) == "table" and marked.x == topos.x and marked.y == topos.y then return true end local thisball = getPlayerSlotItem(cid, 8) local mysum = getCreatureSummons(cid)[1] local sid = mysum or cid local maxMoveDist = getDistanceBetween(getThingPos(sid), topos) * 2 + 1 markPos(mysum, topos) markOwnerPos(mysum, getThingPos(cid)) -------- ROCK SMASH --------- if item2.itemid == 1285 and isInArray(skills["rock smash"], getPokemonName(mysum)) then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["rock smash"][math.random(1, #txt["rock smash"])].."", 1) addEvent(goThere, 500, mysum, topos, "rock smash", isCreature(getCreatureTarget(cid))) return true end ----------------------------- -------- HEADBUTT ----------- if item2.itemid == 12591 and getPokemonLevel(mysum) >= 15 then --alterado v1.6 --id do item arvore normal doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["headbutt"][math.random(1, #txt["headbutt"])].."", 1) addEvent(goThere, 500, mysum, topos, "headbutt", isCreature(getCreatureTarget(cid))) return true end ----------------------------- -------- CUT ---------------- if (item2.itemid == 2767 or item2.itemid == 22822 or item2.itemid == 23549) and isInArray(skills["cut"], getPokemonName(mysum)) then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["cut"][math.random(1, #txt["cut"])].."", 1) addEvent(goThere, 500, mysum, topos, "cut", isCreature(getCreatureTarget(cid))) return true end ----------------------------- -------- TRANSFORM ---------- --alterado v1.7 if (getCreatureName(mysum) == "Ditto") and getItemAttribute(thisball.uid, "ehditto") ~= -1 and isMonster(item2.uid) and pokes[getCreatureName(item2.uid)] then local m = getCreatureMaster(cid) local p = getPlayerSlotItem(m, 8) local proibidossempre = {"Primal Dialga MVP", "Black Major Genesect MVP", "Leader Red Major Genesect", "Leader Black Major Genesect", "Leader Cresselia", "Cryonic Genesect", "Leader Kyurem", "Roserade", "Leader Querubim Solgaleo", "Shiny Supreme Arceus", "Supreme Arceus", "Leader Squad Lunala", "Squad Lunala MVP", "Leader Jirachi", "Querubim Solgaleo MVP", "Guardian Horus Giratina", "Leader Horus Giratina", "Leader Mega Regigigas", "Mega Regigigas MVP", "Baby Dragonite Nv1", "Luminous Zekrom MVP", "Mega Banette MVP", "Mega Diancie MVP", "Mecha Meowth", "Creeper", "Shiny Newmoon Darkrai", "Shiny Fullmoon Cresselia", "Leader Cryonic Genesect", "Newmoon Darkrai", "Fulmoon Cresselia", "Cryonic Genesect MVP", "Horus Giratina MVP", "Leader Volcanic Heatran", "Volcanic Heatran MVP", "Peliper", "Mamoswine", "Garchomp", "Altaria", "Armaldon", "Reverse Necroza", "Wobbuffet", "Mega Wobbuffet", "Shiny Leader Volcanion", "Leader Unown", "Shiny Leader Unown", "Shiny Leader Primal Kyogre", "Leader Darkrai Nigthmare MVP", "Leader Mega Mewtwo X", "Leader Black Celebi", "Leader Black Articuno", "Leader Lugia", "Leader Celestial Celebi", "Leader Dark Lugia", "Leader Raikou", "Leader Suicune", "Leader Entei", "Leader Black Mega Sceptile", "Leader Deoxys Star", "Leader Event Mewtwo", "Divine Dialga", "Shiny Divine Dialga", "Supreme Caterpie", "Shiny Supreme Caterpie", "Shiny Hoopa Unbound", "Divine Arceus", "Shiny Divine Arceus", "Hoopa Unbound", "Primal Groudon", "Shiny Primal Groudon", "Necrozma", "Shiny Necrozma", "Dusk Mane Necrozma", "Shiny Dusk Mane Necrozma", "Dawn Wings Necrozma", "Shiny Dawn Wings Necrozma", "Shiny Platinum Meloetta", "Platinum Meloetta", "Amethyst Kyurem", "Origin Giratina Star", "Shiny Origin Giratina Star", "Guardian Mewtwo", "Guardian Xerneas", "Guardian Diancie", "Guardian Venusaur", "Guardian Charizard", "Guardian Blastoise", "Guardian Regice", "Guardian Regirock", "Guardian Registeel", "Guardian Reshiram", "Guardian White Kyurem", "Fire Latios Nv1", "Fire Latios Nv2", "Fire Latios Nv3", "Fury Arceus Nv1", "Fury Arceus Nv2", "Fury Arceus Nv3", "Shiny Groudon MVP", "Kyogre MVP", "Groudon MVP", "Shiny Victini MVP", "Leader Darkrai Nigthmare MVP", "Shiny Articuno MVP", "Black Mega Aerodactyl MVP", "Black Mega Gengar MVP", "Black Mega Sceptile MVP", "Squad Mega Pidgeot MVP", "Squad Mega Metagross MVP", "Mega Lopunny MVP", "Moltres MVP", "Shiny Zoroak MVP", "Mega Camerupt MVP", "Cresselia MVP", "Celebi MVP", "Zapdos MVP", "Celestial Celebi MVP", "Stakataka MVP", "Dark Lugia MVP", "Mini Latios MVP", "Zeraora MVP", "Elemental Suicune MVP", "Elemental Raikou MVP", "Elemental Entei MVP", "Devil Darkrai MVP", "Black Manaphy MVP", "Black King Arceus MVP", "Hydreigon MVP", "Deoxys Star MVP", "Marshadow MVP", "Lunala MVP", "Shiny Dialga MVP", "Dialga MVP", "Shaymin Sky MVP", "Shiny Registeel MVP", "Shiny Regice MVP", "Shiny Regirock MVP", "Zombie Giratina MVP", "Zombie Origin Giratina MVP", "Shiny Heatran MVP", "Shiny Mega Rayquaza MVP", "Shiny Golurk MVP", "Diancie MVP", "Carracosta MVP", "Garbodor MVP", "Mienshao MVP", "Shiny Darmanitan MVP", "Shiny Gigalith MVP", "Shiny Krookodile MVP", "Shiny Maractus MVP", "Shiny Seismitoad MVP", "Sigilyph MVP", "Devil Volcanion MVP", "Thundurus MVP", "Ash Greninja MVP", "Greninja MVP", "Shiny Entei MVP", "Giratina MVP", "Shadow Hoopa Unbound MVP", "Shiny Primal Kyogre MVP", "Shiny Primal Groudon MVP", "Shiny Palkia MVP", "Demon Regigigas MVP", "Meloetta MVP", "Celesteela MVP", "Guzzlord MVP", "Landorus MVP", "Tornadus MVP", "Demon Mew MVP", "Victini Z MVP", "Nebulous Kyurem MVP", "Fury Arceus MVP", "Xerneas MVP", "Shiny Xerneas MVP", "Mini Primal Groudon MVP", "Ho-oh MVP", "Uxie MVP", "Mesprit MVP", "Azelf MVP", "Platinum Giratina MVP", "Tapu Koko MVP", "King Togekiss MVP", "Landorus Therian MVP", "Tornadus Therian MVP", "Shiny Keldeo MVP", "Cobalion MVP", "Keldeo MVP", "Ultra Darkrai MVP", "Solgaleo MVP", "Volcanion MVP", "Mega Rayquaza MVP", "Ice Latios MVP", "Shiny Genesect MVP", "Genesect MVP", "Kyurem MVP", "Buzzwole MVP", "Shiny Excadrill MVP", "Mega Mewtwo X MVP", "Mega Mewtwo Y MVP", "Unown MVP", "Palkia MVP", "Primal Kyogre MVP", "Primal Groudon MVP", "Shiny Yveltal MVP", "Shiny Hoopa Unbound MVP", "Hoopa Unbound MVP", "Black Kyurem MVP", "Virizion MVP", "Origin Giratina Star MVP", "Origin Giratina MVP", "Victini MVP", "Shiny Zekrom MVP", "Pink Yveltal MVP", "Pink Deoxys MVP", "Samurott MVP", "Shiny Volcarona MVP", "Divine Arceus MVP", "Jirachi MVP", "Shiny Beartic MVP", "Shiny Haxorus MVP", "Shiny Chandelure MVP", "Shiny Escavalier MVP", "Serperior MVP", "Shiny Accelgor MVP", "Shiny Spiritomb MVP", "Corrupted Zekrom MVP", "Mega Latios MVP", "Yveltal MVP", "Thundurus Therian MVP", "White Kyurem MVP", "Perfect Zygarde MVP", "Black Celebi MVP", "Terrakion MVP", "Shiny Venomoth MVP", "Shiny Lugia MVP", "Shiny Regigigas MVP", "Shiny Lucario MVP", "Shiny Manaphy MVP", "Aipom MVP", "Phione MVP", "Regigigas MVP", "Shiny Dragonite MVP", "Arch Heatran MVP", "Giratina Star MVP", "Deoxys MVP"} -- Nunca permitir local proibidosboost = {"Shiny Dragonite", "Shiny Snorlax", "Shiny Gyarados", "Shiny Scyther"} -- Permitir se ditto for +50 local boost = getItemAttribute(thisball.uid, "boost") or 0 if getCreatureName(item2.uid) == "Ditto" or getCreatureName(item2.uid) == "Shiny Ditto" then doPlayerSendCancel(cid, "Your ditto can't transform into another ditto.") markPos(mysum, unfix) return true end if isInArray(proibidossempre, getCreatureName(item2.uid)) then --Checa a lista doPlayerSendCancel(cid, "Your ditto can't transform into that pokemon.") markPos(mysum, unfix) return true end if isInArray(proibidosboost, getCreatureName(item2.uid)) and boost < 50 then --Checa a lista doPlayerSendCancel(cid, "Your ditto can't transform into that pokemon.") markPos(mysum, unfix) return true end if getCreatureName(item2.uid) == getPlayerStorageValue(mysum, 1010) then doPlayerSendCancel(cid, "Your ditto is already transformed into that pokemon.") markPos(mysum, unfix) return true end markPos(mysum, unfix) local name = getCreatureName(item2.uid) setPlayerStorageValue(mysum, 1010, getCreatureName(item2.uid)) doItemSetAttribute(thisball.uid, "ehditto", 1) doItemSetAttribute(thisball.uid, "poke", getCreatureName(item2.uid)) doUpdateMoves(cid) doSetCreatureOutfit(mysum, getCreatureOutfit(item2.uid), -1) doCreatureSay(mysum, "TRANSFORM!", TALKTYPE_MONSTER) doFaceCreature(mysum, getThingPos(item2.uid)) doSendMagicEffect(getThingPos(mysum), 184) doPlayerSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", 1) return true end ----------------------------- -------- TRANSFORM Shiny Ditto ---------- --alterado v1.7 if (getCreatureName(mysum) == "Shiny Ditto") and getItemAttribute(thisball.uid, "ehshinyditto") ~= -1 and isMonster(item2.uid) and pokes[getCreatureName(item2.uid)] then local m = getCreatureMaster(cid) local p = getPlayerSlotItem(m, 8) local proibidossempre = {"Primal Dialga MVP", "Shiny Groudon MVP", "Reverse Necroza", "Wobbuffet", "Roserade", "Peliper", "Mamoswine", "Garchomp", "Altaria", "Armaldon", "Cryonic Genesect", "Querubim Solgaleo", "Horus Giratina", "Mega Wobbuffet", "Leader Cresselia", "Shiny Leader Volcanion", "Leader Unown", "Shiny Leader Unown", "Shiny Leader Primal Kyogre", "Leader Darkrai Nigthmare MVP", "Leader Mega Mewtwo X", "Leader Black Celebi", "Leader Black Articuno", "Leader Lugia", "Leader Celestial Celebi", "Leader Dark Lugia", "Leader Raikou", "Leader Suicune", "Leader Entei", "Leader Black Mega Sceptile", "Leader Deoxys Star", "Leader Event Mewtwo", "Divine Dialga", "Shiny Divine Dialga", "Supreme Caterpie", "Shiny Supreme Caterpie", "Shiny Hoopa Unbound", "Divine Arceus", "Shiny Divine Arceus", "Hoopa Unbound", "Primal Groudon", "Shiny Primal Groudon", "Necrozma", "Shiny Necrozma", "Dusk Mane Necrozma", "Shiny Dusk Mane Necrozma", "Dawn Wings Necrozma", "Shiny Dawn Wings Necrozma", "Shiny Platinum Meloetta", "Platinum Meloetta", "Amethyst Kyurem", "Origin Giratina Star", "Shiny Origin Giratina Star", "Newmoon Darkrai", "Fulmoon Cresselia", "Guardian Mewtwo", "Guardian Xerneas", "Guardian Diancie", "Guardian Venusaur", "Guardian Charizard", "Guardian Blastoise", "Guardian Regice", "Guardian Regirock", "Guardian Registeel", "Guardian Reshiram", "Guardian White Kyurem", "Fire Latios Nv1", "Fire Latios Nv2", "Fire Latios Nv3", "Fury Arceus Nv1", "Fury Arceus Nv2", "Fury Arceus Nv3", "Kyogre MVP", "Groudon MVP", "Shiny Victini MVP", "Leader Darkrai Nigthmare MVP", "Shiny Articuno MVP", "Black Mega Aerodactyl MVP", "Black Mega Gengar MVP", "Black Mega Sceptile MVP", "Squad Mega Pidgeot MVP", "Squad Mega Metagross MVP", "Mega Lopunny MVP", "Moltres MVP", "Shiny Zoroak MVP", "Mega Camerupt MVP", "Cresselia MVP", "Celebi MVP", "Zapdos MVP", "Celestial Celebi MVP", "Stakataka MVP", "Dark Lugia MVP", "Mini Latios MVP", "Zeraora MVP", "Elemental Suicune MVP", "Elemental Raikou MVP", "Elemental Entei MVP", "Devil Darkrai MVP", "Black Manaphy MVP", "Black King Arceus MVP", "Hydreigon MVP", "Deoxys Star MVP", "Marshadow MVP", "Lunala MVP", "Shiny Dialga MVP", "Dialga MVP", "Shaymin Sky MVP", "Shiny Registeel MVP", "Shiny Regice MVP", "Shiny Regirock MVP", "Zombie Giratina MVP", "Zombie Origin Giratina MVP", "Shiny Heatran MVP", "Shiny Mega Rayquaza MVP", "Shiny Golurk MVP", "Diancie MVP", "Carracosta MVP", "Garbodor MVP", "Mienshao MVP", "Shiny Darmanitan MVP", "Shiny Gigalith MVP", "Shiny Krookodile MVP", "Shiny Maractus MVP", "Shiny Seismitoad MVP", "Sigilyph MVP", "Devil Volcanion MVP", "Thundurus MVP", "Ash Greninja MVP", "Greninja MVP", "Shiny Entei MVP", "Giratina MVP", "Shadow Hoopa Unbound MVP", "Shiny Primal Kyogre MVP", "Shiny Primal Groudon MVP", "Shiny Palkia MVP", "Demon Regigigas MVP", "Meloetta MVP", "Celesteela MVP", "Guzzlord MVP", "Landorus MVP", "Tornadus MVP", "Demon Mew MVP", "Victini Z MVP", "Nebulous Kyurem MVP", "Fury Arceus MVP", "Xerneas MVP", "Shiny Xerneas MVP", "Mini Primal Groudon MVP", "Ho-oh MVP", "Uxie MVP", "Mesprit MVP", "Azelf MVP", "Platinum Giratina MVP", "Tapu Koko MVP", "King Togekiss MVP", "Landorus Therian MVP", "Tornadus Therian MVP", "Shiny Keldeo MVP", "Cobalion MVP", "Keldeo MVP", "Ultra Darkrai MVP", "Solgaleo MVP", "Volcanion MVP", "Mega Rayquaza MVP", "Ice Latios MVP", "Shiny Genesect MVP", "Genesect MVP", "Kyurem MVP", "Buzzwole MVP", "Shiny Excadrill MVP", "Mega Mewtwo X MVP", "Mega Mewtwo Y MVP", "Unown MVP", "Palkia MVP", "Primal Kyogre MVP", "Primal Groudon MVP", "Shiny Yveltal MVP", "Shiny Hoopa Unbound MVP", "Hoopa Unbound MVP", "Black Kyurem MVP", "Virizion MVP", "Origin Giratina Star MVP", "Origin Giratina MVP", "Victini MVP", "Shiny Zekrom MVP", "Pink Yveltal MVP", "Pink Deoxys MVP", "Samurott MVP", "Shiny Volcarona MVP", "Divine Arceus MVP", "Jirachi MVP", "Shiny Beartic MVP", "Shiny Haxorus MVP", "Shiny Chandelure MVP", "Shiny Escavalier MVP", "Serperior MVP", "Shiny Accelgor MVP", "Shiny Spiritomb MVP", "Corrupted Zekrom MVP", "Mega Latios MVP", "Yveltal MVP", "Thundurus Therian MVP", "White Kyurem MVP", "Perfect Zygarde MVP", "Black Celebi MVP", "Terrakion MVP", "Shiny Venomoth MVP", "Shiny Lugia MVP", "Shiny Regigigas MVP", "Shiny Lucario MVP", "Shiny Manaphy MVP", "Aipom MVP", "Phione MVP", "Regigigas MVP", "Shiny Dragonite MVP", "Arch Heatran MVP", "Giratina Star MVP", "Deoxys MVP"} -- Nunca permitir local proibidosboost = {"Shiny Dragonite", "Shiny Snorlax", "Shiny Gyarados", "Shiny Scyther"} -- Permitir se ditto for +50 local boost = getItemAttribute(thisball.uid, "boost") or 0 if getCreatureName(item2.uid) == "Ditto" or getCreatureName(item2.uid) == "Shiny Ditto" then doPlayerSendCancel(cid, "Your ditto can't transform into another ditto.") markPos(mysum, unfix) return true end if isInArray(proibidossempre, getCreatureName(item2.uid)) then --Checa a lista doPlayerSendCancel(cid, "Your ditto can't transform into that pokemon.") markPos(mysum, unfix) return true end if isInArray(proibidosboost, getCreatureName(item2.uid)) and boost < 50 then --Checa a lista doPlayerSendCancel(cid, "Your ditto can't transform into that pokemon.") markPos(mysum, unfix) return true end if getCreatureName(item2.uid) == getPlayerStorageValue(mysum, 1010) then doPlayerSendCancel(cid, "Your ditto is already transformed into that pokemon.") markPos(mysum, unfix) return true end markPos(mysum, unfix) local name = getCreatureName(item2.uid) setPlayerStorageValue(mysum, 1010, getCreatureName(item2.uid)) doItemSetAttribute(thisball.uid, "ehshinyditto", 1) doItemSetAttribute(thisball.uid, "poke", getCreatureName(item2.uid)) doUpdateMoves(cid) doSetCreatureOutfit(mysum, getCreatureOutfit(item2.uid), -1) doCreatureSay(mysum, "TRANSFORM!", TALKTYPE_MONSTER) doFaceCreature(mysum, getThingPos(item2.uid)) doSendMagicEffect(getThingPos(mysum), 184) --doPlayerSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", 1) doCreatureSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", TALKTYPE_ORANGE_1) return true end -------- TRANSFORM black Ditto ---------- --alterado v1.7 if (getCreatureName(mysum) == "Black Ditto") and getItemAttribute(thisball.uid, "ehshinyditto") ~= -1 and isMonster(item2.uid) and pokes[getCreatureName(item2.uid)] then local m = getCreatureMaster(cid) local p = getPlayerSlotItem(m, 8) local proibidossempre = {"Primal Dialga MVP", "Shiny Groudon MVP", "Kyogre MVP", "Leader Cresselia", "Cryonic Genesect", "Querubim Solgaleo", "Horus Giratina", "Shiny Leader Volcanion", "Leader Unown", "Shiny Leader Unown", "Shiny Leader Primal Kyogre", "Leader Darkrai Nigthmare MVP", "Leader Mega Mewtwo X", "Leader Black Celebi", "Leader Black Articuno", "Leader Lugia", "Leader Celestial Celebi", "Leader Dark Lugia", "Leader Raikou", "Leader Suicune", "Leader Entei", "Leader Black Mega Sceptile", "Leader Deoxys Star", "Leader Event Mewtwo", "Divine Dialga", "Shiny Divine Dialga", "Supreme Caterpie", "Shiny Supreme Caterpie", "Shiny Hoopa Unbound", "Divine Arceus", "Shiny Divine Arceus", "Hoopa Unbound", "Primal Groudon", "Shiny Primal Groudon", "Necrozma", "Shiny Necrozma", "Dusk Mane Necrozma", "Shiny Dusk Mane Necrozma", "Dawn Wings Necrozma", "Shiny Dawn Wings Necrozma", "Shiny Platinum Meloetta", "Platinum Meloetta", "Amethyst Kyurem", "Origin Giratina Star", "Shiny Origin Giratina Star", "Newmoon Darkrai", "Fulmoon Cresselia", "Guardian Mewtwo", "Guardian Xerneas", "Guardian Diancie", "Guardian Venusaur", "Guardian Charizard", "Guardian Blastoise", "Guardian Regice", "Guardian Regirock", "Guardian Registeel", "Guardian Reshiram", "Guardian White Kyurem", "Fire Latios Nv1", "Fire Latios Nv2", "Fire Latios Nv3", "Fury Arceus Nv1", "Fury Arceus Nv2", "Fury Arceus Nv3", "Groudon MVP", "Shiny Victini MVP", "Leader Darkrai Nigthmare MVP", "Shiny Articuno MVP", "Black Mega Aerodactyl MVP", "Black Mega Gengar MVP", "Black Mega Sceptile MVP", "Squad Mega Pidgeot MVP", "Squad Mega Metagross MVP", "Mega Lopunny MVP", "Moltres MVP", "Shiny Zoroak MVP", "Mega Camerupt MVP", "Cresselia MVP", "Celebi MVP", "Zapdos MVP", "Celestial Celebi MVP", "Stakataka MVP", "Dark Lugia MVP", "Mini Latios MVP", "Zeraora MVP", "Elemental Suicune MVP", "Elemental Raikou MVP", "Elemental Entei MVP", "Devil Darkrai MVP", "Black Manaphy MVP", "Black King Arceus MVP", "Hydreigon MVP", "Deoxys Star MVP", "Marshadow MVP", "Lunala MVP", "Shiny Dialga MVP", "Dialga MVP", "Shaymin Sky MVP", "Shiny Registeel MVP", "Shiny Regice MVP", "Shiny Regirock MVP", "Zombie Giratina MVP", "Zombie Origin Giratina MVP", "Shiny Heatran MVP", "Shiny Mega Rayquaza MVP", "Shiny Golurk MVP", "Diancie MVP", "Carracosta MVP", "Garbodor MVP", "Mienshao MVP", "Shiny Darmanitan MVP", "Shiny Gigalith MVP", "Shiny Krookodile MVP", "Shiny Maractus MVP", "Shiny Seismitoad MVP", "Sigilyph MVP", "Devil Volcanion MVP", "Thundurus MVP", "Ash Greninja MVP", "Greninja MVP", "Shiny Entei MVP", "Giratina MVP", "Shadow Hoopa Unbound MVP", "Shiny Primal Kyogre MVP", "Shiny Primal Groudon MVP", "Shiny Palkia MVP", "Demon Regigigas MVP", "Meloetta MVP", "Celesteela MVP", "Guzzlord MVP", "Landorus MVP", "Tornadus MVP", "Demon Mew MVP", "Victini Z MVP", "Nebulous Kyurem MVP", "Fury Arceus MVP", "Xerneas MVP", "Shiny Xerneas MVP", "Mini Primal Groudon MVP", "Ho-oh MVP", "Uxie MVP", "Mesprit MVP", "Azelf MVP", "Platinum Giratina MVP", "Tapu Koko MVP", "King Togekiss MVP", "Landorus Therian MVP", "Tornadus Therian MVP", "Shiny Keldeo MVP", "Cobalion MVP", "Keldeo MVP", "Ultra Darkrai MVP", "Solgaleo MVP", "Volcanion MVP", "Mega Rayquaza MVP", "Ice Latios MVP", "Shiny Genesect MVP", "Genesect MVP", "Kyurem MVP", "Buzzwole MVP", "Shiny Excadrill MVP", "Mega Mewtwo X MVP", "Mega Mewtwo Y MVP", "Unown MVP", "Palkia MVP", "Primal Kyogre MVP", "Primal Groudon MVP", "Shiny Yveltal MVP", "Shiny Hoopa Unbound MVP", "Hoopa Unbound MVP", "Black Kyurem MVP", "Virizion MVP", "Origin Giratina Star MVP", "Origin Giratina MVP", "Victini MVP", "Shiny Zekrom MVP", "Pink Yveltal MVP", "Pink Deoxys MVP", "Samurott MVP", "Shiny Volcarona MVP", "Divine Arceus MVP", "Jirachi MVP", "Shiny Beartic MVP", "Shiny Haxorus MVP", "Shiny Chandelure MVP", "Shiny Escavalier MVP", "Serperior MVP", "Shiny Accelgor MVP", "Shiny Spiritomb MVP", "Corrupted Zekrom MVP", "Mega Latios MVP", "Yveltal MVP", "Thundurus Therian MVP", "White Kyurem MVP", "Perfect Zygarde MVP", "Black Celebi MVP", "Terrakion MVP", "Shiny Venomoth MVP", "Shiny Lugia MVP", "Shiny Regigigas MVP", "Shiny Lucario MVP", "Shiny Manaphy MVP", "Aipom MVP", "Phione MVP", "Regigigas MVP", "Shiny Dragonite MVP", "Arch Heatran MVP", "Giratina Star MVP", "Deoxys MVP"} -- Nunca permitir local proibidosboost = {"Shiny Dragonite", "Shiny Snorlax", "Shiny Gyarados", "Shiny Scyther"} -- Permitir se ditto for +50 local boost = getItemAttribute(thisball.uid, "boost") or 0 if getCreatureName(item2.uid) == "Ditto" or getCreatureName(item2.uid) == "Black Ditto" then doPlayerSendCancel(cid, "Your ditto can't transform into another ditto.") markPos(mysum, unfix) return true end if isInArray(proibidossempre, getCreatureName(item2.uid)) then --Checa a lista doPlayerSendCancel(cid, "Your ditto can't transform into that pokemon.") markPos(mysum, unfix) return true end if isInArray(proibidosboost, getCreatureName(item2.uid)) and boost < 50 then --Checa a lista doPlayerSendCancel(cid, "Your ditto can't transform into that pokemon.") markPos(mysum, unfix) return true end if getCreatureName(item2.uid) == getPlayerStorageValue(mysum, 1010) then doPlayerSendCancel(cid, "Your ditto is already transformed into that pokemon.") markPos(mysum, unfix) return true end markPos(mysum, unfix) local name = getCreatureName(item2.uid) setPlayerStorageValue(mysum, 1010, getCreatureName(item2.uid)) doItemSetAttribute(thisball.uid, "ehshinyditto", 1) doItemSetAttribute(thisball.uid, "poke", getCreatureName(item2.uid)) doUpdateMoves(cid) doSetCreatureOutfit(mysum, getCreatureOutfit(item2.uid), -1) doCreatureSay(mysum, "TRANSFORM!", TALKTYPE_MONSTER) doFaceCreature(mysum, getThingPos(item2.uid)) doSendMagicEffect(getThingPos(mysum), 184) --doPlayerSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", 1) doCreatureSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", TALKTYPE_ORANGE_1) return true end -------- LIGHT -------------- if isMonster(item2.uid) and getCreatureMaster(item2.uid) == cid then markPos(mysum, unfix) if not isInArray(skills["light"], getPokemonName(item2.uid)) then doPlayerSendCancel(cid, "Your pokemon can't use flash.") return true end local cd = getCD(thisball.uid, "light", 30) if cd > 0 then doPlayerSendCancel(cid, "Your pokemon is too tired to use flash. Cooldown: ("..getStringmytempo(cd)..")") return true end doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["light"][math.random(1, #txt["light"])].."", 1) doCreatureSay(mysum, "FLASH!", TALKTYPE_MONSTER) doSendMagicEffect(getThingPos(mysum), 28) local size = 5 size = size + math.floor(getSpecialAttack(mysum) / 60) size = size + math.ceil(getPokemonLevel(mysum) / 60) if size > 11 then size = 11 end doSetCreatureLight(mysum, size, 215, 600*1000) local delay = math.floor(30 - getPokemonLevel(mysum) / 4) if delay > 0 then setCD(thisball.uid, "light", delay) end return true end ----------------------------- -------- DIG ---------------- if isInArray(skills["digholes"], item2.itemid) and isInArray(skills["dig"], getPokemonName(mysum)) then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["dig"][math.random(1, #txt["dig"])].."", 1) addEvent(goThere, 500, mysum, topos, "dig", isCreature(getCreatureTarget(cid))) return true end ----------------------------- -------- BLINK / MOVE ------- if not isCreature(item2.uid) and isInArray(skills["blink"], getPokemonName(mysum)) then local cd = getCD(thisball.uid, "blink", 30) if getPlayerStorageValue(mysum, 2365487) == 1 then return true --alterado v1.4 end if cd > 0 or not canWalkOnPos(topos, false, false, true, true, true) then doPlayerSendCancel(cid, "Blink cooldown: ("..getStringmytempo(cd)..")") doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1) addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist) return true end local CD = isShinyName(getCreatureName(mysum)) and 20 or 30 --edited blink markPos(mysum, topos) markOwnerPos(mysum, getThingPos(cid)) setCD(thisball.uid, "blink", CD) doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["blink"][math.random(1, #txt["blink"])].."", 1) doSendDistanceShoot(getThingPos(mysum), topos, 39) doSendMagicEffect(getThingPos(mysum), 211) doTeleportThing(mysum, topos, false) doSendMagicEffect(topos, 134) doCreatureSay(mysum, "BLINK!", TALKTYPE_MONSTER) goThere(mysum, topos, "blink", isCreature(getCreatureTarget(cid))) --edited blink return true end ----------------------------- ----START FLY or RIDE or LEVITATE --------- if (item2.uid == cid or getRecorderPlayer(topos) == cid) and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["ride"], getPokemonName(mysum)) or isInArray(skills["levitate_fly"], getPokemonName(mysum))) then --alterado v1.8 >> if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then return doPlayerSendCancel(cid, "You can't do it while in the PVP Zone!") --alterado v1.7 end if #getCreatureSummons(cid) > 1 then --alterado v1.9 return doPlayerSendCancel(cid, "You can't do it right now!") end if getPlayerStorageValue(cid, 52480) >= 1 then return doPlayerSendCancel(cid, "You can't do it while a duel!") --alterado v1.6 end if getPlayerStorageValue(cid, 5700) >= 1 then --alterado v1.9 doPlayerSendCancel(cid, "You can't do that while is mount in a bike!") return true end if getPlayerStorageValue(cid, 22545) >= 1 and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["levitate_fly"], getPokemonName(mysum))) then return doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!") --alterado v1.8 end local pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum) doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", 1 - pct) if isInArray(skills["fly"], getPokemonName(mysum)) and getCreaturePosition(cid).z <= 7 then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["fly"][math.random(1, #txt["fly"])].."", 1) addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid))) elseif isInArray(skills["levitate_fly"], getPokemonName(mysum)) and getCreaturePosition(cid).z <= 7 then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["levitate_fly"][math.random(1, #txt["levitate_fly"])].."", 1) --alterado v1.8 addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid))) elseif (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["levitate_fly"], getPokemonName(mysum))) and getCreaturePosition(cid).z >= 8 then return doPlayerSendCancel(cid, "Voce nao pode usar fly aqui.") else doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["ride"][math.random(1, #txt["ride"])].."", 1) addEvent(goThere, 500, mysum, topos, "ride", isCreature(getCreatureTarget(cid))) end return true end ----------------------------- ----------------------------------Control Mind-------------------------------------------- alterado v1.5 if isCreature(item2.uid) and ehMonstro(item2.uid) and isInArray(skills["control mind"], getCreatureName(mysum)) and item2.uid ~= mysum then if not isCreature(item2.uid) then return true end if isSleeping(mysum) then return doPlayerSendCancel(cid, "Your pokemon is sleeping...zZzZ") end if getTileInfo(getThingPos(cid)).protection or getTileInfo(getThingPos(getCreatureSummons(cid)[1])).protection then return doPlayerSendCancel(cid, "You or your pokemon are in Pz zone!") end if #getCreatureSummons(cid) == 2 then return doPlayerSendCancel(cid, "You only can control one Pokemon!") end local cd = getCD(thisball.uid, "control", 120) if cd > 0 then doPlayerSendCancel(cid, "You have to wait "..cd.." segs to use Control Mind again!") return true end if getPokemonLevel(item2.uid) >= getPokemonLevel(mysum) then return doPlayerSendCancel(cid, "Your pokemon can't control this mind!") end if getPlayerStorageValue(cid, 22545) >= 1 then --alterado v1.7 return doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!") end local cmed = item2.uid setCD(thisball.uid, "control", 120) local gender = getPokemonGender(cmed) doSendDistanceShoot(getThingPos(mysum), getThingPos(cmed), 39) -------------- setPlayerStorageValue(cid, 212124, 1) doConvinceCreature(cid, cmed) setPlayerStorageValue(cmed, 212123, 1) doCreatureSay(cid, ""..getCreatureName(mysum)..", control "..string.lower(getCreatureName(cmed)).."'s mind!", 1) local cmname = getCreatureName(mysum) local cmpos = getThingPos(mysum) local pokelife = (getCreatureHealth(mysum) / getCreatureMaxHealth(mysum)) doItemSetAttribute(thisball.uid, "hp", pokelife) doRemoveCreature(mysum) local cmzao = doSummonCreature(""..cmname.." cm", cmpos) doConvinceCreature(cid, cmzao) setPlayerStorageValue(cid, 888, 1) if useKpdoDlls then doUpdateMoves(cid) end local function check(cid, controled, rod) if isCreature(cid) then ball2 = getPlayerSlotItem(cid, 8) if getPlayerStorageValue(cid, 888) <= 0 then return true end if not isCreature(controled) then setPlayerStorageValue(cid, 212124, 0) local sum = isCreature(getCreatureSummons(cid)[1]) and getCreatureSummons(cid)[1] or getCreatureSummons(cid)[2] local pkcmpos = getThingPos(sum) doRemoveCreature(sum) local item = getPlayerSlotItem(cid, 8) local pk = doSummonCreature(getItemAttribute(item.uid, "poke"), pkcmpos) doConvinceCreature(cid, pk) doCreatureSetLookDir(getCreatureSummons(cid)[1], 2) addEvent(doAdjustWithDelay, 100, cid, pk, true, true, false) setPlayerStorageValue(cid, 888, -1) --alterado v1.7 cleanCMcds(item.uid) registerCreatureEvent(pk, "SummonDeath") --alterado v1.6 if useKpdoDlls then doUpdateMoves(cid) end return true end if rod <= 0 then --Pokemon controlado local cmed2 = getCreatureSummons(cid)[1] local poscmed = getThingPos(cmed2) local cmeddir = getCreatureLookDir(cmed2) local namecmed = getCreatureName(cmed2) local gender = getPokemonGender(cmed2) local hp, maxHp = getCreatureHealth(getCreatureSummons(cid)[1]), getCreatureMaxHealth(getCreatureSummons(cid)[1]) doRemoveCreature(getCreatureSummons(cid)[1]) local back = doCreateMonster(namecmed, poscmed) addEvent(doCreatureSetSkullType, 150, back, gender) doWildAttackPlayer(back, cid) doCreatureSetLookDir(back, cmeddir) addEvent(doCreatureAddHealth, 100, back, hp-maxHp) -- pokemon controlador local mynewpos = getThingPos(getCreatureSummons(cid)[1]) doRemoveCreature(getCreatureSummons(cid)[1]) local pk2 = doSummonCreature(getItemAttribute(ball2.uid, "poke"), mynewpos) doConvinceCreature(cid, pk2) addEvent(doAdjustWithDelay, 100, cid, pk2, true, true, false) setPlayerStorageValue(cid, 888, -1) --alterado v1.7 doCreatureSetLookDir(getCreatureSummons(cid)[1], 2) setPlayerStorageValue(cid, 212124, 0) cleanCMcds(ball2.uid) registerCreatureEvent(pk2, "SummonDeath") --alterado v1.6 if useKpdoDlls then doUpdateMoves(cid) end else if isInArray({"Haunter", "Gengar", "Shiny Gengar"}, cmname) then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 214) else doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 220) end end end addEvent(check, 500, cid, controled, rod-1) end check(cid, cmed, 40) return true end --------------------------------------------------------------------- -------- MOVE / END --------- local onlyWater = false if isWater(getTileThingByPos(checkpos).itemid) then onlyWater = true for checkwater = 0, 7 do if not isWater(getTileThingByPos(getPosByDir(checkpos, checkwater)).itemid) then onlyWater = false end end end if onlyWater then doPlayerSendCancel(cid, "Destination is not reachable.") return true end doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1) if isCreature(getCreatureTarget(cid)) then goThere(mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist) else addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist) end ----------------------------- return true end Teste e veja se vai dar algum problema.
  4. Primeiro que é proibido oferecer recompensas externas ao fórum por ajuda, e o seu título está com tópico incorreto, você criou dois tópicos iguais e na seção errada. Leia as regras do fórum! Esse tópico será fechado, pois você já criou outro tópico igual em: https://xtibia.com/forum/topic/253489-script-para-alerta-na-tela-reconpensa-no-pix/
  5. Havia passado apenas 2 dias que você criou seu tópico e já está reclamando e cobrando ajuda? Primeiro que você não deve fazer esse tipo de comentário em um intervalo de apenas dois dias, e segundo que você deve aguardar ser respondido como outras pessoas no fórum aguarda. Infelizmente o fórum não tem mais tanto movimento como antes, mas ainda tem pessoas que ajudam, e você deve ter paciência, pois as pessoas tem sua vida e compromissos, e nem sempre conseguem entrar aqui. E quando encontrar uma solução para seu problema, poste a solução para ajudar outras pessoas com esse problema futuramente. A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico.
  6. Pelo visto apresenta um erro na distro. Provavelmente você não registrou o pokémon no monsters.xml. Poste uma distro com o erro especificado quando você tenta summonar com o comando /cb.
  7. Mas clicar onde? Onde seria esse click para ganhar a vida?
  8. Você poderia usar a função doShowTextDialog(cid, itemid, text), que no caso seria essa janela: Essa janela é bem útil porque tem scroll e ela tem um tamanho bom no cliente. E o interessante dessa função é que você pode passar o id de um item que ficaria como "ícone" dessa janela.
  9. Primeiramente que você está pedindo duas coisas distintas no mesmo tópico, e o certo seria criar dois tópicos, um para cada pedido. Mas dessa vez vou deixar passar. Poste o script da spell exori con e fale como quer que seja essa área, se será 3x3, 4x4 ou outra área. E sobre o exevo mas san, poste o script dessa spell também e fale o id do efeito que fica bêbado.
  10. Posta o seu script e coloca o id dos itens que quer adicionar para dar cut.
  11. Entendi, é fácil fazer o que você pediu. Só preciso entender uma coisa, quando você fala que quer que saia como exori, é que não tem área a spell e você quer que saia target o efeito CONST_ME_POFF e o efeito do assassino saia no player que conjure certo? E por fim, o inimigo pode ser qualquer um (inclusive players)? Sabendo essas coisas eu faço a spell teleportar para trás do target.
  12. No caso no seu jogo só está dando cut em um tipo de item (árvore ou arbusto) e você quer adicionar mais itens, é isso?
  13. É proibido criar tópicos com títulos do tipo "Me ajuda", "Ajuda com", entre outros. É necessário criar um tópico com um título correto e coerente com sua dúvida ou pedido. Eu editei para você. Leia as regras do fórum.
  14. Como assim a variável para usar um comando? Variável é um endereço de memória que armazena valores. E Lua tem tipagem fraca, ou seja, isso significa que você pode colocar qualquer tipo de valor em uma variável porque a linguagem faz a conversão automaticamente de forma interna. E para usar uma variável, depende muito do script para saber se precisa ou não criar uma variável, pois tem casos que não é necessário. Se você já tem o script pronto e quer que adicione uma verificação para que somente players com essa storage possam usar um talkaction (comando), poste o código para adicionar essa verificação. Agora, se precisa criar esse script, avisa que eu crio.
  15. Seu tópico foi criado na área errada, o certo seria em: https://xtibia.com/forum/forum/1260-scripts/ pois você está fazendo um pedido de script, e área de suporte é quando você já tem um script que está com problemas ou quer alguma alteração. E também é proibido oferecer recompensas externas ao fórum. Dessa vez irei renomear o seu título, leia as regras. Sobre seu pedido, como será esse alerta na tela? Tópico movido de Suporte > OTServ > Scripts para Pedidos > OTServ > Scripts. Fique atento às regras do fórum.
  • Recently Browsing   0 members

    • No registered users viewing this page.