Eu procurei em varios forums, um sistema pra vc "desativar" o proprio pvp, te impedindo de pegar pk e nao encontrei um bacana, os que encontrei nao serviram no meu server, entao tentei fazer um, e bom, eis o resultado:
Como funciona: O jogador usa um comando(!pvp) e então, ele fica impossibilitado de causar dano à outro player, a não ser, que o outro player esteja com alguma skull(obs: isso não impede que ele seja atacado, só que pegue pz)
Para adicionar:
Abra o seu Combat.cpp e procure por
if (attacker->getSkull() == SKULL_BLACK && attacker->getSkullClient(target) == SKULL_NONE) {
return true;
}
return false;
e troque por:
if (attacker->getSkull() == SKULL_BLACK && attacker->getSkullClient(target) == SKULL_NONE) {
return true;
}
int32_t value;
if (attacker->getStorageValue(77777412, value) && attacker->getSkullClient(target) == SKULL_NONE) {
if (value == 1) {
return RETURNVALUE_TURNSECUREMODETOATTACKUNMARKEDPLAYERS;
}
}
return false;
Então vá para seu /data/talkactions/talkactions.xml e adicione a tag:
<talkaction words="!pvp" script="pvp.lua"/>
Aí no /data/talkactions/scripts/pvp.lua e coloque:
function onSay(player)
local switch = player:getStorageValue(77777412) == -1 and 1 or -1
player:sendTextMessage(MESSAGE_INFO_DESCR, 'PVP: (' .. (switch == 1 and 'OFF' or 'ON') .. ')')
player:setStorageValue(77777412, switch)
end
obs: Não sei em quais versões isso funciona, no meu caso, eu usei no otservbr-global 12.31 e dá certo.
E bom, é isso, espero que gostem, me dêem REP+, obrigado ?