Ir para conteúdo

zipter98

Herói
  • Total de itens

    2553
  • Registro em

  • Última visita

  • Dias Ganhos

    72

Histórico de Reputação

  1. Thanks
    zipter98 recebeu reputação de LeoTK em Spell teleport   
    Fiz bem corrido aqui, talvez não funcione.
     
    local config = { effect = xxx, --Efeito. interval = 500 --Intervalo, em milésimos de segundo, entre os teleportes. } local combat, invisibility, outfit = createCombatObject(), createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE), createConditionObject(CONDITION_INVISIBLE, -1, false) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) function getDamage(cid, level, magic) return -(level * 5 + magic * 12), -(level * 5 + magic * 12 + 55) end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "getDamage") function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 2 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function doSpellTeleport(cid, target, positions, original_position) if not isPlayer(cid) then return true elseif #positions < 1 or not isCreature(target) then doTeleportThing(cid, original_position) doRemoveCondition(cid, CONDITION_INVISIBLE) doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) doPlayerSetNoMove(cid, false) return true end local index = math.random(#positions) local toPos = positions[index] if not isWalkable(toPos) then repeat table.remove(positions, index) index = math.random(#positions) toPos = positions[index] if #positions < 1 then doTeleportThing(cid, original_position) doRemoveCondition(cid, CONDITION_INVISIBLE) doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) doPlayerSetNoMove(cid, false) return true end until isWalkable(toPos) end doTeleportThing(cid, toPos) doSendMagicEffect(getThingPos(cid), config.effect) doCombat(cid, combat, numberToVariant(target)) table.remove(positions, index) addEvent(doSpellTeleport, config.interval, cid, target, positions, original_position) end function onCastSpell(cid, var) local target = variantToNumber(var) if not isCreature(target) then return doPlayerSendCancel(cid, "You need a target.") end local pos = getThingPos(target) local posis = { {x = pos.x + 1, y = pos.y + 1, z = pos.z}, {x = pos.x + 1, y = pos.y - 1, z = pos.z}, {x = pos.x - 1, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y - 1, z = pos.z} } doAddCondition(cid, invisibility) doAddCondition(cid, outfit) doPlayerSetNoMove(cid, true) doSpellTeleport(cid, target, posis, getThingPos(cid)) return true end
  2. Upvote
    zipter98 deu reputação a Poccnn em Tfs - xadrez in-game   
    Como e sabido de muitos, dificilmente se faz scripts para ot serve em simulação poo em lua.
     
    Eu estava entediado jogando ot e resolvi jogar xadrez com aquelas peças de xadres que tem no jogo. Então me veio a ideia de por ordem nas peças,  fazer com que elas só se movimentem caso seja o movimento correta dela. Eis a oportunidade para eu aprender simulação de poo em lua.
     
     
    Bem o script não está terminado, falta muita coisa, mas já é um começo. Gostaria da ajuda de vocês para me orientar na melhor forma de fazer o script.
    Eu ainda estou aprendendo simulação de poo em lua,  então orientações nessa área são bem vindas.
    Sugestões e críticas construtivas são bem vindas também. 
     
    Xadrez.lua
     
     
    Motor do sistema:
    movements.xml adicione:
     
    movements/scripts/xadrez_poo.lua, adicione:
     
  3. Upvote
    zipter98 recebeu reputação de victor iag em Tile com effect   
    function onThink(interval, lastExecution, thinkInterval) local pos = {x = 3586, y = 3385, z = 11} doSendMagicEffect(pos, 21) return true end
  4. Upvote
    zipter98 recebeu reputação de Frenvius em Alteração em Script da Annihilator   
    local config = { money = xxx, --Preço cobrado para cada jogador. daily = "no", -- allow only one enter per day? (like in global Tibia) level = 450, storage = 30015, entry = { {x = 4464, y = 1288, z = 6}, {x = 4466, y = 1288, z = 6}, {x = 4465, y = 1289, z = 6}, {x = 4464, y = 1290, z = 6}, {x = 4466, y = 1290, z = 6} }, destination = { {x = 189, y = 650, z = 13}, {x = 189, y = 651, z = 13}, {x = 189, y = 652, z = 13}, {x = 189, y = 653, z = 13}, {x = 1554, y = 1826, z = 4} }} config.daily = getBooleanFromString(config.daily)function onUse(cid, item, fromPosition, itemEx, toPosition) if(item.itemid == 1946) then if(config.daily) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) else doTransformItem(item.uid, item.itemid - 1) end return true end if(item.itemid ~= 1945) then return true end local players = {} for _, position in ipairs(config.entry) do local pid = getTopCreature(position).uid if pid == 0 or not isPlayer(pid) or getCreatureStorage(pid, config.storage) > 0 or getPlayerLevel(pid) < config.level or getPlayerMoney(pid) < config.money then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) return true end table.insert(players, pid) end for i, pid in ipairs(players) do doPlayerRemoveMoney(pid, config.money) doSendMagicEffect(config.entry, CONST_ME_POFF) doTeleportThing(pid, config.destination[i], false) doSendMagicEffect(config.destination, CONST_ME_ENERGYAREA) end doTransformItem(item.uid, item.itemid + 1) return trueend  
  5. Upvote
    zipter98 recebeu reputação de SamueLGuedes em Alteração em Script da Annihilator   
    local config = { money = xxx, --Preço cobrado para cada jogador. daily = "no", -- allow only one enter per day? (like in global Tibia) level = 450, storage = 30015, entry = { {x = 4464, y = 1288, z = 6}, {x = 4466, y = 1288, z = 6}, {x = 4465, y = 1289, z = 6}, {x = 4464, y = 1290, z = 6}, {x = 4466, y = 1290, z = 6} }, destination = { {x = 189, y = 650, z = 13}, {x = 189, y = 651, z = 13}, {x = 189, y = 652, z = 13}, {x = 189, y = 653, z = 13}, {x = 1554, y = 1826, z = 4} }} config.daily = getBooleanFromString(config.daily)function onUse(cid, item, fromPosition, itemEx, toPosition) if(item.itemid == 1946) then if(config.daily) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) else doTransformItem(item.uid, item.itemid - 1) end return true end if(item.itemid ~= 1945) then return true end local players = {} for _, position in ipairs(config.entry) do local pid = getTopCreature(position).uid if pid == 0 or not isPlayer(pid) or getCreatureStorage(pid, config.storage) > 0 or getPlayerLevel(pid) < config.level or getPlayerMoney(pid) < config.money then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) return true end table.insert(players, pid) end for i, pid in ipairs(players) do doPlayerRemoveMoney(pid, config.money) doSendMagicEffect(config.entry, CONST_ME_POFF) doTeleportThing(pid, config.destination[i], false) doSendMagicEffect(config.destination, CONST_ME_ENERGYAREA) end doTransformItem(item.uid, item.itemid + 1) return trueend  
  6. Upvote
    zipter98 recebeu reputação de M i s s em (resolvido) alguém pode criar uma spell a partir dessa action por favor?   
    elseif spell == "Transform" then local config = { forms = {"Castform", "Fire Castform", "Water Castform", "Ice Castform"}, --Formas, na ordem de transformação. effects = { ["water"] = xxx, --["elemento_primário_da_nova_forma"] = efeito_na_transformação, ["ice"] = xxx, ["fire"] = xxx, } } local function fakeEvolution(cid, newPoke, pokeball) local owner = getCreatureMaster(cid) if not owner then return true end local description = "Contains a "..newPoke.."." local pct = getCreatureHealth(cid) / getCreatureMaxHealth(cid) doItemSetAttribute(pokeball, "hp", pct) doItemSetAttribute(pokeball, "poke", newPoke) doItemSetAttribute(pokeball, "morta", "no") doItemSetAttribute(pokeball, "Icone", "yes") doItemSetAttribute(pokeball, "description", "Contains a "..newPoke..".") doTransformItem(pokeball, icons[getItemAttribute(pokeball, "poke")].use) doTransformItem(getPlayerSlotItem(owner, 7).uid, fotos[newPoke]) local oldpos, oldlod = getThingPos(cid), getCreatureLookDir(cid) doRemoveCreature(cid) doSummonMonster(owner, newPoke) local pk = getCreatureSummons(owner)[1] doTeleportThing(pk, oldpos, false) doCreatureSetLookDir(pk, oldlod) adjustStatus(pk, pokeball, true, false) if useKpdoDlls then doUpdateMoves(owner) end end table.find = function (table, value) for i, v in pairs(table) do if(v == value) then return i end end return nil end if not isInArray(config.forms, getCreatureName(cid)) then return true end local next_form = config.forms[table.find(config.forms, getCreatureName(cid)) + 1] if not next_form then next_form = config.forms[1] end doSendMagicEffect(getThingPos(cid), config.effects[pokes[next_form].type] or 18) if not isSummon(cid) then local pos, dir, health_lost = getThingPos(cid), getCreatureLookDir(cid), getCreatureHealth(cid) / getCreatureMaxHealth(cid) doRemoveCreature(cid) local newMonster = doCreateMonster(next_form, pos) setPlayerStorageValue(newMonster, 94831, health_lost) doCreatureSetLookDir(newMonster, dir) else local p = getPlayerSlotItem(getCreatureMaster(cid), 8) if not p then return true end fakeEvolution(cid, next_form, p.uid) end  
    Depois, em data/lib/level system.lua, no código da função adjustWildPoke:
    Abaixo de:
    doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) coloque:
    if tonumber(getPlayerStorageValue(cid, 94831)) > -1 then local ratio = 1 - tonumber(getPlayerStorageValue(cid, 94831)) doCreatureAddHealth(cid, -(getCreatureMaxHealth(cid) * ratio))end  
  7. Upvote
    zipter98 recebeu reputação de FireShok em Shiny Stone mais "simples"   
    Olá,
    Esse script não é nada complexo, mas, como a maioria dos que vejo sobre Shiny Stone é necessário fazer tabelas para definir os pokémons que irão evoluir e talz, achei melhor fazer este aqui, que é mais simples.
    As configurações já estão indicadas no script. Ah, pra quem não sabe, Shiny Stone transforma o pokémon na sua versão shiny.
     
    Vá em data/actions/scripts, crie um arquivo com extensão .lua, nomeie-o shinystone, e adicione o seguinte conteúdo:
     
     
    Agora, em data/actions, abra actions.xml, e adicione a tag: <action itemid="id da shiny stone" event="script" value="shinystone.lua" allowfaruse="1"/> Só isso, qualquer erro, só postar. Testei aqui, e está funcionando perfeitamente. Testado em PDA by Slicer sem level, v1.9. Ah, só mais uma complementação: só está evoluindo pokémons que sua versão shiny tenha "Shiny " antes do nome. Por exemplo, "Shiny Electabuzz". Se em seu server os shinies não tiverem o prefixo "Shiny", obviamente, o pokémon não irá evoluir.
  8. Upvote
    zipter98 recebeu reputação de Justiceiro751 em [Encerrado] [Encerrado] [DXP] 2º Bug mais critico do DXP   
    Troque o código do Miracle Eye por este:
    elseif spell == "Dark Eye" or spell == "Miracle Eye" then doSendMagicEffect(getThingPosWithDebug(cid), 47) setPlayerStorageValue(cid, 21102, -1) setPlayerStorageValue(cid, 4389, os.time() + 10) E troque:
    if spellRace == "psychic" and (pokeElement1 == "dark" or pokeElement2 and pokeElement2 == "dark") and getPlayerStorageValue(attacker, 999457) > -1 then multiplier = 0.75 setPlayerStorageValue(attacker, 999457, -1) por:
    if (isInArray(typeTable[spellRace].non, pokeElement1) or pokeElement2 and isInArray(typeTable[spellRace].non, pokeElement2)) and getPlayerStorageValue(attacker, 4389) > os.time() then multiplier = 0.75 setPlayerStorageValue(attacker, 4389, -1)  
    Para fins de testes, mantenha os prints apenas.
  9. Upvote
    zipter98 recebeu reputação de Josegvb em [Encerrado] [Encerrado] [DXP] 2º Bug mais critico do DXP   
    Outras spells com addEvent apresentam o mesmo problema (tanto fantasma quanto psíquico)? O Psyshock, normalmente, aplica dano tanto pela frente quanto pelos lados?
    Pode refazer aquele teste de imprimir informações com o Miracle Eye + Psyshock, dessa vez apenas pela frente? Pode colocar os print no mesmo lugar.
  10. Upvote
    zipter98 recebeu reputação de Josegvb em [Encerrado] [Encerrado] [DXP] 2º Bug mais critico do DXP   
    Este erro acontece apenas com magias do tipo elétrico em tipos imunes? Ou, por exemplo, spammar magias psíquicas em tipo dark ou terrestres em tipo voador também acaba causando dano? Isto só acontece spammando magias iguais (temos que considerar que, se for o caso, jogadores normais não terão a liberdade de usar magias sem cooldown)? Por enquanto, este é o único problema?
    Após responder estas perguntas, peço que faça o teste imprimindo as informações conforme indiquei no meu primeiro comentário desta página (mantendo, contudo, as mudanças que fizemos posteriormente).
  11. Upvote
    zipter98 recebeu reputação de Josegvb em [Encerrado] [Encerrado] [DXP] 2º Bug mais critico do DXP   
    Tem certeza que esse dano causado durante o spam de Electric Storms não foi originado pela passiva? É bem difícil enxergar, mas é uma possibilidade.
    Já quanto ao código dela, tente o seguinte:
    elseif spell == "Shock-Counter" then local function sendStickEff(cid, dir) if not isCreature(cid) then return true end if tostring(getPlayerStorageValue(cid, 21102)) ~= spell then setPlayerStorageValue(cid, 21102, spell) end doAreaCombatHealth(cid, ELECTRICDAMAGE, getPosByDir(getThingPosWithDebug(cid), dir), 0, -min, -max, 207) end local function doStick(cid) if not isCreature(cid) then return true end local t = { [1] = SOUTHWEST, [2] = SOUTH, [3] = SOUTHEAST, [4] = EAST, [5] = NORTHEAST, [6] = NORTH, [7] = NORTHWEST, [8] = WEST, [9] = SOUTHWEST, } for a = 1, 9 do addEvent(sendStickEff, a * 140, cid, t[a]) end end doStick(cid, false, cid) setPlayerStorageValue(cid, 98654, 1) Se não funcionar, parece que teremos que voltar a imprimir algumas informações.
  12. Upvote
    zipter98 recebeu reputação de Sh4DoW GR em DropStone (Poketibia)   
    Troque:
    return doSendMagicEffect(getThingPos(cid), effect) por:
    return doSendMagicEffect(getThingPos(getCreatureMaster(cid)), effect)  
  13. Upvote
    zipter98 recebeu reputação de Azon25 em npc que bloqueia item   
    local revive = {itemid = 12344, max_count = 20}local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction Saffari(cid, message, keywords, parameters, node) if not npcHandler:isFocused(cid) then return false end if getPlayerItemCount(cid, revive.itemid) > revive.max_count then npcHandler:say("To enter here, you can only carry "..revive.max_count.." revive(s). Deposit the rest on the DP, please.", cid) return true end if not parameters.premium and not isPremium(cid) then npcHandler:say('Sorry, you need to be premium account!', cid) return true elseif not doPlayerRemoveMoney(cid, parameters.price) then npcHandler:say('Sorry, you dont have enought money!', cid) return true end doPlayerSendTextMessage(cid, 22, 'Good Luck!.') doTeleportThing(cid, parameters.enter) npcHandler:resetNpc() return trueendlocal node1 = keywordHandler:addKeyword({'tower'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Nessa {tower} possui monstros muito fortes você esta pronto para enfrenta-los?? Mais antes guarde suas pokebolas no DP....ah você so tem 60 minutos de tempo para realizar essa quest!!!!'})node1:addChildKeyword({'yes'}, Saffari, {premium = no, price = 0, enter = {x = 1235, y = 630, z = 8}, exit = {x = 1235, y = 630, z = 8}, minutes = 60})node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, then.', reset = true})npcHandler:addModule(FocusModule:new())  
  14. Upvote
    zipter98 recebeu reputação de Josegvb em [Encerrado] [Encerrado] [DXP] 2º Bug mais critico do DXP   
    É, parece que o combat não varia. Então, teremos de continuar com essa gambiarra.
    Aliás, já pode tirar o print(combat).
     
    O auto ataque do Pidgeot deu dano, nesse caso?
    No exemplo do Earthquake, houve algum auto ataque neste meio tempo (que, por acaso, não foi imprimido no console)? Ou você apenas usou o Earthquake + Harden? 
    De qualquer modo, por Harden ser uma spell instantânea, ela, ao que tudo indica, está OK. O que estamos testando agora é apenas Earthquake + melee.
  15. Upvote
    zipter98 recebeu reputação de Deadpool em sera possivel?   
    Isso depende muito. Como eu disse, escrevi aquele sistema para uma base específica. Nela, não havia problemas de crash ou coisas do tipo.
    Bases poketibianas se diferem em muitos quesitos, o que torna a adaptação, as vezes, bem chata e/ou complicada (por isso mesmo que disse no tópico que não pretendia adaptar para ninguém, já que existem dezenas de bases diferentes por aí, o que é sinônimo de muita dor de cabeça).
    Porém, pergunto-lhe: há algum algum erro no console? Há alguma ação específica que faça o servidor travar/cair? Ou é simplesmente aleatório?
    Sem detalhes, fica muito difícil adaptar corretamente o sistema para sua base.
  16. Upvote
    zipter98 recebeu reputação de Tiagotwos em Script ao logar, dar 5 dias de vip   
    local days = 5function onLogin(cid) local account_id = getPlayerAccountId(cid) local storage = account_id + 550 if getGlobalStorageValue(storage) <= 0 then setGlobalStorageValue(storage, 13500) addVipDaysByAccount(account_id, days) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você recebeu "..days.." dias de VIP, bom jogo!") end return trueend  
  17. Upvote
    zipter98 recebeu reputação de samlecter em (resolvido) alguém pode criar uma spell a partir dessa action por favor?   
    Não imaginei que meses sem programar de fato desfariam meu conhecimento em bases poketibianas. Havia esquecido completamente a estrutura das funções de evolução e ajustes de status no PDA.
    Enfim, editei meu comentário que continha o código com ambas as correções.
  18. Upvote
    zipter98 recebeu reputação de samlecter em [Encerrado] [Encerrado] [DXP] 2º Bug mais critico do DXP   
    Eu gostaria de fazer dois pedidos agora:
    O primeiro, para confirmar uma dúvida minha, é que você teste ataques de outros elementos e verifique o que é imprimido (não precisa atacar com o melee, apenas com as spells). Se possível, especifique também qual elemento imprimiu qual valor.
     
    O segundo, troque esta parte:
    if(combat == 128 or combat == 1) and getPlayerStorageValue(attacker, 21102) == -1 then -- ataque basico doSendMagicEffect(getThingPos(cid), 3) value = getEffectvineCombat(cid, attacker, value) if value == 0 then return false else value = value * getOffense(attacker) -- buff ataque system local name = doCorrectString(getCreatureName(attacker)) if pokes[name] and pokes[name].level <= 5 and value ~= 0 then value = -math.random(pokes[name].offense, pokes[name].offense+5) end endelse -- magia value = getEffectvineSpell(attacker, spellNameFromAttacker, value, cid) -- checagem de efetividades de magia if value == 0 then return false else value = value * (1 + getSpecialAttack(attacker) / 100) endend por:
    if(combat == 128 or combat == 1) and getPlayerStorageValue(attacker, 21102) == -1 then -- ataque basico print("auto attacking...") if value == 0 then print("value = 0") return false else print("value do auto ataque antes da fórmula = "..value) value = value * getOffense(attacker) -- buff ataque system print("value do auto ataque depois da fórmula = "..value) local name = doCorrectString(getCreatureName(attacker)) if pokes[name] and pokes[name].level <= 5 and value ~= 0 then value = -math.random(pokes[name].offense, pokes[name].offense+5) end endelse -- magia value = getEffectvineSpell(attacker, spellNameFromAttacker, value, cid) -- checagem de efetividades de magia if value == 0 then return false else value = value * (1 + getSpecialAttack(attacker) / 100) endend Depois, use a combinação Earthquake + melee e informe o que for imprimido.
  19. Upvote
    zipter98 recebeu reputação de wevertonvrb em (resolvido) alguém pode criar uma spell a partir dessa action por favor?   
    Eu acabei de testar o código, e está funcionando como devido (se há alguma discrepância na variação de HP, não passa de 10).
    A vida da nova forma é proporcional a da anterior. 
    Porém, se o que você quer dizer é que as formas estão com vida total e o Castform normal está perdendo HP, significa que há algum erro no seu código. Se for o caso, peço que poste-o aqui.
  20. Upvote
    zipter98 recebeu reputação de Deadpool em (resolvido) Teleport Automatico Error   
    Remova os seguintes comentários e veja se o erro permanece.
    -- só copiar uma linha e add mais dias. se quiser só um dia deixe só a primeia linha-- Posição aonde sera criado o teleport-- Posição pra onde o teleport ira levar o player  
  21. Upvote
    zipter98 recebeu reputação de Deadpool em (resolvido) remover x item e ganhar pokémon   
    Troque:
    if n > math.ceil(#pokemon / 15) then doPlayerSendCancel(cid, "There are only lists from 1 to "..math.ceil(#pokemon / 15)..".") return trueend por:
    if not n then doPlayerSendCancel(cid, "Type a number first.") return trueelseif n > math.ceil(#pokemon / 15) then doPlayerSendCancel(cid, "There are only lists from 1 to "..math.ceil(#pokemon / 15)..".") return trueend  
    PS: Recomendo que use a ferramenta code (logo acima) para postar códigos, pois parece que o XTibia está cortando alguns caracteres dos comentários.
  22. Upvote
    zipter98 recebeu reputação de kaleudd em (resolvido) remover x item e ganhar pokémon   
    Como este pedido é bastante semelhante com o anterior que você fez, usei o antigo código como base.
     
    Se o modelo de comando não lhe agradar (!comprar lista n e !comprar nome_do_pokémon), avise que editarei o código.
  23. Upvote
    zipter98 recebeu reputação de Josegvb em [Encerrado] [Encerrado] [DXP] 2º Bug mais critico do DXP   
    Você testou o que eu disse no meu último comentário da página anterior?
  24. Upvote
    zipter98 recebeu reputação de kaleudd em (resolvido) remover x item e ganhar pokémon   
    Ah, esqueci que alguém poderia deixar de digitar o número da lista. Corrigido.
     
    Fiz uma edição para que o popup permaneça, removendo-se o parâmetro lista:
    !orb n mostrará a lista conforme seu número.
    !orb pokémon para comprar o pokémon, como antes.
     
     
    Se preferir que apenas !orb mostre a lista, enquanto !orb pokémon compre-o:
     
  25. Upvote
    zipter98 recebeu reputação de Josegvb em (resolvido) alguém pode criar uma spell a partir dessa action por favor?   
    Não imaginei que meses sem programar de fato desfariam meu conhecimento em bases poketibianas. Havia esquecido completamente a estrutura das funções de evolução e ajustes de status no PDA.
    Enfim, editei meu comentário que continha o código com ambas as correções.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...