Ir para conteúdo
  • Cadastre-se

Posts Recomendados

então eu quero fazer uma action virar uma spell

 

Tentando fazer cheguei nisso mas n deu certo

lembrando que o erro relacionado ao pokemon moves
é esse script também 
 

Spoiler

elseif spell == "Transform" then
        local theevo = ""
        local ball = getPlayerSlotItem(cid, 8).uid
        local evolution = 0
 if getPokemonName(ball.uid) == "Castform" then --
essa é a linha 287 relacionada ao erro
        theevo = "Fire Castform"
        elseif getPokemonName(ball.uid)  == "Fire Castform" then
           theevo = "Water Castform"
             elseif getPokemonName(ball.uid)  == "Water Castform" then
               theevo = "Ice Castform"
                elseif getPokemonName (ball.uid) == "Ice Castform" then
                  theevo = "Fire Castform"
                  return true
                        end
          
          doEvolvePokemon(cid, ball, theevo, evolution)
           
           
           
 doItemSetAttribute(ball, "morta", "no")
 doItemSetAttribute(ball, "Icone", "yes")    
 doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)

gerou os seguintes erros

Spoiler

[Error - TalkAction Interface] 
[15/11/2016 22:49:25] data/talkactions/scripts/move1.lua:onSay
[15/11/2016 22:49:25] Description: 
[15/11/2016 22:49:25] (luaGetPlayerSlotItem) Player not found

[15/11/2016 22:49:25] [Error - TalkAction Interface] 
[15/11/2016 22:49:25] data/talkactions/scripts/move1.lua:onSay
[15/11/2016 22:49:25] Description: 
[15/11/2016 22:49:25] data/lib/pokemon moves.lua:287: attempt to index local 'ball' (a number value)
[15/11/2016 22:49:25] stack traceback:
[15/11/2016 22:49:25]     data/lib/pokemon moves.lua:287: in function 'docastspell'
[15/11/2016 22:49:25]     data/talkactions/scripts/move1.lua:235: in function <data/talkactions/scripts/move1.lua:20>

esse  é o script da action que quero transformar no spell porem n quero que seja necesario nenhum item, apenas a spell mesmo
esse script continuara a funcionar o outro sera outro sem tantas linhas ou funçoes

Spoiler

local special = specialevo                  --alterado v1.9 \/ peguem ele todo!

local types = {
[leaf] = {"Bulbasaur", "Ivysaur", "Oddish", "Gloom", "Bellsprout", "Weepinbell", "Exeggcute", "Chikorita", "Bayleef", "Hoppip", "Skiploom", "Sunkern"},
[water] = {"Squirtle", "Wartortle", "Horsea", "Goldeen", "Magikarp", "Psyduck", "Poliwag", "Poliwhirl", "Tentacool", "Krabby", "Staryu", "Omanyte", "Eevee", "Totodile", "Croconow", "Chinchou", "Marill", "Wooper", "Slowpoke", "Remoraid", "Seadra"},
[venom] = {"Zubat", "Ekans", "Nidoran male", "Nidoran female", "Nidorino", "Nidorina", "Gloom", "Venonat", "Tentacool", "Grimer", "Koffing", "Spinarak", "Golbat"},
[thunder] = {"Magnemite", "Pikachu", "Voltorb", "Eevee", "Chinchou", "Pichu", "Mareep", "Flaaffy", "Elekid"},
[rock] = {"Geodude", "Graveler", "Rhyhorn", "Kabuto", "Slugma", "Pupitar"},
[punch] = {"Machop", "Machoke", "Mankey", "Poliwhirl", "Tyrogue"},
[fire] = {"Charmander", "Charmeleon", "Vulpix", "Growlithe", "Ponyta", "Eevee", "Cyndaquil", "Quilava", "Slugma", "Houndour", "Magby"},
[coccon] = {"Caterpie", "Metapod", "Weedle", "Kakuna", "Paras", "Venonat", "Scyther", "Ledyba", "Spinarak", "Pineco"},
[crystal] = {"Dratini", "Dragonair", "Magikarp", "Omanyte", "Kabuto", "Seadra"},
[dark] = {"Gastly", "Haunter", "Eevee", "Houndour", "Pupitar"},
[earth] = {"Cubone", "Sandshrew", "Nidorino", "Nidorina", "Diglett", "Onix", "Rhyhorn", "Wooper", "Swinub", "Phanpy", "Larvitar"},
[enigma] = {"Abra", "Kadabra", "Psyduck", "Slowpoke", "Drowzee", "Eevee", "Natu", "Smoochum"},
[heart] = {"Rattata", "Pidgey", "Pidgeotto", "Spearow", "Clefairy", "Jigglypuff", "Meowth", "Doduo", "Porygon", "Chansey", "Sentret", "Hoothoot", "Cleffa", "Igglybuff", "Togepi", "Snubull", "Teddiursa"},
[ice] = {"Seel", "Shellder", "Smoochum", "Swinub"},
[metal] = {"Onix", "Scyther"},
[ancient] = {"Sunkern", "Gloom", "Slowpoke", "Poliwhirl", "Seadra", "Porygon"},
[sfire] = {"Shiny Charmander", "Shiny Charmeleon", "Shiny Magmortar", "Shiny Vulpix", "Shiny Growlithe", "Shiny Ponyta", "Shiny Eevee"},
[swater] = {"Shiny Squirtle", "Shiny Wartortle", "Shiny Horsea", "Shiny Goldeen", "Shiny Magikarp", "Shiny Psyduck", "Shiny Poliwag", "Shiny Poliwhirl", "Shiny Tentacool", "Shiny Krabby", "Shiny Staryu", "Shiny Omanyte", "Shiny Eevee"},
[sleaf] = {"Shiny Bulbasaur", "Shiny Ivysaur", "Shiny Oddish", "Shiny Gloom", "Shiny Bellsprout", "Shiny Weepinbell", "Shiny Exeggcute"},
[sheart] = {"Shiny Rattata", "Shiny Pidgey", "Shiny Pidgeotto", "Shiny Spearow", "Shiny Clefairy", "Shiny Jigglypuff", "Shiny Meowth", "Shiny Doduo", "Shiny Porygon", "Shiny Chansey"},
[senigma] = {"Shiny Abra", "Shiny Kadabra", "Shiny Psyduck", "Shiny Slowpoke", "Shiny Drowzee", "Shiny Eevee"},
[srock] = {"Shiny Geodude", "Shiny Graveler", "Shiny Rhyhorn", "Shiny Kabuto"},
[svenom] = {"Shiny Zubat", "Shiny Ekans", "Shiny Nidoran male", "Shiny Nidoran female", "Shiny Nidorino", "Shiny Nidorina", "Shiny Gloom", "Shiny Venonat", "Shiny Tentacool", "Shiny Grimer", "Shiny Koffing"},
[sice] = {"Shiny Seel", "Shiny Shellder"},
[sthunder] = {"Shiny Magnemite", "Shiny Pikachu", "Shiny electivire", "Shiny Voltorb", "Shiny Eevee"},
[scrystal] = {"Shiny Dratini", "Shiny Dragonite", "Shiny Dragonair", "Shiny Magikarp", "Shiny Omanyte", "Shiny Kabuto"},
[scoccon] = {"Shiny Caterpie", "Shiny Metapod", "Shiny Weedle", "Shiny Kakuna", "Shiny Paras", "Shiny Venonat", "Shiny Scyther"},
[sdarkness] = {"Shiny Gastly", "Shiny Haunter", "Shiny Eevee"},
[spunch] = {"Shiny Machop", "Shiny Machoke", "Shiny Mankey", "Shiny Poliwhirl"},
[searth] = {"Shiny Cubone", "Shiny Sandshrew", "Shiny Nidorino", "Shiny Nidorina", "Shiny Diglett", "Shiny Onix", "Shiny Rhyhorn"}

}

local specEvos = {   --alterado v1.9 \/
["Eevee"] = {
               [thunder] = "Jolteon",
               [water] = "Vaporeon",
               [fire] = "Flareon",
               [enigma] = "Espeon",
               [dark] = "Umbreon",
            },
}

function onUse(cid, item, frompos, item2, topos)

local pokeball = getPlayerSlotItem(cid, 8)

if not isMonster(item2.uid) or not isSummon(item2.uid) then
   return true
end
if #getCreatureSummons(cid) > 1 then
   return true                           --alterado v1.9
end

if getCreatureCondition(item2.uid, CONDITION_INVISIBLE) then return true end

local pevo = poevo[getCreatureName(item2.uid)]

if not isInArray(specialevo, getCreatureName(item2.uid)) then
   if not pevo then
      doPlayerSendCancel(cid, "This pokemon can't evolve.")
      return true
   end
   if not isPlayer(getCreatureMaster(item2.uid)) or getCreatureMaster(item2.uid) ~= cid then
      doPlayerSendCancel(cid, "You can only use stones on pokemons you own.")
      return true
   end
   if pevo.stoneid ~= item.itemid and pevo.stoneid2 ~= item.itemid then 
      doPlayerSendCancel(cid, "This isn't the needed stone to evolve this pokemon.")
      return true
   end
end

local minlevel = 0

if getPokemonName(item2.uid) == "Eevee" then
   local eevee = specEvos["Eevee"][item.itemid]
   if not eevee then
      doPlayerSendCancel(cid, "This isn't the required stone to evolve this pokemon.")
      return true
   end   

   minlevel = pokes[eevee].level

   if getPlayerLevel(cid) < minlevel then
      doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
      return true
   end

   doRemoveItem(item.uid, 1)
   doEvolvePokemon(cid, item2, eevee, 0, 0)
           local ball = getPlayerSlotItem(cid, 8).uid
           doItemSetAttribute (ball, "addon", 0)
            --  doItemEraseAttribute(ball, "boost")    
 doItemSetAttribute(ball, "morta", "no")
 doItemSetAttribute(ball, "Icone", "yes")    
 doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
   return true
end

if isInArray(specialevo, getPokemonName(item2.uid)) then
   if getPokemonName(item2.uid) == "Poliwhirl" then
      local evolution = 0
      local theevo = ""
      
      if item.itemid == water then
         if getPlayerItemCount(cid, king) >= 1 then
            evolution = king
            theevo = "Politoed"
         elseif getPlayerItemCount(cid, punch) >= 1 then
            evolution = punch
            theevo = "Poliwrath"
         else
            doPlayerSendCancel(cid, "You need a water stone and a punch stone (Poliwrath) or a King's Rock (Politoed) to evolve this pokemon.")
            return true
         end
         
         minlevel = pokes[theevo].level
         
         if getPlayerLevel(cid) < minlevel then
            doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
            return true
         end
         if getPlayerItemCount(cid, punch) >= 1 and getPlayerItemCount(cid, king) >= 1 then
            doPlayerSendCancel(cid, "Please, use your Punch Stone to evolve this pokemon to a Poliwrath, or a King's Rock to a Politoed.")
            return true
         end
         doEvolvePokemon(cid, item2, theevo, evolution, water)
           local ball = getPlayerSlotItem(cid, 8).uid
           doItemSetAttribute (ball, "addon", 0)
           --   doItemEraseAttribute(ball, "boost")    
 doItemSetAttribute(ball, "morta", "no")
 doItemSetAttribute(ball, "Icone", "yes")    
 doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)

      elseif item.itemid == punch then
         minlevel = pokes["Poliwrath"].level
         
         if getPlayerLevel(cid) < minlevel then
            doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
            return true
         end
         if getPlayerItemCount(cid, water) <= 0 then
            doPlayerSendCancel(cid, "You need at least one Punch Stone and one Water Stone to evolve this pokemon.")
            return true
         end

         local theevo = "Poliwrath"
         doEvolvePokemon(cid, item2, theevo, water, punch)
           local ball = getPlayerSlotItem(cid, 8).uid
           doItemSetAttribute (ball, "addon", 0)
            --  doItemEraseAttribute(ball, "boost")    
 doItemSetAttribute(ball, "morta", "no")
 doItemSetAttribute(ball, "Icone", "yes")    
 doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
    
      elseif item.itemid == king then
         minlevel = pokes["Politoed"].level

         if getPlayerLevel(cid) < minlevel then
            doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
            return true
         end
         if getPlayerItemCount(cid, water) <= 0 then
            doPlayerSendCancel(cid, "You need at least one Punch Stone and one King's Rock to evolve this pokemon.")
            return true
         end
         local theevo = "Politoed"
         doEvolvePokemon(cid, item2, theevo, water, king)
           local ball = getPlayerSlotItem(cid, 8).uid
           doItemSetAttribute (ball, "addon", 0)
            --  doItemEraseAttribute(ball, "boost")    
 doItemSetAttribute(ball, "morta", "no")
 doItemSetAttribute(ball, "Icone", "yes")    
 doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
      end

    elseif getPokemonName(item2.uid) == "Gloom" then
       local theevo = ""
       local evolution = 0
       if item.itemid == leaf then
          if getPlayerItemCount(cid, leaf) >= 1 then
             theevo = "Vileplume"
             evolution = leaf
          elseif getPlayerItemCount(cid, sun) >= 1 then
             theevo = "Bellossom"
             evolution = sun
          else
             doPlayerSendCancel(cid, "You need at least one Leaf Stone, and a Sun Stone (Bellossom) or a 2 Leaf Stone (Vileplume) to evolve this pokemon.")
             return true
          end
          
          minlevel = pokes[theevo].level
          
          if getPlayerLevel(cid) < minlevel then
             doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
             return true
          end
          if getPlayerItemCount(cid, venom) >= 1 and getPlayerItemCount(cid, sun) >= 1 then
             doPlayerSendCancel(cid, "Please, use your Leaf Stone to evolve this pokemon to a Vileplume, or a Sun Stone to a Bellossom.")
             return true
          end
          
          doEvolvePokemon(cid, item2, theevo, evolution, leaf)
           local ball = getPlayerSlotItem(cid, 8).uid
           doItemSetAttribute (ball, "addon", 0)
           --   doItemEraseAttribute(ball, "boost")    
 doItemSetAttribute(ball, "morta", "no")
 doItemSetAttribute(ball, "Icone", "yes")    
 doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)

       elseif item.itemid == leaf then
          minlevel = pokes["Vileplume"].level

          if getPlayerLevel(cid) < minlevel then
             doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
             return true
          end
          if getPlayerItemCount(cid, leaf) <= 0 then
             doPlayerSendCancel(cid, "You need at least 2 Leaf Stones to evolve this pokemon.")
             return true
          end
          doEvolvePokemon(cid, item2, "Vileplume", leaf, leaf)
           local ball = getPlayerSlotItem(cid, 8).uid
           doItemSetAttribute (ball, "addon", 0)
             -- doItemEraseAttribute(ball, "boost")    
 doItemSetAttribute(ball, "morta", "no")
 doItemSetAttribute(ball, "Icone", "yes")    
 doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
          
       elseif item.itemid == sun then
          minlevel = pokes["Bellossom"].level

          if getPlayerLevel(cid) < minlevel then
             doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
             return true
          end
          if getPlayerItemCount(cid, leaf) <= 0 then
             doPlayerSendCancel(cid, "You need at least one Leaf Stone and one Sun Stone to evolve this pokemon.")
             return true
          end
          doEvolvePokemon(cid, item2, "Bellossom", sun, leaf)
           local ball = getPlayerSlotItem(cid, 8).uid
           doItemSetAttribute (ball, "addon", 0)
            --  doItemEraseAttribute(ball, "boost")    
 doItemSetAttribute(ball, "morta", "no")
 doItemSetAttribute(ball, "Icone", "yes")    
 doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
       end
       
    elseif getPokemonName(item2.uid) == "Slowpoke" then
       if item.itemid == enigma then
          minlevel = pokes["Slowbro"].level

          if getPlayerLevel(cid) < minlevel then
             doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
             return true
          end
          doEvolvePokemon(cid, item2, "Slowbro", enigma, 0)
           local ball = getPlayerSlotItem(cid, 8).uid
           doItemSetAttribute (ball, "addon", 0)
            --  doItemEraseAttribute(ball, "boost")    
 doItemSetAttribute(ball, "morta", "no")
 doItemSetAttribute(ball, "Icone", "yes")    
 doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)

        elseif item.itemid == king then
          minlevel = pokes["Slowking"].level

          if getPlayerLevel(cid) < minlevel then
             doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
             return true
          end
          doEvolvePokemon(cid, item2, "Slowking", king, 0)
           local ball = getPlayerSlotItem(cid, 8).uid
           doItemSetAttribute (ball, "addon", 0)
             -- doItemEraseAttribute(ball, "boost")    
 doItemSetAttribute(ball, "morta", "no")
 doItemSetAttribute(ball, "Icone", "yes")    
 doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
        end

    elseif getPokemonName(item2.uid) == "Tyrogue" then
        local evolution = ""

        evolution = choose("Hitmonlee", "Hitmonchan", "Hitmontop")
        minlevel = pokes[evolution].level

        if getPlayerLevel(cid) < minlevel then
           doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
           return true
        end
        doEvolvePokemon(cid, item2, evolution, punch, 0)
           local ball = getPlayerSlotItem(cid, 8).uid
           doItemSetAttribute (ball, "addon", 0)
            --  doItemEraseAttribute(ball, "boost")    
 doItemSetAttribute(ball, "morta", "no")
 doItemSetAttribute(ball, "Icone", "yes")    
 doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
    end
return true
end

local count = poevo[getPokemonName(item2.uid)].count
local stnid = poevo[getPokemonName(item2.uid)].stoneid
local stnid2 = poevo[getPokemonName(item2.uid)].stoneid2
local evo = poevo[getPokemonName(item2.uid)].evolution

if stnid2 > 1 and (getPlayerItemCount(cid, stnid2) < count or getPlayerItemCount(cid, stnid) < count) then
   doPlayerSendCancel(cid, "You need at least one "..getItemNameById(stnid).." and one "..getItemNameById(stnid2).." to evolve this pokemon!")
   return true
end

if getPlayerItemCount(cid, stnid) < count then
   local str = ""
   if count >= 2 then
      str = "s"
   end
return doPlayerSendCancel(cid, "You need at least "..count.." "..getItemNameById(stnid)..""..str.." to evolve this pokemon!")
end

minlevel = pokes[evo].level

if getPlayerLevel(cid) < minlevel then
   doPlayerSendCancel(cid, "Você não possui level necessario para evoluir esse pokemon ("..minlevel..").")
   return true
end

if count >= 2 then
   stnid2 = stnid
end

doEvolvePokemon(cid, item2, evo, stnid, stnid2)
           local ball = getPlayerSlotItem(cid, 8).uid
           doItemSetAttribute (ball, "addon", 0)
            --  doItemEraseAttribute(ball, "boost")    
 doItemSetAttribute(ball, "morta", "no")
 doItemSetAttribute(ball, "Icone", "yes")    
 doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)

return TRUE
end

e esse é o move1.lua relacionado ao erro tambem

Spoiler

local msgs = {"use ", ""}

function doAlertReady(cid, id, movename, n, cd)
    if not isCreature(cid) then return true end
    local myball = getPlayerSlotItem(cid, 8)
    if myball.itemid > 0 and getItemAttribute(myball.uid, cd) == "cd:"..id.."" then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(myball.uid).." - "..movename.." (m"..n..") is ready!")
    return true
    end
    local p = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
    if not p or #p <= 0 then return true end
    for a = 1, #p do
        if getItemAttribute(p[a], cd) == "cd:"..id.."" then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(p[a]).." - "..movename.." (m"..n..") is ready!")
        return true
        end
    end
end

function onSay(cid, words, param, channel)


    if param ~= "" then return true end
    if string.len(words) > 3 then return true end

    if #getCreatureSummons(cid) == 0 then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need a pokemon to use moves.")
    return 0
    end
                      --alterado v1.5
local mypoke = getCreatureSummons(cid)[1]

    if getCreatureCondition(cid, CONDITION_EXHAUST) then return true end
    if getCreatureName(mypoke) == "Evolution" then return true end

    if getCreatureName(mypoke) == "Ditto" or getCreatureName(mypoke) == "Shiny Ditto" then
       name = getPlayerStorageValue(mypoke, 1010)   --edited
    else
       name = getCreatureName(mypoke)
    end  
    
    --local name = getCreatureName(mypoke) == "Ditto" and getPlayerStorageValue(mypoke, 1010) or getCreatureName(mypoke)

local it = string.sub(words, 2, 3)
local idd = getPlayerSlotItem(cid, 8).uid
local move = getCreatureName(mypoke) == "Smeargle" and getItemAttribute(idd, "skt1") and movestable[getItemAttribute(idd, "skt1")].move1 or movestable[name].move1
if getPlayerStorageValue(mypoke, 212123) >= 1 then
   cdzin = "cm_move"..it..""
else
   cdzin = "move"..it..""       --alterado v1.5
end

if it == "2" then
    if getItemAttribute(idd, "skt2") then  
  move = movestable[getItemAttribute(idd, "skt2")].move2
  else
        move = movestable[name].move2
        end
 elseif it == "3" then
    if getItemAttribute(idd, "skt3") then  
  move = movestable[getItemAttribute(idd, "skt3")].move3
  else
        move = movestable[name].move3
        end  
 elseif it == "4" then
    if getItemAttribute(idd, "skt4") then  
  move = movestable[getItemAttribute(idd, "skt4")].move4
  else
        move = movestable[name].move4
        end 
 elseif it == "4" then
    if getItemAttribute(idd, "skt4") then  
  move = movestable[getItemAttribute(idd, "skt4")].move4
  else
        move = movestable[name].move4
        end 
 elseif it == "5" then
    if getItemAttribute(idd, "skt5") then  
  move = movestable[getItemAttribute(idd, "skt5")].move5
  else
        move = movestable[name].move5
        end 
 elseif it == "6" then
    if getItemAttribute(idd, "skt6") then  
  move = movestable[getItemAttribute(idd, "skt6")].move6
  else
        move = movestable[name].move6
        end 
 elseif it == "7" then
    if getItemAttribute(idd, "skt7") then  
  move = movestable[getItemAttribute(idd, "skt7")].move7
  else
        move = movestable[name].move7
        end 
 elseif it == "8" then
    if getItemAttribute(idd, "skt8") then  
  move = movestable[getItemAttribute(idd, "skt8")].move8
  else
        move = movestable[name].move8
        end 
 elseif it == "9" then
  move = movestable[name].move9
 elseif it == "10" then
  move = movestable[name].move10
 elseif it == "11" then
  move = movestable[name].move11
 elseif it == "12" then
  move = movestable[name].move12
 elseif it == "13" then
  move = movestable[name].move13
 end 

    if not move then
        local isMega = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone")
        if not isMega or name:find("Mega") then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")
            return true
        end
        local moveTable, index = getNewMoveTable(movestable[name]), 0
        for i = 1, 12 do
            if not moveTable then
                index = i
                break
            end
        end
        if tonumber(it) ~= index then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")
            return true
        end
        local needCds = false                   --Coloque false se o pokémon puder mega evoluir mesmo com spells em cooldown.
        if needCds then
            for i = 1, 12 do
                if getCD(getPlayerSlotItem(cid, 8).uid, "move"..i) > 0 then
                    return doPlayerSendCancel(cid, "para mega evoluir os cds do pokemon devem estar carregados.")
                end
            end
        end
        move = {name = "Mega Evolution", level = 0, cd = 0, dist = 1, target = 0, f = 0, t = "?"}
    end
    
    if getPlayerLevel(cid) < move.level then
       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need be atleast level "..move.level.." to use this move.")
       return true
    end

    if getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." seconds to use "..move.name.." again.")
    return true
    end

    if getTileInfo(getThingPos(mypoke)).protection then
        doPlayerSendCancel(cid, "Your pokemon cannot use moves while in protection zone.")
    return true
    end
    
   if getPlayerStorageValue(mypoke, 3894) >= 1 then
      return doPlayerSendCancel(cid, "You can't attack because you is with fear") --alterado v1.3
   end
                                  --alterado v1.6                  
    if (move.name == "Team Slice" or move.name == "Team Claw") and #getCreatureSummons(cid) < 2 then       
        doPlayerSendCancel(cid, "Your pokemon need be in a team for use this move!")
    return true
    end
                                                                     --alterado v1.7 \/\/\/
if isCreature(getCreatureTarget(cid)) and isInArray(specialabilities["evasion"], getCreatureName(getCreatureTarget(cid))) then 
   local target = getCreatureTarget(cid)                                                                                       
   if math.random(1, 100) <= passivesChances["Evasion"][getCreatureName(target)] then 
      if isCreature(getMasterTarget(target)) then   --alterado v1.6                                                                   
         doSendMagicEffect(getThingPos(target), 211)
         doSendAnimatedText(getThingPos(target), "TOO BAD", 215)                                
         doTeleportThing(target, getClosestFreeTile(target, getThingPos(mypoke)), false)
         doSendMagicEffect(getThingPos(target), 211)
         doFaceCreature(target, getThingPos(mypoke))            
         return true       --alterado v1.6
      end
   end
end


if move.target == 1 then

    if not isCreature(getCreatureTarget(cid)) then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.")
    return 0
    end

    if getCreatureCondition(getCreatureTarget(cid), CONDITION_INVISIBLE) then
    return 0
    end

    if getCreatureHealth(getCreatureTarget(cid)) <= 0 then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your have already defeated your target.")
    return 0
    end

    if not isCreature(getCreatureSummons(cid)[1]) then
    return true
    end

    if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > move.dist then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.")
    return 0
    end

    if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then
    return 0
    end
end

    local newid = 0

        if isSleeping(mypoke) or isSilence(mypoke) then  --alterado v1.5
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't do that right now.")
            return 0
        else
            newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd)
        end
        
    local spellMessage = msgs[math.random(#msgs)]..""..move.name.."!"
if move.name == "Mega Evolution" then
    spellMessage = "Mega Evolve!"
end
doCreatureSay(cid, getPokeName(mypoke)..", "..spellMessage, TALKTYPE_SAY)
    
    local summons = getCreatureSummons(cid) --alterado v1.6

    addEvent(doAlertReady, move.cd * 1000, cid, newid, move.name, it, cdzin)
    
    for i = 2, #summons do
       if isCreature(summons) and getPlayerStorageValue(cid, 637501) >= 1 then
          docastspell(summons, move.name)        --alterado v1.6
       end
    end 

    docastspell(mypoke, move.name)
    doCreatureAddCondition(cid, playerexhaust)

    if useKpdoDlls then
        doUpdateCooldowns(cid)
    end

return 0
end

 espero que possam me ajudar obg...


@Wakon pesquisando um assunto eu vi que voce ajudou uma pessoa a fazer algo parecido claro que o dele era mais simples sera que pode dar uma olhada? obg..

Link para o post
Compartilhar em outros sites

Pelo que eu entendi, você editou o move1.lua (Em talkactions) e isso chamou (ou tentou chamar) uma função em pokemon moves.lua..

E o erro foi você tentar construir um script 'deformado' para adaptar a sua action com essa "spell"..

Acredito que se encaixaria melhor em "pedidos", pois você quer um script que provavelmente tem que ser feito do zero (Ou no mínimo seria necessário os scripts completos, não apenas alguns pedaços)

Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais...

________________________________________________________________________________

Minhas Sprites:

Mega Metagross

Mega Abomasnow

Pack de Shinys

[Posso atualizá-lo com novos shinys a qualquer momento]

Tutoriais:

[Completo] Criando e adicionando um novo Pokémon

[Actions] Criando quest no RME

Editores Lua/Xml/Sync Entre outros:

Editores Win/Mac/Linux

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo