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.




info
Grupo: Campones
Registrado: 30/05/06
Posts: 14
Reputação: +2
Gênero: Masculino
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.
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 endE também achei esse mas também nao da certo:
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