Ir para conteúdo
  • 0

Sistema de recompensa por nivel


GHelty

Pergunta

Gostaria de um sistema nesse estilo:

 

Ao upar para o level determinado abaixo, o player irá receber x itens, aparecerá uma mensagem em LARANJA no default e aqueles tipo de popup também.

 

Upar level 20:

Ganhar uma red backpack e dentro dela ter: 25 health potion, 25 mana potion, 30 fishs e Wand of Decay.

Mensagem: Parabéns, você chegou ao nível 20! Você acaba de receber os itens que irão lhe ajudar à continuar em sua próxima jornada!

 

*Pra druid, em vez de receber Wand of Decay, receberá Necrotic Rod.

*Pra paladin, em vez de receber Wand of Decay, receberá 5 Hunting Spears

 

Upar level 25:

Ganhar uma green backpack e dentro dela ter: Wand of Cosmic Energy e 20 blank runes.

Mensagem: Parabéns, você chegou ao nível 25! Você acaba de receber os itens que irão lhe ajudar à continuar em sua próxima jornada!

 

*Pra druid, em vez de receber Wand of Cosmic Energy, receberá Terra Rod.

*Pra paladin, em vez de receber Wand of Cosmic Energy e blank rune, receberá Royal Spears e 20 bolts.

 

Upar level 45:

Ganhar uma yellow backpack e dentro dela ter: 10 sudden of death rune, 10 uh e 10k.

Mensagem: Uau, chegou ao level 45, parabéns! Você acaba de receber os itens que irão lhe ajudar à continuar em sua próxima jornada!

 

*Pra paladin, em vez de receber sudden of death rune, receberá 5 Enchanted Spears.

 

Se o player NÃO tiver cap, seus itens recebidos irão diretamente ao depot da cidade de origem dele e aparecerá uma mensagem: Parabéns, você chegou ao nível x! Você não tem cap suficiente, então, seus itens foram enviados para o depot!

 

Servidor: 8.60

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 1

                                                                                        --Totais créditos ao membro MarceloHeuHeuHeu--

 

Cria um arquivo chamado vocreward.lua no creaturescripts e cola isso nele:

Spoiler
local c = {   [{1,5}] = {     [13] = {items = {{itemid = 2191, count = 1}}, storage = 40953},     [19] = {items = {{itemid = 2188, count = 1}}, storage = 40954},     [22] = {items = {{itemid = 8921, count = 1}}, storage = 40955},     [26] = {items = {{itemid = 2189, count = 1}}, storage = 40956},     [33] = {items = {{itemid = 2187, count = 1}, {itemid = 2152, count = 25}}, storage = 40957},     [37] = {items = {{itemid = 8920, count = 1}, {itemid = 2152, count = 50}}, storage = 40958},     [42] = {items = {{itemid = 8922, count = 1}, {itemid = 2160, count = 1}}, storage = 40959}   },   [{2,6}] = {     [13] = {items = {{itemid = 2186, count = 1}}, storage = 40953},     [19] = {items = {{itemid = 2185, count = 1}}, storage = 40954},     [22] = {items = {{itemid = 8911, count = 1}}, storage = 40955},     [26] = {items = {{itemid = 2181, count = 1}}, storage = 40956},     [33] = {items = {{itemid = 2183, count = 1}, {itemid = 2152, count = 25}}, storage = 40957},     [37] = {items = {{itemid = 8912, count = 1}, {itemid = 2152, count = 50}}, storage = 40958},     [42] = {items = {{itemid = 8910, count = 1}, {itemid = 2160, count = 1}}, storage = 40959}   },   [{3,7}] = {     [12] = {items = {{itemid = 2389, count = 5}}, storage = 40953},     [16] = {items = {{itemid = 2389, count = 10}}, storage = 40954},     [20] = {items = {{itemid = 3965, count = 10}}, storage = 40955},     [25] = {items = {{itemid = 7378, count = 10}}, storage = 40956},     [30] = {items = {{itemid = 2456, count = 1}, {itemid = 2544, count = 100}}, storage = 40957},     [35] = {items = {{itemid = 7364, count = 100}, {itemid = 2152, count = 75}}, storage = 40958},     [40] = {items = {{itemid = 7365, count = 100}, {itemid = 2160, count = 1}}, storage = 40959}   },   [{4,8}] = {     [15] = {items = {{itemid = 2409, count = 1}}, storage = 40953},     [30] = {items = {{itemid = 2392, count = 1}, {itemid = 2152, count = 75}}, storage = 40957},     [40] = {items = {{itemid = 2407, count = 1}, {itemid = 2160, count = 1}}, storage = 40959}   }}function onAdvance(cid, skill, oldlevel, newlevel)         if skill ~= SKILL__LEVEL then             return true         end         for voc, x in pairs(c) do             if isInArray(voc, getPlayerVocation(cid)) then                     for level, z in pairs(x) do                         if newlevel >= level and getPlayerStorageValue(cid, z.storage) ~= 1 then                    local text = ""                    for v = 1, #z.items do                        count, info = z.items[v].count, getItemInfo(z.items[v].itemid)                        local ret = ", "                        if v == 1 then                            ret = ""                        elseif v == #z.items then                            ret = " and "                        end                        text = text .. ret                        text = text .. (count > 1 and count or info.article).." "..(count > 1 and info.plural or info.name)                        doPlayerAddItem(cid, z.items[v].itemid, z.items[v].count)                    end                                 doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Parabens, voce alcancou o level "..level.." e obteve "..text..".")                                 doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FIREWORK_YELLOW)                                 setPlayerStorageValue(cid, z.storage, 1)                         end                     end             end         end         return trueend

 

Registra essa tag no XML:

<event type="advance" name="VocReward" event="script" value="vocreward.lua"/>

E essa tag no login.lua:

registerCreatureEvent(cid, "VocReward")

Para editar é bem simples:
 

[{1,5}] = {[33] = {items = {{itemid = 2183, count = 1}, {itemid = 2152, count = 25}}, storage = 40957},doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Parabens, voce alcancou o level "..level.." e obteve "..text..".") 

[{1,5}]: sao os IDS das vocations, no caso a vocation base e sua respectiva promotion;
[33]: é o level que recebe os itens;

{{itemid = 2183, count = 1}}: ID do item e sua respectiva quantia;

storage = 40957: é o storage, para que o player receba a recompensa só uma vez.

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

×
×
  • Criar Novo...