Postado Novembro 3, 2017 7 anos Eai galera do Tibiaking!! Seguinte, acho que é a primeira vez que colaboro com o conteúdo do fórum, e é usando um script que peguei aqui mesmo um tempo atrás (Não lembro de que post foi se alguém souber e quiser linkar ai em baixo eu edito aqui ) O sistema Possessed Items é baseado em usar os dolls para conceder ao player o "poder dos monsters", por exemplo o Vampire Doll, sendo usados como anél daria ao player +X em todos os skills e +X% em HP/MP ( Testado em TFS 0.3.6 e 0.4 ) Segue o script (renomear como dracula.lua e salvas em data/actions/scripts) : Citar -- >> Config -- local outfit = { -- Girls { lookType = 287, lookHead = 114, lookBody = 109, lookLegs = 114, lookFeet = 114, lookAddons = 0 }, -- Boys { lookType = 287, lookHead = 114, lookBody = 109, lookLegs = 114, lookFeet = 114, lookAddons = 0 } } local coinID = 2160 local wastingInterval = 1000 local wastingQuantity = 1 local triggerQuantity = 10 local warnOnLowSupply = TRUE local lowSupplyMargin = 200 local storage = 50780 -- Config << -- local condition1 = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition1, CONDITION_PARAM_TICKS, -1) setConditionParam(condition1, CONDITION_PARAM_SKILL_FIST, 20) setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 20) setConditionParam(condition1, CONDITION_PARAM_SKILL_CLUB, 20) setConditionParam(condition1, CONDITION_PARAM_SKILL_SWORD, 20) setConditionParam(condition1, CONDITION_PARAM_SKILL_AXE, 20) setConditionParam(condition1, CONDITION_PARAM_SKILL_DISTANCE, 20) setConditionParam(condition1, CONDITION_PARAM_SKILL_SHIELD, 20) setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 20) setConditionParam(condition1, CONDITION_PARAM_STAT_MAGICPOINTS, 20) setConditionParam(condition1, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 110) setConditionParam(condition1, CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 110) local condition2 = createConditionObject(CONDITION_HASTE) setConditionParam(condition2, CONDITION_PARAM_TICKS, -1) setConditionFormula(condition2, 2.5, 0, 3.0, 0) local area = createCombatArea({ {0, 0, 0, 1, 0, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {0, 1, 0, 0, 0, 1, 0}, {1, 1, 0, 2, 0, 1, 1}, {0, 1, 0, 0, 0, 1, 0}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 0, 1, 0, 0, 0} }) local animCombat = { createCombatObject(), createCombatObject() } local sexyEffect = { CONST_ME_FIREWORK_RED, CONST_ME_FIREWORK_RED, CONST_ME_MAGIC_RED, CONST_ME_MAGIC_RED } setCombatParam(animCombat[2], COMBAT_PARAM_EFFECT, 13) setCombatParam(animCombat[2], COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) setCombatParam(animCombat[1], COMBAT_PARAM_EFFECT, CONST_ME_FIREWORK_RED) setCombatParam(animCombat[1], COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) setCombatArea(animCombat[2], area) setCombatArea(animCombat[1], area) local function StopSuperForm(cid) if (getPlayerStorageValue(cid, storage) == 1) then setPlayerStorageValue(cid, storage, 0) doRemoveCondition(cid, CONDITION_OUTFIT) doRemoveCondition(cid, CONDITION_ATTRIBUTES) doRemoveCondition(cid, CONDITION_HASTE) end return TRUE end local function SuperForm(cid, sexIndex) if (isCreature(cid)) then if (getPlayerStorageValue(cid, storage) == 1) then local goldLeft = getPlayerItemCount(cid, coinID) if (goldLeft >= wastingQuantity) then local position = getCreaturePosition(cid) doPlayerRemoveItem(cid, coinID, wastingQuantity) doSendMagicEffect(position, sexyEffect[sexIndex + 2]) doSendMagicEffect(position, sexyEffect[sexIndex]) if (goldLeft <= lowSupplyMargin and warnOnLowSupply == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Coins left: " ..(goldLeft - wastingQuantity) .. "!") end addEvent(SuperForm, wastingInterval, cid, sexIndex) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Acabou a grana!") return StopSuperForm(cid) end end end end function onEquip(cid, item, slot) if (getPlayerItemCount(cid, coinID) > triggerQuantity and getPlayerStorageValue(cid, storage) ~= 1) then local sexIndex = getPlayerSex(cid) + 1 doCombat(cid, animCombat[sexIndex], numberToVariant(cid)) doSetCreatureOutfit(cid, outfit[sexIndex], -1) setPlayerStorageValue(cid, storage, 1) doAddCondition(cid, condition1) doAddCondition(cid, condition2) doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid)) doPlayerAddMana(cid, getPlayerMaxMana(cid) - getPlayerMana(cid)) doPlayerRemoveItem(cid, coinID, triggerQuantity) SuperForm(cid, sexIndex) elseif (getPlayerStorageValue(cid, storage) == 1) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You cannot equip this now!") else doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You do not have enough coins!") end return TRUE end function onDeEquip(cid, item, slot) return StopSuperForm(cid) end E assim no movements.xml Citar <movevent type="Equip" itemid="9019" slot="ring" event="script" value="vampire.lua"/> <movevent type="DeEquip" itemid="9019" slot="ring" event="script" value="vampire.lua"/> E não se esqueça de mudar no items.xml o item para ring, se nescessário ... Citar <item id="9019" article="a" name="vampire doll"> <attribute key="description" value="Possui a alma de um Vampiro, concede ao portador +20 em todas as skills, e aumenta em 10% o HP e o MP. Consome 1 Crystal Coin por segundo" /> <attribute key="weight" value="940" /> <attribute key="slotType" value="ring"/> </item> ___________________________________________________________________________________________________________________________________________________________________ MOVAM PARA A ÁREA DE MOVEMENTS, JÁ TIREI MINHA DÚVIDA SCRIPT TÁ OK!!!! Editado Novembro 28, 2017 7 anos por luisrsousa (veja o histórico de edições)
Postado Novembro 4, 2017 7 anos Tenta mudar o nome das funções no novo script pra ver se resolve, talvez elas estejam retornando para um só script.
Postado Novembro 8, 2017 7 anos Autor Em 04/11/2017 em 12:06, esnio12 disse: Tenta mudar o nome das funções no novo script pra ver se resolve, talvez elas estejam retornando para um só script. Não entendi parceiro ...
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.