Ir para conteúdo
  • Cadastre-se

(Resolvido)NoDamageParty


Ir para solução Resolvido por Wise,

Posts Recomendados

Eu gostaria de um Script que não permitisse que os Jogadores se ataquem caso estiverem na mesma PT.

 

 

Não encontrei nenhum que realmente funcione no meu servidor. OBS: Meu servidor é: 9.83

Poderiam me ajudar?

 

No Aguardo!

cms1-pr%C3%AAmio.png

Link para o post
Compartilhar em outros sites

são 2 creeaturescripts

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

function onTarget(cid, target)
if getPlayerParty(cid) == getPlayerParty(target) then
			doPlayerSendDefaultCancel(cid, "Ataque apenas inimigos")
	return false
end
    return true
end

em login.lua:

    registerCreatureEvent(cid, "noDmg")
    registerCreatureEvent(cid, "Target")

 

Talvez tenha alguma diferença de funções, funciona pra 8.6

Abraço

Link para o post
Compartilhar em outros sites

Não ta atacando nem jogadores da Party nem jogadores sem Party.

Ou seja, não ataca player nenhum.   :(

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

cms1-pr%C3%AAmio.png

Link para o post
Compartilhar em outros sites

Tenha certeza que você configurou o .xml de maneira correta, colocando o event name da mesma maneira que no login.lua

 

Além disso, se você usar um exevo gran mas vis em um player sem pt e outro na mesma pt, o que acontece?

 

Além disso tudo, faça uma modificação:

if isPlayer(attacker) and getPlayerParty(attacker) == getPlayerParty(cid) then doBroadcastMessage("negado") return false

Link para o post
Compartilhar em outros sites

Deixa eu facilitar as coisas:

  • Quero APENAS que magias de área não acertem players na mesma PT.
  • Se os jogadores estão na mesma PT e um clicar em target no outro, da pra atacar.

cms1-pr%C3%AAmio.png

Link para o post
Compartilhar em outros sites

Esse aqui iria só anular os danos(seja de ataque normal ou de magias) entre pessoas da mesma party.

 

function onStatsChange(cid, attacker, type, combat, value)
if type == STATSCHANGE_HEALTHLOSS then
if isPlayer(cid) and isPlayer(attacker) and isInParty(cid) and isInParty(attacker) and getPlayerParty(cid) == getPlayerParty(attacker) then
return false
end
end


return true
end

Até onde sei não tem como identificar se o dano que está a acontecer é proveniente de uma spell ou ataque básico. Teria que fazer uns arranjos de storage em Oncast, mas que não seria 100% funcional.

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



 tumblr_mwfeg45FIV1qk4cb3o4_500.gif

Link para o post
Compartilhar em outros sites

Dá pra simplificar com um creature event combat, caso prefira:

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

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

#Danves,

O seu não funcionou.

 

#Suicide,

Seu script deu mais ou menos certo.

 

Apenas os membros da party (os que não são líder) não se atingem.

Mas o líder pode atacar qualquer um.

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

cms1-pr%C3%AAmio.png

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

Apenas os membros da party (os que não são líder) não se atingem.
Mas o líder pode atacar qualquer um.

Certo, tente desse modo:
function onCombat(cid, target)
    if isPlayer(target) and isInParty(cid) and isInParty(target) then
        if getPlayerParty(target) == getPlayerParty(cid) or getPartyLeader(target) == cid then return false end
    end
    
    return true
end

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

Não tem de quê.
Disponha ;]

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites
  • 3 months later...

precisa colocar alguma coisa no creaturescripts.xml?
não entendi mto bem teria que colocar essas duas linhas no login.lua?

registerCreatureEvent(cid, "noDmg")
registerCreatureEvent(cid, "Target")

e esse ultimo código em creaturescripts/scripts?

function onCombat(cid, target)
    if isPlayer(target) and isInParty(cid) and isInParty(target) then
        if getPlayerParty(target) == getPlayerParty(cid) or getPartyLeader(target) == cid then return false end
    end
    
    return true
end

Será que funciona com tfs 1.0, to precisando mto.. aguardo respostas

 


Up

up


up

1545517_5.png

Link para o post
Compartilhar em outros sites
  • 3 months later...
funciona em tfs 1.0 ? 

 

Acho que sim, se não, poste.

 

 

 

precisa colocar alguma coisa no creaturescripts.xml?

 

Tem

o que você colocou?

 

usa o do Wise, é mais prático.

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.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