Ir para conteúdo
  • Cadastre-se

modificar esse script de bless


Posts Recomendados

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

Link para o post
Compartilhar em outros sites
  Em 09/07/2015 em 14:37, loreal disse:
quando player tiver level 300+ perder apenas 20% da sua exp
Mostrar mais  

 

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.

Link para o post
Compartilhar em outros sites
  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")
Mostrar mais  

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

Link para o post
Compartilhar em outros sites

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

Link para o post
Compartilhar em outros sites
  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

Expand   Mostrar mais  

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

Link para o post
Compartilhar em outros sites

gostaria de por 15% como faço?

 

aqui esta 0.2 que e igual 20%

if (level >= 300 && getBlessings() >= 5)
		percent = 0.2;

se eu coloco 0.1.5 buga alguém pode me ajudar ? quero por 15%

I like

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.

  • Estatísticas dos Fóruns

    96825
    Tópicos
    519566
    Posts
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo