Ir para conteúdo

Featured Replies

Postado
  • Autor

Aqui está:

Mostrar conteúdo oculto

não respondo pms solicitando suporte em programação/scripting

  • Respostas 35
  • Visualizações 9.3k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Testao e funcionando perfeitamente! ei man, eu vi que ele agora não estava reconhecendo muito bem o ditto! então dei uma pequena editada e coloquei algumas tags para indentificar que é ditto mesmo não

  • Aqui está:

  • @tioj Escrevi o sistema para apenas o Ditto comum, visto que nem todo servidor possui sua forma shiny. Mais tarde altero o código para funcionar com ambas as formas. @wisac Leia o tópico, wtf.

Postado
  Em 19/06/2015 em 17:09, zipter98 disse:

Aqui está:

Mostrar conteúdo oculto

 

Testao e funcionando perfeitamente! ei man, eu vi que ele agora não estava reconhecendo muito bem o ditto! então dei uma pequena editada e coloquei algumas tags para indentificar que é ditto mesmo não transformado!

Mostrar conteúdo oculto

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

  • 1 month later...
Postado

Aqui está funcionando perfeitamente o único problema que ha é depois que você usa o comando para ele se tranformar dar esse erro

 

[03/08/2015 21:00:46] [Error - TalkAction Interface] 
[03/08/2015 21:00:46] data/talkactions/scripts/dittomemory.lua:onSay
[03/08/2015 21:00:46] Description: 
[03/08/2015 21:00:46] data/talkactions/scripts/dittomemory.lua:118: attempt to perform arithmetic on global 'HPperVITsummon' (a nil value)
[03/08/2015 21:00:46] stack traceback:
[03/08/2015 21:00:46]  data/talkactions/scripts/dittomemory.lua:118: in function <data/talkactions/scripts/dittomemory.lua:33>

mais mesmo com esse erro ainda funciona , e outro problema é que quando usa o /memory 1, 2 ou 3 aparece no default 

não tem como colocar pra não aparece igual aos outros comandos? 


o script que estou usando é esse

 

local maxSlots = 3            --Quantia máxima de slots.
function getDittoSlots(item)
    if not item or item < 1 then
        return false
    elseif getItemAttribute(item, "poke") and getItemAttribute(item, "poke") ~= "Ditto" then
        return false
    end
    local slots = {}
    for i = 1, maxSlots do
        local attr = getItemAttribute(item, "memory"..i)
        if attr then
            slots[i] = attr
        end
    end
    return slots
end
function hasDittoSavedPokemon(item, name)
    if not item or item < 1 then
        return false
    elseif getItemAttribute(item, "poke") and getItemAttribute(item, "poke") ~= "Ditto" then
        return false
    end
    local check
    for i = 1, maxSlots do
        local attr = getItemAttribute(item, "memory"..i)
        if attr and attr == name then
            check = true
            break
        end
    end
    return check
end
function onSay(cid, words, param)
    local item = getPlayerSlotItem(cid, 8).uid
    if item < 1 then
        doPlayerSendCancel(cid, "Coloque uma pokeball no slot pokeball.")
    elseif getItemAttribute(item, "poke") ~= "Ditto" then
        doPlayerSendCancel(cid, "Coloque uma pokeball com um Ditto no slot pokeball.")
    elseif param == "" then
        doPlayerSendCancel(cid, "Especifique um param.")
    else
        param = param:lower()
        if param == "check" then
            local str = ""
            for i = 1, maxSlots do
                local attr = getItemAttribute(item, "memory"..i) or "No memory"
                if str == "" then
                    str = i.." - "..attr
                else
                    str = str.."\n"..i.." - "..attr
                end
            end
            doPlayerPopupFYI(cid, "Ditto Memory:\n"..str.."")
        elseif param:find("forget") then
            local slot = tonumber(param:match("forget (.+)"))
            if slot and slot <= maxSlots and slot > 0 then
                if getDittoSlots(item)[slot] then
                    doItemSetAttribute(item, "memory"..slot, false)
                    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[Ditto Memory] Slot "..slot.." deletado.")
                else
                    doPlayerSendCancel(cid, "Este slot está vazio.")
                end
            else
                doPlayerSendCancel(cid, "Slot inválido.")
            end
        else
            local summons = getCreatureSummons(cid)
            if #summons == 0 then
                doPlayerSendCancel(cid, "Você não tem nenhum pokemon fora do pokeball.")
            else
                if param:find("save") then
                    local transformedPoke = getItemAttribute(item, "transName")
                    if transformedPoke and type(transformedPoke) == "string" then
                        local slot = tonumber(param:match("save (.+)"))
                        if slot and slot <= maxSlots and slot > 0 then
                            if not getDittoSlots(item)[slot] and not hasDittoSavedPokemon(item, transformedPoke) then
                                doItemSetAttribute(item, "memory"..slot, transformedPoke)
                                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[Ditto Memory] Você salvou um "..transformedPoke.." no slot "..slot..".")
                            else
                                doPlayerSendCancel(cid, "Este slot não está vazio ou o seu Ditto já tem esse pokemon salvo em sua memória.")
                            end
                        else
                            doPlayerSendCancel(cid, "Slot inválido.")
                        end
                    else
                        doPlayerSendCancel(cid, "Seu Ditto não está transformado em outro pokemon.")
                    end
                else
                    local slot = tonumber(param)
                    local transformPoke = getDittoSlots(item)[slot]
                    if not slot then
                        doPlayerSendCancel(cid, "param inválido.")
                    elseif slot <= 0 or slot > maxSlots then
                        doPlayerSendCancel(cid, "Use um slot válido.")
                    elseif not transformPoke then
                        doPlayerSendCancel(cid, "Este slot está vazio.")
                    elseif getPlayerStorageValue(summons[1], 1010) == transformPoke then
                        doPlayerSendCancel(cid, "Seu Ditto já está transformado neste pokemon.")
                    else
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[Ditto Memory] Usando o slot "..slot..", seu Ditto é transformado em um "..transformPoke..".")
                        setPlayerStorageValue(summons[1], 1010, transformPoke)
                        doSetCreatureOutfit(summons[1], {lookType = getPokemonXMLOutfit(transformPoke)}, -1)
                        doSendMagicEffect(getThingPos(summons[1]), 184)
                        doCreatureSay(summons[1], "TRANSFORM!", TALKTYPE_MONSTER)
                        doItemSetAttribute(item, "transName", transformPoke)
                        doItemSetAttribute(item, "transOutfit", getPokemonXMLOutfit(transformPoke))
                        if useKpdoDlls then
                            doUpdateMoves(cid)
                        end
                        if dittoCopiesStatusToo then
                           setPlayerStorageValue(summons[1], 1001, dittoBonus * pokes[transformPoke].offense * getPlayerLevel(cid))
                           setPlayerStorageValue(summons[1], 1002, dittoBonus * pokes[transformPoke].defense)
                           setPlayerStorageValue(summons[1], 1003, pokes[transformPoke].agility)
                           setPlayerStorageValue(summons[1], 1004, dittoBonus * pokes[transformPoke].vitality * getPlayerLevel(cid))
                           setPlayerStorageValue(summons[1], 1005, dittoBonus * pokes[transformPoke].specialattack * getPlayerLevel(cid))
                           local pct = getCreatureHealth(summons[1]) / getCreatureMaxHealth(summons[1])
                           local vit = getVitality(summons[1]) * getPlayerLevel(cid) / 100
                           setCreatureMaxHealth(summons[1], vit * HPperVITsummon)
                           doCreatureAddHealth(summons[1], pct * vit * HPperVITsummon)
                        end
                    end
                end
            end
        end
    end
    return true
end
  • 5 months later...
  • 2 months later...
Postado
  Em 19/06/2015 em 20:42, Drazyn1291 disse:

Testao e funcionando perfeitamente! ei man, eu vi que ele agora não estava reconhecendo muito bem o ditto! então dei uma pequena editada e coloquei algumas tags para indentificar que é ditto mesmo não transformado!

 

 

Conteúdo Oculto

 

PERFEITO !

parabéns man, deixou simplesmente perfeito, agora funcionou corretamente, REP+ aos dois pela iniciativa !

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo