Ir para conteúdo
  • 0

Player só ataca outro se forem moradores de cidades distintas


Mazynho

Pergunta

Galera gostaria de um script bem simples, quero um script que faça com que um player só possa atacar outro player se esse outro for de outra cidade (Town ID diferente).

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

testa ae..

function onCombat(cid, target)

if isPlayer(cid) and isPlayer(target) then
   if getPlayerTown(cid) == getPlayerTown(target) then
    return false
   end
end

 return true
end
Editado por DuuhCarvalho
Link para o comentário
Compartilhar em outros sites

  • 0

 

 

testa ae..

function onCombat(cid, target)if isPlayer(cid) and isPlayer(target) then   if getPlayerTown(cid) == getPlayerTown(target) then    return false   endend return trueend

 

Esta funcionando, mais ou menos como o que fiz:

function onCombat(cid, target)
if not isPlayer(target.uid) then
	return true
end
	if (getPlayerTown(cid) ~= getPlayerTown(target.uid)) or isPlayer(target.uid) == false  then
		return true
	end
		doPlayerSendCancel(cid, "Voce nao pode atacar players da sua equipe.")
		return false
end

Ao atacar um player da mesma cidade apare isso: you may not attack this player. (no meu script também), porém se você ficar clicando varias vezes para atacar ele acaba atacando e depois que ataca uma vez para atacar novamente funciona de primeira.

 

A tag que estou usando é esta: <event type="combat" name="Combate" event="script" value="Combate.lua" />

OBS.: Esse que fiz foi baseado num script que o DrakyLucas fez, porém essa mensagem que tem nele não está exibindo.

Editado por Mazynho
Link para o comentário
Compartilhar em outros sites

  • 0
function onStatsChange(cid, attacker, type, combat, value)


 if getPlayerTown(cid) == getPlayerTown(attacker) and type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS then
  return false
 end


 return true
end  

tag em login.lua :

registerCreatureEvent(cid, "Nome do Evento")

tag em creaturescripts.xml :

<event type="statschange" name="Nome do Evento" event="script" value="Nome do Script.lua"/>

testa ae..

Link para o comentário
Compartilhar em outros sites

  • 0
function onStatsChange(cid, attacker, type, combat, value)


 if getPlayerTown(cid) == getPlayerTown(attacker) and type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS then
  return false
 end


 return true
end  

tag em login.lua :

registerCreatureEvent(cid, "Nome do Evento")

tag em creaturescripts.xml :

<event type="statschange" name="Nome do Evento" event="script" value="Nome do Script.lua"/>

testa ae..

 

 

"Ao atacar um player da mesma cidade apare isso: you may not attack this player. (no meu script também), porém se você ficar clicando varias vezes para atacar ele acaba atacando e depois que ataca uma vez para atacar novamente funciona de primeira." Isso ainda está acontecendo porém agora depois que consegue marcar não está atacando, fica apenas marcado, mas ele pega battle.

 

Você poderia fazer com que ele e o alvo não pegasse battle nem skull e se possível fazer com que o target fosse desmarcado (Retirado o alvo, tipo um stop).

Editado por Mazynho
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...