Fala TKZIANOS de plantão WTF? AUEHAUHEA Mas ok...
Venho hoje trazer a vocês um sistema de ganhar uma recompensa ao conquistar determinado nível (Configurável)
Como funciona?
Quando o jogador conquistar determinado level ele recebe como recompensa X item ou GOLD!
Mais Absolute, o cara vai ficar se matando e upando de novo para ficar pegando a recompensa... NÃO! Quando o player conquista o level ele recebe uma STORAGE, essa storage faz com que salve isto, ou seja faz com que marque que o jogador já recebeu, se ele tentar burlar o sistema ele não vai receber pelo fato da tal STORAGE já estar gravada nele =p
Em data/creaturescripts/scripts crie um arquivo chamado uplevelabsolute.lua e coloque o seguinte dentro:
function onAdvance(cid, skill, oldLevel, newLevel)
local config = {
[50] = {item = 2160, count = 5},
[100] = {item = 2160, count = 15},
[150] = {item = 2160, count = 20},
[200] = {item = 2160, count = 25},
[250] = {item = 2160, count = 30},
[300] = {item = 2160, count = 50},
[350] = {item = 4891, count = 1},
[400] = {item = 4892, count = 1},
}
if skill == 8 then
for level, info in pairs(config) do
if newLevel >= level and (getPlayerStorageValue(cid, 30700) == -1 or not (string.find(getPlayerStorageValue(cid, 30700), "'" .. level .. "'"))) then
doPlayerAddItem(cid, info.item, info.count)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Parabéns, você atingiu o level "..newLevel.." e ganhou "..info.count.." "..getItemNameById(info.item)..".")
local sat = getPlayerStorageValue(cid, 30700) == -1 and "Values: '" .. level .. "'" or getPlayerStorageValue(cid, 30700) .. ",'" .. level .. "'"
setPlayerStorageValue(cid, 30700, sat)
end
end
end
return TRUE
end
Em data/creaturescripts/creaturescripts.xml adicione a seguinte linha:
<event type="advance" name="UpAbsolute" event="script" value="uplevelabsolute.lua"/>
Em data/creaturescripts/scripts/login.lua abaixo de registerCreatureEvent(cid, "Mail") adicione a seguinte linha:
registerCreatureEvent(cid, "UpAbsolute")
Pronto, você implantou o sistema em seu servidor.
Como configurar:
[50] = {item = 2160, count = 5},
[50] = level que o player vai receber a tal recompensa
2160 = item que o player vai receber, no caso 2160 é o Crystal Coin
count = 5 = quantidade do item, no caso 5 Crystal Coins
Observação: Ao atingir o level o player receberá uma mensagem e o prêmio estará diretamente em sua backpack.
Qualquer dúvida peço que poste =D
Até o próximo sisteminha bb's.