Ir para conteúdo

Player Nao Pode Atacar A Mesma Vocação


Rayan

Posts Recomendados

Galera eu queria um script para os player da mesma vocação nao se atacarem no caso só existe duas vocs (1 e 2). Se possível também fazer com que eles fossem para a prisão.

Já testei vários scripts que encontrei mas o único que funcionou mais ou menos foi esse daqui, mas quando o player fica tentando atacar o outro da mesma vocação ele acaba conseguindo.

 

 

<event type="combat" name="CombatVoc" event="script" value="NOME DO SEU SCRIPT.lua"/>

registerCreatureEvent(cid, "CombatVoc")

 

function onCombat(cid, target) 

  if (isPlayer(cid) and isPlayer(target)) then 

     if (getPlayerVocation(cid) == getPlayerVocation(target)) then 

        doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUMAYNOTATTACKTHISPLAYER) 
        return false
     else
       return true 
     end
  else
       return true
  end 

  return true 

end

 

E também achei esse mas também nao da certo:

 

registerCreatureEvent(cid, "VocationJail")

 

<event type="kill" name="VocationJail" script="vocationjail.lua"/>

 

local JailPos = {x=1000, y=1000, z=7}

function onKill(cid, target)
       if isPlayer(target) then
               if getPlayerVocation(cid) == getPlayerVocation(target) then
                       doTeleportThing(cid, JailPos)
                       doBroadcastMessage(getCreatureName(cid).." matou "..getCreatureName(target).." cuja a vocação é a mesma, portanto foi prezo.")
               end
       end
       return true
end

Link para o comentário
Compartilhar em outros sites

Faiz o seguinte, cria um arquivo na pasta data/creaturescripts/script e salva como "combat.lua" sem as aspas e cole dentro isso:

 

function onCombat(cid, target)

if isPlayer(target) then
   if getPlayerVocation(cid) == getPlayerVocation(target) then 
   doPlayerSendTextMessage(cid, 27, "Você não pode atacar players da mesma vocação.")
   return FALSE 
   end
 return TRUE 
end
end

 

Depois abra o arquivo creaturescript.xml e adicione a tag:

 

<event type="combat" name="AttackVoc" event="script" value="combat.lua"/>

 

Agora entre no arquivo login.lua na pasta data/creaturescripts/scripts e adicione a tag:

 

registerCreatureEvent(cid, "AttackVoc")

 

Se seguir todos os passos concerteza vai funcionar.

Link para o comentário
Compartilhar em outros sites

Eu coloquei tudo certinho mas parece que não funciona, novamente apareceu "You may not Attack this player" ae depois eu consigo atacar o outro player. Como se esse script nao funcionasse ou não ativasse.

Link para o comentário
Compartilhar em outros sites

funcionou perfeitamente aqui, vê pra min se não aparece nenhum erro no executavel referente a isso. Ou se vc jah tem algum creaturescript do tipo combat sem ser esse. Se ñ tiver nada tenta fazer passo a passo denovo que irá funcionar.

Link para o comentário
Compartilhar em outros sites

Realmente estava dando um erro no login.lua, porque eu tentei fazer uma outra coisa antes, mas agora está 100% muito obrigado ae cara REP+ para vc =)

 

 

 

 

 

--------------EDIT------------

Agora os player nao podem matar os bichos fala sorry not possible, o que poderia ser.

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

Tente assim!

 

function onCombat(cid, target) 
if (isPlayer(cid) and isPlayer(target)) then 
if (getPlayerVocation(cid) == getPlayerVocation(target)) then 
doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUMAYNOTATTACKTHISPLAYER) 
return false
end
return true 
end 
end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...