Ir para conteúdo
  • 0

GoBack Laranja


fawkz12

Pergunta

15 respostass a esta questão

Posts Recomendados

  • 0
No seu Goback.lua troca 

TALKTYPE_SAY

POR

TALKTYPE_MONSTER

Não foi :/

function onLogout(cid)
    if not isCreature(cid) then return true end    
local thisitem = getPlayerSlotItem(cid, 8)


if thisitem.uid <= 0 then return true end


local ballName = getItemAttribute(thisitem.uid, "poke")
    local btype = getPokeballType(thisitem.itemid)
    
    ---------------------------------------------------------------
    if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then    --alterado v1.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then  
          BackTeam(cid)       
       end
    end
    --////////////////////////////////////////////////////////////////////////////////////////--
    if getPlayerStorageValue(cid, 52480) >= 1 and getPlayerStorageValue(cid, 52481) >= 0 then 
       doEndDuel(cid)
    end
    --////////////////////////////////////////////////////////////////////////////////////////--
    if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then
       local cmed2 = getCreatureSummons(cid)[1]
  local poscmed = getThingPos(cmed2)
  local cmeddir = getCreatureLookDir(cmed2)
  local namecmed = getCreatureName(cmed2)
  local hp, maxHp = getCreatureHealth(getCreatureSummons(cid)[1]), getCreatureMaxHealth(getCreatureSummons(cid)[1])
  local gender = getPokemonGender(cmed2) 
       doRemoveCreature(getCreatureSummons(cid)[1])
  local back = doCreateMonster(namecmed, poscmed)
  addEvent(doCreatureSetSkullType, 150, back, gender)
  doCreatureSetLookDir(back, cmeddir)
  addEvent(doCreatureAddHealth, 100, back, hp-maxHp)
                                                                            
       -- pokemon controlador 
       local ball2 = getPlayerSlotItem(cid, 8)
       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)    
       cleanCMcds(ball2.uid)
       doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
       registerCreatureEvent(pk2, "SummonDeath")   
    end
    
    ----------------------------------------------------------------------
    local summon = getCreatureSummons(cid)[1]      
      
if #getCreatureSummons(cid) >= 1 and thisitem.uid > 1 then
   if getPlayerStorageValue(cid, 212124) <= 0 then
  doItemSetAttribute(thisitem.uid, "hp", (getCreatureHealth(summon) / getCreatureMaxHealth(summon)))
        end                                                          
        setPlayerStorageValue(cid, 212124, 0)
        doTransformItem(thisitem.uid, pokeballs[btype].on)
doSendMagicEffect(getThingPos(summon), pokeballs[btype].effect)
doRemoveCreature(summon)
end


if getCreatureOutfit(cid).lookType == 814 then
doPlayerStopWatching(cid)
end


if tonumber(getPlayerStorageValue(cid, 17000)) and getPlayerStorageValue(cid, 17000) >= 1 then  
markFlyingPos(cid, getThingPos(cid))
end


if getPlayerStorageValue(cid, 22545) == 1 then     
  setGlobalStorageValue(22550, getGlobalStorageValue(22550)-1)
  if getGlobalStorageValue(22550) <= 0 then
          endGoldenArena()          
       end 
    end


return TRUE
end


local deathtexts = {"Oh no! POKENAME, come back!", "Come back, POKENAME!", "That's enough, POKENAME!", "You did well, POKENAME!",
   "You need to rest, POKENAME!", "Nice job, POKENAME!", "POKENAME, you are too hurt!"}


function onDeath(cid, deathList)


local owner = getCreatureMaster(cid)


        if getPlayerStorageValue(cid, 637500) >= 1 then
           doSendMagicEffect(getThingPos(cid), 211)
           doRemoveCreature(cid)
           return true
        end
        
        if getPlayerStorageValue(cid, 212123) >= 1 then
           return true
        end
        
        --////////////////////////////////////////////////////////////////////////////////////////--
        checkDuel(owner)                                                                          
        --////////////////////////////////////////////////////////////////////////////////////////--
        
local thisball = getPlayerSlotItem(owner, 8)
local ballName = getItemAttribute(thisball.uid, "poke")


    btype = getPokeballType(thisball.itemid)


        if #getCreatureSummons(owner) > 1 then
           BackTeam(owner, getCreatureSummons(owner))      
        end


doSendMagicEffect(getThingPos(cid), pokeballs[btype].effect)
        doTransformItem(thisball.uid, pokeballs[btype].off)


doPlayerSendTextMessage(owner, 22, "Your pokemon fainted.")


local say = deathtexts[math.random(#deathtexts)]
say = string.gsub(say, "POKENAME", getCreatureName(cid))


if getPlayerStorageValue(cid, 33) <= 0 then
doCreatureSay(owner, say, TALKTYPE_MONSTER)
end


doItemSetAttribute(thisball.uid, "hp", 0)
if ehMonstro(deathList[1]) then
  doItemSetAttribute(thisball.uid, "happy", getPlayerStorageValue(cid, 1008) - happyLostOnDeath)
    end
doItemSetAttribute(thisball.uid, "hunger", getPlayerStorageValue(cid, 1009))


    if useOTClient then
       doPlayerSendCancel(owner, '12//,hide')      --alterado v1.7
    end


doRemoveCreature(cid)


return false
end

Script /\

Link para o comentário
Compartilhar em outros sites

  • 0

 

Em goback.lua na actions e em creaturescripts, troque:

 

 

 

 

 

 

onde muda para colocar tb quando ele volta pra a ball? esta funfando mas somente para quando coloca mas nao quando tira

6974dbc06d9133bdae666f22d077baab.gif

Link para o comentário
Compartilhar em outros sites

  • 0

 

onde muda para colocar tb quando ele volta pra a ball? esta funfando mas somente para quando coloca mas nao quando tira

6974dbc06d9133bdae666f22d077baab.gif

 

Em some functions.lua procura por

doPlayerSay(cid, mbk, TALKTYPE_SAY)

Link para o comentário
Compartilhar em outros sites

  • 0

 

Em some functions.lua procura por

doPlayerSay(cid, mbk, TALKTYPE_SAY)

rp+

alguem sabe como colocar esses pra sair em laranja? sao as funçoes quando voce usa order pra mover o pokemon de 1 sqm pra outro, ou pra dar fly etc

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
}

tb da pra trocar o TALKTYPE_MONSTER pelo TALKTYPE_ORANGE_1 ?

 

mas acho q iria ficar com erro, tipo sem falar o nome do pokemon ne?

 

actions/order:

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 = {"Mew", "Mewtwo", "Unown Legion", "Entei", "Raikou", "Suicune", "Zapdos", "Moltres", "Articuno", "Rocket Team", "Unown", "Lugia", "Celebi", "Ho-oh", "Mew_", "Mewtwo_", "Mega Blaziken", "Mega Sceptile", "Mega Sableye", "Mega Alakazam", "Gardevoir", "Mega Gardevoir", "Mega Charizard X", "Mega Charizard Y", "Mega Alakazam", "Dark Mega Alakazam", "Dark Mega Blaziken", "Mega Tangrowth", "Mega Blastoise", "Mega Blaziken", "Mega Sceptile", "Mega Sableye", "Mega Alakazam", "Gardevoir", "Mega Gardevoir", "Mega Charizard X", "Mega Charizard Y", "Mega Alakazam", "Dark Mega Alakazam", "Dark Mega Blaziken", "Mega Tangrowth", "Mega Blastoise", "Dark Mega Alakazam", "Dark Mega Ampharos", "Dark Mega Blaziken", "Dark Mega Charizard", "Dark Mega Gengar", "Dark Mega Gyarados", "Dark Mega Sceptile", "Dark Mega Tyranitar", "Deus caterpie", "Maromba", "Mega Absol", "Mega Aerodactyl", "Mega Aggron", "Mega Alakazam", "Mega Ampharos", "Mega Blastoise", "Mega Blaziken", "Mega Charizard X", "Mega Charizard Y", "Mega Gardevoir", "Mega Gengar", "Mega Glalie", "Mega Gyarados", "Mega Kabutops", "Mega Kangaskhan", "Mega Lucario", "Mega Manectric", "Mega Mawile", "Mega Sableye", "Mega Sceptile", "Mega Slowking", "Mega Swampert", "Mega Tangrowth", "Mega Tyranitar", "Mega Venusaur", "Mega Volt", "Mega Wobbuffet", "Pardao", "Pensador", "Piaozinho", "Senencio", "Shiny Mega Blaziken", "Shiny Mega Lucario", "Tyrantrum", "Ancient Alakazam", "Ancient Dragonite", "Ancient Kingdra", "Ancient Meganium", "Ancient Scyther", "Ancient Snorlax", "Aviator Pidgeot", "Banshee Misdreavus", "Bone Marowak", "Boxer Hitmonchan", "Brave Blastoise", "Brave Charizard", "Brave Nidoking", "Brave Nidoqueen", "Brave Noctowl", "Brave Venusaur", "Brute Farfetch'd", "Brute Rhydon", "Brute Ursaring", "Capoeira Hitmontop", "Charged Raichu", "Dark Crobat", "Dragon Machamp", "Elder Arcanine", "Elder Blastoise", "Elder Charizard", "Elder Dragonite", "Elder Electabuzz", "Elder Gengar", "Elder Jynx", "Elder Marowak", "Elder Muk", "Elder Pidgeot", "Elder Pinsir", "Elder Raichu", "Elder Tangela", "Elder Tentacruel", "Elder Tyranitar", "Elder Venusaur", "Enigmatic Girafarig", "Enraged Typhlosion", "Evil Cloyster", "Freezing Dewgong", "Furios Ampharos", "Furios Mantine", "Furios Murkrow", "Furious Sandslash", "Furious Scyther", "Hard Golem", "Heavy Piloswine", "Iron Steelix", "Lava Magmar", "Magnet Electabuzz", "Master Abra", "Master Alakazam", "Master Stantler", "Metal Scizor", "Metal Skarmory", "Milch-Miltank", "Moon Clefable", "Octopus Octillery", "Psy Jynx", "Roll Donphan", "Singer Wigglytuff", "Taekwondo Hitmonlee", "Tribal Feraligatr", "Tribal Scyther", "Tribal Xatu", "Undefted Machamp", "War Farfetch'd", "War Granbull", "War Gyarados", "War Heracross", "Wardog Arcanine", "Dark Mega Swampert", "Blue Tower 1", "Blue Tower 2", "Blue Tower 3", "Red Tower 1", "Red Tower 2", "Red Tower 3", "Mega Aggron", "Shiny Mega Aggron"}
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 = {"Divine Punishment", "Unown Rush", "Unown Help", "Mysterious Power", "Power Wave", "Shredder Team", "Double Team", "Team Slice", "Ancient Fury", "Camouflage", "Future Sight", "Acid Armor", "Rollout", "Flame Wheel", "Elemental Hands", "Super Vines", "ExplodeAll", "Aerial Ace", "Stampage", "Iron Defense", "Minimize", "Team Claw", "Mamaragan", "Air Vortex"}
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 aki
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
---
local storages = {17000, 63215, 17001, 13008, 32001}
for s = 1, #storages do
if getPlayerStorageValue(cid, storages) >= 1 then
return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!")
end
end
for s = 1, #storages do
if getPlayerStorageValue(cid, storages) >= 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 aki
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) >= 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 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 = {"Celebi", "Moltres", "Zapdos", "Suicune", "Entei", "Raikou", "Suicune", "Lugia", "Mewtwo", "Mew", "Shiny Rhydon", "Shiny Ariados", "Shiny Magneton", "Shiny Ninetales", "Shiny Politoed", "Shiny Stantler", "Shiny Dodrio", "Shiny Espeon", "Shiny Umbreon", "Mega Blaziken", "Mega Sceptile", "Mega Sableye", "Mega Alakazam", "Gardevoir", "Mega Gardevoir", "Mega Charizard X", "Mega Charizard Y", "Mega Alakazam", "Dark Mega Alakazam", "Dark Mega Blaziken", "Mega Tangrowth", "Mega Blastoise", "Dark Mega Alakazam", "Dark Mega Ampharos", "Dark Mega Blaziken", "Dark Mega Charizard", "Dark Mega Gengar", "Dark Mega Gyarados", "Dark Mega Sceptile", "Dark Mega Tyranitar", "Deus caterpie", "Maromba", "Mega Absol", "Mega Aerodactyl", "Mega Aggron", "Mega Alakazam", "Mega Ampharos", "Mega Blastoise", "Mega Blaziken", "Mega Charizard X", "Mega Charizard Y", "Mega Gardevoir", "Mega Gengar", "Mega Glalie", "Mega Gyarados", "Mega Kabutops", "Mega Kangaskhan", "Mega Lucario", "Mega Manectric", "Mega Mawile", "Mega Sableye", "Mega Sceptile", "Mega Slowking", "Mega Swampert", "Mega Tangrowth", "Mega Tyranitar", "Mega Venusaur", "Mega Volt", "Mega Wobbuffet", "Pardao", "Pensador", "Piaozinho", "Senencio", "Shiny Mega Blaziken", "Shiny Mega Lucario", "Tyrantrum", "Ancient Alakazam", "Ancient Dragonite", "Ancient Kingdra", "Ancient Meganium", "Ancient Scyther", "Ancient Snorlax", "Aviator Pidgeot", "Banshee Misdreavus", "Bone Marowak", "Boxer Hitmonchan", "Brave Blastoise", "Brave Charizard", "Brave Nidoking", "Brave Nidoqueen", "Brave Noctowl", "Brave Venusaur", "Brute Farfetch'd", "Brute Rhydon", "Brute Ursaring", "Capoeira Hitmontop", "Charged Raichu", "Dark Crobat", "Dragon Machamp", "Elder Arcanine", "Elder Blastoise", "Elder Charizard", "Elder Dragonite", "Elder Electabuzz", "Elder Gengar", "Elder Jynx", "Elder Marowak", "Elder Muk", "Elder Pidgeot", "Elder Pinsir", "Elder Raichu", "Elder Tangela", "Elder Tentacruel", "Elder Tyranitar", "Elder Venusaur", "Enigmatic Girafarig", "Enraged Typhlosion", "Evil Cloyster", "Freezing Dewgong", "Furios Ampharos", "Furios Mantine", "Furios Murkrow", "Furious Sandslash", "Furious Scyther", "Hard Golem", "Heavy Piloswine", "Iron Steelix", "Lava Magmar", "Magnet Electabuzz", "Master Abra", "Master Alakazam", "Master Stantler", "Metal Scizor", "Metal Skarmory", "Milch-Miltank", "Moon Clefable", "Octopus Octillery", "Psy Jynx", "Roll Donphan", "Singer Wigglytuff", "Taekwondo Hitmonlee", "Tribal Feraligatr", "Tribal Scyther", "Tribal Xatu", "Undefted Machamp", "War Farfetch'd", "War Granbull", "War Gyarados", "War Heracross", "Wardog Arcanine", "Agata Abra", "Agata Gengar", "Agata Houndoom", "Agata Misdreavus", "Agata Murkrow", "Agata Umbreon", "Ash Blastoise", "Ash Charizard", "Ash Pidgeot", "Ash Pikachu", "Ash Snorlax", "Ash Venusaur", "Bruno Hitmonchan", "Bruno Hitmonlee", "Bruno Hitmontop", "Bruno Machamp", "Bruno Onix", "Clan Blastoise", "Clan Gyarados", "Clan Jynx", "Clan Kabutops", "Gardestriker Shiny Hitmonchan", "Gardestriker Shiny Hitmonlee", "Gardestriker Shiny Hitmontop", "Gardestriker Shiny Snorlax", "Lance Aerodactyl", "Lance Charizard", "Lance Dragonair", "Lance Dragonite", "Lance Gyarados", "Lance Shiny Dragonair", "Lorelei Cloyster", "Lorelei Delibird", "Lorelei Dewgong", "Lorelei Jynx", "Lorelei Lapras", "Lorelei Piloswine", "Malefic Gengar", "Malefic Misdreavus", "Malefic Shiny Gengar", "Malefic Shiny Muk", "Malefic Umbreon", "Orebound Aerodactyl", "Orebound Golden Rhydon", "Orebound Golem", "Orebound Shiny Golem", "Orebound Shiny Marowak", "Piaonzinho", "Psycraft Alakazam", "Psycraft Shiny Abra", "Psycraft Shiny Alakazam", "Psycraft Shiny Hypno", "Psycraft Slowking", "Raibolt Electabuzz", "Raibolt Raichu", "Raibolt Shiny Electabuzz", "Raibolt Shiny Jolteon", "Raibolt Shiny Raichu", "Seavell Blastoise", "Seavell Gyarados", "Seavell Jynx", "Seavell Lapras", "Seavell Shiny Blastoise", "Seavell Shiny Seadra", "Seavell Shiny Tentacruel", "Seavell Tentacruel", "Volcanic Charizard", "Volcanic Magmar", "Volcanic Shiny Arcanine", "Volcanic Shiny Charizard", "Volcanic Typhlosion", "Wingeon Dragonite", "Wingeon Shiny Dragonite", "Wingeon Shiny Farfetch'd", "Wingeon Shiny Fearow", "Wingeon Shiny Pidgeot", "Super Magneton", "Super Poliwrath", "Super Primeape", "Super Salamence", "Super Victreebel", "Bixo Papao", "Maromba", "Mini Zapdos", "Mini Moltres", "Mini Articuno", "Crystal Steelix", "Green Wobbuffet", "Mimo Verde", "Purple Wobbuffet", "Shiny Abra", "Shiny Absol", "Shiny Aerodactyl", "Shiny Aggron", "Shiny Alakazam", "Shiny Ampharos", "Shiny Arcanine", "Shiny Ariados", "Shiny Beedrill", "Shiny Blastoise", "Shiny Blaziken", "Shiny Butterfree", "Shiny Charizard", "Shiny Crobat", "Shiny Cubone", "Shiny Ditto", "Shiny Dodrio", "Shiny Donphan", "Shiny Dragonair", "Shiny Dragonair", "Shiny Dragonite", "Shiny Dratini", "Shiny Electabuzz", "Shiny Electivire", "Shiny Electrode", "Shiny Empoleon", "Shiny Espeon", "Shiny Farfetch'd", "Shiny Fearow", "Shiny Feraligatr", "Shiny Flareon", "Shiny Flygon", "Shiny Gengar", "Shiny Giant Magikarp", "Shiny Golbat", "Shiny Gold Steelix", "Shiny Golem", "Shiny Grimer", "Shiny Growlithe", "Shiny Gyarados", "Shiny Heracross", "Shiny Hitmonchan", "Shiny Hitmonlee", "Shiny Hitmontop", "Shiny Horsea", "Shiny Houndoom", "Shiny Hypno", "Shiny Infernape", "Shiny Jolteon", "Shiny Jynx", "Shiny Kabutops", "Shiny Kingdra", "Shiny Kingler", "Shiny Krabby", "Shiny Lanturn", "Shiny Larvitar", "Shiny Machamp", "Shiny Magcargo", "Shiny Magikarp", "Shiny Magmar", "Shiny Magmortar", "Shiny Magneton", "Shiny Marowak", "Shiny Meganium", "Shiny Metagross", "Shiny Miltank", "Shiny Mr. Mime", "Shiny Muk", "Shiny Nidoking", "Shiny Ninetales", "Shiny Octillery", "Shiny Oddish", "Shiny Omastar", "Shiny Onix", "Shiny Paras", "Shiny Parasect", "Shiny Pidgeot", "Shiny Piloswine", "Shiny Pinsir", "Shiny Politoed", "Shiny Primeape", "Shiny Pupitar", "Shiny Raichu", "Shiny Raticate", "Shiny Rattata", "Shiny Rhydon", "Shiny Sandslash", "Shiny Sceptile", "Shiny Scizor", "Shiny Scyther", "Shiny Seadra", "Shiny Skarmory", "Shiny Slowking", "Shiny Snorlax", "Shiny Stantler", "Shiny Steelix", "Shiny Sudowoodo", "Shiny Swampert", "Shiny Tangela", "Shiny Tangrowth", "Shiny Tauros", "Shiny Tentacool", "Shiny Tentacruel", "Shiny Togekiss", "Shiny Torterra", "Shiny Tropius", "Shiny Typhlosion", "Shiny Umbreon", "Shiny Ursaring", "Shiny Vaporeon", "Shiny Venomoth", "Shiny Venonat", "Shiny Venusaur", "Shiny Vileplume", "Shiny Voltorb", "Shiny Weezing", "Shiny Xatu", "Shiny Zubat", "White Snorlax", "Dark Mega Swampert", "Smeargle", "Blue Tower 1", "Blue Tower 2", "Blue Tower 3", "Red Tower 1", "Red Tower 2", "Red Tower 3", "Shiny Mega Aggron", "Mega Aggron", "Shiny Mantine", "Shiny Gyarados", "Shiny Salamence"}
local proibidosboost = {"0", "0", "0", "0"} -- 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), 11)
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 proibidossempre = {"Celebi", "Moltres", "Zapdos", "Suicune", "Entei", "Raikou", "Suicune", "Lugia", "Mewtwo", "Mew", "Shiny Rhydon", "Shiny Ariados", "Shiny Magneton", "Shiny Ninetales", "Shiny Politoed", "Shiny Stantler", "Shiny Dodrio", "Shiny Espeon", "Shiny Umbreon", "Mega Blaziken", "Mega Sceptile", "Mega Sableye", "Mega Alakazam", "Gardevoir", "Mega Gardevoir", "Mega Charizard X", "Mega Charizard Y", "Mega Alakazam", "Dark Mega Alakazam", "Dark Mega Blaziken", "Mega Tangrowth", "Mega Blastoise", "Dark Mega Alakazam", "Dark Mega Ampharos", "Dark Mega Blaziken", "Dark Mega Charizard", "Dark Mega Gengar", "Dark Mega Gyarados", "Dark Mega Sceptile", "Dark Mega Tyranitar", "Deus caterpie", "Maromba", "Mega Absol", "Mega Aerodactyl", "Mega Aggron", "Mega Alakazam", "Mega Ampharos", "Mega Blastoise", "Mega Blaziken", "Mega Charizard X", "Mega Charizard Y", "Mega Gardevoir", "Mega Gengar", "Mega Glalie", "Mega Gyarados", "Mega Kabutops", "Mega Kangaskhan", "Mega Lucario", "Mega Manectric", "Mega Mawile", "Mega Sableye", "Mega Sceptile", "Mega Slowking", "Mega Swampert", "Mega Tangrowth", "Mega Tyranitar", "Mega Venusaur", "Mega Volt", "Mega Wobbuffet", "Pardao", "Pensador", "Piaozinho", "Senencio", "Shiny Mega Blaziken", "Shiny Mega Lucario", "Tyrantrum", "Ancient Alakazam", "Ancient Dragonite", "Ancient Kingdra", "Ancient Meganium", "Ancient Scyther", "Ancient Snorlax", "Aviator Pidgeot", "Banshee Misdreavus", "Bone Marowak", "Boxer Hitmonchan", "Brave Blastoise", "Brave Charizard", "Brave Nidoking", "Brave Nidoqueen", "Brave Noctowl", "Brave Venusaur", "Brute Farfetch'd", "Brute Rhydon", "Brute Ursaring", "Capoeira Hitmontop", "Charged Raichu", "Dark Crobat", "Dragon Machamp", "Elder Arcanine", "Elder Blastoise", "Elder Charizard", "Elder Dragonite", "Elder Electabuzz", "Elder Gengar", "Elder Jynx", "Elder Marowak", "Elder Muk", "Elder Pidgeot", "Elder Pinsir", "Elder Raichu", "Elder Tangela", "Elder Tentacruel", "Elder Tyranitar", "Elder Venusaur", "Enigmatic Girafarig", "Enraged Typhlosion", "Evil Cloyster", "Freezing Dewgong", "Furios Ampharos", "Furios Mantine", "Furios Murkrow", "Furious Sandslash", "Furious Scyther", "Hard Golem", "Heavy Piloswine", "Iron Steelix", "Lava Magmar", "Magnet Electabuzz", "Master Abra", "Master Alakazam", "Master Stantler", "Metal Scizor", "Metal Skarmory", "Milch-Miltank", "Moon Clefable", "Octopus Octillery", "Psy Jynx", "Roll Donphan", "Singer Wigglytuff", "Taekwondo Hitmonlee", "Tribal Feraligatr", "Tribal Scyther", "Tribal Xatu", "Undefted Machamp", "War Farfetch'd", "War Granbull", "War Gyarados", "War Heracross", "Wardog Arcanine", "Agata Abra", "Agata Gengar", "Agata Houndoom", "Agata Misdreavus", "Agata Murkrow", "Agata Umbreon", "Ash Blastoise", "Ash Charizard", "Ash Pidgeot", "Ash Pikachu", "Ash Snorlax", "Ash Venusaur", "Bruno Hitmonchan", "Bruno Hitmonlee", "Bruno Hitmontop", "Bruno Machamp", "Bruno Onix", "Clan Blastoise", "Clan Gyarados", "Clan Jynx", "Clan Kabutops", "Gardestriker Shiny Hitmonchan", "Gardestriker Shiny Hitmonlee", "Gardestriker Shiny Hitmontop", "Gardestriker Shiny Snorlax", "Lance Aerodactyl", "Lance Charizard", "Lance Dragonair", "Lance Dragonite", "Lance Gyarados", "Lance Shiny Dragonair", "Lorelei Cloyster", "Lorelei Delibird", "Lorelei Dewgong", "Lorelei Jynx", "Lorelei Lapras", "Lorelei Piloswine", "Malefic Gengar", "Malefic Misdreavus", "Malefic Shiny Gengar", "Malefic Shiny Muk", "Malefic Umbreon", "Orebound Aerodactyl", "Orebound Golden Rhydon", "Orebound Golem", "Orebound Shiny Golem", "Orebound Shiny Marowak", "Piaonzinho", "Psycraft Alakazam", "Psycraft Shiny Abra", "Psycraft Shiny Alakazam", "Psycraft Shiny Hypno", "Psycraft Slowking", "Raibolt Electabuzz", "Raibolt Raichu", "Raibolt Shiny Electabuzz", "Raibolt Shiny Jolteon", "Raibolt Shiny Raichu", "Seavell Blastoise", "Seavell Gyarados", "Seavell Jynx", "Seavell Lapras", "Seavell Shiny Blastoise", "Seavell Shiny Seadra", "Seavell Shiny Tentacruel", "Seavell Tentacruel", "Volcanic Charizard", "Volcanic Magmar", "Volcanic Shiny Arcanine", "Volcanic Shiny Charizard", "Volcanic Typhlosion", "Wingeon Dragonite", "Wingeon Shiny Dragonite", "Wingeon Shiny Farfetch'd", "Wingeon Shiny Fearow", "Wingeon Shiny Pidgeot", "Super Magneton", "Super Poliwrath", "Super Primeape", "Super Salamence", "Super Victreebel", "Bixo Papao", "Maromba", "Mini Zapdos", "Mini Moltres", "Mini Articuno", "Dark Mega Swampert", "Smeargle", "Blue Tower 1", "Blue Tower 2", "Blue Tower 3", "Red Tower 1", "Red Tower 2", "Red Tower 3", "Shiny Mega Aggron", "Mega Aggron"} -- Nunca permitir
local p = getPlayerSlotItem(m, 8)
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), 11)
--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, 32001) == 1 then
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)) 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)) 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)))
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

Editado por josegvb
Link para o comentário
Compartilhar em outros sites

  • 0

 

rp+

alguem sabe como colocar esses pra sair em laranja? sao as funçoes quando voce usa order pra mover o pokemon de 1 sqm pra outro, ou pra dar fly etc

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
}
tb da pra trocar o TALKTYPE_MONSTER pelo TALKTYPE_ORANGE_1 ?

 

mas acho q iria ficar com erro, tipo sem falar o nome do pokemon ne?

 

actions/order:

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 = {"Mew", "Mewtwo", "Unown Legion", "Entei", "Raikou", "Suicune", "Zapdos", "Moltres", "Articuno", "Rocket Team", "Unown", "Lugia", "Celebi", "Ho-oh", "Mew_", "Mewtwo_", "Mega Blaziken", "Mega Sceptile", "Mega Sableye", "Mega Alakazam", "Gardevoir", "Mega Gardevoir", "Mega Charizard X", "Mega Charizard Y", "Mega Alakazam", "Dark Mega Alakazam", "Dark Mega Blaziken", "Mega Tangrowth", "Mega Blastoise", "Mega Blaziken", "Mega Sceptile", "Mega Sableye", "Mega Alakazam", "Gardevoir", "Mega Gardevoir", "Mega Charizard X", "Mega Charizard Y", "Mega Alakazam", "Dark Mega Alakazam", "Dark Mega Blaziken", "Mega Tangrowth", "Mega Blastoise", "Dark Mega Alakazam", "Dark Mega Ampharos", "Dark Mega Blaziken", "Dark Mega Charizard", "Dark Mega Gengar", "Dark Mega Gyarados", "Dark Mega Sceptile", "Dark Mega Tyranitar", "Deus caterpie", "Maromba", "Mega Absol", "Mega Aerodactyl", "Mega Aggron", "Mega Alakazam", "Mega Ampharos", "Mega Blastoise", "Mega Blaziken", "Mega Charizard X", "Mega Charizard Y", "Mega Gardevoir", "Mega Gengar", "Mega Glalie", "Mega Gyarados", "Mega Kabutops", "Mega Kangaskhan", "Mega Lucario", "Mega Manectric", "Mega Mawile", "Mega Sableye", "Mega Sceptile", "Mega Slowking", "Mega Swampert", "Mega Tangrowth", "Mega Tyranitar", "Mega Venusaur", "Mega Volt", "Mega Wobbuffet", "Pardao", "Pensador", "Piaozinho", "Senencio", "Shiny Mega Blaziken", "Shiny Mega Lucario", "Tyrantrum", "Ancient Alakazam", "Ancient Dragonite", "Ancient Kingdra", "Ancient Meganium", "Ancient Scyther", "Ancient Snorlax", "Aviator Pidgeot", "Banshee Misdreavus", "Bone Marowak", "Boxer Hitmonchan", "Brave Blastoise", "Brave Charizard", "Brave Nidoking", "Brave Nidoqueen", "Brave Noctowl", "Brave Venusaur", "Brute Farfetch'd", "Brute Rhydon", "Brute Ursaring", "Capoeira Hitmontop", "Charged Raichu", "Dark Crobat", "Dragon Machamp", "Elder Arcanine", "Elder Blastoise", "Elder Charizard", "Elder Dragonite", "Elder Electabuzz", "Elder Gengar", "Elder Jynx", "Elder Marowak", "Elder Muk", "Elder Pidgeot", "Elder Pinsir", "Elder Raichu", "Elder Tangela", "Elder Tentacruel", "Elder Tyranitar", "Elder Venusaur", "Enigmatic Girafarig", "Enraged Typhlosion", "Evil Cloyster", "Freezing Dewgong", "Furios Ampharos", "Furios Mantine", "Furios Murkrow", "Furious Sandslash", "Furious Scyther", "Hard Golem", "Heavy Piloswine", "Iron Steelix", "Lava Magmar", "Magnet Electabuzz", "Master Abra", "Master Alakazam", "Master Stantler", "Metal Scizor", "Metal Skarmory", "Milch-Miltank", "Moon Clefable", "Octopus Octillery", "Psy Jynx", "Roll Donphan", "Singer Wigglytuff", "Taekwondo Hitmonlee", "Tribal Feraligatr", "Tribal Scyther", "Tribal Xatu", "Undefted Machamp", "War Farfetch'd", "War Granbull", "War Gyarados", "War Heracross", "Wardog Arcanine", "Dark Mega Swampert", "Blue Tower 1", "Blue Tower 2", "Blue Tower 3", "Red Tower 1", "Red Tower 2", "Red Tower 3", "Mega Aggron", "Shiny Mega Aggron"}

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 = {"Divine Punishment", "Unown Rush", "Unown Help", "Mysterious Power", "Power Wave", "Shredder Team", "Double Team", "Team Slice", "Ancient Fury", "Camouflage", "Future Sight", "Acid Armor", "Rollout", "Flame Wheel", "Elemental Hands", "Super Vines", "ExplodeAll", "Aerial Ace", "Stampage", "Iron Defense", "Minimize", "Team Claw", "Mamaragan", "Air Vortex"}

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 aki

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

---

local storages = {17000, 63215, 17001, 13008, 32001}

for s = 1, #storages do

if getPlayerStorageValue(cid, storages) >= 1 then

return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!")

end

end

for s = 1, #storages do

if getPlayerStorageValue(cid, storages) >= 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 aki

 

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) >= 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 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 = {"Celebi", "Moltres", "Zapdos", "Suicune", "Entei", "Raikou", "Suicune", "Lugia", "Mewtwo", "Mew", "Shiny Rhydon", "Shiny Ariados", "Shiny Magneton", "Shiny Ninetales", "Shiny Politoed", "Shiny Stantler", "Shiny Dodrio", "Shiny Espeon", "Shiny Umbreon", "Mega Blaziken", "Mega Sceptile", "Mega Sableye", "Mega Alakazam", "Gardevoir", "Mega Gardevoir", "Mega Charizard X", "Mega Charizard Y", "Mega Alakazam", "Dark Mega Alakazam", "Dark Mega Blaziken", "Mega Tangrowth", "Mega Blastoise", "Dark Mega Alakazam", "Dark Mega Ampharos", "Dark Mega Blaziken", "Dark Mega Charizard", "Dark Mega Gengar", "Dark Mega Gyarados", "Dark Mega Sceptile", "Dark Mega Tyranitar", "Deus caterpie", "Maromba", "Mega Absol", "Mega Aerodactyl", "Mega Aggron", "Mega Alakazam", "Mega Ampharos", "Mega Blastoise", "Mega Blaziken", "Mega Charizard X", "Mega Charizard Y", "Mega Gardevoir", "Mega Gengar", "Mega Glalie", "Mega Gyarados", "Mega Kabutops", "Mega Kangaskhan", "Mega Lucario", "Mega Manectric", "Mega Mawile", "Mega Sableye", "Mega Sceptile", "Mega Slowking", "Mega Swampert", "Mega Tangrowth", "Mega Tyranitar", "Mega Venusaur", "Mega Volt", "Mega Wobbuffet", "Pardao", "Pensador", "Piaozinho", "Senencio", "Shiny Mega Blaziken", "Shiny Mega Lucario", "Tyrantrum", "Ancient Alakazam", "Ancient Dragonite", "Ancient Kingdra", "Ancient Meganium", "Ancient Scyther", "Ancient Snorlax", "Aviator Pidgeot", "Banshee Misdreavus", "Bone Marowak", "Boxer Hitmonchan", "Brave Blastoise", "Brave Charizard", "Brave Nidoking", "Brave Nidoqueen", "Brave Noctowl", "Brave Venusaur", "Brute Farfetch'd", "Brute Rhydon", "Brute Ursaring", "Capoeira Hitmontop", "Charged Raichu", "Dark Crobat", "Dragon Machamp", "Elder Arcanine", "Elder Blastoise", "Elder Charizard", "Elder Dragonite", "Elder Electabuzz", "Elder Gengar", "Elder Jynx", "Elder Marowak", "Elder Muk", "Elder Pidgeot", "Elder Pinsir", "Elder Raichu", "Elder Tangela", "Elder Tentacruel", "Elder Tyranitar", "Elder Venusaur", "Enigmatic Girafarig", "Enraged Typhlosion", "Evil Cloyster", "Freezing Dewgong", "Furios Ampharos", "Furios Mantine", "Furios Murkrow", "Furious Sandslash", "Furious Scyther", "Hard Golem", "Heavy Piloswine", "Iron Steelix", "Lava Magmar", "Magnet Electabuzz", "Master Abra", "Master Alakazam", "Master Stantler", "Metal Scizor", "Metal Skarmory", "Milch-Miltank", "Moon Clefable", "Octopus Octillery", "Psy Jynx", "Roll Donphan", "Singer Wigglytuff", "Taekwondo Hitmonlee", "Tribal Feraligatr", "Tribal Scyther", "Tribal Xatu", "Undefted Machamp", "War Farfetch'd", "War Granbull", "War Gyarados", "War Heracross", "Wardog Arcanine", "Agata Abra", "Agata Gengar", "Agata Houndoom", "Agata Misdreavus", "Agata Murkrow", "Agata Umbreon", "Ash Blastoise", "Ash Charizard", "Ash Pidgeot", "Ash Pikachu", "Ash Snorlax", "Ash Venusaur", "Bruno Hitmonchan", "Bruno Hitmonlee", "Bruno Hitmontop", "Bruno Machamp", "Bruno Onix", "Clan Blastoise", "Clan Gyarados", "Clan Jynx", "Clan Kabutops", "Gardestriker Shiny Hitmonchan", "Gardestriker Shiny Hitmonlee", "Gardestriker Shiny Hitmontop", "Gardestriker Shiny Snorlax", "Lance Aerodactyl", "Lance Charizard", "Lance Dragonair", "Lance Dragonite", "Lance Gyarados", "Lance Shiny Dragonair", "Lorelei Cloyster", "Lorelei Delibird", "Lorelei Dewgong", "Lorelei Jynx", "Lorelei Lapras", "Lorelei Piloswine", "Malefic Gengar", "Malefic Misdreavus", "Malefic Shiny Gengar", "Malefic Shiny Muk", "Malefic Umbreon", "Orebound Aerodactyl", "Orebound Golden Rhydon", "Orebound Golem", "Orebound Shiny Golem", "Orebound Shiny Marowak", "Piaonzinho", "Psycraft Alakazam", "Psycraft Shiny Abra", "Psycraft Shiny Alakazam", "Psycraft Shiny Hypno", "Psycraft Slowking", "Raibolt Electabuzz", "Raibolt Raichu", "Raibolt Shiny Electabuzz", "Raibolt Shiny Jolteon", "Raibolt Shiny Raichu", "Seavell Blastoise", "Seavell Gyarados", "Seavell Jynx", "Seavell Lapras", "Seavell Shiny Blastoise", "Seavell Shiny Seadra", "Seavell Shiny Tentacruel", "Seavell Tentacruel", "Volcanic Charizard", "Volcanic Magmar", "Volcanic Shiny Arcanine", "Volcanic Shiny Charizard", "Volcanic Typhlosion", "Wingeon Dragonite", "Wingeon Shiny Dragonite", "Wingeon Shiny Farfetch'd", "Wingeon Shiny Fearow", "Wingeon Shiny Pidgeot", "Super Magneton", "Super Poliwrath", "Super Primeape", "Super Salamence", "Super Victreebel", "Bixo Papao", "Maromba", "Mini Zapdos", "Mini Moltres", "Mini Articuno", "Crystal Steelix", "Green Wobbuffet", "Mimo Verde", "Purple Wobbuffet", "Shiny Abra", "Shiny Absol", "Shiny Aerodactyl", "Shiny Aggron", "Shiny Alakazam", "Shiny Ampharos", "Shiny Arcanine", "Shiny Ariados", "Shiny Beedrill", "Shiny Blastoise", "Shiny Blaziken", "Shiny Butterfree", "Shiny Charizard", "Shiny Crobat", "Shiny Cubone", "Shiny Ditto", "Shiny Dodrio", "Shiny Donphan", "Shiny Dragonair", "Shiny Dragonair", "Shiny Dragonite", "Shiny Dratini", "Shiny Electabuzz", "Shiny Electivire", "Shiny Electrode", "Shiny Empoleon", "Shiny Espeon", "Shiny Farfetch'd", "Shiny Fearow", "Shiny Feraligatr", "Shiny Flareon", "Shiny Flygon", "Shiny Gengar", "Shiny Giant Magikarp", "Shiny Golbat", "Shiny Gold Steelix", "Shiny Golem", "Shiny Grimer", "Shiny Growlithe", "Shiny Gyarados", "Shiny Heracross", "Shiny Hitmonchan", "Shiny Hitmonlee", "Shiny Hitmontop", "Shiny Horsea", "Shiny Houndoom", "Shiny Hypno", "Shiny Infernape", "Shiny Jolteon", "Shiny Jynx", "Shiny Kabutops", "Shiny Kingdra", "Shiny Kingler", "Shiny Krabby", "Shiny Lanturn", "Shiny Larvitar", "Shiny Machamp", "Shiny Magcargo", "Shiny Magikarp", "Shiny Magmar", "Shiny Magmortar", "Shiny Magneton", "Shiny Marowak", "Shiny Meganium", "Shiny Metagross", "Shiny Miltank", "Shiny Mr. Mime", "Shiny Muk", "Shiny Nidoking", "Shiny Ninetales", "Shiny Octillery", "Shiny Oddish", "Shiny Omastar", "Shiny Onix", "Shiny Paras", "Shiny Parasect", "Shiny Pidgeot", "Shiny Piloswine", "Shiny Pinsir", "Shiny Politoed", "Shiny Primeape", "Shiny Pupitar", "Shiny Raichu", "Shiny Raticate", "Shiny Rattata", "Shiny Rhydon", "Shiny Sandslash", "Shiny Sceptile", "Shiny Scizor", "Shiny Scyther", "Shiny Seadra", "Shiny Skarmory", "Shiny Slowking", "Shiny Snorlax", "Shiny Stantler", "Shiny Steelix", "Shiny Sudowoodo", "Shiny Swampert", "Shiny Tangela", "Shiny Tangrowth", "Shiny Tauros", "Shiny Tentacool", "Shiny Tentacruel", "Shiny Togekiss", "Shiny Torterra", "Shiny Tropius", "Shiny Typhlosion", "Shiny Umbreon", "Shiny Ursaring", "Shiny Vaporeon", "Shiny Venomoth", "Shiny Venonat", "Shiny Venusaur", "Shiny Vileplume", "Shiny Voltorb", "Shiny Weezing", "Shiny Xatu", "Shiny Zubat", "White Snorlax", "Dark Mega Swampert", "Smeargle", "Blue Tower 1", "Blue Tower 2", "Blue Tower 3", "Red Tower 1", "Red Tower 2", "Red Tower 3", "Shiny Mega Aggron", "Mega Aggron", "Shiny Mantine", "Shiny Gyarados", "Shiny Salamence"}

local proibidosboost = {"0", "0", "0", "0"} -- 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), 11)

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 proibidossempre = {"Celebi", "Moltres", "Zapdos", "Suicune", "Entei", "Raikou", "Suicune", "Lugia", "Mewtwo", "Mew", "Shiny Rhydon", "Shiny Ariados", "Shiny Magneton", "Shiny Ninetales", "Shiny Politoed", "Shiny Stantler", "Shiny Dodrio", "Shiny Espeon", "Shiny Umbreon", "Mega Blaziken", "Mega Sceptile", "Mega Sableye", "Mega Alakazam", "Gardevoir", "Mega Gardevoir", "Mega Charizard X", "Mega Charizard Y", "Mega Alakazam", "Dark Mega Alakazam", "Dark Mega Blaziken", "Mega Tangrowth", "Mega Blastoise", "Dark Mega Alakazam", "Dark Mega Ampharos", "Dark Mega Blaziken", "Dark Mega Charizard", "Dark Mega Gengar", "Dark Mega Gyarados", "Dark Mega Sceptile", "Dark Mega Tyranitar", "Deus caterpie", "Maromba", "Mega Absol", "Mega Aerodactyl", "Mega Aggron", "Mega Alakazam", "Mega Ampharos", "Mega Blastoise", "Mega Blaziken", "Mega Charizard X", "Mega Charizard Y", "Mega Gardevoir", "Mega Gengar", "Mega Glalie", "Mega Gyarados", "Mega Kabutops", "Mega Kangaskhan", "Mega Lucario", "Mega Manectric", "Mega Mawile", "Mega Sableye", "Mega Sceptile", "Mega Slowking", "Mega Swampert", "Mega Tangrowth", "Mega Tyranitar", "Mega Venusaur", "Mega Volt", "Mega Wobbuffet", "Pardao", "Pensador", "Piaozinho", "Senencio", "Shiny Mega Blaziken", "Shiny Mega Lucario", "Tyrantrum", "Ancient Alakazam", "Ancient Dragonite", "Ancient Kingdra", "Ancient Meganium", "Ancient Scyther", "Ancient Snorlax", "Aviator Pidgeot", "Banshee Misdreavus", "Bone Marowak", "Boxer Hitmonchan", "Brave Blastoise", "Brave Charizard", "Brave Nidoking", "Brave Nidoqueen", "Brave Noctowl", "Brave Venusaur", "Brute Farfetch'd", "Brute Rhydon", "Brute Ursaring", "Capoeira Hitmontop", "Charged Raichu", "Dark Crobat", "Dragon Machamp", "Elder Arcanine", "Elder Blastoise", "Elder Charizard", "Elder Dragonite", "Elder Electabuzz", "Elder Gengar", "Elder Jynx", "Elder Marowak", "Elder Muk", "Elder Pidgeot", "Elder Pinsir", "Elder Raichu", "Elder Tangela", "Elder Tentacruel", "Elder Tyranitar", "Elder Venusaur", "Enigmatic Girafarig", "Enraged Typhlosion", "Evil Cloyster", "Freezing Dewgong", "Furios Ampharos", "Furios Mantine", "Furios Murkrow", "Furious Sandslash", "Furious Scyther", "Hard Golem", "Heavy Piloswine", "Iron Steelix", "Lava Magmar", "Magnet Electabuzz", "Master Abra", "Master Alakazam", "Master Stantler", "Metal Scizor", "Metal Skarmory", "Milch-Miltank", "Moon Clefable", "Octopus Octillery", "Psy Jynx", "Roll Donphan", "Singer Wigglytuff", "Taekwondo Hitmonlee", "Tribal Feraligatr", "Tribal Scyther", "Tribal Xatu", "Undefted Machamp", "War Farfetch'd", "War Granbull", "War Gyarados", "War Heracross", "Wardog Arcanine", "Agata Abra", "Agata Gengar", "Agata Houndoom", "Agata Misdreavus", "Agata Murkrow", "Agata Umbreon", "Ash Blastoise", "Ash Charizard", "Ash Pidgeot", "Ash Pikachu", "Ash Snorlax", "Ash Venusaur", "Bruno Hitmonchan", "Bruno Hitmonlee", "Bruno Hitmontop", "Bruno Machamp", "Bruno Onix", "Clan Blastoise", "Clan Gyarados", "Clan Jynx", "Clan Kabutops", "Gardestriker Shiny Hitmonchan", "Gardestriker Shiny Hitmonlee", "Gardestriker Shiny Hitmontop", "Gardestriker Shiny Snorlax", "Lance Aerodactyl", "Lance Charizard", "Lance Dragonair", "Lance Dragonite", "Lance Gyarados", "Lance Shiny Dragonair", "Lorelei Cloyster", "Lorelei Delibird", "Lorelei Dewgong", "Lorelei Jynx", "Lorelei Lapras", "Lorelei Piloswine", "Malefic Gengar", "Malefic Misdreavus", "Malefic Shiny Gengar", "Malefic Shiny Muk", "Malefic Umbreon", "Orebound Aerodactyl", "Orebound Golden Rhydon", "Orebound Golem", "Orebound Shiny Golem", "Orebound Shiny Marowak", "Piaonzinho", "Psycraft Alakazam", "Psycraft Shiny Abra", "Psycraft Shiny Alakazam", "Psycraft Shiny Hypno", "Psycraft Slowking", "Raibolt Electabuzz", "Raibolt Raichu", "Raibolt Shiny Electabuzz", "Raibolt Shiny Jolteon", "Raibolt Shiny Raichu", "Seavell Blastoise", "Seavell Gyarados", "Seavell Jynx", "Seavell Lapras", "Seavell Shiny Blastoise", "Seavell Shiny Seadra", "Seavell Shiny Tentacruel", "Seavell Tentacruel", "Volcanic Charizard", "Volcanic Magmar", "Volcanic Shiny Arcanine", "Volcanic Shiny Charizard", "Volcanic Typhlosion", "Wingeon Dragonite", "Wingeon Shiny Dragonite", "Wingeon Shiny Farfetch'd", "Wingeon Shiny Fearow", "Wingeon Shiny Pidgeot", "Super Magneton", "Super Poliwrath", "Super Primeape", "Super Salamence", "Super Victreebel", "Bixo Papao", "Maromba", "Mini Zapdos", "Mini Moltres", "Mini Articuno", "Dark Mega Swampert", "Smeargle", "Blue Tower 1", "Blue Tower 2", "Blue Tower 3", "Red Tower 1", "Red Tower 2", "Red Tower 3", "Shiny Mega Aggron", "Mega Aggron"} -- Nunca permitir

local p = getPlayerSlotItem(m, 8)

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), 11)

--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, 32001) == 1 then

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)) 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)) 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)))

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

 

Não dá erro, só trocar os TALKTYPE_SAY por TALKTYPE_ORANGE_1
Link para o comentário
Compartilhar em outros sites

  • 0

 

rp+

alguem sabe como colocar esses pra sair em laranja? sao as funçoes quando voce usa order pra mover o pokemon de 1 sqm pra outro, ou pra dar fly etc

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
}

tb da pra trocar o TALKTYPE_MONSTER pelo TALKTYPE_ORANGE_1 ?

 

mas acho q iria ficar com erro, tipo sem falar o nome do pokemon ne?

 

 

 

Creio q n teria problemas, quando aos moves procura por (tem 2, seria o ultimo)

doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1)

e troca o no final ficando

doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", TALKTYPE_MONSTER)

Link para o comentário
Compartilhar em outros sites

  • 0
Em 28/03/2016 at 15:01, Bluester disse:

 

rp+

alguem sabe como colocar esses pra sair em laranja? sao as funçoes quando voce usa order pra mover o pokemon de 1 sqm pra outro, ou pra dar fly etc
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}
tb da pra trocar o TALKTYPE_MONSTER pelo 
TALKTYPE_ORANGE_1 ?

 

mas acho q iria ficar com erro, tipo sem falar o nome do pokemon ne?

 

actions/order:

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 = {"Mew", "Mewtwo", "Unown Legion", "Entei", "Raikou", "Suicune", "Zapdos", "Moltres", "Articuno", "Rocket Team", "Unown", "Lugia", "Celebi", "Ho-oh", "Mew_", "Mewtwo_", "Mega Blaziken", "Mega Sceptile", "Mega Sableye", "Mega Alakazam", "Gardevoir", "Mega Gardevoir", "Mega Charizard X", "Mega Charizard Y", "Mega Alakazam", "Dark Mega Alakazam", "Dark Mega Blaziken", "Mega Tangrowth", "Mega Blastoise", "Mega Blaziken", "Mega Sceptile", "Mega Sableye", "Mega Alakazam", "Gardevoir", "Mega Gardevoir", "Mega Charizard X", "Mega Charizard Y", "Mega Alakazam", "Dark Mega Alakazam", "Dark Mega Blaziken", "Mega Tangrowth", "Mega Blastoise", "Dark Mega Alakazam", "Dark Mega Ampharos", "Dark Mega Blaziken", "Dark Mega Charizard", "Dark Mega Gengar", "Dark Mega Gyarados", "Dark Mega Sceptile", "Dark Mega Tyranitar", "Deus caterpie", "Maromba", "Mega Absol", "Mega Aerodactyl", "Mega Aggron", "Mega Alakazam", "Mega Ampharos", "Mega Blastoise", "Mega Blaziken", "Mega Charizard X", "Mega Charizard Y", "Mega Gardevoir", "Mega Gengar", "Mega Glalie", "Mega Gyarados", "Mega Kabutops", "Mega Kangaskhan", "Mega Lucario", "Mega Manectric", "Mega Mawile", "Mega Sableye", "Mega Sceptile", "Mega Slowking", "Mega Swampert", "Mega Tangrowth", "Mega Tyranitar", "Mega Venusaur", "Mega Volt", "Mega Wobbuffet", "Pardao", "Pensador", "Piaozinho", "Senencio", "Shiny Mega Blaziken", "Shiny Mega Lucario", "Tyrantrum", "Ancient Alakazam", "Ancient Dragonite", "Ancient Kingdra", "Ancient Meganium", "Ancient Scyther", "Ancient Snorlax", "Aviator Pidgeot", "Banshee Misdreavus", "Bone Marowak", "Boxer Hitmonchan", "Brave Blastoise", "Brave Charizard", "Brave Nidoking", "Brave Nidoqueen", "Brave Noctowl", "Brave Venusaur", "Brute Farfetch'd", "Brute Rhydon", "Brute Ursaring", "Capoeira Hitmontop", "Charged Raichu", "Dark Crobat", "Dragon Machamp", "Elder Arcanine", "Elder Blastoise", "Elder Charizard", "Elder Dragonite", "Elder Electabuzz", "Elder Gengar", "Elder Jynx", "Elder Marowak", "Elder Muk", "Elder Pidgeot", "Elder Pinsir", "Elder Raichu", "Elder Tangela", "Elder Tentacruel", "Elder Tyranitar", "Elder Venusaur", "Enigmatic Girafarig", "Enraged Typhlosion", "Evil Cloyster", "Freezing Dewgong", "Furios Ampharos", "Furios Mantine", "Furios Murkrow", "Furious Sandslash", "Furious Scyther", "Hard Golem", "Heavy Piloswine", "Iron Steelix", "Lava Magmar", "Magnet Electabuzz", "Master Abra", "Master Alakazam", "Master Stantler", "Metal Scizor", "Metal Skarmory", "Milch-Miltank", "Moon Clefable", "Octopus Octillery", "Psy Jynx", "Roll Donphan", "Singer Wigglytuff", "Taekwondo Hitmonlee", "Tribal Feraligatr", "Tribal Scyther", "Tribal Xatu", "Undefted Machamp", "War Farfetch'd", "War Granbull", "War Gyarados", "War Heracross", "Wardog Arcanine", "Dark Mega Swampert", "Blue Tower 1", "Blue Tower 2", "Blue Tower 3", "Red Tower 1", "Red Tower 2", "Red Tower 3", "Mega Aggron", "Shiny Mega Aggron"}

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 = {"Divine Punishment", "Unown Rush", "Unown Help", "Mysterious Power", "Power Wave", "Shredder Team", "Double Team", "Team Slice", "Ancient Fury", "Camouflage", "Future Sight", "Acid Armor", "Rollout", "Flame Wheel", "Elemental Hands", "Super Vines", "ExplodeAll", "Aerial Ace", "Stampage", "Iron Defense", "Minimize", "Team Claw", "Mamaragan", "Air Vortex"}

  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 aki

    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                  

---

local storages = {17000, 63215, 17001, 13008, 32001}

for s = 1, #storages do

    if getPlayerStorageValue(cid, storages
) >= 1 then

       return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!") 

    end

end

for s = 1, #storages do

    if getPlayerStorageValue(cid, storages
) >= 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 aki

 

   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
) >= 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 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 = {"Celebi", "Moltres", "Zapdos", "Suicune", "Entei", "Raikou", "Suicune", "Lugia", "Mewtwo", "Mew", "Shiny Rhydon", "Shiny Ariados", "Shiny Magneton", "Shiny Ninetales", "Shiny Politoed", "Shiny Stantler", "Shiny Dodrio", "Shiny Espeon", "Shiny Umbreon", "Mega Blaziken", "Mega Sceptile", "Mega Sableye", "Mega Alakazam", "Gardevoir", "Mega Gardevoir", "Mega Charizard X", "Mega Charizard Y", "Mega Alakazam", "Dark Mega Alakazam", "Dark Mega Blaziken", "Mega Tangrowth", "Mega Blastoise", "Dark Mega Alakazam", "Dark Mega Ampharos", "Dark Mega Blaziken", "Dark Mega Charizard", "Dark Mega Gengar", "Dark Mega Gyarados", "Dark Mega Sceptile", "Dark Mega Tyranitar", "Deus caterpie", "Maromba", "Mega Absol", "Mega Aerodactyl", "Mega Aggron", "Mega Alakazam", "Mega Ampharos", "Mega Blastoise", "Mega Blaziken", "Mega Charizard X", "Mega Charizard Y", "Mega Gardevoir", "Mega Gengar", "Mega Glalie", "Mega Gyarados", "Mega Kabutops", "Mega Kangaskhan", "Mega Lucario", "Mega Manectric", "Mega Mawile", "Mega Sableye", "Mega Sceptile", "Mega Slowking", "Mega Swampert", "Mega Tangrowth", "Mega Tyranitar", "Mega Venusaur", "Mega Volt", "Mega Wobbuffet", "Pardao", "Pensador", "Piaozinho", "Senencio", "Shiny Mega Blaziken", "Shiny Mega Lucario", "Tyrantrum", "Ancient Alakazam", "Ancient Dragonite", "Ancient Kingdra", "Ancient Meganium", "Ancient Scyther", "Ancient Snorlax", "Aviator Pidgeot", "Banshee Misdreavus", "Bone Marowak", "Boxer Hitmonchan", "Brave Blastoise", "Brave Charizard", "Brave Nidoking", "Brave Nidoqueen", "Brave Noctowl", "Brave Venusaur", "Brute Farfetch'd", "Brute Rhydon", "Brute Ursaring", "Capoeira Hitmontop", "Charged Raichu", "Dark Crobat", "Dragon Machamp", "Elder Arcanine", "Elder Blastoise", "Elder Charizard", "Elder Dragonite", "Elder Electabuzz", "Elder Gengar", "Elder Jynx", "Elder Marowak", "Elder Muk", "Elder Pidgeot", "Elder Pinsir", "Elder Raichu", "Elder Tangela", "Elder Tentacruel", "Elder Tyranitar", "Elder Venusaur", "Enigmatic Girafarig", "Enraged Typhlosion", "Evil Cloyster", "Freezing Dewgong", "Furios Ampharos", "Furios Mantine", "Furios Murkrow", "Furious Sandslash", "Furious Scyther", "Hard Golem", "Heavy Piloswine", "Iron Steelix", "Lava Magmar", "Magnet Electabuzz", "Master Abra", "Master Alakazam", "Master Stantler", "Metal Scizor", "Metal Skarmory", "Milch-Miltank", "Moon Clefable", "Octopus Octillery", "Psy Jynx", "Roll Donphan", "Singer Wigglytuff", "Taekwondo Hitmonlee", "Tribal Feraligatr", "Tribal Scyther", "Tribal Xatu", "Undefted Machamp", "War Farfetch'd", "War Granbull", "War Gyarados", "War Heracross", "Wardog Arcanine", "Agata Abra", "Agata Gengar", "Agata Houndoom", "Agata Misdreavus", "Agata Murkrow", "Agata Umbreon", "Ash Blastoise", "Ash Charizard", "Ash Pidgeot", "Ash Pikachu", "Ash Snorlax", "Ash Venusaur", "Bruno Hitmonchan", "Bruno Hitmonlee", "Bruno Hitmontop", "Bruno Machamp", "Bruno Onix", "Clan Blastoise", "Clan Gyarados", "Clan Jynx", "Clan Kabutops", "Gardestriker Shiny Hitmonchan", "Gardestriker Shiny Hitmonlee", "Gardestriker Shiny Hitmontop", "Gardestriker Shiny Snorlax", "Lance Aerodactyl", "Lance Charizard", "Lance Dragonair", "Lance Dragonite", "Lance Gyarados", "Lance Shiny Dragonair", "Lorelei Cloyster", "Lorelei Delibird", "Lorelei Dewgong", "Lorelei Jynx", "Lorelei Lapras", "Lorelei Piloswine", "Malefic Gengar", "Malefic Misdreavus", "Malefic Shiny Gengar", "Malefic Shiny Muk", "Malefic Umbreon", "Orebound Aerodactyl", "Orebound Golden Rhydon", "Orebound Golem", "Orebound Shiny Golem", "Orebound Shiny Marowak", "Piaonzinho", "Psycraft Alakazam", "Psycraft Shiny Abra", "Psycraft Shiny Alakazam", "Psycraft Shiny Hypno", "Psycraft Slowking", "Raibolt Electabuzz", "Raibolt Raichu", "Raibolt Shiny Electabuzz", "Raibolt Shiny Jolteon", "Raibolt Shiny Raichu", "Seavell Blastoise", "Seavell Gyarados", "Seavell Jynx", "Seavell Lapras", "Seavell Shiny Blastoise", "Seavell Shiny Seadra", "Seavell Shiny Tentacruel", "Seavell Tentacruel", "Volcanic Charizard", "Volcanic Magmar", "Volcanic Shiny Arcanine", "Volcanic Shiny Charizard", "Volcanic Typhlosion", "Wingeon Dragonite", "Wingeon Shiny Dragonite", "Wingeon Shiny Farfetch'd", "Wingeon Shiny Fearow", "Wingeon Shiny Pidgeot", "Super Magneton", "Super Poliwrath", "Super Primeape", "Super Salamence", "Super Victreebel", "Bixo Papao", "Maromba", "Mini Zapdos", "Mini Moltres", "Mini Articuno", "Crystal Steelix", "Green Wobbuffet", "Mimo Verde", "Purple Wobbuffet", "Shiny Abra", "Shiny Absol", "Shiny Aerodactyl", "Shiny Aggron", "Shiny Alakazam", "Shiny Ampharos", "Shiny Arcanine", "Shiny Ariados", "Shiny Beedrill", "Shiny Blastoise", "Shiny Blaziken", "Shiny Butterfree", "Shiny Charizard", "Shiny Crobat", "Shiny Cubone", "Shiny Ditto", "Shiny Dodrio", "Shiny Donphan", "Shiny Dragonair", "Shiny Dragonair", "Shiny Dragonite", "Shiny Dratini", "Shiny Electabuzz", "Shiny Electivire", "Shiny Electrode", "Shiny Empoleon", "Shiny Espeon", "Shiny Farfetch'd", "Shiny Fearow", "Shiny Feraligatr", "Shiny Flareon", "Shiny Flygon", "Shiny Gengar", "Shiny Giant Magikarp", "Shiny Golbat", "Shiny Gold Steelix", "Shiny Golem", "Shiny Grimer", "Shiny Growlithe", "Shiny Gyarados", "Shiny Heracross", "Shiny Hitmonchan", "Shiny Hitmonlee", "Shiny Hitmontop", "Shiny Horsea", "Shiny Houndoom", "Shiny Hypno", "Shiny Infernape", "Shiny Jolteon", "Shiny Jynx", "Shiny Kabutops", "Shiny Kingdra", "Shiny Kingler", "Shiny Krabby", "Shiny Lanturn", "Shiny Larvitar", "Shiny Machamp", "Shiny Magcargo", "Shiny Magikarp", "Shiny Magmar", "Shiny Magmortar", "Shiny Magneton", "Shiny Marowak", "Shiny Meganium", "Shiny Metagross", "Shiny Miltank", "Shiny Mr. Mime", "Shiny Muk", "Shiny Nidoking", "Shiny Ninetales", "Shiny Octillery", "Shiny Oddish", "Shiny Omastar", "Shiny Onix", "Shiny Paras", "Shiny Parasect", "Shiny Pidgeot", "Shiny Piloswine", "Shiny Pinsir", "Shiny Politoed", "Shiny Primeape", "Shiny Pupitar", "Shiny Raichu", "Shiny Raticate", "Shiny Rattata", "Shiny Rhydon", "Shiny Sandslash", "Shiny Sceptile", "Shiny Scizor", "Shiny Scyther", "Shiny Seadra", "Shiny Skarmory", "Shiny Slowking", "Shiny Snorlax", "Shiny Stantler", "Shiny Steelix", "Shiny Sudowoodo", "Shiny Swampert", "Shiny Tangela", "Shiny Tangrowth", "Shiny Tauros", "Shiny Tentacool", "Shiny Tentacruel", "Shiny Togekiss", "Shiny Torterra", "Shiny Tropius", "Shiny Typhlosion", "Shiny Umbreon", "Shiny Ursaring", "Shiny Vaporeon", "Shiny Venomoth", "Shiny Venonat", "Shiny Venusaur", "Shiny Vileplume", "Shiny Voltorb", "Shiny Weezing", "Shiny Xatu", "Shiny Zubat", "White Snorlax", "Dark Mega Swampert", "Smeargle", "Blue Tower 1", "Blue Tower 2", "Blue Tower 3", "Red Tower 1", "Red Tower 2", "Red Tower 3", "Shiny Mega Aggron", "Mega Aggron", "Shiny Mantine", "Shiny Gyarados", "Shiny Salamence"}

local proibidosboost = {"0", "0", "0", "0"} -- 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), 11)

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 proibidossempre = {"Celebi", "Moltres", "Zapdos", "Suicune", "Entei", "Raikou", "Suicune", "Lugia", "Mewtwo", "Mew", "Shiny Rhydon", "Shiny Ariados", "Shiny Magneton", "Shiny Ninetales", "Shiny Politoed", "Shiny Stantler", "Shiny Dodrio", "Shiny Espeon", "Shiny Umbreon", "Mega Blaziken", "Mega Sceptile", "Mega Sableye", "Mega Alakazam", "Gardevoir", "Mega Gardevoir", "Mega Charizard X", "Mega Charizard Y", "Mega Alakazam", "Dark Mega Alakazam", "Dark Mega Blaziken", "Mega Tangrowth", "Mega Blastoise", "Dark Mega Alakazam", "Dark Mega Ampharos", "Dark Mega Blaziken", "Dark Mega Charizard", "Dark Mega Gengar", "Dark Mega Gyarados", "Dark Mega Sceptile", "Dark Mega Tyranitar", "Deus caterpie", "Maromba", "Mega Absol", "Mega Aerodactyl", "Mega Aggron", "Mega Alakazam", "Mega Ampharos", "Mega Blastoise", "Mega Blaziken", "Mega Charizard X", "Mega Charizard Y", "Mega Gardevoir", "Mega Gengar", "Mega Glalie", "Mega Gyarados", "Mega Kabutops", "Mega Kangaskhan", "Mega Lucario", "Mega Manectric", "Mega Mawile", "Mega Sableye", "Mega Sceptile", "Mega Slowking", "Mega Swampert", "Mega Tangrowth", "Mega Tyranitar", "Mega Venusaur", "Mega Volt", "Mega Wobbuffet", "Pardao", "Pensador", "Piaozinho", "Senencio", "Shiny Mega Blaziken", "Shiny Mega Lucario", "Tyrantrum", "Ancient Alakazam", "Ancient Dragonite", "Ancient Kingdra", "Ancient Meganium", "Ancient Scyther", "Ancient Snorlax", "Aviator Pidgeot", "Banshee Misdreavus", "Bone Marowak", "Boxer Hitmonchan", "Brave Blastoise", "Brave Charizard", "Brave Nidoking", "Brave Nidoqueen", "Brave Noctowl", "Brave Venusaur", "Brute Farfetch'd", "Brute Rhydon", "Brute Ursaring", "Capoeira Hitmontop", "Charged Raichu", "Dark Crobat", "Dragon Machamp", "Elder Arcanine", "Elder Blastoise", "Elder Charizard", "Elder Dragonite", "Elder Electabuzz", "Elder Gengar", "Elder Jynx", "Elder Marowak", "Elder Muk", "Elder Pidgeot", "Elder Pinsir", "Elder Raichu", "Elder Tangela", "Elder Tentacruel", "Elder Tyranitar", "Elder Venusaur", "Enigmatic Girafarig", "Enraged Typhlosion", "Evil Cloyster", "Freezing Dewgong", "Furios Ampharos", "Furios Mantine", "Furios Murkrow", "Furious Sandslash", "Furious Scyther", "Hard Golem", "Heavy Piloswine", "Iron Steelix", "Lava Magmar", "Magnet Electabuzz", "Master Abra", "Master Alakazam", "Master Stantler", "Metal Scizor", "Metal Skarmory", "Milch-Miltank", "Moon Clefable", "Octopus Octillery", "Psy Jynx", "Roll Donphan", "Singer Wigglytuff", "Taekwondo Hitmonlee", "Tribal Feraligatr", "Tribal Scyther", "Tribal Xatu", "Undefted Machamp", "War Farfetch'd", "War Granbull", "War Gyarados", "War Heracross", "Wardog Arcanine", "Agata Abra", "Agata Gengar", "Agata Houndoom", "Agata Misdreavus", "Agata Murkrow", "Agata Umbreon", "Ash Blastoise", "Ash Charizard", "Ash Pidgeot", "Ash Pikachu", "Ash Snorlax", "Ash Venusaur", "Bruno Hitmonchan", "Bruno Hitmonlee", "Bruno Hitmontop", "Bruno Machamp", "Bruno Onix", "Clan Blastoise", "Clan Gyarados", "Clan Jynx", "Clan Kabutops", "Gardestriker Shiny Hitmonchan", "Gardestriker Shiny Hitmonlee", "Gardestriker Shiny Hitmontop", "Gardestriker Shiny Snorlax", "Lance Aerodactyl", "Lance Charizard", "Lance Dragonair", "Lance Dragonite", "Lance Gyarados", "Lance Shiny Dragonair", "Lorelei Cloyster", "Lorelei Delibird", "Lorelei Dewgong", "Lorelei Jynx", "Lorelei Lapras", "Lorelei Piloswine", "Malefic Gengar", "Malefic Misdreavus", "Malefic Shiny Gengar", "Malefic Shiny Muk", "Malefic Umbreon", "Orebound Aerodactyl", "Orebound Golden Rhydon", "Orebound Golem", "Orebound Shiny Golem", "Orebound Shiny Marowak", "Piaonzinho", "Psycraft Alakazam", "Psycraft Shiny Abra", "Psycraft Shiny Alakazam", "Psycraft Shiny Hypno", "Psycraft Slowking", "Raibolt Electabuzz", "Raibolt Raichu", "Raibolt Shiny Electabuzz", "Raibolt Shiny Jolteon", "Raibolt Shiny Raichu", "Seavell Blastoise", "Seavell Gyarados", "Seavell Jynx", "Seavell Lapras", "Seavell Shiny Blastoise", "Seavell Shiny Seadra", "Seavell Shiny Tentacruel", "Seavell Tentacruel", "Volcanic Charizard", "Volcanic Magmar", "Volcanic Shiny Arcanine", "Volcanic Shiny Charizard", "Volcanic Typhlosion", "Wingeon Dragonite", "Wingeon Shiny Dragonite", "Wingeon Shiny Farfetch'd", "Wingeon Shiny Fearow", "Wingeon Shiny Pidgeot", "Super Magneton", "Super Poliwrath", "Super Primeape", "Super Salamence", "Super Victreebel", "Bixo Papao", "Maromba", "Mini Zapdos", "Mini Moltres", "Mini Articuno", "Dark Mega Swampert", "Smeargle", "Blue Tower 1", "Blue Tower 2", "Blue Tower 3", "Red Tower 1", "Red Tower 2", "Red Tower 3", "Shiny Mega Aggron", "Mega Aggron"} -- Nunca permitir

local p = getPlayerSlotItem(m,
8):

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), 11)

--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, 32001) == 1 then

       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)) 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)) 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)))

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

Não dá erro, só trocar os TALKTYPE_SAY por TALKTYPE_ORANGE_1

 

Em 28/03/2016 at 15:06, Drakopoulos disse:

 

rp+

alguem sabe como colocar esses pra sair em laranja? sao as funçoes quando voce usa order pra mover o pokemon de 1 sqm pra outro, ou pra dar fly etc
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}

tb da pra trocar o TALKTYPE_MONSTER pelo 
TALKTYPE_ORANGE_1 ?

 

mas acho q iria ficar com erro, tipo sem falar o nome do pokemon ne?

 

 

 

Creio q n teria problemas, quando aos moves procura por (tem 2, seria o ultimo)

doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1)

e troca o no final ficando

doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", TALKTYPE_MONSTER)

Alguem poderia me ajudar? o order não sai laranja e continua aparecendo no log... uso base cyan..ORDER.LUA:

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

--------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 aki

    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) >= 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 aki

   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) >= 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 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 = {"Celebi", "Moltres", "Zapdos", "Suicune", "Entei", "Raikou", "Suicune", "Lugia", "Mewtwo", "Mew", "Shiny Rhydon", "Shiny Ariados", "Shiny Magneton", "Shiny Ninetales", "Shiny Politoed", "Shiny Stantler", "Shiny Dodrio", "Shiny Espeon", "Shiny Umbreon"} -- 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_ORANGE_1)

doFaceCreature(mysum, getThingPos(item2.uid))

doSendMagicEffect(getThingPos(mysum), 184)

doPlayerSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", 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_ORANGE_1)

    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"])].."", TALKTYPE_ORANGE_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_ORANGE_1)

    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)) 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)) 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)))

    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"])].."", TALKTYPE_ORANGE_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

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...