Ir para conteúdo

Posts Recomendados

Olá Camaradagem do XTibia.

Venho disponibilizar um sistema muito útil para servidores fiéis ao Tibia(CipSoft).

Ele consiste em não atacar membros da party, ótimo para quest, pvp e hunt's.

Não posso afirmar se funcionará em todos os servidores, testado somente em 10.1.

 

config.lua

noDamageToPartyMembers = true

data/creaturescripts/creaturescripts.xml

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

data/creaturescripts/scripts/partyAndGuildProtection.lua

function onCombat(cid, target)
if(isInParty(target)) then
if(getConfigValue("noDamageToPartyMembers")) then
if(isInParty(cid)) then
return false
end
end
end
return true
end
data/creaturescripts/scripts/login.lua
registerCreatureEvent(cid, "partyAndGuildProtection")
Créditos ao Global 10.1 por conter partyAndGuildProtection.lua, porém contia bugs e não atacava nem player.
Créditos a mim por fixar esse problema e disponibilizar.
partyAndGuildProtection.lua bugado do servidor.

function onCombat(cid, target)
if(isPlayer(cid) and isPlayer(target)) then
if(getConfigValue("noDamageToGuildMates")) then
if(getPlayerGuildId(cid) == getPlayerGuildId(target)) then
return false
end
end
if(getConfigValue("noDamageToPartyMembers")) then
if(getPlayerParty(cid) == getPlayerParty(target)) then
return false
end
end
end
return true
end

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

O lorbug tem razão, acho que pra corrigir, deveria ser assim:

function onCombat(cid, target)
	if(isInParty(target)) then
		if(getConfigValue("noDamageToPartyMembers")) then
			if(isInParty(cid)) then
				if isInArray(getPlayerParty(cid), target) then
					return false
				end
			end
		end
	end
	return true
end


Além disso, seu tópico possui apenas um creaturescript, não um sistema. Fico contente por você trazer conteúdo para o fórum e vou movê-lo para a seção correta.

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
  • 2 months later...
  • 1 year later...
  • 6 months later...

Não tem erro nenhum no script do global que voce botou em anexo, e o jeito dele verificar é muito mais eficaz que o seu =s

Ele compara os cids dos lideres da party, ja o seu necessita iterar sobre a lista de todos os membros da party pra poder verificar

Link para o comentário
Compartilhar em outros sites

  • 1 year later...
×
×
  • Criar Novo...