Reportado, por nome irregular de tópico. Da próxima vês seja mais especifico com o nome do tópico para organização do fórum.
info
Group: Conde
Joined: 30/06/11
Posts: 631
Reputation: +371
Tibia Character: Warrior of Mort

info
Group: Artesão
Joined: 25/03/12
Posts: 109
Reputation: +4
Tibia Character: Kimera DebochadoOo

Ok, estarei prestando mais atenção ![]()
info
Group: Herói
Joined: 22/04/11
Posts: 2.5k
Reputation: +293
Gender: Masculino
Tibia Character: Thyn Zare

Nome regularizado.
Até.
Acho que é impossível, já que só tem a função de setar para todos. [world]
mais sempre tem um aziatico né, espera confirmações dos scripters...
setWorldType(PvP)
info
Group: Conde
Joined: 30/06/11
Posts: 631
Reputation: +371
Tibia Character: Warrior of Mort

Vamo la. ![]()
Primeiro vai em data/creaturescripts/scripts, duplica um arquivo e nomeia para "pvpmode" sem as aspas e nele cole:
function onCombat(cid, target)
if (isPlayer(cid) and isPlayer(target)) then
if getPlayerStorageValue(cid, 102059) == 1 then
doPlayerSendTextMessage(cid, 27, "Seu status é non-pvp.")
return FALSE
elseif getPlayerStorageValue(target, 102059) == 1 then
doPlayerSendTextMessage(cid, 27, "O status de seu oponente é non-pvp.")
return FALSE
end
end
return TRUE
end
Agora em creaturescripts.xml coloque a tag:
<event type="combat" name="PvpMode" event="script" value="pvpmode.lua"/>
Depois vai no arquivo creaturescripts/scripts/login.lua e antes do último "return true" cole essa tag:
registerCreatureEvent(cid, "PvpMode")
-----------------------------------------------------------------------------------------------------------------------------------
Creaturescripts ta pronto, agora vamos para o talkaction de ativação.
Vai em data/talkactions/scripts, duplica um arquivo e nomeia para "pvp_change" sem as aspas e nele cole:
function onSay(cid, words, param, channel) local exausted = 1 -- dias de exausted if(exhaustion.check(cid, 34538) == TRUE) then if (exhaustion.get(cid, 34538) >= 60) then doPlayerSendCancel(cid, "Voçê só pode mudar modo após [" .. math.floor(exhaustion.get(cid, 34538) / 60 + 1) .."] minutos.") end if (exhaustion.get(cid, 34538) <= 60) then doPlayerSendCancel(cid, "Voçê só pode mudar modo após [" .. exhaustion.get(cid, 34538).."] segundos.") end return TRUE end if getPlayerStorageValue(cid, 102059) == 1 then setPlayerStorageValue(cid, 102059, 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Ativado Modo: PVP.") doSendMagicEffect(getCreaturePosition(cid), 30) -- mudar effect se desejar exhaustion.set(cid, 34538, exausted * 60 * 60 * 24) else setPlayerStorageValue(cid, 102059, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Ativado Modo: NON-PVP.") doSendMagicEffect(getCreaturePosition(cid), 30) -- mudar effect se desejar exhaustion.set(cid, 34538, exausted * 60 * 60 * 24) end return true end
E por último, em talkactions.xml cole a tag:
<talkaction words="!mudarpvp" event="script" value="pvp_change.lua"/>
--------------------------------------------------------------------------------------------------
Obs: nem testei, qualquer erro me fala.
info
Group: Artesão
Joined: 25/03/12
Posts: 109
Reputation: +4
Tibia Character: Kimera DebochadoOo

Muito bom só que só mais anoite que posso lhe dar seu Rep +
Dúvida sanada, tópico será fechado.
Fechar.
___
Galera quando a dúvida for sanada, reportem o tópico para o mesmo ser fechado.
abc
info
Group: Conde
Joined: 17/07/11
Posts: 705
Reputation: +108

Tópico movido para Pedidos Atendidos, pois o tópico foi atendido pelo Jhon e o dono do tópico falou isso.
Obs: o tópico não será fechado e não sei porque o Vilden falou que vai.
como eu mudo o exausted pra 30 minutos~?
info
Group: Marquês
Joined: 02/08/12
Posts: 1k
Reputation: +234
Tibia Character: Maurolkit

function onSay(cid, words, param, channel) local exausted = 30 -- trinta minutos de exausted if(exhaustion.check(cid, 34538) == TRUE) then if (exhaustion.get(cid, 34538) >= 60) then doPlayerSendCancel(cid, "Voçê só pode mudar modo após [" .. math.floor(exhaustion.get(cid, 34538) / 60 + 1) .."] minutos.") end if (exhaustion.get(cid, 34538) <= 60) then doPlayerSendCancel(cid, "Voçê só pode mudar modo após [" .. exhaustion.get(cid, 34538).."] segundos.") end return TRUE end if getPlayerStorageValue(cid, 102059) == 1 then setPlayerStorageValue(cid, 102059, 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Ativado Modo: PVP.") doSendMagicEffect(getCreaturePosition(cid), 30) -- mudar effect se desejar exhaustion.set(cid, 34538, exausted * 60 * 1000) else setPlayerStorageValue(cid, 102059, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Ativado Modo: NON-PVP.") doSendMagicEffect(getCreaturePosition(cid), 30) -- mudar effect se desejar exhaustion.set(cid, 34538, exausted * 60 * 1000) end return true end
Edited Dezembro 12 by Skymagnum






info
Group: Artesão
Joined: 25/03/12
Posts: 109
Reputation: +4
Tibia Character: Kimera DebochadoOo
Protocolo 8.6
Servidor utilizado: tfs 3.6
Preciso de um script para que o player fique em modo no-pvp quando desejado e pvp quando desejado.
Exemplo:
o player digita !mudarpvp uma vez ai então ele fica em modo no-pvp livre de attacks de outros players, si ele falar novamente !mudarpvp ele voltara a ser modo pvp, podendo ser atacado novamente, isso claro com um tempo de "Exausted" que seria de 1 dia.
Obrigado pela atenção e espero que ajudem.
Edited Abril 10 by AnyurCT