Ir para conteúdo
Propaganda

Erro Ditto Move1


assinho

Posts Recomendados

estou com esse problema faz tempo e ninguem me ajudou nas outras plataformas, acho q e pq nao tinha ninguem q saiba, bom, o erro se consiste quando eu coloco o ditto para fora, e dou do m1 ao m12 ele fica dando o erro citado na imagem abaixo, sendo q ditto so era para ter transform.

 

vou deixar o print e tbm o arquivo move1

 

erroditto.png.10c7b5c1dccbfd9970154c0fbb491037.png

 

arquivo move1 move1.lua

Link para o comentário
Compartilhar em outros sites

  • Suporte
1 hora atrás, assinho disse:

estou com esse problema faz tempo e ninguem me ajudou nas outras plataformas, acho q e pq nao tinha ninguem q saiba, bom, o erro se consiste quando eu coloco o ditto para fora, e dou do m1 ao m12 ele fica dando o erro citado na imagem abaixo, sendo q ditto so era para ter transform.

 

vou deixar o print e tbm o arquivo move1

 

erroditto.png.10c7b5c1dccbfd9970154c0fbb491037.png

 

arquivo move1 move1.lua

olá, possivelmente pode estar faltando algum arquivo ou configuração do ditto, se poder disponibilizar o script do ditto.

Link para o comentário
Compartilhar em outros sites

10 horas atrás, Hirxzsx disse:

olá, possivelmente pode estar faltando algum arquivo ou configuração do ditto, se poder disponibilizar o script do ditto.

Eu peguei esse sistema no site vizinho, vou deixar ele aqui pra vc ver, eu fiz os passos tudo certinho, 

This is the hidden content, please

  • Like 3
  • Thanks 1
Link para o comentário
Compartilhar em outros sites

48 minutos atrás, SiNister disse:

esse erro ocorre provavelmente quando um pokémon não tem moves configurados na tabela, coloque o move headbutt no ditto é veja se o erro para

fiz e continua dando erro

Link para o comentário
Compartilhar em outros sites

O mais importante, que é a verificação do atributo, não tem! Você precisa colocar para verificar se é um ditto ou shiny ditto, verificar se ele esta transformado provavelmente pelo atributo getItemAttribute(item, "ehshinyditto") e getItemAttribute(item, "ehditto"), isso no arquivo dos moves.

Porque o PDA em si não usa o ehditto e ehshinyditto, ele usa storage.
image.thumb.png.c2a113003e054bd6fac807dbc616a1ba.png

Link para o comentário
Compartilhar em outros sites

Spoiler

local msgs = {"use ", ""}

function doAlertReady(cid, id, movename, n, cd)
    if not isCreature(cid) then return true end
    local myball = getPlayerSlotItem(cid, 😎
    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 move = 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
        move = movestable[name].move2
    elseif it == "3" then
        move = movestable[name].move3
    elseif it == "4" then
        move = movestable[name].move4
    elseif it == "5" then
        move = movestable[name].move5
    elseif it == "6" then
        move = movestable[name].move6
    elseif it == "7" then
        move = movestable[name].move7
    elseif it == "8" then
        move = movestable[name].move8
    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
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")
    return true
    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

-- Cooldown -- 
local Tiers = {
[113] = {bonus = Cdown1},
}
local Tier = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "heldx")
local cdzao = {}
if Tier and Tier > 112 and Tier < 116 then
cdzao = math.ceil(move.cd - (move.cd * Tiers[Tier].bonus))
else
cdzao = move.cd
end
-- Cooldown -- 

        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, cdzao) 
        end
        
    doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", 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[i]) and getPlayerStorageValue(cid, 637501) >= 1 then
          docastspell(summons[i], move.name)        --alterado v1.6
       end
    end 

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

    if useKpdoDlls then
        doUpdateCooldowns(cid)
    end

return 0
end

Testa o move1.lua e me fala se resolveu, se caso não resolver é erro no configuration

Link para o comentário
Compartilhar em outros sites

58 minutos atrás, Niron disse:
  Mostrar conteúdo oculto

local msgs = {"use ", ""}

function doAlertReady(cid, id, movename, n, cd)
    if not isCreature(cid) then return true end
    local myball = getPlayerSlotItem(cid, 😎
    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 move = 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
        move = movestable[name].move2
    elseif it == "3" then
        move = movestable[name].move3
    elseif it == "4" then
        move = movestable[name].move4
    elseif it == "5" then
        move = movestable[name].move5
    elseif it == "6" then
        move = movestable[name].move6
    elseif it == "7" then
        move = movestable[name].move7
    elseif it == "8" then
        move = movestable[name].move8
    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
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")
    return true
    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

-- Cooldown -- 
local Tiers = {
[113] = {bonus = Cdown1},
}
local Tier = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "heldx")
local cdzao = {}
if Tier and Tier > 112 and Tier < 116 then
cdzao = math.ceil(move.cd - (move.cd * Tiers[Tier].bonus))
else
cdzao = move.cd
end
-- Cooldown -- 

        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, cdzao) 
        end
        
    doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", 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[i]) and getPlayerStorageValue(cid, 637501) >= 1 then
          docastspell(summons[i], move.name)        --alterado v1.6
       end
    end 

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

    if useKpdoDlls then
        doUpdateCooldowns(cid)
    end

return 0
end

Testa o move1.lua e me fala se resolveu, se caso não resolver é erro no configuration

nao funcionou da mais erros como vc pode ver abaixo

 Screenshot_1.png.68a1a27c44755633de9eefafc9347c2a.png

 

Link para o comentário
Compartilhar em outros sites

3 horas atrás, Lightwood disse:

O mais importante, que é a verificação do atributo, não tem! Você precisa colocar para verificar se é um ditto ou shiny ditto, verificar se ele esta transformado provavelmente pelo atributo getItemAttribute(item, "ehshinyditto") e getItemAttribute(item, "ehditto"), isso no arquivo dos moves.

Porque o PDA em si não usa o ehditto e ehshinyditto, ele usa storage.
image.thumb.png.c2a113003e054bd6fac807dbc616a1ba.png

o meu tinha isso so que mesmo assim dava erro

Link para o comentário
Compartilhar em outros sites

Caso não tenha achado uma solução faça o seguinte.

Vá em move1.lua na pasta talkactions

adicione em baixo de:

local mypoke = getCreatureSummons(cid)[1]

Isto:

local poke = getCreatureName(mypoke)

Logo em seguida embaixo adicione:

if isArray{("Ditto"}, poke) then

doPlayerSendTextMessage(cid, 27, "MSG de cancelamento")

return true

end

Link para o comentário
Compartilhar em outros sites

9 horas atrás, Niron disse:

Ou então vc vai na linha 5 e troca o emoji por 8 ) < sem espaço

continua o mesmo erro kk

Link para o comentário
Compartilhar em outros sites

5 horas atrás, SiNister disse:

Caso não tenha achado uma solução faça o seguinte.

Vá em move1.lua na pasta talkactions

adicione em baixo de:

local mypoke = getCreatureSummons(cid)[1]

Isto:

local poke = getCreatureName(mypoke)

Logo em seguida embaixo adicione:

if isArray{("Ditto"}, poke) then

doPlayerSendTextMessage(cid, 27, "MSG de cancelamento")

return true

end

tbm nao funciona, mano to pensando em deixar para la e apagar o ditto kkkkkkkkkk

 

Link para o comentário
Compartilhar em outros sites

11 horas atrás, assinho disse:

tbm nao funciona, mano to pensando em deixar para la e apagar o ditto kkkkkkkkkk

 

ue, apareceu algum erro na distro? testei aqui em um pda é funcionou.

Link para o comentário
Compartilhar em outros sites

21 horas atrás, assinho disse:

continua o mesmo erro kk

Da o mesmo erro? Vc precisa mandar o erro que aparece, assim n tem com ajudar. Qual erro que aparece? vc configurou ele la no conffiguration.lua da lib?

Link para o comentário
Compartilhar em outros sites

3 horas atrás, Niron disse:

Da o mesmo erro? Vc precisa mandar o erro que aparece, assim n tem com ajudar. Qual erro que aparece? vc configurou ele la no conffiguration.lua da lib?

deu o mesmo erro q aquele q mandei para vc

Link para o comentário
Compartilhar em outros sites

13 horas atrás, SiNister disse:

ue, apareceu algum erro na distro? testei aqui em um pda é funcionou.

nenhum erro de distro so que apareceu o mesmo erro q eu citei ao cara ai em cima

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Cadastre-se Agora para publicar com Sua Conta.

Visitante
Responder

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

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

×
  • Criar Novo...