rateMagic = 1.0 Muda Para 0.0001
- Fórum
- OTServ
- Suporte
- Resolvidos
- ML upando igual em todos os niveis
ML upando igual em todos os niveis
Por GGgames, 02 de fev. de 2016 em Resolvidos
info
Grupo: Campones
Registrado: 18/06/15
Posts: 55
Reputação: -1

Mudei, e não da mais pra upar ML auehaueha, tipo, o rate está funcionando, o que eu não sei é por que as magias não vão ficando mais dificil quanto maior o ml
sera que não tem algo tipo as Stages da exp?
um cara ml 1 upa a mesma quantidade que um ml 400 por exemplo. A magias dão a mesma porcentagem no ml em todos os niveis
info
Grupo: Artesão
Registrado: 06/01/08
Posts: 137
Reputação: +10
Char no Tibia: LarissaxD

isso é na magia mano. posta a magia ai.
info
Grupo: Campones
Registrado: 18/06/15
Posts: 55
Reputação: -1

Mudei, e não da mais pra upar ML auehaueha, tipo, o rate está funcionando, o que eu não sei é por que as magias não vão ficando mais dificil quanto maior o ml
sera que não tem algo tipo as Stages da exp?
um cara ml 1 upa a mesma quantidade que um ml 400 por exemplo. A magias dão a mesma porcentagem no ml em todos os niveis
Mudar Para 0.002 e Subindo Até Achar Um Que Você Goste
isso é na magia mano. posta a magia ai.
Hmm, vou colocar uma que esta dando isso..
ex: biju rasengan
No spells.xml está assim:
<instant name="Biju Rasengan" words="biju rasengan" lvl="275" mana="8200" prem="0" needtarget="1" range="3" blockwalls="1" exhaustion="1500" needlearn="0" event="script" value="naruto/senporasenshuriken.lua"> <vocation id="9"/> <vocation id="10"/> <vocation id="11"/> <vocation id="12"/> </instant>
e a magia:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 32)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -137.2, 1, -133.2, 1)
function onCastSpell(cid, var)
local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y, z=getThingPosition(getCreatureTarget(cid)).z}
doSendMagicEffect(position1, 128)
return doCombat(cid, combat, var)
end
@@vasto_lord_x
Não é isso que estou querendo mudar amigo, mas mesmo assim obrigado ![]()
Posta seu script de advance
Está em creaturescripts/script
Posta seu script de advance
Está em creaturescripts/script
local config = {
savePlayersOnAdvance = true
}
function onAdvance(cid, skill, oldLevel, newLevel)
if(config.savePlayersOnAdvance) then
doPlayerSave(cid, true)
end
return true
end
Ta ai, esse chama advancesave, é o unico com o nome que possui advance.
Eu abri umas das magias, todas estão bugadas, upao iguais todos os niveis, mas o big regeneration está estranho olha só:
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) function onGetFormulaValues(cid, level, maglevel) local min = ((level*35)+(maglevel*1.19)+7560) local max = ((level*35)+(maglevel*1.19)+8990) return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
Então com essa function onGetFormulaValues, está dando mto ml pro player tbm..
Reduz o valor do min e max pra testar.
Achava que a mana removida influenciava o ML, mas como é Naturo não sei se é normal isso.
Edit:
Olhei numas sources de TFS 0.3 que tenho aqui e realmente, o ML é aumentado de acordo com a mana removida, não com o dano.
Isso se for esse realmente seu problema.
Editado Fevereiro 3 por felzan
acho que não é a mana removida não, pq esse big regeneration usa apenas 800 de mana.. ![]()
o problema eh que não vai ficando dificil upar o ml. Ele upa a mesma quantia em todos os niveis.
exemplo ML 1, big regeneration upa 2%
No ML 60, o big regeneration ira upar 2% também saca, era pra upar bem menos
Eu entendi seu problema.
O que estou dizendo é que nas SOURCES do servidor (que eu tenho aqui) o ML sobe de acordo com a mana usada.
Já tentou reduzir os valores?
da fórmula e da mana usava?
info
Grupo: Cavaleiro
Registrado: 18/12/12
Posts: 158
Reputação: +14
Gênero: Masculino
Char no Tibia: Lestat

Em creaturescript/scripts/skills (caso não tenha pasta skills crie)
copie e cole qualquer script, então o renomeie para "stagesconfig" e cole isso dentro:
skillConfig = {skill = getConfigValue('rateSkill'), magiclevel = getConfigValue('rateMagic')}
end
Depois, copie e cole qualquer script, então o renomeie para "skillstageslogin" e cole isso dentro:
dofile(getDataDir() .. "creaturescripts/scripts/skills/stagesconfig.lua")
end
Depois, copie e cole qualquer script, então o renomeie para "skillstagesadvance" e cole isso dentro:
end
Depois vá em login.lua e registre as tags:
registerCreatureEvent(cid, "SkillStagesLogin") registerCreatureEvent(cid, "SkillStagesAdvance")
<event type="login" name="SkillStagesLogin" event="script" value="skills/skillstageslogin.lua" /> <event type="advance" name="SkillStagesAdvance" event="script" value="skills/skillstagesadvance.lua" />
o script é autoexplicativo: {30,3} = no level 30 o rate skill sera 3, configure todas as skills do seu server do jeito que desejar!
Espero ter ajudado.
Editado Fevereiro 3 por narutomaniacos
Em creaturescript/scripts/skills (caso não tenha pasta skills crie)
copie e cole qualquer script, então o renomeie para "stagesconfig" e cole isso dentro:
skillConfig = {skill = getConfigValue('rateSkill'), magiclevel = getConfigValue('rateMagic')}
skillStages = {}skillStages[sKILL_FIST] = {{0,3},{30,3},{50,2},{80,1},{100,0.90},{130,0.50}}skillStages[sKILL_CLUB] = {{0,10},{30,8},{50,6},{80,4},{100,2},{130,0.50}}skillStages[sKILL_SWORD] = {{0,10},{30,6},{50,4},{80,2},{100,1},{130,0.25}}skillStages[sKILL_AXE] = {{0,10},{30,8},{50,6},{80,4},{100,2},{130,0.50}}skillStages[sKILL_DISTANCE] = {{0,10},{30,8},{50,6},{80,4},{100,2},{130,0.50}}skillStages[sKILL_SHIELD] = {{0,10},{30,8},{50,6},{80,4},{100,2},{130,0.50}}skillStages[sKILL_FISHING] = {{0,10},{30,8},{50,6},{80,4},{100,2},{130,0.50}} -- uncomment it to make it work, you can remove other skill config if you dont need itskillStages[sKILL__MAGLEVEL] = {{0,2},{30,1},{50,0.90},{80,0.80},{100,0.60},{130,0.50}}showInfoOnAdvance = false -- send player message about skill rate changeshowInfoOnLogin = false -- send player message about skill rates when he loginfunction getPlayerSkillRatesText(cid)local skillInfo = getPlayerRates(cid)return "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
Depois, copie e cole qualquer script, então o renomeie para "skillstageslogin" e cole isso dentro:
dofile(getDataDir() .. "creaturescripts/scripts/skills/stagesconfig.lua")
function onLogin(cid)for skill, skillStage in pairs(skillStages) doif(skill >= 0 and skill <= 6) thennowSkill = getPlayerSkillLevel(cid, skill)elsenowSkill = getPlayerMagLevel(cid, true)endfor i, skillRateInfo in pairs(skillStage) doif(nowSkill >= skillRateInfo[1]) thenskillRate = skillRateInfo[2]elsebreakendenddoPlayerSetRate(cid, skill, skillRate)endif(showInfoOnLogin) thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, getPlayerSkillRatesText(cid))endregisterCreatureEvent(cid, "SkillStagesAdvance")return TRUEend
Depois, copie e cole qualquer script, então o renomeie para "skillstagesadvance" e cole isso dentro:
dofile(getDataDir() .. "creaturescripts/scripts/skills/stagesconfig.lua")function onAdvance(cid, skill, oldLevel, newLevel)if(skillStages[skill] ~= nil) thenlocal skillRate = 1local oldRates = getPlayerRates(cid)for i, skillRateInfo in pairs(skillStages[skill]) doif(newLevel >= skillRateInfo[1]) thenskillRate = skillRateInfo[2]elsebreakendenddoPlayerSetRate(cid, skill, skillRate)if(showInfoOnAdvance and skillRate ~= oldRates[skill]) thenif(skill >= 0 and skill <= 6) thenconfigRate = skillConfig.skillelseconfigRate = skillConfig.magiclevelenddoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, SKILL_NAMES[skill] .. " rate changed from " .. oldRates[skill] * configRate .. "x to " .. skillRate * configRate .. "x. " .. getPlayerSkillRatesText(cid))endendreturn trueend
Depois vá em login.lua e registre as tags:
registerCreatureEvent(cid, "SkillStagesLogin") registerCreatureEvent(cid, "SkillStagesAdvance")e então em creaturescripts.xml:<event type="login" name="SkillStagesLogin" event="script" value="skills/skillstageslogin.lua" /> <event type="advance" name="SkillStagesAdvance" event="script" value="skills/skillstagesadvance.lua" />
o script é autoexplicativo: {30,3} = no level 30 o rate skill sera 3, configure todas as skills do seu server do jeito que desejar!
Espero ter ajudado.
Então eu coloquei tudo lá mas aparentemente não mudou...
deixa ver se eu entendi:
skillStages[SKILL__MAGLEVEL] = {{0,2},{30,1},{50,0.90},{80,0.80},{100,0.60},{130,0.50}}
lvl 0, o rate é 2 no primeiro caso?
E ali no ultimo o level seria 130, e se caso for níveis maiores esse script deixa 0.5?
Agora deu certo fiz uma cagadinha aqui auehahue vlw brother ajudou mto!
info
Grupo: Conde
Registrado: 07/04/15
Posts: 962
Reputação: +258
Gênero: Masculino

Tópico Movido
Este tópico foi movido de "OTServ → Programação → Suporte Programação"
para "OTServ → Programação → Suporte Programação → Pedidos e dúvidas resolvidos - Programação".






info
Grupo: Campones
Registrado: 20/10/15
Posts: 25
Reputação: +2
Estou com um problema no meu otserv que notei somente agora...
O magic level dos players está sempre com o mesmo "peso" para upar...
Por exemplo, caso um player, ML 5, fale "regeneration", ele upa um de magic level.
Se algum player ML 90, conjuga a magia "regeneration" também irá upar 1 de ML.
A principio eu achava que o problema era no config.lua -- RATES --, mas mesmo assim lá está -> rateMagic = 1.0
Alguém sabe pq quanto mais auto meu ML, não fica mais dificil upa-lo?
Obrigado!
aqui está meu config.lua:
Editado Fevereiro 2 por GGgames