Postado Abril 17, 2017 8 anos Boa tarde amigos do TK, preciso de uma alteração nesse script para que ele faça após o uso da potion o vial aparecer na bp do player. Dessa forma que está a potion é usada mas o vial não aparece! OT: 8.6 forgotten server 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] = {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, 300}, level = 50, vocations = {3, 4, 7, 8,12,11}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 2, health = {400, 500}, level = 80, vocations = {4, 8,12}, vocStr = "knights"}, -- great health potion [8473] = {empty = 7635, splash = 2, health = {750, 1000}, level = 130, vocations = {4, 8,12}, vocStr = "knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 7, mana = {70, 230}}, -- mana potion [7589] = {empty = 7634, splash = 7, mana = {300, 500}, level = 50, vocations = {1, 2, 3, 5, 6, 7,11}, vocStr = "paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 7, mana = {500, 700}, level = 80, vocations = {1, 2, 5, 6,9,10}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {empty = 7635, splash = 3, health = {500, 600}, mana = {400, 600}, level = 80, vocations = {3, 7,11}, 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, "Apenas " .. potion.vocStr .. (potion.level and (" do level " .. potion.level) or "") .. " ou acima pode tomar essa potion.", 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),29, 32) if(not realAnimation) then doCreatureSay(itemEx.uid, "Aaaaah...", TALKTYPE_ORANGE_1) else for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do if(isPlayer(tid)) then doCreatureSay(itemEx.uid, "Aaah...", 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, 0) doPlayerAddItem(cid, potion.empty, 0) doPlayerRemoveItem(cid, potion.empty, getPlayerItemCount(cid, potion.empty)) doPlayerAddItem(cid, potion.empty, getPlayerItemCount(cid, potion.empty)) return TRUE end Agradeço desde já.
Postado Abril 18, 2017 8 anos no começo do script tem " removeOnUse = "yes" " coloca no e ve se resolve Editado Abril 18, 2017 8 anos por pablobion (veja o histórico de edições) Scriptszinhos: Spoiler [CREATURESCRIPT] Auto TP depois de matar boss [ACTION] Clean Area [TALKACTION] !FelizAnoNovo [ACTION + MOVEMENT] Cartas ao GOD [CREATURESCRIPT] Always Emblem System [ACTION] Anihi simples [TALKACTIONS] Urinar / fazer xixi Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.
Postado Abril 18, 2017 8 anos Autor @pablobion Bom dia amigo, esse removeonuse funciona da seguinte maneira, ele remove a potion quando você usa de forma a deixar ela finita!
Postado Abril 18, 2017 8 anos 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] = {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, 300}, level = 50, vocations = {3, 4, 7, 8,12,11}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 2, health = {400, 500}, level = 80, vocations = {4, 8,12}, vocStr = "knights"}, -- great health potion [8473] = {empty = 7635, splash = 2, health = {750, 1000}, level = 130, vocations = {4, 8,12}, vocStr = "knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 7, mana = {70, 230}}, -- mana potion [7589] = {empty = 7634, splash = 7, mana = {300, 500}, level = 50, vocations = {1, 2, 3, 5, 6, 7,11}, vocStr = "paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 7, mana = {500, 700}, level = 80, vocations = {1, 2, 5, 6,9,10}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {empty = 7635, splash = 3, health = {500, 600}, mana = {400, 600}, level = 80, vocations = {3, 7,11}, 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, "Apenas " .. potion.vocStr .. (potion.level and (" do level " .. potion.level) or "") .. " ou acima pode tomar essa potion.", 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),29, 32) if(not realAnimation) then doCreatureSay(itemEx.uid, "Aaaaah...", TALKTYPE_ORANGE_1) else for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do if(isPlayer(tid)) then doCreatureSay(itemEx.uid, "Aaah...", TALKTYPE_ORANGE_1, false, tid) end end end doAddCondition(cid, exhaust) doRemoveItem(item.uid, 1) doPlayerAddItem(cid, potion.empty, 1) doPlayerRemoveItem(cid, potion.empty, getPlayerItemCount(cid, potion.empty)) doPlayerAddItem(cid, potion.empty, getPlayerItemCount(cid, potion.empty)) return TRUE end try @This life is filled with hurt When happiness doesn't work Trust me and take my hand When the lights go out you will understand
Postado Abril 19, 2017 8 anos Autor @Pedriinz Boa noite amigo, funcionou bem o script só fiz uma alteração na tag final. de: Spoiler doPlayerRemoveItem(cid, potion.empty, getPlayerItemCount(cid, potion.empty)) para: Spoiler doPlayerItem(cid, potion.empty, getPlayerItemCount(cid, potion.empty)) Obrigado pela ajuda, dúvida sanada rep ++ e pode fechar o tópico.
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.