lockypally 0 Postado Janeiro 9, 2009 Share Postado Janeiro 9, 2009 Bom tenho a duvida de como adicionar um item, pois no meu server (7.92) nao estao funcionando as potions de mana e health, entao quero adiciona-las.Preciso adicionar no map editor tambem? bom alguem me da uma luzz !!! ME AJUDEM !!! vlw =// Link para o comentário https://xtibia.com/forum/topic/104594-item-adicionar-item/ Compartilhar em outros sites More sharing options...
lucasjockey 1 Postado Janeiro 10, 2009 Share Postado Janeiro 10, 2009 (editado) Não precisa adicionar no map editor, a não ser que você queira que o player pegue a potion de algum lugar do mapa. Aqui vai meu script que você deve colocar na pasta data\actions\scripts com o nome potions.lua: local ultimateHealthPot = 8377 local greatHealthPot = 7591 local greatManaPot = 7590 local greatSpiritPot = 8376 local strongHealthPot = 7588 local strongManaPot = 7589 local healthPot = 7618 local manaPot = 7620 local smallHealthPot = 8610 local antidotePot = 8378 local greatEmptyPot = 7635 local strongEmptyPot = 7634 local emptyPot = 7636 local antidote = createCombatObject() setCombatParam(antidote, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(antidote, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(antidote, COMBAT_PARAM_TARGETCASTERORTOPMOST, TRUE) setCombatParam(antidote, COMBAT_PARAM_AGGRESSIVE, FALSE) setCombatParam(antidote, COMBAT_PARAM_DISPEL, CONDITION_POISON) local exhaust = createConditionObject(CONDITION_EXHAUST_HEAL) setConditionParam(exhaust, CONDITION_PARAM_TICKS, getConfigInfo('timeBetweenExActions')) function onUse(cid, item, fromPosition, itemEx, toPosition) if(itemEx.uid ~= cid or itemEx.itemid ~= 1) then return TRUE end if(getCreatureCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return TRUE end if(item.itemid == antidotePot) then if(doCombat(cid, antidote, numberToVariant(cid)) == LUA_ERROR) then return FALSE end doRemoveCondition(cid, CONDITION_PARALYZE) doAddCondition(cid, exhaust) doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1) doTransformItem(item.uid, emptyPot) elseif(item.itemid == smallHealthPot) then if(doTargetCombatHealth(0, cid, COMBAT_HEALING, 50, 100, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doRemoveCondition(cid, CONDITION_PARALYZE) doAddCondition(cid, exhaust) doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1) doTransformItem(item.uid, emptyPot) elseif(item.itemid == healthPot) then if(doTargetCombatHealth(0, cid, COMBAT_HEALING, 100, 200, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1) doTransformItem(item.uid, emptyPot) elseif(item.itemid == manaPot) then if(doTargetCombatMana(0, cid, 70, 130, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doRemoveCondition(cid, CONDITION_PARALYZE) doAddCondition(cid, exhaust) doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1) doTransformItem(item.uid, emptyPot) elseif(item.itemid == strongHealthPot) then if(not(isKnight(cid) or isPaladin(cid)) or (getPlayerLevel(cid) < 50)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by paladins and knights of level 50 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatHealth(0, cid, COMBAT_HEALING, 200, 400, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1) doTransformItem(item.uid, strongEmptyPot) elseif(item.itemid == strongManaPot) then if(not(isSorcerer(cid) or isDruid(cid) or isPaladin(cid)) or (getPlayerLevel(cid) < 50)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by sorcerers, druids and paladins of level 50 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatMana(0, cid, 110, 190, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doRemoveCondition(cid, CONDITION_PARALYZE) doAddCondition(cid, exhaust) doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1) doTransformItem(item.uid, strongEmptyPot) elseif(item.itemid == greatSpiritPot) then if(not(isPaladin(cid)) or (getPlayerLevel(cid) < 80)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by paladins of level 80 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatHealth(0, cid, COMBAT_HEALING, 200, 400, CONST_ME_MAGIC_BLUE) == LUA_ERROR or doTargetCombatMana(0, cid, 110, 190, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doRemoveCondition(cid, CONDITION_PARALYZE) doAddCondition(cid, exhaust) doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1) doTransformItem(item.uid, greatEmptyPot) elseif(item.itemid == greatHealthPot) then if(not(isKnight(cid)) or (getPlayerLevel(cid) < 80)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by knights of level 80 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatHealth(0, cid, COMBAT_HEALING, 500, 700, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1) doTransformItem(item.uid, greatEmptyPot) elseif(item.itemid == greatManaPot) then if(not(isSorcerer(cid) or isDruid(cid)) or (getPlayerLevel(cid) < 80)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by sorcerers and druids of level 80 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatMana(0, cid, 200, 300, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doRemoveCondition(cid, CONDITION_PARALYZE) doAddCondition(cid, exhaust) doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1) doTransformItem(item.uid, greatEmptyPot) elseif(item.itemid == ultimateHealthPot) then if(not(isKnight(cid)) or (getPlayerLevel(cid) < 130)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by knights of level 130 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatHealth(0, cid, COMBAT_HEALING, 800, 1000, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1) doTransformItem(item.uid, greatEmptyPot) end return TRUE end Agora volte uma pasta, data\actions, e abra o arquivo actions.xml, adicione essas linhas: <action itemid="7588" script="potions.lua"/> <action itemid="7589" script="potions.lua"/> <action itemid="7590" script="potions.lua"/> <action itemid="7591" script="potions.lua"/> <action itemid="7618" script="potions.lua"/> <action itemid="7620" script="potions.lua"/> <action itemid="8472" script="potions.lua"/> <action itemid="8473" script="potions.lua"/> <action itemid="8474" script="potions.lua"/> <action itemid="8704" script="potions.lua"/> ;D Editado Janeiro 10, 2009 por lucasjockey Link para o comentário https://xtibia.com/forum/topic/104594-item-adicionar-item/#findComment-672635 Compartilhar em outros sites More sharing options...
lockypally 0 Postado Janeiro 10, 2009 Autor Share Postado Janeiro 10, 2009 n deu oO meu ot eh 7.92 =// aqueles id's não são validos =// vou tentar adaptalos, outra coisa, eu n preciso adicionar nos items.xml? vlwwSS de qlq jeito por responde... Link para o comentário https://xtibia.com/forum/topic/104594-item-adicionar-item/#findComment-672689 Compartilhar em outros sites More sharing options...
Posts Recomendados