PO

Sistema para impedir de atacar membros da mesma party e da mesma guild

Por Poccnn, 10 de jun. de 2017 em CreatureScripts e Movements

sistem
lua
party
guild
10
6k
PoccnnP
10 de junho de 2017 às 14:43

Hail Xtibianos.

Eu fiz esse sistema como pedido de um membro há um bom tempo, mas nunca tinha postado ele e diversos sistemas que uso no meu ot server; agora resolvi postá-los.

 

Esse é o sistema que impede dos players da mesma party se atacarem ou, também dos membros da mesma guild.

 

Em config.lua adicione:

	noDamageToGuildMates = false	noDamageToPartyMembers = true

 

Em creaturescripts.xml adicione:

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

 

Em creaturescripts/scripts/login.lua adicione:

registerCreatureEvent(cid, "combat")

Na mesma pasta, crie um arquivo lua chamado combat e adicione isso nele:

--[[> Marcryzius <]]--function onCombat(cid, target) 	if(isPlayer(cid) and isPlayer(target)) then		if(getConfigValue("noDamageToGuildMates") and getPlayerGuildId(cid) > 0 and getPlayerGuildId(cid) == getPlayerGuildId(target)) then			return false		elseif(getConfigValue("noDamageToPartyMembers") and isInParty(target) and getPartyLeader(target) == getPartyLeader(cid)) then			return false		end	end	return trueend  

 

Qualquer duvida ou erro deixe nos comentários.

klipstyleK
10 de junho de 2017 às 15:13

Ótimo conteúdo, código simples, limpo e eficaz. Obrigado pela contribuição.

PoccnnP
10 de junho de 2017 às 15:17
Agora, klipstyle disse:

Ótimo conteúdo, código simples, limpo e eficaz. Obrigado pela contribuição.

 

Obrigado. Sempre considerei que os códigos podem sim serem simples, limpo e eficazes.

1 mês depois...
leozinpbbL
01 de julho de 2017 às 19:53
Em 10/06/2017 at 14:43, Poccnn disse:

Hail Xtibianos.

Eu fiz esse sistema como pedido de um membro há um bom tempo, mas nunca tinha postado ele e diversos sistemas que uso no meu ot server; agora resolvi postá-los.

 

Esse é o sistema que impede dos players da mesma party se atacarem ou, também dos membros da mesma guild.

 

Em config.lua adicione:

	noDamageToGuildMates = false	noDamageToPartyMembers = true

 

Em creaturescripts.xml adicione:

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

 

Em creaturescripts/scripts/login.lua adicione:

registerCreatureEvent(cid, "combat")

Na mesma pasta, crie um arquivo lua chamado combat e adicione isso nele:

--[[> Marcryzius <]]--function onCombat(cid, target) 	if(isPlayer(cid) and isPlayer(target)) then		if(getConfigValue("noDamageToGuildMates") and getPlayerGuildId(cid) > 0 and getPlayerGuildId(cid) == getPlayerGuildId(target)) then			return false		elseif(getConfigValue("noDamageToPartyMembers") and isInParty(target) and getPartyLeader(target) == getPartyLeader(cid)) then			return false		end	end	return trueend  

 

Qualquer duvida ou erro deixe nos comentários.

Otimo script amigo parabéns .. so tem uma coisa poderia deixar so para membros da party pois aqui no meu server já tem protect de guild

pois pode dar algum conflito ! OBG +REP

LeoTKL
01 de julho de 2017 às 20:32

Muito bom obrigado por compartilhar com certeza usarei no meu servidor xD

MarshmelloM
01 de julho de 2017 às 23:02
Em 10/06/2017 at 14:43, Poccnn disse:

Hail Xtibianos.

Eu fiz esse sistema como pedido de um membro há um bom tempo, mas nunca tinha postado ele e diversos sistemas que uso no meu ot server; agora resolvi postá-los.

 

Esse é o sistema que impede dos players da mesma party se atacarem ou, também dos membros da mesma guild.

 

Em config.lua adicione:

	noDamageToGuildMates = false	noDamageToPartyMembers = true

 

Em creaturescripts.xml adicione:

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

 

Em creaturescripts/scripts/login.lua adicione:

registerCreatureEvent(cid, "combat")

Na mesma pasta, crie um arquivo lua chamado combat e adicione isso nele:

--[[> Marcryzius <]]--function onCombat(cid, target) 	if(isPlayer(cid) and isPlayer(target)) then		if(getConfigValue("noDamageToGuildMates") and getPlayerGuildId(cid) > 0 and getPlayerGuildId(cid) == getPlayerGuildId(target)) then			return false		elseif(getConfigValue("noDamageToPartyMembers") and isInParty(target) and getPartyLeader(target) == getPartyLeader(cid)) then			return false		end	end	return trueend  

 

Qualquer duvida ou erro deixe nos comentários.

Meu Irmao tava querendo uma dessas, agora passo para ele, parabens para o conteudo

LeoTKL
01 de julho de 2017 às 23:33

Testado em tfs otx 0.3.6 perfeito

PoccnnP
02 de julho de 2017 às 10:49
14 horas atrás, leozinpbb disse:

Otimo script amigo parabéns .. so tem uma coisa poderia deixar so para membros da party pois aqui no meu server já tem protect de guild

pois pode dar algum conflito ! OBG +REP

Só que há pessoas que não tem isso, então se torna opcional usar ou não. 

Só modificar o parâmetro no config.lua.

 

Vlw pessoal. Qualquer problema ou dúvidas me comunique que eu irei verificar.

leozinpbbL
02 de julho de 2017 às 12:11
1 hora atrás, Poccnn disse:

Só que há pessoas que não tem isso, então se torna opcional usar ou não. 

Só modificar o parâmetro no config.lua.

 

Vlw pessoal. Qualquer problema ou dúvidas me comunique que eu irei verificar.

Fiz isso e deu certo , obrigado +REP

8 meses depois...
17 de março de 2018 às 22:38

tem esse sistema para tfs 1.2?