OTHispano
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Ir abajo
avatar
oamn1095
Donador
Mensajes Mensajes : 33

[Help] mis potions no se gastan Empty [Help] mis potions no se gastan

Dom Oct 16, 2011 1:51 pm
Buen dia a todos es que en mi server las posiones nose gastan :S

ya intente lo de

removeOnUse: yes

y aun asi nose gastan :S

= en spash ago asi y sigen = este es mi scrip



Código:
local config = {
   removeOnUse = "no",
   usableOnTarget = "yes", -- can be used on target? (fe. healing friend)
   splashable = "yes",
   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 = 8704, splash = 2, health = {50, 100}}, -- small health potion
   [7618] = {empty = 7618, splash = 2, health = {100, 200}}, -- health potion
   [7588] = {empty = 7588, splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion
   [7591] = {empty = 7591, splash = 2, health = {500, 700}, level = 50, vocations = {4, 8}, vocStr = "knights"}, -- great health potion
   [8473] = {empty = 8473, splash = 2, health = {800, 1000}, level = 50, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion

   [7620] = {empty = 7620, splash = 7, mana = {80, 130}}, -- mana potion
   [7589] = {empty = 7589, splash = 7, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion
   [7590] = {empty = 7590, splash = 7, mana = {250, 350}, level = 50, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion

   [8472] = {empty = 8472, splash = 3, health = {200, 400}, mana = {110, 190}, level = 50, 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

   if isInArray({8704, 7618, 7588, 7591, 8473}, item.itemid) then
      doSendAnimatedText(getPlayerPosition(cid), "Ahhhh...", 180)
   elseif isInArray({7620, 7589, 7590, 8472}, item.itemid) then
      doSendAnimatedText(getPlayerPosition(cid), "Ahhhh...", 17)
   end
   doSendMagicEffect(getThingPos(itemEx.uid), 30)
   if realAnimation then
      for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do
         if(isPlayer(tid)) then
         end
      end
   end

   return true
end
Falcon
Falcon
Administrador
Mensajes Mensajes : 350
http://www.othispano.net

[Help] mis potions no se gastan Empty Re: [Help] mis potions no se gastan

Dom Oct 16, 2011 2:14 pm
aber prueba con este:
Código:

local config = {
   removeOnUse = "no",
   usableOnTarget = "yes", -- can be used on target? (fe. healing friend)
   splashable = "no",
   range = -1,
   realAnimation = "no", -- make text effect visible only for players in range 1x1
   multiplier = {
      health = 1.0,
      mana = 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 = 42, health = {50, 100}}, -- small health potion
   [7618] = {empty = 7636, splash = 42, health = {100, 200}}, -- health potion
   [7588] = {empty = 7634, splash = 42, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion
   [7591] = {empty = 7635, splash = 42, health = {500, 700}, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion
   [8473] = {empty = 7635, splash = 42, health = {800, 1000}, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion

   [7620] = {empty = 7636, splash = 47, mana = {70, 130}}, -- mana potion
   [7589] = {empty = 7634, splash = 47, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion
   [7590] = {empty = 7635, splash = 47, mana = {200, 300}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion

   [8472] = {empty = 7635, splash = 43, 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 = getThingPosition(item.uid)
      end

      doDecayItem(doCreateItem(POOL, potion.splash, toPosition))
      doRemoveItem(item.uid, 1)
      if(not potion.empty or config.removeOnUse) then
         return true
      end

      if(fromPosition.x ~= CONTAINER_POSITION) then
         doCreateItem(potion.empty, fromPosition)
      else
         doPlayerAddItem(cid, potion.empty, 1)
      end

      return true
   end

   if(hasCondition(cid, CONDITION_EXHAUST)) then
      doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
      return true
   end

   if(((potion.level and getPlayerLevel(itemEx.uid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(itemEx.uid)))) 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

   if(config.range > 0 and cid ~= itemEx.uid and getDistanceBetween(getThingPosition(cid), getThingPosition(itemEx.uid)) > config.range) then
      return false
   end

   local health = potion.health
   if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1], health[2]) * config.multiplier.health))) then
      return false
   end

   local mana = potion.mana
   if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2]) * config.multiplier.mana))) then
      return false
   end

   doSendMagicEffect(getThingPosition(itemEx.uid), CONST_ME_MAGIC_BLUE)
   if(not config.realAnimation) then
      doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1)
   else
      for i, tid in ipairs(getSpectators(getThingPosition(itemEx.uid), 1, 1)) do
         if(isPlayer(tid)) then
            doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid)
         end
      end
   end

   doAddCondition(cid, exhaust)
   doRemoveItem(item.uid, 1)
   if(not potion.empty or config.removeOnUse) then
      return true
   end

   if(fromPosition.x ~= CONTAINER_POSITION) then
      doCreateItem(potion.empty, fromPosition)
   else
      doPlayerAddItem(cid, potion.empty, 1)
   end

   return true
end
Carlos [Zipto]
Carlos [Zipto]
Aportador
Mensajes Mensajes : 233

[Help] mis potions no se gastan Empty Re: [Help] mis potions no se gastan

Sáb Mayo 19, 2012 3:36 pm
Tema Cerrado Razon: mas de 48 hrs sin Responder
Contenido patrocinado

[Help] mis potions no se gastan Empty Re: [Help] mis potions no se gastan

Volver arriba
Permisos de este foro:
No puedes responder a temas en este foro.