Jump to content

zipter98

Herói
  • Posts

    2553
  • Joined

  • Last visited

  • Days Won

    72

zipter98 last won the day on March 14 2023

zipter98 had the most liked content!

About zipter98

Perfil

  • Gênero
    Masculino

Informações

  • Forma que conheci o xTibia
    Sites de Busca
  • Sou
    Xtibiano

Recent Profile Visitors

15947 profile views

zipter98's Achievements

  1.  

     

    Quando eu troco  este   

     

     

      if not move then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")
        return true
        end

     

    Por este

     

     

        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[i] 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 = true                   --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, "To mega evolve, all the spells of your pokemon need to be ready.")                end            end        end        
           move = {name = "Mega Evolution", level = 0, cd = 0, dist = 1, target = 0}    
        end

     

     

     

    meus pokemons parao de soltar os atak oque pode esta acontecendo ?

     

  2. fala irmao gostaria de perguntar se vc tira duvidas pelo discord. logico vou pagar por cada duvida tirada. agradeço desde ja a ajuda.

     

  3. Zipter pode me ajudar em uma coisa q estou tendo?

    Bom quando eu uso pokemon e ele morre ao clicar na ball da um erro na distro, acho q nao influencia em nada, mas va q muita gente clicando na pokebola possa causar lag! se puder me ajudar agradeço

    [Error - Action Interface]
    data/actions/scripts/goback.lua:onUse
    Description:

    <LuaDoPlayerSendCancel> Player no Found

     

    https://hastebin.com/nigakawopo.rb

  4. Tente algo seguindo a seguinte lógica: local config = { [1] = { upper_left = {x = x, y = y, z = z}, bottom_right = {x = x, y = y, z = z}, toPos = {x = x, y = y, z = z} }}for i = 1, #config do local upper, bottom = config[i].upper_left, config[i].bottom_right if #getPlayersInArea(upper, bottom) == 0 then doTeleportThing(cid, config[i].toPos) return true endenddoPlayerSendCancel(cid, "Try again later.") Imagino que a estruturação da tabela seja bem fácil de entender, porém qualquer dúvida basta perguntar. PS: Essa função getPlayersInArea você pode encontrar pela internet (incluindo aqui no fórum), portanto não vejo necessidade de postá-la.
  5. A conclusão que tirei a partir da estrutura apresentada por você é que os índices da tabela representam até que nível a vocação apresentará a dada corpse. local table = { --[vocation_id] = { [1] = { --[MAX_LEVEL] = itemid, [100] = 2930, [250] = 2931, [350] = 2932, },}local function transform(pos, id, voc, level) local item = getTileItemById(pos, id) if item and item.uid > 1 then local corpse_id, ref_lv, ret_id = table[voc], 9999 if not corpse_id then return true end for corpse_level, itemid in pairs(corpse_id) do if level <= corpse_level and corpse_level < ref_lv then ret_id = itemid ref_lv = corpse_level end end doTransformItem(item.uid, ret_id) doDecayItem(item.uid or 0) endendfunction onDeath(cid, corpse) if not isPlayer(cid) or not table[getPlayerVocation(cid)] then return true end addEvent(transform, 15, getThingPos(cid), corpse.itemid, getPlayerVocation(cid), getPlayerLevel(cid)) return trueend
  6. Opa, se o podcast no Discord ainda for rolar, posso dar uma gankada lá com vocês.
  7. 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
  8. Olá, eu queria saber se voce ira voltar a nos ajudar com aquele bug da DxP =X esperando mt por voce, foi o unico q consegueu meio arrumar o bug

    1. Josegvb

      Josegvb

      =( fecharam o topico n sei se pedir pra eles abrirem novamente ou se criar outro... poderia ajudar la dnovo? 

  9. Zipter teria como eu entrar em contato com vc? por fb ou até mesmo por aqui xD

  10. Poderia me ajudar Zipter? obrigado!

  11. O Psy Pulse está funcionando? Se preferir, pode voltar os códigos a antes do meu último comentário (quando o Miracle Eye, apesar de não perfeitamente, estava funcionando). É meio ruim ficar testando as correções desse jeito, mas não tenho essa base instalada e não pretendo baixá-la tão cedo.
  12. Abaixo de: if getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!") end coloque: local storage = 9381if getPlayerStorageValue(cid, storage) > os.time() then doPlayerSendCancel(cid, "You are exhausted.") return trueend Depois, acima de: addEvent(doSendPokeBall, d * 70 + 100 - (d * 14), cid, catchinfo, false, false, typeee, smeargleID) coloque: setPlayerStorageValue(cid, storage, os.time() + 1) --Intervalo de 1s para jogar outra pokeball.
  13. Primeiramente, é acima do que está sozinho. No código do Psy Pulse, abaixo de: if not isCreature(cid) then return true end coloque: if tostring(getPlayerStorageValue(cid, 21102)) ~= spell then setPlayerStorageValue(cid, 21102, spell)end No código do Miracle Eye, é melhor manter essa linha: setPlayerStorageValue(cid, 21102, -1) E, no stats change, voltar essas linhas: if getPlayerStorageValue(attacker, 21102) ~= "Miracle Eye" and getPlayerStorageValue(attacker, 21102) ~= "Dark Eye" then setPlayerStorageValue(attacker, 21102, -1)end para essa: setPlayerStorageValue(attacker, 21102, -1) Se não, o auto ataque pode acabar sendo influenciado pelo efeito dessa spell. Depois, em pokemon moves, troque: if getPlayerStorageValue(cid, 4389) > -1 and getPlayerStorageValue(cid, 21102) ~= "Miracle Eye" and getPlayerStorageValue(cid, 21102) ~= "Dark Eye" then setPlayerStorageValue(cid, 4389, -1)end por: if getPlayerStorageValue(cid, 4389) > -1 and getPlayerStorageValue(cid, 21102) ~= "Miracle Eye" and getPlayerStorageValue(cid, 21102) ~= "Dark Eye" and getPlayerStorageValue(cid, 21102) ~= -1 then setPlayerStorageValue(cid, 4389, -1)end Não tenho certeza se vão corrigir o erro do Psyshock da frente, mas são proteções para outros casos. Estou com um pouco de pressa agora, então depois raciocino mais sobre o problema.
  14. Troque o código da spell Psyshock por: elseif spell == "Psyshock" then local p = getThingPosWithDebug(cid) local d = isCreature(target) and getCreatureDirectionToTarget(cid, target) or getCreatureLookDir(cid) local storage, keep = getPlayerStorageValue(cid, 4389) if storage > os.time() then keep = true end function sendAtk(cid, area, eff, k) if isCreature(cid) then if not isSightClear(p, area, false) then return true end if k then setPlayerStorageValue(cid, 4389, os.time() + 1) end doAreaCombatHealth(cid, psyDmg, area, 0, 0, 0, eff) --alterado v1.4 doAreaCombatHealth(cid, psyDmg, area, whirl3, -min, -max, 255) --alterado v1.4 end end for a = 0, 4 do local t = { [0] = {250, {x=p.x, y=p.y-(a+1), z=p.z}}, --alterado v1.4 [1] = {250, {x=p.x+(a+1), y=p.y, z=p.z}}, [2] = {250, {x=p.x, y=p.y+(a+1), z=p.z}}, [3] = {250, {x=p.x-(a+1), y=p.y, z=p.z}} } addEvent(sendAtk, 370*a, cid, t[d][2], t[d][1], keep) end Depois, em pokemon moves.lua, acima de: setPlayerStorageValue(cid, 21102, spell) coloque: if getPlayerStorageValue(cid, 4389) > -1 and getPlayerStorageValue(cid, 21102) ~= "Miracle Eye" and getPlayerStorageValue(cid, 21102) ~= "Dark Eye" and getPlayerStorageValue(cid, 21102) ~= -1 then setPlayerStorageValue(cid, 4389, -1)end E, no código da função: getEffectvineSpell remova: setPlayerStorageValue(attacker, 4389, -1) Porém, o Miracle Eye provavelmente vai apresentar problemas em spells de addEvent, como aquele que enfrentamos antes neste tópico. Tudo, é lógico, seria mais fácil se o servidor não tivesse o problema do combat. Três simples linhas resolveriam o problema.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...