Hudsin 47 Postado Janeiro 13, 2011 Share Postado Janeiro 13, 2011 (editado) Estou com um problema com os potions... quando usa qualquer tipo de potion, a fala que teria que sair no default "Aaaah..." está saindo no Guild Chat :confused: alguem da um help agradeço mto e dou Rep+ vlw Editado Janeiro 14, 2011 por Hudsin Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Janeiro 16, 2011 Share Postado Janeiro 16, 2011 Pode postar o script de uma das poções e qual o servidor que você esta usando? Link para o comentário Compartilhar em outros sites More sharing options...
Hudsin 47 Postado Janeiro 16, 2011 Autor Share Postado Janeiro 16, 2011 (editado) Sim... O server que ultilizo é Real Map 2.2 (criado por doohzrush) Versão do tibia: 8.60 Script dos potions: local config = { removeOnUse = "yes", usableOnTarget = "yes", -- can be used on target? (fe. healing friend) splashable = "no", realAnimation = "no", -- make text effect visible only for players in range 1x1 healthMultiplier = 1.0, manaMultiplier = 1.0 } config.removeOnUse = getBooleanFromString(config.removeOnUse) config.usableOnTarget = getBooleanFromString(config.usableOnTarget) config.splashable = getBooleanFromString(config.splashable) config.realAnimation = getBooleanFromString(config.realAnimation) local POTIONS = { [8704] = {splash = 2, health = {50, 100}}, -- small health potion [7618] = {splash = 2, health = {100, 200}}, -- health potion [7588] = {splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {splash = 2, health = {500, 700}, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion [8473] = {splash = 2, health = {800, 1000}, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion [7620] = {splash = 7, mana = {70, 130}}, -- mana potion [7589] = {splash = 7, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion [7590] = {splash = 7, mana = {200, 300}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {splash = 3, health = {200, 400}, mana = {110, 190}, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion } local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) local potion = POTIONS[item.itemid] if(not potion) then return false end if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then if(not config.splashable) then return false end if(toPosition.x == CONTAINER_POSITION) then toPosition = getThingPos(item.uid) end doDecayItem(doCreateItem(2016, potion.splash, toPosition)) doTransformItem(item.uid, potion.empty) return true end if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return true end if(((potion.level and getPlayerLevel(cid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(cid)))) and not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1) return true end local health = potion.health if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1], health[2]) * config.healthMultiplier))) then return false end local mana = potion.mana if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2]) * config.manaMultiplier))) then return false end doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) if(not realAnimation) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) else for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do if(isPlayer(tid)) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid) end end end doAddCondition(cid, exhaust) if(not potion.empty or config.removeOnUse) then doRemoveItem(item.uid, 1) return true end doRemoveItem(item.uid, 1) doPlayerAddItem(cid, potion.empty, 1) pot_count = getPlayerItemCount(cid, potion.empty) doPlayerRemoveItem(cid, potion.empty, pot_count) doPlayerAddItem(cid, potion.empty, pot_count) return true end Editado Janeiro 16, 2011 por Hudsin Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Janeiro 16, 2011 Share Postado Janeiro 16, 2011 Olha cara, este seu script funcionou perfeitamente no meu Ot, vou te passar o que já tinha no meu Ot pra ver se resolve, qualquer coisa me avisa que eu baixo o mesmo Ot que você e arrumo. Segue o script: local config = { removeOnUse = "no", splashable = "no", realAnimation = "no", -- make text effect visible only for players in range 1x1 healthMultiplier = 1.0, manaMultiplier = 1.0 } config.removeOnUse = getBooleanFromString(config.removeOnUse) config.splashable = getBooleanFromString(config.splashable) config.realAnimation = getBooleanFromString(config.realAnimation) local POTIONS = { [8704] = {empty = 7636, splash = 2, health = {50, 100}}, -- small health potion [7618] = {empty = 7636, splash = 2, health = {100, 200}}, -- health potion [7588] = {empty = 7634, splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8, 11, 12}, vocStr = "knights, paladins, epic knights and epic paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 2, health = {500, 700}, level = 80, vocations = {4, 8, 12}, vocStr = "knights and epic knights"}, -- great health potion [8473] = {empty = 7635, splash = 2, health = {800, 1000}, level = 130, vocations = {4, 8, 12}, vocStr = "knights and epic knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 7, mana = {70, 130}}, -- mana potion [7589] = {empty = 7634, splash = 7, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7, 9, 10, 11}, vocStr = "sorcerers, druids, paladins, epic druids, epic sorcerers and epic paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 7, mana = {200, 300}, level = 80, vocations = {1, 2, 5, 6, 9, 10}, vocStr = "sorcerers, druids, epic sorcerers and epic druids"}, -- great mana potion [8472] = {empty = 7635, splash = 3, health = {200, 400}, mana = {110, 190}, level = 80, vocations = {3, 7, 11}, vocStr = "paladins and epic paladins"} -- great spirit potion } local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) local potion = POTIONS[item.itemid] if(not potion) then return false end if(not isPlayer(itemEx.uid)) then if(not config.splashable) then return false end if(toPosition.x == CONTAINER_POSITION) then toPosition = getThingPos(item.uid) end doDecayItem(doCreateItem(2016, potion.splash, toPosition)) doTransformItem(item.uid, potion.empty) return true end if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return true end if(((potion.level and getPlayerLevel(cid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(cid)))) and not getPlayerCustomFlagValue(cid, PlayerCustomFlag_GamemasterPrivileges)) then doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1) return true end local health = potion.health if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1], health[2]) * config.healthMultiplier))) then return false end local mana = potion.mana if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2]) * config.manaMultiplier))) then return false end doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) if(not realAnimation) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) else for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do if(isPlayer(tid)) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid) end end end doAddCondition(cid, exhaust) if(not potion.empty or config.removeOnUse) then doRemoveItem(item.uid) return true end doTransformItem(item.uid, potion.empty) return true end Link para o comentário Compartilhar em outros sites More sharing options...
Hudsin 47 Postado Janeiro 17, 2011 Autor Share Postado Janeiro 17, 2011 Não deu certo =/ acho que não tem a ver com o actions :mellow: Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Janeiro 17, 2011 Share Postado Janeiro 17, 2011 No pior dos casos é um erro na função doCreatureSay do seu Ot, e se for ai não é tão fácil consertar. Link para o comentário Compartilhar em outros sites More sharing options...
Vitinhowcq 14 Postado Janeiro 27, 2011 Share Postado Janeiro 27, 2011 ve lá no seu xml/channels Link para o comentário Compartilhar em outros sites More sharing options...
Hudsin 47 Postado Fevereiro 2, 2011 Autor Share Postado Fevereiro 2, 2011 Ainda não consegui arrumar vlw pela tentativa :smile_positivo: Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Fevereiro 7, 2011 Share Postado Fevereiro 7, 2011 Duvida resolvida por pm; solução: Troque a função doCreatureSay por esta: doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", TEXTCOLOR_ORANGE) Já podem mover o tópico. Link para o comentário Compartilhar em outros sites More sharing options...
Hudsin 47 Postado Fevereiro 20, 2011 Autor Share Postado Fevereiro 20, 2011 Resolvido :smile_positivo: Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados