Ir para conteúdo

Featured Replies

Postado

Olá amigos gostaria de deixar esse escritpt de bless para quando player tiver level 300+ perder apenas 20% da sua exp algum pode ajudar vai me ajudar muito!!

 

só tenho ele em talkactions mais creio eu que da para fazer em creaturescripts

 

 

script de bless em Talkactions

local bless = {1, 2, 3, 4, 5}
local cost = 50000
local maxlevel = 50000

function onSay(cid, words, param)
local lvl = getPlayerLevel(cid)
local new_cost = (lvl * cost) / 500
local target = getPlayerGUID(cid)


for i = 1, table.maxn(bless) do
if(getPlayerBlessing(cid, bless[i])) then
doPlayerSendCancel(cid, "Voceja tem todas as bless.")
return TRUE
end
end

if (getPlayerLevel(cid) >= maxlevel) then
if(doPlayerRemoveMoney(cid, new_cost) == TRUE) then
for i = 1, table.maxn(bless) do
doPlayerAddBlessing(cid, bless[i])
doPlayerSendTextMessage(cid,22,"Agora voce tem todas bless nao precissa de aol!")
end
else
doPlayerPopupFYI(cid, "Voce precisa "..new_cost.." para a bless.")
end

elseif(getPlayerLevel(cid) < maxlevel) then
if(doPlayerRemoveMoney(cid, cost) == TRUE) then
for i = 1, table.maxn(bless) do
doPlayerAddBlessing(cid, bless[i])
end
doPlayerPopupFYI(cid, "Agora voce tem todas bless nao precissa de aol!")
else
doPlayerPopupFYI(cid, "voce precissa de "..cost.."para comprar bless.")
end
end
return false
end

up

I like

  • Respostas 6
  • Visualizações 1.3k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Demonbholder
    Demonbholder

    Oi,   o problema de usar o doPlayerSetLossPercent é que só muda uma variável na fórmula do cálculo da perde de experiência.   Pelo que eu percebi, você está usando o tfs 0.4, certo?   Se sim, va

  • Demonbholder
    Demonbholder

    Coloca 0.15

Postado
  Em 09/07/2015 em 14:37, loreal disse:
quando player tiver level 300+ perder apenas 20% da sua exp

 

blessed300.lua (data\creaturescripts\scripts):

function onPrepareDeath(cid)
    local level, perc = 300, 20
    
    for b = 1, 5 do
        if isPlayer(cid) and getPlayerBlessing(cid, b) and getPlayerLevel(cid) >= level then
            doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, perc)
        end
    end

    return true
end

creaturescripts.xml (data\creaturescripts):

<event type="preparedeath" name="Blessed300" event="script" value="blessed300.lua"/>

Registre o creature event em login.lua (data\creaturescripts\scripts):

registerCreatureEvent(cid, "Blessed300")

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

The corrupt fear us.

The honest support us.

The heroic join us.

Postado
  • Autor
  Em 09/07/2015 em 19:35, Suicide disse:

 

blessed300.lua (data\creaturescripts\scripts):

function onPrepareDeath(cid)
    local level, perc = 300, 20
    
    for b = 1, 5 do
        if isPlayer(cid) and getPlayerBlessing(cid, b) and getPlayerLevel(cid) >= level then
            doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, perc)
        end
    end

    return true
end

creaturescripts.xml (data\creaturescripts):

<event type="preparedeath" name="Blessed300" event="script" value="blessed300.lua"/>

Registre o creature event em login.lua (data\creaturescripts\scripts):

registerCreatureEvent(cid, "Blessed300")

obrigo por ajudar amigo so tem um poblema quando char morre vai para level 1

 

char tava level 310 morreu foi para level 1 ;s

todas skill foi para level 1 tb

 

 

                 ANTES                                     Depois de morrer

 J1YtVCM.png              S0l6I0b.png                                

 

 

Obs; eu aceito qualquer metodo  via source, vocations.xml ajuda ai alguém e muito importante para meu server

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

I like

Postado

Oi,

 

o problema de usar o doPlayerSetLossPercent é que só muda uma variável na fórmula do cálculo da perde de experiência.
 
Pelo que eu percebi, você está usando o tfs 0.4, certo?

 

Se sim, vai em player.cpp e altera a função getLostExperience por isso:

 

obs: Antes de testar, faça um backup de tudo, pois eu não estou muito familiarizado com as sources do tfs 0.4.
 

Mostrar conteúdo oculto

Postado
  • Autor
  Em 10/07/2015 em 01:49, Demonbholder disse:

Oi,

 

o problema de usar o doPlayerSetLossPercent é que só muda uma variável na fórmula do cálculo da perde de experiência.

 

Pelo que eu percebi, você está usando o tfs 0.4, certo?

 

Se sim, vai em player.cpp e altera a função getLostExperience por isso:

 

obs: Antes de testar, faça um backup de tudo, pois eu não estou muito familiarizado com as sources do tfs 0.4.

 

Mostrar conteúdo oculto

amigo utilixo otx 8.60 mais pela função da para tirar uma base boa to fazendo os testes jaja dou os resultados 

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

I like

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo