Ir para conteúdo

Featured Replies

Postado

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
  • Respostas 5
  • Visualizações 611
  • Created
  • Última resposta

Top Posters In This Topic

Postado
  • Autor
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

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.6k

Informação Importante

Confirmação de Termo