Ir para conteúdo
  • 0

Como faço pra players da mesma guild não se atacarem ?


BrenoNeto

Pergunta

10 respostass a esta questão

Posts Recomendados

  • 0

data/creaturescripts/scripts, crie um arquivo chamado attackguild.lua e adicione isso

 

 

function onAttack(cid,target)

if getPlayerStorageValue(cid, 29399) == 1 then

doMonsterSetTarget(cid,false)

doCreatureSetSkullType(cid,SKULL_NONE)

doRemoveCondition(cid,CONDITION_INFIGHT)

doPlayerSendCancel(cid,"Não é possível atacar com Attack Guild desligado!")

end

return true

end

 

 

Em data/creaturescripts, abra o arquivo creaturescripts.xml com o bloco de notas e adicione essa tag:

 

    <event type="attack" name="AttackGuild" event="script" value="attackguild.lua"/>

 

 

Em data/talkactions/scripts, crie um arquivo chamado attackguild.lua e adicione isso dentro:

 

 

function onSay(cid, words, param)

if words == '!attackguild on' and getPlayerStorageValue(cid,29399) == -1 then

setPlayerStorageValue(cid, 29399,1)

doPlayerSendTextMessage(cid,27,"Você desativou o seu Attack Guild, agora não pode atacar membros da guild!")

else

doPlayerSendCancel(cid,"Attack Guild já desativado!")

end

if words =='!attackguild off' and getPlayerStorageValue(cid,29399) == 1 then

setPlayerStorageValue(cid,29399,-1)

doPlayerSendTextMessage(cid,27,"Você ativou o seu Attack Guild, agora pode atacar membros da guild!")

else

doPlayerSendCancel(cid,"Attack Guild já ativado!")

end

return true

end

 

 

Em talkactions.xml adicione essa tag:

 

    <talkaction log="no" words="!attackguild on;!attackguild off" event="script" value="attackguild.lua"/>

Link para o comentário
Compartilhar em outros sites

  • 0

roksas, te mandei uma MP falando alguns erros desse script, de exemplo...

 

ao BrenoNeto, esse script pode apresentar falhas, pois imagina que eu estou PK.. do jeito que está ai, se eu tentar atacar alguem da minha guild, meu PK sairia e minha pz tbm, entao seria mto bugado...

 

 

tente assim:

 

function onCombat(cid, target)
   if (getPlayerGuildId(cid) ~= getPlayerGuildId(target)) or isPlayer(target) == FALSE or getPlayerGuildId(cid) == nil or getPlayerGuildId(cid) <=0 then
    return TRUE
   end
    doPlayerSendCancel(cid, "Voce nao pode atacar players da mesma guild.")
    return FALSE
end

 

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

 

login.lua: adicionar isso:

registerCreatureEvent(cid, "GUILDMode")

Link para o comentário
Compartilhar em outros sites

  • 0

Vá em data/xml, abra o arquivo channels.xml com o bloco de notas, retire o que tem dentro e cole:

 

 

<?xml version="1.0" encoding="UTF-8"?>

<channels>

 

<channel id="1" name="Party"/>

<channel id="2" name="Staff" access="3"/>

<channel id="3" name="Rule Violations" logged="yes"/>

<channel id="4" name="Counselor" access="1"/>

<channel id="5" name="Game-Chat" level="2"/>

<channel id="6" name="Trade" level="8" muted="120" conditionId="2" conditionMessage="You may only place one offer in two minutes.">

<vocation id="1-8"/>

</channel>

<channel id="7" name="Trade-Rookgaard" level="2" muted="120" conditionId="3" conditionMessage="You may only place one offer in two minutes.">

<vocation id="0"/>

</channel>

<channel id="8" name="RL-Chat" level="2"/>

<channel id="9" name="Help" logged="yes"/>

<!-- <channel id="10" name="My Custom Channel"/> -->

<channel id="65535" name="Private Chat Channel"/>

</channels>

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

só uma duvida, porque você quer tirar isso? oO

se eu quiser sair da guild, nao vou poder? ... ¬¬ kk

 

mano se ele sair da guild pra matar alguem, é tatica, só que pense q todos da guild tbm vao poder matar ele dps =p

Link para o comentário
Compartilhar em outros sites

  • 0

function onCombat(cid, target)
if not isPlayer(target) then return true end
if (getPlayerGuildId(cid) ~= getPlayerGuildId(target)) or isPlayer(target) == FALSE or getPlayerGuildId(cid) == nil or getPlayerGuildId(cid) <=0 then
		return TRUE
end
		doPlayerSendCancel(cid, "Voce nao pode atacar players da mesma guild.")
		return FALSE
end

 

ou

 

 

function onCombat(cid, target)
if not isPlayer(target.uid) then return true end
if (getPlayerGuildId(cid) ~= getPlayerGuildId(target.uid)) or isPlayer(target.uid) == FALSE or getPlayerGuildId(cid) == nil or getPlayerGuildId(cid) <=0 then
		return TRUE
end
		doPlayerSendCancel(cid, "Voce nao pode atacar players da mesma guild.")
		return FALSE
end

 

 

um desses com certeza vai funcionar.

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

×
×
  • Criar Novo...