Galera poderiam min ajudar nesse script aqui quero que ele faça o seguinte:
Ao entrar no jogo ele verifica se o level e todos os skills do player são menores que os definidos.
O level está funcionando como desejo, mas o restante não tão bem, quero que eles funcionem da mesma forma que o level.
Um problema que também está acontecendo é que se a diferença de skill for grande ele não está adicionando tudo de uma vez tem, ele adiciona uma parte e você tem que ficar deslogando e logando para que chegue no minimo.
Obs.: Se souberem fazer com que não apareça a mensagem que upou de level ou skill seria bom.
function onLogin(cid)
local SkillsAtuais = {
getPlayerSkillLevel(cid, SKILL_FIST),
getPlayerSkillLevel(cid, SKILL_CLUB),
getPlayerSkillLevel(cid, SKILL_SWORD),
getPlayerSkillLevel(cid, SKILL_AXE),
getPlayerSkillLevel(cid, SKILL_DISTANCE),
getPlayerSkillLevel(cid, SKILL_SHIELD),
getPlayerSkillLevel(cid, SKILL_FISHING),
}
local MinimoSkill = { --Entre Coxetes [] está o id de cada vocação e, cada vocação tem seus skills definidos, na ordem citada abaixo
[1] = {10, 10, 10, 10, 10, 10, 10, 10}, -- Fist, Club, Sword, Axe, Distance, Shield, Fish, MagicLevel
[2] = {10, 10, 10, 10, 10, 10, 10, 10},
[3] = {10, 10, 10, 10, 10, 10, 10, 10},
[4] = {10, 10, 10, 10, 10, 10, 10, 10},
}
local LevelMinimo = 100
local Voc = getPlayerVocation(cid)
if getPlayerLevel(cid) < LevelMinimo then
local ExperienciaMinima = getExperienceForLevel(LevelMinimo)
local ExperienciaAtual = getPlayerExperience(cid)
doPlayerAddExp(cid, (ExperienciaMinima - ExperienciaAtual))
end
for ID = 1, 7 do
if SkillsAtuais[ID] < MinimoSkill[Voc][ID] then
doPlayerAddSkillTry(cid, (ID - 1), (MinimoSkill[Voc][ID] - SkillsAtuais[ID]))
end
end
doPlayerAddMagLevel(cid, (MinimoSkill[Voc][8] - getPlayerMagLevel(cid)), true)
return true
end
Se puderem ajudar ficarei grato!