Ir para conteúdo
  • Cadastre-se

(Resolvido)Porta checa área


Ir para solução Resolvido por Dwarfer,

Posts Recomendados

Galera tenho um servidor 8.54 0.3.6 e gostaria de Pedir um Script de Preferencia Action.

Bem Simples, só não faço porque ainda não conheço algumas funções e estou sem pratica por motivo de querer Ser Spriter.

Pedido: 
Só será possível passar na porta se não houver nenhum mostro na {Areá Configurável}.
E se não houver mostro na Areá Desejada ele ira clicar na porta e será teleportado para Outra {Areá Configurável}.

Galera só preciso disso para quase terminar um projeto meu.

Ficarei Grato,

Atenciosamente,

EU

Conteúdos Tragos Por Mim ao Fórum:

Venda de Vocações [Modern Aac] •

• Comando !Saga 

• [Modern Aac] DragonBall 

• Esconder •

• Naruto 2018

• • •

• •

'NtoProject - Breve'

[Show OFF] Disponível

Link para o post
Compartilhar em outros sites

@Hastafaru 

46 minutos atrás, Hastafaru disse:

só não faço porque ainda não conheço algumas funções e estou sem pratica por motivo de querer Ser Spriter.

Lhe ajudarei já que você é scripter, lhe mostro o caminho e você vai por ele.

Existe uma função chamada isInRange que faz justamente o que você quer, checa se uma posição está dentro de uma área de vai de uma fromPosition até uma toPosition que você vai especificar, no caso essa função é pra checar uma posição especifica, o que não lhe ajuda, mas existe uma função chamada getTopCreature, acho que se escreve assim. Huashuahs,

ela retorna se uma creature está em tal posição, mas você terá que checar cada uma pos, para isso use um for iterando x, y e z das áreas e checando pos por pos, e os que for creature inserta em uma tabela, retornando essa tabela da função, logo depois checa quantos indices tem nessa tabela, se for maior que 0, é porquê tem monstros, se não tiver monstros a tabela estará vazia, e então ele será teleportado. Resumindo, olhe a função do sistema de torneio do Alexy, a função dele faz exatamente o que eu falei!

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
2 horas atrás, KotZletY disse:

@Hastafaru 

Lhe ajudarei já que você é scripter, lhe mostro o caminho e você vai por ele.

Existe uma função chamada isInRange que faz justamente o que você quer, checa se uma posição está dentro de uma área de vai de uma fromPosition até uma toPosition que você vai especificar, no caso essa função é pra checar uma posição especifica, o que não lhe ajuda, mas existe uma função chamada getTopCreature, acho que se escreve assim. Huashuahs,

ela retorna se uma creature está em tal posição, mas você terá que checar cada uma pos, para isso use um for iterando x, y e z das áreas e checando pos por pos, e os que for creature inserta em uma tabela, retornando essa tabela da função, logo depois checa quantos indices tem nessa tabela, se for maior que 0, é porquê tem monstros, se não tiver monstros a tabela estará vazia, e então ele será teleportado. Resumindo, olhe a função do sistema de torneio do Alexy, a função dele faz exatamente o que eu falei!

 

Amigo sim eu entendo essa função isInrange e talz porém eu so vo ter dificuldade em montar a verificação, pode quebra o galho ai não?

e montar uma base, ai eu edito o restante.

Conteúdos Tragos Por Mim ao Fórum:

Venda de Vocações [Modern Aac] •

• Comando !Saga 

• [Modern Aac] DragonBall 

• Esconder •

• Naruto 2018

• • •

• •

'NtoProject - Breve'

[Show OFF] Disponível

Link para o post
Compartilhar em outros sites

Alguem?

Editado por Hastafaru (veja o histórico de edições)

Conteúdos Tragos Por Mim ao Fórum:

Venda de Vocações [Modern Aac] •

• Comando !Saga 

• [Modern Aac] DragonBall 

• Esconder •

• Naruto 2018

• • •

• •

'NtoProject - Breve'

[Show OFF] Disponível

Link para o post
Compartilhar em outros sites

Resolvido!!!

Editado por Hastafaru (veja o histórico de edições)

Conteúdos Tragos Por Mim ao Fórum:

Venda de Vocações [Modern Aac] •

• Comando !Saga 

• [Modern Aac] DragonBall 

• Esconder •

• Naruto 2018

• • •

• •

'NtoProject - Breve'

[Show OFF] Disponível

Link para o post
Compartilhar em outros sites
  • Solução

Em actions/scripts, crie um arquivo.lua:

 

Spoiler

local area = {{x=1,y=1,z=1}, 1, 1} -- {posição central da área, variação em X, variação em Y a partir do centro}
local newpos = {x=1,y=1,z=1} -- posição para qual o player será teleportado

function onUse(cid, item, fromPosition, itemEx, toPosition)
local creature = getSpectators(area[1], area[2], area[3])
local check = false
if creature and #creature > 0 then
    for i = 1, #creature do
        if isMonster(creature[i]) then
            check = true
            break
        end
    end
end
if check == true then
    doPlayerSendCancel(cid, "Existem monstros na sala.")
    return true
end
doTeleportThing(cid, newpos)
doSendMagicEffect(newpos, CONST_ME_TELEPORT)
return true
end

 

 

Em actions.xml: <action uniqueid="UNIQUE_ID_DA_PORTA" event="script" value="NOMEDOARQUIVO.lua"/>

Contato:

 

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo