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
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: Warrior of Mort

info
Grupo: Artesão
Registrado: 25/03/12
Posts: 109
Reputação: +4
Char no Tibia: Kimera DebochadoOo

Ok, estarei prestando mais atenção ![]()
info
Grupo: Herói
Registrado: 22/04/11
Posts: 2.5k
Reputação: +293
Gênero: Masculino
Char no Tibia: 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
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: 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
Grupo: Artesão
Registrado: 25/03/12
Posts: 109
Reputação: +4
Char no Tibia: 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
Grupo: Conde
Registrado: 17/07/11
Posts: 705
Reputação: +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
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: 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
Editado Dezembro 12 por Skymagnum






info
Grupo: Artesão
Registrado: 25/03/12
Posts: 109
Reputação: +4
Char no Tibia: 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.
Editado Abril 10 por AnyurCT