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
Por Mazynho, 29 de mar. de 2014 em Scripts
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

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 Março 29 por DuuhCarvalho
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 Março 29 por Mazynho
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

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..
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 endtag 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 Março 29 por Mazynho
Recomendaria também fazer um evento onTarget.
Recomendaria também fazer um evento onTarget.
Ajuda ai zipter e da uma olhada la nas mensagens que te mandei.
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

Movido para resolvidos .
info
Grupo: Campones
Registrado: 06/11/13
Posts: 99
Reputação: +2
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).