Ir para conteúdo
  • Cadastre-se

[Resolvido] Summons em Zombie Event


Posts Recomendados

Fala galera!! Possuo um servidor mapa global, que está crescendo bastante. Adicionei alguns eventos, tais como Battlefield, Zombie Event, etc.Porém, tenho recebido muitas reclamações relacionadas ao Zombie Event, onde muitos mages começam a sumonar monstros. Os Zombies matam esses monstros mas os caras se trapam com os bichos na frente dele, de forma que os Zombies dão preferencia aos outros jogadores. Além disso, as summons atrapalham a fuga dos participantes. Pensei em resolver o problema colocando um checker no script do Utevo Res, de forma a checar se o usuario da magia está com o storage do zombie event. O problema é que o Utevo Res não é por script, e sim por uma função pre-determinada no distro (me corrijam se eu estiver errado), como mostrado abaixo:

<instant name="Summon Creature" words="utevo res" lvl="25" params="1" exhaustion="1900" needlearn="0" event="function" value="summonMonster">

Alguém possui um script que execute a mesma coisa dessa função do Utevo Res? Ou então conheçe alguma outra maneira de resolver o problema?? Achei a função da magia nas sources, mas é em C++, não sei transcrever isso para LUA para tentar fazer um script para a magia.

 

Obrigado!!!

Gabriel Nogueira.

Editado por alemao96 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Após várias tentativas frustantes, consegui resolver o problema! Eis que a solução mais simples era a resposta haha, vou compartilhar aqui para caso alguém esteja com o mesmo problema:

 

Esse script vai em data/talkactions/scripts/block_summon.lua

local pos = {
              minx = 32321,
              maxx = 32347,
              miny = 31924,
              maxy = 31946
}
               
function onSay(cid, words, param, channel)
    if getThingPos(cid).x >= pos.minx and getThingPos(cid).x <= pos.maxx and getThingPos(cid).y >= pos.miny and getThingPos(cid).y <= pos.maxy then
        doPlayerSendCancel(cid,"You cant use this spell inside the Zombie Event!")
           return true
    end
end

E esse é a tag xml que você acrescenta em data/talkactions/talkactions.xml

<talkaction words="utevo res" filter="word-spaced" event="script" value="block_summon.lua"/>

Sabedores saberão que dá para encurtar bastante esse meu script, usando a função IsInArea. Descobri sobre essa função apenas depois de terminar o script. Como não estou com tempo para ajeitar e testar o script usando essa função, deixarei dessa forma, que está funcionando 100% pra mim.

O tópico pode ser fechado agora.

Abraço!

Editado por alemao96 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Dúvida sanada, tag adicionada.

Tópico movido!

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

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