Talvez que seu servidor já tenha. Tente:
/pvp optional /pvp open
info
Grupo: Lenda
Registrado: 03/10/06
Posts: 2.6k
Reputação: +309
Gênero: Masculino
Char no Tibia: Knight Orion

Talvez que seu servidor já tenha. Tente:
/pvp optional /pvp open
info
Grupo: Visconde
Registrado: 11/11/13
Posts: 252
Reputação: +64
Char no Tibia: Não tenho

ou então tente /mode 1 /mode 2 ![]()
Editado Janeiro 26 por RastaLegion
info
Grupo: Conde
Registrado: 10/07/08
Posts: 574
Reputação: +13
Gênero: Masculino
Char no Tibia: Hebi Of Amera

Talvez que seu servidor já tenha. Tente:
/pvp optional /pvp open
No caso não é para mudar o tipo de pvp do ot lek, é para o player usar quando for upar, se eu usar isso mudo do ot todo. =/
data/talkactions/scripts
local msg = "Agora seu sistema PvP está %s."
function onSay(cid, words, param)
local _table = {
["on"] = {"ativado", 1},
["off"] = {"desativado", 0},
}
if _table[param:lower()] then
local mode = _table[param:lower()]
setPlayerStorageValue(cid, 91821, mode[2])
doPlayerSendTextMessage(cid, 27, msg:format(mode[1]))
end
return true
end
data/creaturescripts/scripts
--[[
Tags:
<event type="statschange" name="PvPStats" event="script" value="nome do arquivo.lua"/>
<event type="target" name="PvPTarget" event="script" value="nome do arquivo.lua"/>
<event type="login" name="PvPLogin" event="script" value="nome do arquivo.lua"/>
]]--
function onTarget(cid, target)
if isPlayer(target) and isPlayer(cid) then
if getPlayerStorageValue(cid, 91821) < 1 then
doPlayerSendCancel(cid, "Você está com o modo PvP desligado. Se quiser atacar outros jogadores, ative-o.")
return false
end
end
return true
end
function onStatsChange(cid, attacker, type, combat, value)
if isPlayer(cid) and isPlayer(attacker) and type == STATSCHANGE_HEALTHLOSS then
if getPlayerStorageValue(attacker, 91821) < 1 then
doPlayerSendCancel(attacker, "Você está com o modo PvP desligado. Se quiser atacar outros jogadores, ative-o.")
return false
end
end
return true
end
function onLogin(cid)
registerCreatureEvent(cid, "PvPTarget")
registerCreatureEvent(cid, "PvPStats")
return true
end
Editado Fevereiro 4 por zipter98
info
Grupo: Campones
Registrado: 15/10/11
Posts: 60
Reputação: +18
Char no Tibia: Foi Del :/

Zipter esse script é util pro meu server tb,porém eu n entendi nada,pode me explicar melhor oq é pra fazer???
vc passou o script,mas no xml? e essa creaturescript com tags do xml,login e o script em si tudo misturado???
A única coisa que não citei foi a tag da talkaction, que achei desnecessário criar, pois pensei que o autor seria capaz de criá-la.
E há 3 funções main juntas num mesmo código (eu optei por fazer assim para não precisar criar 3 arquivos, ao invés de apenas um). Portanto, são 3 tags. Como você pôde ver, eu informei as 3 no início do código.
E, também, como você não entendeu? Ué, cria um arquivo na pasta citada com extensão .lua, e então coloque o código lá. As tags, no arquivo .xml da respectiva pasta (talkactions - talkactions.xml/creaturescripts - creaturescripts.xml).
Editado Janeiro 26 por zipter98
info
Grupo: Conde
Registrado: 10/07/08
Posts: 574
Reputação: +13
Gênero: Masculino
Char no Tibia: Hebi Of Amera

data/talkactions/scripts
local msg = "Agora seu sistema PvP está %s." function onSay(cid, words, param) local _table = { ["on"] = {"ativado", 1}, ["off"] = {"desativado", 0}, } if _table[param:lower()] then local mode = _table[param:lower()] setPlayerStorageValue(cid, 91821, mode[2]) doPlayerSendTextMessage(cid, 27, msg:format(mode[1])) end return true enddata/creaturescripts/scripts
--[[ Tags: <event type="statschange" name="PvPStats" event="script" value="nome do arquivo.lua"/> <event type="target" name="PvPTarget" event="script" value="nome do arquivo.lua"/> <event type="login" name="PvPLogin" event="script" value="nome do arquivo.lua"/> ]]-- function onTarget(cid, target) if isPlayer(target) and isPlayer(cid) then if getPlayerStorageValue(target, 91821) < 1 or getPlayerStorageValue(cid, 91821) < 1 then doPlayerSendCancel(cid, "Você não pode atacar jogadores que estão com o PvP desativado.") return false end end return true end function onStatsChange(cid, attacker, type, combat, value) if isPlayer(cid) and isPlayer(attacker) then if getPlayerStorageValue(cid, 91821) < 1 or getPlayerStorageValue(attacker, 91821) < 1 then doPlayerSendCancel(attacker, "Você não pode atacar jogadores que estão com o PvP desativado.") return false end end return true end function onLogin(cid) registerCreatureEvent(cid, "PvPTarget") registerCreatureEvent(cid, "PvPStats") return true end
Valeu cara, vou testar ainda hoje e já edito ![]()
Ainda não testei mas me tira uma dúvida por favor, no caso eu quero que o cara que esteja upando não attack outros players com spells, o que me parace que esse comando não permite o players ser atacado. Obrigado
O jogador que desativa a opção de PvP não pode nem ser atacado, nem atacar outros jogadores.
Editado Janeiro 28 por zipter98
info
Grupo: Conde
Registrado: 10/07/08
Posts: 574
Reputação: +13
Gênero: Masculino
Char no Tibia: Hebi Of Amera

O jogador que desativa a opção de PvP não pode nem ser atacado, nem atacar outros jogadores.
Não tem como por para ele só não atacar os outros? Se não ele vai deixar de bot e ninguém vai matar. Se for possível é claro
Desde já agradeço. abraço
OK. Editei meu comentário logo acima com o código alterado.
info
Grupo: Conde
Registrado: 10/07/08
Posts: 574
Reputação: +13
Gênero: Masculino
Char no Tibia: Hebi Of Amera

Perfeito cara, parabéns! Irei testar ![]()
info
Grupo: Conde
Registrado: 10/07/08
Posts: 574
Reputação: +13
Gênero: Masculino
Char no Tibia: Hebi Of Amera

Funcionou direitinho amigo, muito obrigado. Podem fechar ![]()
OK. Editei meu comentário logo acima com o código alterado.
@EDIT
Só ocorreu um problema lek, não está dando para curar. =/ tem como ver isso? Obrigado
Desculpe, tive problemas em casa e não pude respondê-lo anteriormente. Alterei meu código acima com uma possível correção.
info
Grupo: Conde
Registrado: 10/07/08
Posts: 574
Reputação: +13
Gênero: Masculino
Char no Tibia: Hebi Of Amera
Bom pessoal, no meu otserv tenho visto muito problema com players fazendo outros pegar red por está de bot, teria como criar um comando !pvp on e !pvp off
Com esse comando ativado o player pode ser morto mas não pode atacar players mesmo com spells de área.
Abraço e obrigado.