Ir para conteúdo
  • Cadastre-se

Posts Recomendados

bom dia, queria pedir um script assim ; quando o player logar ele ficar em proteção, sem poder atacar ou tomar hit por alguns segundos. Teria como ? obrigado

Link para o post
Compartilhar em outros sites

O tópico foi movido para a área correta, preste mais atenção da próxima vez!

Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:

De: "OTServScriptingCreatureScripts, GlobalEvents e MoveMents"

Para: "OTServSuporte OTServSuporte de Scripts"

Link para o post
Compartilhar em outros sites

Tenta:
data/creaturescripts/scripts

function onLogin(cid)

local tempo = 5 -- tempo de proteção em segundos
local storage = 23585 -- só mecha se souber o que faz

if isPlayer(cid) then
   exhaustion.set(cid, storage, tempo)
    doPlayerSendTextMessage(cid, 22, "Você está protegido por 5 segundos!")
    registerCreatureEvent(cid, "Protection")
     end
      return true
       end

function onAttack(cid, target)

if exhaustion.check(target, 23585) then
     doPlayerSendTextMessage(cid, 22, "Este player está protegido!")
	 end
     return false
     end

creaturescripts.xml:

<event type="login" name="Protect" event="script" value="arquivo.lua"/>     
    <event type="attack" name="Protection" event="script" value="arquivo.lua"/>   

Primeira vez que mecho com onAttack.

Link para o post
Compartilhar em outros sites

 

Tenta:

data/creaturescripts/scripts

function onLogin(cid)

local tempo = 5 -- tempo de proteção em segundos
local storage = 23585 -- só mecha se souber o que faz

if isPlayer(cid) then
   exhaustion.set(cid, storage, tempo)
    doPlayerSendTextMessage(cid, 22, "Você está protegido por 5 segundos!")
    registerCreatureEvent(cid, "Protection")
     end
      return true
       end

function onAttack(cid, target)

if exhaustion.check(target, 23585) then
     doPlayerSendTextMessage(cid, 22, "Este player está protegido!")
	 end
     return false
     end

creaturescripts.xml:

<event type="login" name="Protect" event="script" value="arquivo.lua"/>     
    <event type="attack" name="Protection" event="script" value="arquivo.lua"/>   

Primeira vez que mecho com onAttack.

 

 

não deu certo, ao logar os bixos conseguem atacar o player :/

Link para o post
Compartilhar em outros sites

Deu algum erro?

não amigo, porém não funcionou como esperava, quero um sistema de proteção, se caso o player deslogar ou o servidor cair quando o player logar não morrer no respawn, porque é assim, eu quero esse script pro global save, meu servidor tem um global save de madru, e ao voltar varios players morrem na hunt.

Link para o post
Compartilhar em outros sites

Cria mais um creaturescript(deixe esse dele também) com a seguinte função dentro:

function onStatsChange(cid, attacker, type, combat, value)
if(isPlayer(cid) and not isPlayer(attacker) and getPlayerStorage(cid, 23585) > 0 and (type == STATSCHANGE_MANALOSS or type == STATSCHANGE_HEALTHLOSS)) then
return false
end
end


Se não der certo tenta esse


function onStatsChange(cid, attacker, type, combat, value)
if(isPlayer(cid) and not isPlayer(attacker) and getPlayerStorage(cid, 23585) > 0 and (type == STATSCHANGE_MANALOSS or type == STATSCHANGE_HEALTHLOSS)) then
value = 0
end
end

No login.lua procura algum registercreatureevent e põe embaixo
registerCreatureEvent(cid, "LoginProtection")
Em creaturescripts.xml fica
<event type="statschange" name="LoginProtection" event="script" value="nomedobloco.lua"/>
Editado por Danves (veja o histórico de edições)



 tumblr_mwfeg45FIV1qk4cb3o4_500.gif

Link para o post
Compartilhar em outros sites

pra que fazer gambiarra? nao e melhor ir no config.lua e editar loginProtectionPeriod = 10 * 1000 - 10 e o tempo em segundos se quizer aumentar e só por ai o tempo em segundos salvar e abrir o ot.

 Whatsapp: +55 (48) 98815-0709 Discord: Qwizer#5713

 

Global 100% 7.40 com Website

TFS 1.2 10.97-11.00 + GlobalFull OtherWorld ...

 

Link para o post
Compartilhar em outros sites

Se ele disse que os players morrem no resp quando loga eu deduzi que o config dele não tinha isso ._.



 tumblr_mwfeg45FIV1qk4cb3o4_500.gif

Link para o post
Compartilhar em outros sites

pra que fazer gambiarra? nao e melhor ir no config.lua e editar loginProtectionPeriod = 10 * 1000 - 10 e o tempo em segundos se quizer aumentar e só por ai o tempo em segundos salvar e abrir o ot.

Desculpe, não sabia que existia isso no config.lua.

:O

Link para o post
Compartilhar em outros sites

pra que fazer gambiarra? nao e melhor ir no config.lua e editar loginProtectionPeriod = 10 * 1000 - 10 e o tempo em segundos se quizer aumentar e só por ai o tempo em segundos salvar e abrir o ot.

desculpe, mais se o meu servidor funcionasse essa opção eu não iria atrás de uma "gambiarra"

 

Cria mais um creaturescript(deixe esse dele também) com a seguinte função dentro:

function onStatsChange(cid, attacker, type, combat, value)
if(isPlayer(cid) and not isPlayer(attacker) and getPlayerStorage(cid, 23585) > 0 and (type == STATSCHANGE_MANALOSS or type == STATSCHANGE_HEALTHLOSS)) then
return false
end
end

Se não der certo tenta esse

function onStatsChange(cid, attacker, type, combat, value)
if(isPlayer(cid) and not isPlayer(attacker) and getPlayerStorage(cid, 23585) > 0 and (type == STATSCHANGE_MANALOSS or type == STATSCHANGE_HEALTHLOSS)) then
value = 0
end
end

No login.lua procura algum registercreatureevent e põe embaixo

registerCreatureEvent(cid, "LoginProtection")
Em creaturescripts.xml fica

<event type="statschange" name="LoginProtection" event="script" value="nomedobloco.lua"/>

 

como funciona o tempo desse script ? 

Link para o post
Compartilhar em outros sites

Ele ta pegando o tempo definido no script do Alencar, pois tá vendo se a storage do player ta maior que 0(o script dele faz a storage começar em 5 e ir diminuindo)

Editado por Danves (veja o histórico de edições)



 tumblr_mwfeg45FIV1qk4cb3o4_500.gif

Link para o post
Compartilhar em outros sites

Ele ta pegando o tempo definido no script do Alencar, pois tá vendo se a storage do player ta maior que 0(o script dele faz a storage começar em 5 e ir diminuindo)

funcionou não :/

Link para o post
Compartilhar em outros sites

Muda o meu script para

function onStatsChange(cid, attacker, type, combat, value)
if(isPlayer(cid) and not isPlayer(attacker) and exhaustion.check(cid, 23585) and (type == STATSCHANGE_MANALOSS or type == STATSCHANGE_HEALTHLOSS)) then
value = 0
end
end



 tumblr_mwfeg45FIV1qk4cb3o4_500.gif

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo