Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Ola pessoal estou com 1 problema com meu Duel System quando coloco para duelar e escolho a quantidade de pokemons abre 1 aba de chat com a quantidade de pokemons e não inicia duelo...

 

vou colocar meu duel system.lua para vcs verem

Citar
Spoiler

function checkDuel(cid)
if getPlayerStorageValue(cid, 52481) >= 1 then
   setPlayerStorageValue(cid, 52481, getPlayerStorageValue(cid, 52481)-1)
   doSendAnimatedText(getThingPos(cid), "POKE DOWN", 65)
end
if getPlayerStorageValue(cid, 52481) == 0 then           --alterado v1.6.1
   local sid = getPlayerByName(getPlayerStorageValue(cid, 52482))
   if isCreature(sid) then
      addEvent(doSendAnimatedText, 1000, getThingPosWithDebug(sid), "Winner", COLOR_ELECTRIC)
      resetDuelStorages(sid)
      doCreatureSetSkullType(sid, 0)
      doRemoveCondition(sid, CONDITION_INFIGHT)
   end
   addEvent(doSendAnimatedText, 1000, getThingPosWithDebug(cid), "Loser", COLOR_BURN)
   resetDuelStorages(cid)
   doCreatureSetSkullType(cid, 0)
   doRemoveCondition(cid, CONDITION_INFIGHT)
end         
end

function resetDuelStorages(cid)
    if not isCreature(cid) then return false end
    setPlayerStorageValue(cid, 52480, -1)
    setPlayerStorageValue(cid, 52481, -1)
    setPlayerStorageValue(cid, 52482, -1)
    setPlayerStorageValue(cid, 52483, -1)
    setPlayerStorageValue(cid, 6598754, -1)
    return true
end
function beginDuel(cid, pid, n)
if not isCreature(cid) or not isCreature(pid) then return true end
if n == 0 then
   setPlayerStorageValue(cid, 6598754, 10)
   setPlayerStorageValue(cid, 52482, getCreatureName(pid))
   doSendAnimatedText(getThingPosWithDebug(cid), "START", 215)
   doSendAnimatedText(getThingPosWithDebug(pid), "START", 215)
   return true                                                    --alterado v1.6.1
else 
   doSendAnimatedText(getThingPosWithDebug(cid), ""..n.."!", 215)
   n = n-1
end
addEvent(beginDuel, 1000, cid, pid, n)
end

function endInviting(cid)
if isCreature(cid) and getPlayerStorageValue(cid, 52483) == 0 then
   setPlayerStorageValue(cid, 52480, -1)    --sto de duelo
   setPlayerStorageValue(cid, 52481, -1)    --sto de pokes no duel
   setPlayerStorageValue(cid, 52482, -1)    --sto do player q vai duela contigo       --alterado v1.6 duel system
   setPlayerStorageValue(cid, 52483, -1)    --sto de aceitaçao de duel
   setPlayerStorageValue(cid, 6598754, -1)   --sto do canAttackOther
   doCreatureSetSkullType(cid, 0)
   doPlayerSendTextMessage(cid, 20, "The other player don't accepted the duel...")
end
end
 

 

 

up

Meus Trabalhos
 
Tudo em Desenvolvimento mais att em breve
Estou parado
 
Tudo Removido
Link para o post
Compartilhar em outros sites
Em 26/11/2015 22:49:16, lango rullez disse:

Não dá nenhum erro na distro ?

Está "pvp" no seu config.lua ?

Eu percebi que era a falta de 1 arquivo chamado tvsys.lua ao pegar de um outro PDA esta dando o seguinte erro na Distro

 

Citar

[26/11/2015 14:33:58] [Error - CreatureScript Interface]
[26/11/2015 14:33:58] data/creaturescripts/scripts/tvsys.lua:onJoinChannel
[26/11/2015 14:33:58] Description:
[26/11/2015 14:33:58] data/creaturescripts/scripts/tvsys.lua:34: attempt to index a number value
[26/11/2015 14:33:58] stack traceback:
[26/11/2015 14:33:58] data/creaturescripts/scripts/tvsys.lua:34: in function

 

Ai vai meu tvsys.lua

 

Citar
Spoiler

function onJoinChannel(cid, channelId, users, isTv)

    if channelId == 10 then
        doShowPokemonStatistics(cid)
    return false
    end

    if channelId == 11 then
        if reloadHighscoresWhenUsingPc then
            doReloadHighscores()
        end
           doPlayerPopupFYI(cid, getHighscoreString(8))
    return false
    end

    if channelId == 12 then
        if reloadHighscoresWhenUsingPc then
            doReloadHighscores()
        end
           doPlayerPopupFYI(cid, getHighscoreString(6))
    return false
    end
    --////////////////////////////////////////////////////////////////////////////////////////--
    if channelId >= 19 and channelId <= 21 then     --alterado v1.8  \/
       setPlayerStorageValue(cid, 52480, (channelId-18))
       setPlayerStorageValue(cid, 52484, ((channelId-18)*2)-1)
       doSendAnimatedText(getThingPosWithDebug(cid), (channelId-18).."x"..(channelId-18), COLOR_BURN)
       doPlayerSetVocation(cid, 8) 
       openChannelDialog(cid)
       return false
    end

    if channelId >= 13 and channelId <= 18 then
       local sid = getPlayerByName(getPlayerStorageValue(cid, 52483):match("(.*),"))
       ----------------  Proteçao para ter um oponente valido!
       if not isCreature(sid) then
          doPlayerSendTextMessage(cid, 20, "The other player isn't online! Duel is canceled!")
          doPlayerSetVocation(cid, 1)  
          for i = 1, #storagesDuel do
              setPlayerStorageValue(cid, storagesDuel, -1)
          end
          doCreatureSetSkullType(cid, 0)
          return false
       end   
       ----------------  Proteçao para os 2 players terem a qntdade de pokes pro duel
       local pokes1 = getLivePokeballs(cid, getPlayerSlotItem(cid, 3).uid, true)  
       local pokes2 = getLivePokeballs(sid, getPlayerSlotItem(sid, 3).uid, true)
       if #pokes1 < (channelId-12) or #pokes2 < (channelId-12) then
          local tpw = getPlayerStorageValue(cid, 52480) > 1 and "ally" or "opponent"
          doPlayerSendTextMessage(cid, 20, "You or your "..tpw.." doesn't have that amount of pokemons in their bags! Duel are canceled!")
          doPlayerSetVocation(cid, 1)  
          for i = 1, #storagesDuel do
              setPlayerStorageValue(cid, storagesDuel, -1)
          end
          doCreatureSetSkullType(cid, 0)
          return false
       end   
       ----------------
       if getPlayerStorageValue(cid, 52480) > 1 then
          setPlayerStorageValue(cid, 52482, getPlayerStorageValue(cid, 52482).. getCreatureName(sid)..",")
          setPlayerStorageValue(cid, 52483, "")
       end
       ----------------
       
       doSendAnimatedText(getThingPos(cid), (channelId-12).." Poke"..(channelId > 13 and "s" or ""), COLOR_BURN)
       setPlayerStorageValue(cid, 52481, (channelId-12))      
          
          setPlayerStorageValue(sid, 52485, getCreatureName(cid))
          setPlayerStorageValue(sid, 52481, (channelId-12))     
          
          local players, pokes = getPlayerStorageValue(cid, 52480), getPlayerStorageValue(cid, 52481)
          local str = {}                           --alterado v1.9 \/
           
          table.insert(str, getCreatureName(cid).." is inviting you to a duel! Use order in him to accept it!\n")
          table.insert(str, "Info Battle: Duel "..players.."x"..players.." - "..pokes.." pokes.")
          doPlayerSendTextMessage(sid, 20, table.concat(str))
       
       addEvent(doSendAnimatedText, 1000, getThingPos(cid), "BATTLE", COLOR_ELECTRIC) 
       doPlayerSetVocation(cid, 1)  
       return false   
    end
    --////////////////////////////////////////////////////////////////////////////////////////--
    if channelId >= 100 and channelId <= 10000 then

    local owner =  getPlayerByGUID(getChannelOwner(channelId))

        if isChannelTv(channelId) then
            if isCreature(owner) then
                if owner ~= cid then
                    doPlayerWatchOther(cid, owner)
                    local plural = #users == 1 and "" or "s"
                    doPlayerSendChannelMessage(owner, "TV Channel", getCreatureName(cid)..' is now watching your channel (currently '..#users..' player'..plural..' watching this channel).', 15, channelId)
                else
                    setPlayerStorageValue(cid, 99284, 1)
                end
            end
        elseif owner == cid then
            setPlayerStorageValue(cid, 99284, 2)
        end

    return true
    end

return true
end

function onLeaveChannel(cid, channelId, users)  

    if channelId >= 100 and channelId <= 10000 then

    local owner =  getPlayerByGUID(getChannelOwner(channelId))

        if isChannelTv(channelId) then
            if owner ~= cid and getCreatureOutfit(cid).lookType == 814 then
                doPlayerStopWatching(cid)
                local plural = #users == 2 and "" or "s"
                doPlayerSendChannelMessage(owner, "TV Channel", getCreatureName(cid)..' is not watching your channel anymore (currently '..#users - (1)..' player'..plural..' watching this channel).', 15, channelId)
            elseif owner == cid then
                setPlayerStorageValue(cid, 99284, -1)
                doSendAnimatedText(getThingPos(cid), "CAM OFF", 180)
                for stops = 1, #users do
                    if users[stops] ~= owner then
                        doPlayerStopWatching(users[stops])
                    end
                end
            end
        elseif owner == cid then
            setPlayerStorageValue(cid, 99284, -1)
        end

    return true
    end

return true
end

function onWalk(cid, fromPosition, toPosition)

    -- Código não é mais necessário, feito em c++
    -- Code deprecated, made in c++
    --if not canWalkOnPos(toPosition, false, false, false, true, false) and getPlayerStorageValue(cid, 17000) >= 1 then
    --    doTeleportThing(cid, fromPosition, false)
    --    doPlayerSendCancel(cid, "Sorry, not possible.")
    --end

    if getPlayerStorageValue(cid, 99284) <= 0 then return true end

    local speed = getCreatureSpeed(cid)
    local a = getWatchingPlayersFromPos(cid, fromPosition)

    for b = 1, #a do
        if getCreatureSpeed(a) ~= speed then
            doChangeSpeed(a, - getCreatureSpeed(a))
            doChangeSpeed(a, speed)
        end
        doTeleportThing(a, toPosition, true)
    end

return true
end

local permited = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
"t", "u", "v", "x", "w", ",", "'", '"',
"y", "z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", ".", "!", "@", "#", "$", "%", "&", "*", "(", ")",
"-", "_", "+", "/", ";", ":", "?", "^", "~", "{", "[", "}", "]", ">", "<", "£", "¢", "¬"}

function onTextEdit(cid, item, newText)

    if item.itemid == 12330 then

        if getPlayerStorageValue(cid, 99284) >= 1 then
            doPlayerSendCancel(cid, "You are already on air!")
        return false
        end

        local channelName = getCreatureName(cid).."'s TV Channel"

        if string.len(newText) <= 0 then
            doPlayerSendCancel(cid, "Your channel is going to be shown as \""..getCreatureName(cid).."'s TV Channel\".")
        elseif string.len(newText) > 25 then
            doPlayerSendCancel(cid, "Your channel name can't have more than 25 characters.")
        return false
        else
            channelName = newText
        end


        setPlayerStorageValue(cid, 99284, 1)
        setPlayerStorageValue(cid, 99285, "")
        setPlayerStorageValue(cid, 99285, channelName)
        doPlayerCreatePrivateChannel(cid, channelName)
        doSendAnimatedText(getThingPos(cid), "ON AIR!", COLOR_GRASS)

    return false
    end

return true
end

 

 

Meus Trabalhos
 
Tudo em Desenvolvimento mais att em breve
Estou parado
 
Tudo Removido
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