Postado Maio 10, 2018 7 anos Diretor Este é um post popular. ADICIONANDO O ELEMENTO muitas das vezes a gente precisa adicionar um novo elemento em nosso servidor, assim para criar novas magias, esse tutorial é para quem precisa disso. combat.cpp Abaixo de: case CONDITION_FIRE: return COMBAT_FIREDAMAGE; Adicione em baixo: case CONDITION_PLANTA: return COMBAT_PLANTADAMAGE; combat.cpp Abaixo de: case COMBAT_FIREDAMAGE: return CONDITION_FIRE; Adicone em baixo: case COMBAT_PLANTADAMAGE: return CONDITION_PLANTA; Condition.cpp Abaixo de: case CONDITION_FIRE: Adicione: case CONDITION_PLANTA: Abaixo de: case CONDITION_FIRE: return ICON_BURN; Adicione em baixo: case CONDITION_PLANTA: return ICON_NONE; Condition.h Abaixo de: CONDITION_HUNTING = 1 << 23, Adicione em Baixo: CONDITION_PLANTA = 1 << 24 const.h Abaixo de: TEXTCOLOR_WHITE = 215, Adicione: TEXTCOLOR_PLANTA = 18, enums.h Abaixo de: COMBAT_DEATHDAMAGE = 1 << 11, Adicione: COMBAT_PLANTADAMAGE = 1 << 12, Em COMBAT_LAST = COMBAT_DEATHDAMAGE para COMBAT_LAST = COMBAT_PLANTADAMAGE game.cpp Abaixo de: case COMBAT_ENERGYDAMAGE: Adicione: case COMBAT_PLANTADAMAGE: Abaixo de: case COMBAT_ENERGYDAMAGE: { textColor = TEXTCOLOR_PSYCHIC; magicEffect = MAGIC_EFFECT_DRAW_BLOOD; break; } Adicione: case COMBAT_PLANTADAMAGE: { textColor = TEXTCOLOR_PLANTA; magicEffect = MAGIC_EFFECT_DRAW_BLOOD; break; } monsters.cpp Abaixo de: else if(tmpName == "drown") combat->setParam(COMBATPARAM_COMBATTYPE, COMBAT_DROWNDAMAGE); Adicione: else if(tmpName == "planta") combat->setParam(COMBATPARAM_COMBATTYPE, COMBAT_PLANTADAMAGE); Abaixo de: else if(tmpStrValue == "energy") { mType->damageImmunities |= COMBAT_ENERGYDAMAGE; mType->conditionImmunities |= CONDITION_ENERGY; } Adicione: else if(tmpStrValue == "planta") { mType->damageImmunities |= COMBAT_PLANTADAMAGE; mType->conditionImmunities |= CONDITION_PLANTA; } Abaixo de: else if(readXMLString(tmpNode, "fire", strValue) && booleanString(strValue)) { mType->damageImmunities |= COMBAT_FIREDAMAGE; mType->conditionImmunities |= CONDITION_FIRE; } Adicione: else if(readXMLString(tmpNode, "planta", strValue) && booleanString(strValue)) { mType->damageImmunities |= COMBAT_PLANTADAMAGE; mType->conditionImmunities |= CONDITION_PLANTA; } Abaixo de: else if(readXMLInteger(tmpNode, "energyPercent", intValue)) mType->elementMap[COMBAT_ENERGYDAMAGE] = intValue; Adicione: else if(readXMLInteger(tmpNode, "plantaPercent", intValue)) mType->elementMap[COMBAT_PLANTADAMAGE] = intValue; player.cpp Abaixo de: case CONDITION_FIRE: tmp = "burning"; break; Adicione: case CONDITION_PLANTA: tmp = "dashing"; break; tools.cpp Abaixo de: {"fire", COMBAT_FIREDAMAGE}, Adicione: {"planta", COMBAT_PLANTADAMAGE}, Abaixo de: case COMBAT_ENERGYDAMAGE: return "energy"; Adicione: case COMBAT_PLANTADAMAGE: return "planta"; Pronto só recompilar, se caso não pegar apague tudo da pasta OBJ ATENÇÃO: Depois de compilar você precisa registrar na LIB também. 000-constant veja o ultimo numero GHOSTDAMAGE = 2048 Multiplique o 2048 por 2 vezes Ficando: COMBAT_PLANTADAMAGE = 4096 agora você pode adicionar na suas magias o novo elemento e nos monstro tbm se preferir: monstro.xml <elements> <element plantaPercent="50"/> </elements> spells COMBAT_PLANTADAMAGE local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PLANTADAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatParam(combat, COMBAT_PARAM_USECHARGES, true) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack, level / 5 return -(skillTotal * 1 + levelTotal), -(skillTotal * 1.7 + levelTotal) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(cid, var) return doCombat(cid, combat, var) end Editado Junho 13, 2018 6 anos por L3K0T (veja o histórico de edições) Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código. #OpenSource #Programação #Contribuição
Postado Maio 10, 2018 7 anos Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP. Mostrar conteúdo oculto Congratulations, your content has been approved! Thank you for your contribution, we of Tibia King we are grateful. Your content will help many other users, you received +1 REP. Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas. discord.gg/phJZeHa2k4 Projeto ATS (Naruto) Informações Abaixo Facebook Youtube Discord Tutoriais / Conteúdos Clique Aqui
Postado Maio 10, 2018 7 anos @L3K0T any solutio?¿ hello friend a doubt about adding or editing an element? in my case try to edit the holy damage to remove the effect that comes out when used with that element, I see that that is in game.cpp case COMBAT_HOLYDAMAGE:{textColor = TEXTCOLOR_YELLOW;magicEffect = MAGIC_EFFECT_HOLYDAMAGE;break;} try to remove this line: ( magicEffect = MAGIC_EFFECT_HOLYDAMAGE; ) yes it worked but you do not see the damage in yellow, and change it like that ( magicEffect = MAGIC_EFFECT_NONE; )... I would like to remove several effects of several elements but that its color damage remains
Postado Maio 14, 2018 7 anos Autor Diretor Em 10/05/2018 em 23:09, acan disse: @L3K0T any solutio?¿ hello friend a doubt about adding or editing an element? in my case try to edit the holy damage to remove the effect that comes out when used with that element, I see that that is in game.cpp case COMBAT_HOLYDAMAGE:{textColor = TEXTCOLOR_YELLOW;magicEffect = MAGIC_EFFECT_HOLYDAMAGE;break;} try to remove this line: ( magicEffect = MAGIC_EFFECT_HOLYDAMAGE; ) yes it worked but you do not see the damage in yellow, and change it like that ( magicEffect = MAGIC_EFFECT_NONE; )... I would like to remove several effects of several elements but that its color damage remains then the effects are in const.h you can add an invisible effect there by the client, will no longer appear more in combat Editado Maio 14, 2018 7 anos por L3K0T (veja o histórico de edições) Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código. #OpenSource #Programação #Contribuição
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.