Ir para conteúdo

Featured Replies

Postado

@Vodkart

olá galera do tk,

como comentei acima preciso de um script de Recompensa por level para X vocations

só que com um diferencial "PARA OS KNIGHT", O knight será feito uma checagem nos skills dele,

no caso do maior skill ser axe, ele recebe um axe, no caso do maio skill ser sword, ele recebe uma sword

no caso do maior skill ser club, ele recebe um club, caso de empate entre os skills ele recebera então uma sword

 

se alguem puder me ajudar

 

uso esse script :

 

Spoiler

data/creaturescripts/scripts/vocreward.lua

 


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 true
end

 

 

Em "data/creaturescripts/creaturescripts.xml" :

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

 

 

Em "data/creaturescripts/scripts/login.lua" :

registerCreatureEvent(cid, "VocReward")

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

  • 2 weeks later...
Postado

procura pelas functions 0.4 não é dificil.

primeiro verifica se é knight, caso n fot return false, depois usa get pra pegar o skill e comparar com as outras... não é dificil, você consegue cara!


Enviado do meu iPhone usando Tapatalk

Scriptszinhos:

 

Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.

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.7k

Informação Importante

Confirmação de Termo