Postado Janeiro 27, 2018 7 anos E ai TK, eu uso TFS 0.4 e estive tentando por ícone no buff REGENERATION ou seja ao usar uma magia com Condition_Regeneration aparece o ícone de Energy e ao acabar o ticks o ícone vai desaparecer. +Rep a quem ajudar! Podem fechar o tópico eu já resolvir! Editado Janeiro 28, 2018 7 anos por Roy (veja o histórico de edições)
Postado Janeiro 28, 2018 7 anos Autor 39 minutos atrás, gabriel28 disse: Pode postar a solução pra ajudar quem tenha a mesma dúvida? Em condition.cpp procure por: case CONDITION_GAMEMASTER: E logo abaixo adicione case CONDITION_REGEN: Ainda em condition.cpp procure por: Icons_t ConditionGeneric::getIcons() const Olhando um pouco abaixo você irá encontrar case CONDITION_DRUNK: return ICON_DRUNK; e logo abaixo dele adicione: case CONDITION_REGEN: return ICON_ENERGY; Agora vamos em condition.h e procuramos por: enum ConditionType_t No final você verá a última condition adicionada. A minha era -> CONDITION_HOUSESAY = 1 << 24 Então você irá adicionar a nova condition: CONDITION_REGEN = 1 << 25 OBSERVAÇÃO: Não esqueça de colocar a virgula no número 24 e deixar sem a virgula o número 25 ou seja vai ficar assim: CONDITION_HOUSESAY = 1 << 24, CONDITION_REGEN = 1 << 25 }; Agora compile sua source. Agora procure a pasta lib no seu otserv e então procure por 000-constant.lua dentro da pasta lib, abra a mesma e procure por: CONDITION_NONE = 0 Procure por CONDITION_HUNTING = 8388608 e logo abaixo adicione: CONDITION_REGEN = 33554432 Por que tá "33554432" ao inves de "16777216" talvez você lembre que a última linha no condition.h era "HOUSESAY" enfim é uma condition no meu constant.lua ela não está adicionada então muti pliquei por 4x, chega de blablabla vamos pra parte final. Ao criar uma magia de suporte ou qualquer que seja a magia você irá adicionar: local REGEN = createConditionObject(CONDITION_REGEN) setConditionParam(REGEN, CONDITION_PARAM_TICKS, tempo*1000) doAddCondition(cid, REGEN) após function onCastSpell(cid, var). E pronto a minha spell de suporte ficou assim. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_ENERGY) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, 100, 0, 100) local tempo = 60 -- 60 segundos local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, 250) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1) setConditionParam(condition, CONDITION_PARAM_MANAGAIN, 125) setConditionParam(condition, CONDITION_PARAM_MANATICKS, 1) setCombatCondition(combat, condition) function onCastSpell(cid, var) local REGEN = createConditionObject(CONDITION_REGEN) setConditionParam(REGEN, CONDITION_PARAM_TICKS, tempo*1000) doAddCondition(cid, REGEN) return doCombat(cid, combat, var) end Prontinho agora só ir testar. Editado Janeiro 28, 2018 7 anos por Roy (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.