Jump to content
Close

Joaovettor

Member
  • Content Count

    173
  • Joined

  • Last visited

  • Days Won

    2

Joaovettor last won the day on January 25

Joaovettor had the most liked content!

1 Follower

About Joaovettor

  • Rank
    João Vítor
  • Birthday 08/08/2002

Profile Information

  • Gender
    Masculino
  • Localization
    Brasil, Minas Gerais
  • I am
    Scripter
  • Favorite OTServ
    FoxWorld OT
  • Bot preferred
    Elf Bot
  • Interests
    Criar e Editar OTS

Recent Profile Visitors

1053 profile views
  1. Para o healing aparecer, você tem que editar no config.lua na linha a seguir showHealthChange = false Coloque true
  2. Os valores fixos foram exemplos de como deve ser feito, afinal da maneira que você estava fazendo não ia funcionar Para não ser valor fixo, basta você fazer da mesma forma que está escrito na função abaixo: function onGetFormulaValues(cid, level, maglevel) local min = (((level/5)+(maglevel*1) +1)) local max = (((level/5)+(maglevel*2) +3)) return min, max end Neste caso é só você criar uma variável GLOBAL da mesma forma que está escrito acima EXEMPLO: local level = getPlayerLevel(cid) local maglevel = getPlayerMagLevel(cid) local min, max = (((level/5)+(maglevel*1) +1)), (((level/5)+(maglevel*2) +3)) Mas deve ser declarado com variável GLOBAL, neste caso você deve declarar ela fora de uma função Porém você vai se deparar com outro problema, que é a variável "cid", porque você precisa de uma função padrão para declarar esta variável. Então para TENTAR resolver este problema tente usar o script dessa forma local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onGetFormulaValues(cid, level, maglevel) local min = (((level/5)+(maglevel*1) +1)) local max = (((level/5)+(maglevel*2) +3)) -- Essas variáveis são validas apenas para esta função, pois você fechou o escopo return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local condition = createConditionObject(CONDITION_REGENERATION) function onCastSpell(cid, var) -- Perceba que eu coloquei dentro desta função para definir a variável cid local level = getPlayerLevel(cid) local maglevel = getPlayerMagLevel(cid) local min, max = math.ceil((((level/5)+(maglevel*1) +1))), math.ceil((((level/5)+(maglevel*2) +3))) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_TICKS, 1 * 60 * 1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, math.random(min, max)) -- Agora estão declaradas logo acima setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) return doCombat(cid, combat, var) end É uma das possibilidades de resolver o problema (existe script melhor pra tal coisa, porém é a mesma coisa)
  3. Você não entendeu nada do que expliquei É claro que você curou, afinal a varíavel min e max estão declaras na função function onGetFormulaValues(cid, level, maglevel) Já aqui, não está declarado o que seria min e max, pois elas não foram decladas. Elas foram declaradas apenas na função citada acima setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, math.random(min, max))
  4. Você declarou as variáveis, min e max, na função abaixo function onGetFormulaValues(cid, level, maglevel) local min = (((level/5)+(maglevel*1) +1)) local max = (((level/5)+(maglevel*2) +3)) return min, max end Você deve declarar essas funções de forma global, como eu mostrei local min, max = 15, 30 -- Isto é um exemplo de uma variável global Desta forma, o valor será global. Só não fechar com end
  5. Não, pois, como citado, elas estão declaradas no escopo de function onGetFormulasValue(cid)
  6. No seu script local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onGetFormulaValues(cid, level, maglevel) local min = (((level/5)+(maglevel*1) +1)) local max = (((level/5)+(maglevel*2) +3)) -- Essas variáveis são validas apenas para esta função, pois você fechou o escopo return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_TICKS, 1 * 60 * 1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, math.random(min, max)) -- Você não declarou as variáveis min e max setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end As variáveis min e max não estão declaradas Para declarar um variável global, você deve criar ela fora de um escopo, switch case, função, etc... Ficando assim V local min, max = 15, 30 -- Isto é um exemplo de uma variável global local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onGetFormulaValues(cid, level, maglevel) local min = (((level/5)+(maglevel*1) +1)) local max = (((level/5)+(maglevel*2) +3)) return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_TICKS, 1 * 60 * 1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, math.random(min, max)) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
  7. Você não criou uma local global para min, max Elas existem apenas na função onGetFormulaValue
  8. Olá TibiaKing, estou usando o sistema de Dodge do @xWhiteWolf, porém toda vez que adiciono Dodge no item ele fica normal como vemos abaixo: Porém quando eu deslogo e logo, da o seguinte erro na distro: [ItemAttribute::serialize] : Invalid data type. [Warning - IOLoginData::loadItems] Unserialize error for item with id 2472 E ao logar o item aparece dessa maneira: Alguém pode me ajudar a resolver esse erro?
  9. Sim, mas acredito que não precise do .uid, mas pode tentar das 2 formas
  10. Tente usar essa função doSetItemActionId(uid, actionId)
  11. tenta criar 1 local específico para a função local ited = doPlayerAddItem(player,2086,1) ited:setActionId(action)
  12. doPlayerAddItem(player,2086:setActionId(action),1) doPlayerAddItem(player,2086,1:setActionId(action)) Tenta essas variações
  13. Qual versão do TFS? troque as funções creatureGetName(cid) por getCreatureName(cid)
  14. ERROR na linha 27 portal2:remove(1) end, 1*60*1000, 26394, 1, posCorpo) Está apenas faltando um () portal2:remove(1) end, (1*60*1000, 26394, 1, posCorpo)

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

×
×
  • Create New...