Ir para conteúdo
  • 0

[Resolvido] [Resolvido] Ao morrer pra monster não perder xp, nem skills


AdilsonHacker

Pergunta

7 respostass a esta questão

Posts Recomendados

  • 1
  • Diretor

Fiz aqui, testa ai

Em creaturescript/scripts crie um arquivo com o nome qualquer e coloque isto dentro:

-- Script by Yan Liima(Night)
function onDeath(cid, corpse, deathList)
if not isPlayer(cid) then
        return true
    end

local loot = false -- Se o jogador morrer ele irá perder o loot?
local xp = false -- Se o jogador morrer ele irá perder EXP?

local loss = getConfigValue('deathLostPercent')
local killer = deathList[1] -- Não mexa aqui

if isMonster(killer) then
doCreatureSetDropLoot(cid, loot)
doPlayerSetLossPercent(cid, PLAYERLOSS_SKILLS, 0)
doPlayerSetLossPercent(cid, PLAYERLOSS_MANA, 0)
if xp == false then 
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 1) 
end
end
return TRUE 
end 

XML:

<event type="death" name="ProtegerPlayer" event="script" value="nome_do_arquivo.lua"/> 

Login.lua:

registerCreatureEvent(cid, "ProtegerPlayer")

Cara o unico problema vai ser o PLAYERLOSS_EXPERIENCE, bem provavel que ele buga e faz o jogador voltar pro nv1. Muitos reclamam sobre isso. Se acontecer o mesmo, tente trocar para Blessing

Editado por nedroesdoksdja
Link para o comentário
Compartilhar em outros sites

  • 0
3 horas atrás, Yan Liima disse:

Fiz aqui, testa ai

Em creaturescript/scripts crie um arquivo com o nome qualquer e coloque isto dentro:


-- Script by Yan Liima(Night)
function onDeath(cid, corpse, deathList)
if not isPlayer(cid) then
        return true
    end

local loot = false -- Se o jogador morrer ele irá perder o loot?
local xp = false -- Se o jogador morrer ele irá perder EXP?

local loss = getConfigValue('deathLostPercent')
local killer = deathList[1] -- Não mexa aqui

if isMonster(killer) then
doCreatureSetDropLoot(cid, loot)
doPlayerSetLossPercent(cid, PLAYERLOSS_SKILLS, 0)
doPlayerSetLossPercent(cid, PLAYERLOSS_MANA, 0)
if xp == false then 
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 1) 
end
end
return TRUE 
end 

XML:


<event type="death" name="ProtegerPlayer" event="script" value="nome_do_arquivo.lua"/> 

Login.lua:


registerCreatureEvent(cid, "ProtegerPlayer")

Cara o unico problema vai ser o PLAYERLOSS_EXPERIENCE, bem provavel que ele buga e faz o jogador voltar pro nv1. Muitos reclamam sobre isso. Se acontecer o mesmo, tente trocar para Blessing

Amigo, testei aqui.. morri várias vezes pra bixo e não perdeu level, e morri pra player e perdeu level normal.. até então tudo normal, deu certo! Uma dúvida, após esses test, tem risco de acontecer isso de voltarem pro level 1?

EDIT: Teria como adicionar para que que se o jogador morrer para bixo + de 5 vezes, ele fique com speed 200 por 10 minutos com uma mensagem explicando o pq q ele ficar lento?

Editado por AdilsonHacker
Link para o comentário
Compartilhar em outros sites

  • 0
  • Diretor
13 horas atrás, AdilsonHacker disse:

Amigo, testei aqui.. morri várias vezes pra bixo e não perdeu level, e morri pra player e perdeu level normal.. até então tudo normal, deu certo! Uma dúvida, após esses test, tem risco de acontecer isso de voltarem pro level 1?

EDIT: Teria como adicionar para que que se o jogador morrer para bixo + de 5 vezes, ele fique com speed 200 por 10 minutos com uma mensagem explicando o pq q ele ficar lento?

 

Ufa! que bom que deu certo, no meu se eu usar essa função logo de cara volta pro nv1 até hoje nunca descobri o motivo. Já vi muita gente reclamando sobre isso. Então se deu certo acho que não irá ter problemas futuramente.

 

Sobre morrer 5 vezes pro monster, seria um pouco mais complexo de se fazer. Mas creio que seria feito por storage e utilizando frags.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...