Ir para conteúdo
  • Cadastre-se

(Resolvido)[PROBLEMA] Area of Effect


Ir para solução Resolvido por Wise,

Posts Recomendados

um novo problema:

 

tenho dois times definidos por storages

já fiz o script que nao deixa players do mesmo time se atacarem (onTarget)

 

entretanto, runas de area, exori grans etc acerta também players do mesmo time.

existe alguma maneira de bloquear esse efeito sem utilizar um compensador?

(por exemplo adicionar a vida retirada no mesmo instante)

 

desde ja, agradeço!

Link para o post
Compartilhar em outros sites

se seu server for 8.54+ dá pra usar onStatsChange retornando falso caso seja do mesmo time, do contrário vc tem que fazer return false em onCombat, onAttack, onTarget.. etc.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

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

Como o @xWhiteWolf disse, caso seu servidor tenha o creature event statschange:

function onStatsChange(cid, attacker, type, combat, value)
    storage = 12345
    
    if value > 0 and type == STATSCHANGE_HEALTHLOSS or (getCreatureCondition(cid, CONDITION_MANASHIELD) and type == STATSCHANGE_MANALOSS) then
        if isPlayer(attacker) and getPlayerStorageValue(attacker, storage) == getPlayerStorageValue(cid, storage) then return false end
    end
    
    return true
end



Senão:

local storage = 12345

function onCombat(cid, target)
    if isPlayer(target) and getPlayerStorageValue(target, storage) == getPlayerStorageValue(cid, storage) then return false end
    return true
end

function onAttack(cid, target)
    if isPlayer(target) and getPlayerStorageValue(target, storage) == getPlayerStorageValue(cid, storage) then return false end
    return true
end

function onTarget(cid, target)
    if isPlayer(target) and getPlayerStorageValue(target, storage) == getPlayerStorageValue(cid, storage) then return false end
    return true
end

PS: não se esqueça de registrar os creature events em login.lua

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

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

Funcionou perfeitamente!!

Entretanto o servidor cai em todos os exori

Acho que deve ser algum problema na distro.. estou usando o TFS 0.3.6... devo ter causado Crash no servidor

Vou mudar pro TFS 1.0 e creio que esse tipo de problema não existirá.

 

Há muitas mudanças no tfs 1.0 no quesito de scripts?

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

Há muitas mudanças no tfs 1.0 no quesito de scripts?


Funções e callbacks, principalmente.

The corrupt fear us.

The honest support us.

The heroic join us.

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