Postado Agosto 3, 2013 11 anos Este é um post popular. Olá Com este script poderemos colocar todas skills em stages, (First, Club, Magic, Axe, Sword, Distance & Fishing). Vamos em data/creaturescripts/scripts criamos um arquivo "stagesconfig.lua" skillConfig = {skill = getConfigValue('rateSkill'), magiclevel = getConfigValue('rateMagic')} skillStages = {} skillStages[SKILL_FIST] = {{0,8},{60,5},{80,3},{100,2}} skillStages[SKILL_CLUB] = {{0,8},{60,5},{80,2},{100,1}} skillStages[SKILL_SWORD] = {{0,8},{60,5},{80,2},{100,1}} skillStages[SKILL_AXE] = {{0,8},{60,5},{80,2},{100,1}} skillStages[SKILL_DISTANCE] = {{0,8},{60,5},{80,2},{100,1}} skillStages[SKILL_SHIELD] = {{0,9},{60,8},{80,7},{100,6},{110,3}} --skillStages[SKILL_FISHING] = {{0,5},{60,4},{80,3},{100,2},{110,1}} -- voce pode retirar os -- desse script para ativar, por padrao esta desativado skillStages[SKILL__MAGLEVEL] = {{0,10},{6,5},{15,7},{80,5},{90,2},{99,1}} showInfoOnAdvance = true -- envia uma nova mensagem com a sua nova rate showInfoOnLogin = true -- envia mensagem da rate ao jogador ao logar function getPlayerSkillRatesText(cid) local skillInfo = getPlayerRates(cid) return "YOUR RATES: [ Magic Level: " .. skillInfo[SKILL__MAGLEVEL] * skillConfig.magiclevel .. "x || Fist: " .. skillInfo[SKILL_FIST] * skillConfig.skill .. "x | Club: " .. skillInfo[SKILL_CLUB] * skillConfig.skill .. "x | Sword: " .. skillInfo[SKILL_SWORD] * skillConfig.skill .. "x | Axe: " .. skillInfo[SKILL_AXE] * skillConfig.skill .. "x | Distance: " .. skillInfo[SKILL_DISTANCE] * skillConfig.skill .. " | Shielding: " .. skillInfo[SKILL_SHIELD] * skillConfig.skill .. "x | Fishing: " .. skillInfo[SKILL_FISHING] * skillConfig.skill .. "x ]" end Logo em seguida criamos outro na mesma pasta com o nome "skillstagesadvance.lua" dofile(getDataDir() .. "creaturescripts/scripts/stagesconfig.lua") function onAdvance(cid, skill, oldLevel, newLevel) if(skillStages[skill] ~= nil) then local skillRate = 1 local oldRates = getPlayerRates(cid) for i, skillRateInfo in pairs(skillStages[skill]) do if(newLevel >= skillRateInfo[1]) then skillRate = skillRateInfo[2] else break end end doPlayerSetRate(cid, skill, skillRate) if(showInfoOnAdvance and skillRate ~= oldRates[skill]) then if(skill >= 0 and skill <= 6) then configRate = skillConfig.skill else configRate = skillConfig.magiclevel end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, SKILL_NAMES[skill] .. " Rate changed from " .. oldRates[skill] * configRate .. "x to " .. skillRate * configRate .. "x. " .. getPlayerSkillRatesText(cid)) end end return true end Em creaturescripts.xml coloque: <event type="advance" name="SkillStagesAdvance" event="script" value="skillstagesadvance.lua"/> Enjoy!
Postado Agosto 4, 2013 11 anos Caraleo, pra que fazer tanta coisa da pra simplificar muito mais mano.
Postado Agosto 14, 2013 11 anos para qual versão do tibia funciona ? Editado Agosto 14, 2013 11 anos por KekezitoLHP (veja o histórico de edições)
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.