Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Tenho um script da quest anihi, mas nessa script só pode ir players na quest, queria que mosntros sumonados pelos player pudessem ir também ou seja completar as positions que faltam, PORQUE QUANDO EU VOU LEVAR OS SUMONADOS NA QUEST FALA QUE NÃO TEM O TANTO NESCESSARIO PARA IR. Ajudem Por Favor !

 

Spoiler

function isOnSameFloor(fromPos, toPos)
    return fromPos.z == toPos.z and true or false
end

function isEven(arg)
    return arg % 2 == 0 and true or false
end

function getMiddlePos(fromPos, toPos)
    if not isOnSameFloor(fromPos, toPos) then
        return false
    end
    
    local middle = {x = 0, y = 0, z = 0}    
        middle.x = isEven(fromPos.x + toPos.x) and (fromPos.x + toPos.x)/2 or math.floor((fromPos.x + toPos.x)/2) + 1
        middle.y = isEven(fromPos.y + toPos.y) and (fromPos.y + toPos.y)/2 or math.floor((fromPos.y + toPos.y)/2) + 1
        middle.z = fromPos.z or toPos.z
    return middle
end

function getDistanceRadius(fromPos, toPos)
    if not isOnSameFloor(fromPos, toPos) then
        return false
    end
    
    local distance = getDistanceBetween(fromPos, toPos)
    return isEven(distance) and (distance/2) or math.floor(distance/2) + 1
end

function clearArea(middlePos, rangex, rangey)
    local final = {x=1072, y=1164, z=6} -- Posição onde será teleportado quando acabar o tempo
    
    for i = -rangex, rangex do
        for j = -rangey, rangey do
            pos = {x = middlePos.x + i, y = middlePos.y + j, z = middlePos.z}
            creature = getTopCreature(pos).uid
            
            if isMonster(creature) then
                doSendMagicEffect(getThingPos(creature), 14)
                doRemoveCreature(creature)
            elseif isPlayer(creature) then
                doSendMagicEffect(getThingPos(creature), 10)
                doTeleportThing(creature, final)
            end
        end
    end
    
    setGlobalStorageValue(sto, -1)
    return true
end
    
local t = {
    lvl = 120,
    entrada = {
        {x = 1125, y = 1152, z = 7}, -- pos players
        {x = 1124, y = 1152, z = 7}, -- pos players
        {x = 1123, y = 1152, z = 7}, -- pos players
        {x = 1122, y = 1152, z = 7}, -- pos players
        {x = 1121, y = 1152, z = 7}, -- pos players
    },
    saida = {
        {x = 1127, y = 1153, z = 8}, -- pos para onde eles irão
        {x = 1126, y = 1153, z = 8}, -- pos para onde eles irão
        {x = 1125, y = 1153, z = 8}, -- pos para onde eles irão
        {x = 1124, y = 1153, z = 8}, -- pos para onde eles irão
        {x = 1123, y = 1153, z = 8}, -- pos para onde eles irão
    },
    monstros = {
        {{x = 1122, y = 1153, z = 8}, "Anihilation"}, -- defina pos dos montros e nomes
        {{x = 1121, y = 1151, z = 8}, "Anihilation"}, -- defina pos dos montros e nomes
        {{x = 1121, y = 1155, z = 8}, "Anihilation"}, -- defina pos dos montros e nomes
        {{x = 1128, y = 1153, z = 8}, "Anihilation"}, -- defina pos dos montros e nomes
        {{x = 1129, y = 1151, z = 8}, "Anihilation"}, -- defina pos dos montros e nomes
        {{x = 1129, y = 1155, z = 8}, "Anihilation"}, -- defina pos dos montros e nomes
    }
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local configure = {
        fromPos = {x=1121, y=1150, z=8}, -- posição superior esquerda do mapa, da area em que esta mapeado a area.
        toPos = {x=1129, y=1156, z=8}, -- posição inferior direita do mapa, da area em que esta mapeado a area.
        boss = "Anihilation" -- Aqui você bota o nome do monstro que você quer remover
    }
    
    local config = {
        position = {x=1126, y=1152, z=7}, -- Contagem
        position1 = {x=1121, y=1150, z=8}, -- Contagem
        position2 = {x=1121, y=1156, z=8}, -- Contagem
        position3 = {x=1129, y=1150, z=8}, -- Contagem
        position4 = {x=1129, y=1156, z=8}, -- Contagem
        fromPosition = {x=1121, y=1150, z=8},
        toPosition = {x=1129, y=1156, z=8},
        id = 1498,
        time = 2 -- tempo que o teleport ira sumir em minutos
    }

    local time = 120
    local check = {}
    
    for _, k in ipairs(t.entrada) do
         local x = getTopCreature(k).uid      
         if(x == 0 or not isPlayer(x) or getPlayerLevel(x) < t.lvl) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você precisa de 5 jogadores para entrar na quest.")
            return true
        end
        
            if getGlobalStorageValue(sto) == 1 then
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde até que a sala seja liberada.")
                return true
            end
            
        table.insert(check, x)
    end
    
                for _, summon in pairs(t.monstros) do
                    local creature = getTopCreature(summon[1]).uid
                    doCreateMonster(summon[2], summon[1])
                end
                
                    for i, tid in ipairs(check) do
                        doTeleportThing(tid, t.saida, false)
                        doSendMagicEffect(t.saida, 10)
                        doTransformItem(item.uid, item.itemid == 9893 and 9893 or 9893)
                    end
                    
            for i = 1,time do
                formula = time - 1*i
                addEvent(doSendAnimatedText, i*1000, config.position, formula, TEXTCOLOR_RED)
                addEvent(doSendAnimatedText, i*1000, config.position1, formula, TEXTCOLOR_RED)
                addEvent(doSendAnimatedText, i*1000, config.position2, formula, TEXTCOLOR_RED)
                addEvent(doSendAnimatedText, i*1000, config.position3, formula, TEXTCOLOR_RED)
                addEvent(doSendAnimatedText, i*1000, config.position4, formula, TEXTCOLOR_RED)
            end
    
    setGlobalStorageValue(sto, 1)
    local rx = getDistanceRadius(configure.fromPos, configure.toPos)
    addEvent(clearArea, config.time * 60 * 1000, getMiddlePos(configure.fromPos, configure.toPos), rx, rx)
    return true
end

 

Link para o post
Compartilhar em outros sites

Esta é uma mensagem automática! Este tópico foi movido para a área correta.
Pedimos que você leia as regras do fórum.

Spoiler

This is an automated message! This topic has been moved to the correct area.
Please read the forum rules.

 

Link para o post
Compartilhar em outros sites
function isOnSameFloor(fromPos, toPos)
    return fromPos.z == toPos.z and true or false
end
function isEven(arg)
    return arg % 2 == 0 and true or false
end
function getMiddlePos(fromPos, toPos)
    if not isOnSameFloor(fromPos, toPos) then
        return false
    end
    
    local middle = {x = 0, y = 0, z = 0}    
        middle.x = isEven(fromPos.x + toPos.x) and (fromPos.x + toPos.x)/2 or math.floor((fromPos.x + toPos.x)/2) + 1
        middle.y = isEven(fromPos.y + toPos.y) and (fromPos.y + toPos.y)/2 or math.floor((fromPos.y + toPos.y)/2) + 1
        middle.z = fromPos.z or toPos.z
    return middle
end
function getDistanceRadius(fromPos, toPos)
    if not isOnSameFloor(fromPos, toPos) then
        return false
    end
    
    local distance = getDistanceBetween(fromPos, toPos)
    return isEven(distance) and (distance/2) or math.floor(distance/2) + 1
end
function clearArea(middlePos, rangex, rangey)
    local final = {x=1072, y=1164, z=6} -- Posição onde será teleportado quando acabar o tempo
    
    for i = -rangex, rangex do
        for j = -rangey, rangey do
            pos = {x = middlePos.x + i, y = middlePos.y + j, z = middlePos.z}
            creature = getTopCreature(pos).uid
            
            if isMonster(creature) or isPlayer(creature) then
                doSendMagicEffect(getThingPos(creature), 10)
                doTeleportThing(creature, final)
            end
        end
    end
    
    setGlobalStorageValue(sto, -1)
    return true
end
    
local t = {
    lvl = 120,
    entrada = {
        {x = 1125, y = 1152, z = 7}, -- pos players
        {x = 1124, y = 1152, z = 7}, -- pos players
        {x = 1123, y = 1152, z = 7}, -- pos players
        {x = 1122, y = 1152, z = 7}, -- pos players
        {x = 1121, y = 1152, z = 7}, -- pos players
    },
    saida = {
        {x = 1127, y = 1153, z = 8}, -- pos para onde eles irão
        {x = 1126, y = 1153, z = 8}, -- pos para onde eles irão
        {x = 1125, y = 1153, z = 8}, -- pos para onde eles irão
        {x = 1124, y = 1153, z = 8}, -- pos para onde eles irão
        {x = 1123, y = 1153, z = 8}, -- pos para onde eles irão
    },
    monstros = {
        {{x = 1122, y = 1153, z = 8}, "Anihilation"}, -- defina pos dos montros e nomes
        {{x = 1121, y = 1151, z = 8}, "Anihilation"}, -- defina pos dos montros e nomes
        {{x = 1121, y = 1155, z = 8}, "Anihilation"}, -- defina pos dos montros e nomes
        {{x = 1128, y = 1153, z = 8}, "Anihilation"}, -- defina pos dos montros e nomes
        {{x = 1129, y = 1151, z = 8}, "Anihilation"}, -- defina pos dos montros e nomes
        {{x = 1129, y = 1155, z = 8}, "Anihilation"}, -- defina pos dos montros e nomes
    }
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
    local configure = {
        fromPos = {x=1121, y=1150, z=8}, -- posição superior esquerda do mapa, da area em que esta mapeado a area.
        toPos = {x=1129, y=1156, z=8}, -- posição inferior direita do mapa, da area em que esta mapeado a area.
        boss = "Anihilation" -- Aqui você bota o nome do monstro que você quer remover
    }
    
    local config = {
        position = {x=1126, y=1152, z=7}, -- Contagem
        position1 = {x=1121, y=1150, z=8}, -- Contagem
        position2 = {x=1121, y=1156, z=8}, -- Contagem
        position3 = {x=1129, y=1150, z=8}, -- Contagem
        position4 = {x=1129, y=1156, z=8}, -- Contagem
        fromPosition = {x=1121, y=1150, z=8},
        toPosition = {x=1129, y=1156, z=8},
        id = 1498,
        time = 2 -- tempo que o teleport ira sumir em minutos
    }
    local time = 120
    local check = {}
    
    for _, k in ipairs(t.entrada) do
         local x = getTopCreature(k).uid      
         if(x == 0 or not isPlayer(x) or getPlayerLevel(x) < t.lvl) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você precisa de 5 jogadores para entrar na quest.")
            return true
        end
        
            if getGlobalStorageValue(sto) == 1 then
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde até que a sala seja liberada.")
                return true
            end
            
        table.insert(check, x)
    end
    
                for _, summon in pairs(t.monstros) do
                    local creature = getTopCreature(summon[1]).uid
                    doCreateMonster(summon[2], summon[1])
                end
                
                    for i, tid in ipairs(check) do
                        doTeleportThing(tid, t.saida, false)
                        doSendMagicEffect(t.saida, 10)
                        doTransformItem(item.uid, item.itemid == 9893 and 9893 or 9893)
                    end
                    
            for i = 1,time do
                formula = time - 1*i
                addEvent(doSendAnimatedText, i*1000, config.position, formula, TEXTCOLOR_RED)
                addEvent(doSendAnimatedText, i*1000, config.position1, formula, TEXTCOLOR_RED)
                addEvent(doSendAnimatedText, i*1000, config.position2, formula, TEXTCOLOR_RED)
                addEvent(doSendAnimatedText, i*1000, config.position3, formula, TEXTCOLOR_RED)
                addEvent(doSendAnimatedText, i*1000, config.position4, formula, TEXTCOLOR_RED)
            end
    
    setGlobalStorageValue(sto, 1)
    local rx = getDistanceRadius(configure.fromPos, configure.toPos)
    addEvent(clearArea, config.time * 60 * 1000, getMiddlePos(configure.fromPos, configure.toPos), rx, rx)
    return true
end

Script meio completo "de mais" kkk

Se ajudei, REP+

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites

Ainda não deu cara aparece a mensagem que precisa de 5 players.

Link para o post
Compartilhar em outros sites
1 minuto atrás, lucas2324 disse:

Ainda não deu cara aparece a mensagem que precisa de 5 players.

E todos os campos estão preenchidos com criaturas? (players/monstro)

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites

E no mapa, as posições de onde os players devem estar, bate com essa tabela?
 

local config = {
        position = {x=1126, y=1152, z=7}, -- Contagem
        position1 = {x=1121, y=1150, z=8}, -- Contagem
        position2 = {x=1121, y=1156, z=8}, -- Contagem
        position3 = {x=1129, y=1150, z=8}, -- Contagem
        position4 = {x=1129, y=1156, z=8}, -- Contagem

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites

Bate sim quando tem 5 players funciona corretamente, mais quando tem alguma position com um monster sumonado aparece a mensagem. e não vai

Link para o post
Compartilhar em outros sites
1 minuto atrás, lucas2324 disse:

Bate sim quando tem 5 players funciona corretamente, mais quando tem alguma position com um monster sumonado aparece a mensagem. e não vai

 

No script, procure a linha:

 if(x == 0 or not isPlayer(x) or getPlayerLevel(x) < t.lvl) then

E substitua por:

Citar

if(x == 0 or not isCreature(x) or (isPlayer(x) and getPlayerLevel(x) < t.lvl)) then

 

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites

Agora a quest funcionou só que os 5 que completavam as pos não desceram, os monsters nasceu a contagem começou... mais eles ficaram.

Link para o post
Compartilhar em outros sites

vlw ja foi um 50% do problema resolvido o resto é descer kkk

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 Jaurez
      .
    • Por ILex WilL
      Olá, Alguém poderia me ajudar com uns Scripts? nem que seja cobrando, dependendo eu pago para me ajudar...
    • Por Kill of sumoners
      Boa noite, estou com um erro ao atacar um player em meu sv eu nao pego pk, nem sai magia, aparece a mensagem "voce so pode usar isso em criaturas"
      obs: magia em area acerta e pega pk, apenas as targets ou hits de arma nao vao 
    • Por Jpminatel
      Estou com os seguintes erros ; e procuro quem poça ajudar ai a eliminar esses 3 erros , erro 1 e 2 acontece qnd um pokemon usa ps   e o erro 3 é nas potions 
      [Error - TalkAction Interface] 
      [30/01/2022 17:04:25] data/talkactions/scripts/move1.lua:onSay
      [30/01/2022 17:04:25] Description: 
      [30/01/2022 17:04:25] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 17:04:25] stack traceback:
      [30/01/2022 17:04:25]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      Erro 2 ;
      [30/01/2022 18:08:53] [Error - Spell Interface] 
      [30/01/2022 18:08:53] In a timer event called from: 
      [30/01/2022 18:08:53] data/spells/scripts/ps/Earthquake.lua:onCastSpell
      [30/01/2022 18:08:53] Description: 
      [30/01/2022 18:08:53] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 18:08:53] stack traceback:
      [30/01/2022 18:08:53]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      [30/01/2022 18:08:53]     data/lib/newStatusSyst.lua:844: in function 'doMoveInArea2'
      [30/01/2022 18:08:53]     data/lib/pokemon moves.lua:1355: in function <data/lib/pokemon moves.lua:1351>
      [30/01/2022 18:08:54] [Error - Spell Interface] 
      [30/01/2022 18:08:54] In a timer event called from: 
      [30/01/2022 18:08:54] data/spells/scripts/ps/Earthquake.lua:onCastSpell
      [30/01/2022 18:08:54] Description: 
      [30/01/2022 18:08:54] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 18:08:54] stack traceback:
      [30/01/2022 18:08:54]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      [30/01/2022 18:08:54]     data/lib/newStatusSyst.lua:844: in function 'doMoveInArea2'
      [30/01/2022 18:08:54]     data/lib/pokemon moves.lua:1355: in function <data/lib/pokemon moves.lua:1351>
      [30/01/2022 18:18:20] [Error - TalkAction Interface] 
      [30/01/2022 18:18:20] data/talkactions/scripts/move1.lua:onSay
      [30/01/2022 18:18:20] Description: 
      [30/01/2022 18:18:20] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 18:18:20] stack traceback:
      [30/01/2022 18:18:20]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      [30/01/2022 18:18:20]     data/lib/newStatusSyst.lua:1119: in function 'doMoveInAreaMulti'
      [30/01/2022 18:18:20]     data/lib/pokemon moves.lua:458: in function 'docastspell'
      [30/01/2022 18:18:20]     data/talkactions/scripts/move1.lua:173: in function <data/talkactions/scripts/move1.lua:20>
      Erro 3 ; 
      erro potion 
      [30/01/2022 18:48:35] [Error - Action Interface] 
      [30/01/2022 18:48:35] data/actions/scripts/potion.lua:onUse
      [30/01/2022 18:48:35] Description: 
      [30/01/2022 18:48:35] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 18:48:35] stack traceback:
      [30/01/2022 18:48:35]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      [30/01/2022 18:48:35]     data/actions/scripts/potion.lua:45: in function <data/actions/scripts/potion.lua:43>
      [30/01/2022 18:48:39] [Error - Action Interface] 
      [30/01/2022 18:48:39] data/actions/scripts/potion.lua:onUse
      [30/01/2022 18:48:39] Description: 
      [30/01/2022 18:48:39] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 18:48:39] stack traceback:
      [30/01/2022 18:48:39]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      [30/01/2022 18:48:39]     data/actions/scripts/potion.lua:45: in function <data/actions/scripts/potion.lua:43>
       
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo