Postado Dezembro 1, 2017 7 anos Pessoal, estou tentando implementar as skills subindo por stages (assim como a exp de levle) no meu server . to com tfs atualizado (release 1.2 git) server e mapa atualizados (ultima versao git do orts). achei até alguns tutoriais na internet só que eles usam umas funções que não existem mais e também não achei nada parecido na versão atual... as funções são: getPlayerRates doPlayerSetRate alguém sabe me dizer o novo nome dessa funções... ou a nova maneira de implementar isso? desde já agradeço a todos. Forte abraço Editado Dezembro 1, 2017 7 anos por iceraz (veja o histórico de edições)
Postado Dezembro 1, 2017 7 anos @up Meus trabalhos: [Movements] TFS 1.1+ Area Hardcore [Movements] TFS 1.1+ Tile Party [Action] TFS 1.1+ Bau diário [Action] TFS 1.1+ Guild Dungeon Lever [Talkactions] TFS 0.3.6 / 0.4 Quest Hunt por Tempo Contato: Discord: Tataboy67#4934
Postado Dezembro 14, 2017 7 anos Autor Solução Galera!! Segue a resposta. Depois de muito pesquisar e procurar por forums e não conseguir a resposta eu mesmo tive que correr atrás e implementar ehehehe. Gostaria de agradecer a Linxsis. ele desenvolveu parte desse código depois eu fiz uns ajustes para que funcionasse! Segue: 1 substituir a função onGainSkillTries (dentro do arquivo data/events/scripts/player.lua) para uma mais completa junto com alguns complementos (no caso + 1 função e uma tabela onde vai ficar os stages). função antiga function Player:onGainSkillTries(skill, tries) if APPLY_SKILL_MULTIPLIER == false then return tries end if skill == SKILL_MAGLEVEL then return tries * configManager.getNumber(configKeys.RATE_MAGIC) end return tries * configManager.getNumber(configKeys.RATE_SKILL) end como vai ficar o arquivo no lugar dessa função SkillsTable = { [0] = { --[[ SKILL_FIST ]] stage = { [{10, 30}] = 50, [{31, 50}] = 30, [{51, 70}] = 20, [{71, 90}] = 10, [{91, 110}] = 5, [{111, 300}] = 3 }, rate = configKeys.RATE_SKILL }, [1] = { --[[ SKILL_CLUB ]] stage = { [{10, 30}] = 50, [{31, 50}] = 30, [{51, 70}] = 20, [{71, 90}] = 10, [{91, 110}] = 5, [{111, 300}] = 3 }, rate = configKeys.RATE_SKILL }, [2] = { --[[ SKILL_SWORD ]] stage = { [{10, 30}] = 50, [{31, 50}] = 30, [{51, 70}] = 20, [{71, 90}] = 10, [{91, 110}] = 5, [{111, 300}] = 3 }, rate = configKeys.RATE_SKILL }, [3] = { --[[ SKILL_AXE ]] stage = { [{10, 30}] = 50, [{31, 50}] = 30, [{51, 70}] = 20, [{71, 90}] = 10, [{91, 110}] = 5, [{111, 300}] = 3 }, rate = configKeys.RATE_SKILL }, [4] = { --[[ SKILL_DISTANCE ]] stage = { [{10, 30}] = 50, [{31, 50}] = 30, [{51, 70}] = 20, [{71, 90}] = 10, [{91, 110}] = 5, [{111, 300}] = 3 }, rate = configKeys.RATE_SKILL }, [5] = { --[[ SKILL_SHIELD ]] stage = { [{10, 30}] = 50, [{31, 50}] = 30, [{51, 70}] = 20, [{71, 90}] = 10, [{91, 110}] = 5, [{111, 300}] = 3 }, rate = configKeys.RATE_SKILL }, [6] = { --[[ SKILL_FISHING ]] stage = { [{10, 30}] = 50, [{31, 50}] = 30, [{51, 70}] = 20, [{71, 90}] = 10, [{91, 110}] = 5, [{111, 300}] = 3 }, rate = configKeys.RATE_SKILL }, [7] = { --[[ SKILL_MAGLEVEL ]] stage = { [{0, 50}] = 10, [{51, 70}] = 8, [{71, 80}] = 7, [{81, 90}] = 6, [{91, 110}] = 5, [{111, 300}] = 2 }, rate = configKeys.RATE_MAGIC } } function getSkillsRate(level, skill) local skillRange = SkillsTable[skill] if next(skillRange.stage) then for sLevel, multiplier in pairs(skillRange.stage) do if level >= sLevel[1] and level <= sLevel[2] then return multiplier end end end return 1 end function Player:onGainSkillTries(skill, tries) if APPLY_SKILL_MULTIPLIER == false then return tries end local skills = SkillsTable[skill] if next(skills) and skills.rate then local rate = configManager.getNumber(skills.rate) if rate > 0 then return tries * rate else return tries * getSkillsRate(self:getEffectiveSkillLevel(skill), skill) end end end 2 mudar no config.lua o rateSkill e rateMagic para 0 (zero) -- rateSkill = 8 rateSkill = 0 -- rateMagic = 5 rateMagic = 0 isso é tudo pe-pessoal!
Postado Fevereiro 7, 2018 7 anos olá!!! estou utilizando o tfs 1.3 e não sei se esse codigo realmente funciona no meu caso. fiz as alterações, porém está acusando o seguinte erro: será que é incompatibilidade? obrigado!
Postado Outubro 1, 2018 6 anos Em 07/02/2018 em 16:46, Sergio R disse: olá!!! estou utilizando o tfs 1.3 e não sei se esse codigo realmente funciona no meu caso. fiz as alterações, porém está acusando o seguinte erro: será que é incompatibilidade? obrigado! Estou tento o mesmo problema que o seu, não consigo achar um script de stage skill que rode no meu servidor estou usando a base do maluco... com otx 3.10
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.