• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [Actions] Agregar Storage al usar item

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1[Actions] Agregar Storage al usar item Empty [Actions] Agregar Storage al usar item Dom Jun 05, 2022 5:45 pm

    Morfar

    Morfar
    Miembro
    Miembro
    Descripcion escribió:que hay grupo nuevamente solicitando de su apoyo con este code que funciona perfecto pero me gustaria colocarle un storage para usarlo cada 5 minutos sin perder el buff para que no lo puedan estar usando todo el rato. tfs 0.4

    Código:
    local config = {
       [1983] = {
          type = "mana"
       },
       
       [1984] = {
          type = "hp"
       },
       
       [1985] = {
          type = "skills"
       }
    }

    local hpcondition = createConditionObject(CONDITION_ATTRIBUTES)
    setConditionParam(hpcondition, CONDITION_PARAM_TICKS, 20 * 60 * 1000)
    setConditionParam(hpcondition, CONDITION_PARAM_STAT_MAXHEALTHPERCENT, 200)
    setConditionParam(hpcondition, CONDITION_PARAM_BUFF, TRUE)

    local manacondition = createConditionObject(CONDITION_ATTRIBUTES)
    setConditionParam(manacondition, CONDITION_PARAM_TICKS, 20 * 60 * 1000)
    setConditionParam(manacondition, CONDITION_PARAM_STAT_MAXMANAPERCENT, 200)
    setConditionParam(manacondition, CONDITION_PARAM_BUFF, TRUE)

    local skillcondition = createConditionObject(CONDITION_ATTRIBUTES)
    setConditionParam(skillcondition, CONDITION_PARAM_TICKS, 20 * 60 * 1000)
    setConditionParam(skillcondition, CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 150)
    setConditionParam(skillcondition, CONDITION_PARAM_SKILL_FISTPERCENT, 150)
    setConditionParam(skillcondition, CONDITION_PARAM_SKILL_CLUBPERCENT, 150)
    setConditionParam(skillcondition, CONDITION_PARAM_SKILL_SWORDPERCENT, 150)
    setConditionParam(skillcondition, CONDITION_PARAM_SKILL_AXEPERCENT, 150)
    setConditionParam(skillcondition, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 150)
    setConditionParam(skillcondition, CONDITION_PARAM_SKILL_SHIELDPERCENT, 150)
    setConditionParam(skillcondition, CONDITION_PARAM_BUFF, TRUE)



    function onUse(cid, item, fromPosition, itemEx, toPosition)
       local type = config[item.itemid].type
       local pos = getPlayerPosition(cid)
       
       if(type == "hp") then
          doAddCondition(cid, hpcondition)
          doSendAnimatedText(pos, 'HP UP', TEXTCOLOR_PURPLE)
       elseif(type == "mana") then
          doAddCondition(cid, manacondition)
          doSendAnimatedText(pos, 'MANA UP', TEXTCOLOR_PURPLE)
       elseif(type == "skills") then
          doAddCondition(cid, skillcondition)
          doSendAnimatedText(pos, 'SKILLS UP', TEXTCOLOR_PURPLE)
       end
        doSendMagicEffect(toPosition,68)
       doRemoveItem(item.uid)
       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "You are now buffed up! WARNING: Using another buff will replace this one!")   
       return true
    end
    Captura del Error escribió:Imagen del error: [Actions] Agregar Storage al usar item Empty
    El error radica en: Actions

    3 participantes

    SoyFabi

    SoyFabi
    Miembro
    Miembro
    [Tienes que estar registrado y conectado para ver este vínculo]
    Código:
    local config = {
       [1983] = {
          type = "mana"
       },
      
       [1984] = {
          type = "hp"
       },
      
       [1985] = {
          type = "skills"
       }
    }

    local hpcondition = createConditionObject(CONDITION_ATTRIBUTES)
    setConditionParam(hpcondition, CONDITION_PARAM_TICKS, 20 * 60 * 1000)
    setConditionParam(hpcondition, CONDITION_PARAM_STAT_MAXHEALTHPERCENT, 200)
    setConditionParam(hpcondition, CONDITION_PARAM_BUFF, TRUE)

    local manacondition = createConditionObject(CONDITION_ATTRIBUTES)
    setConditionParam(manacondition, CONDITION_PARAM_TICKS, 20 * 60 * 1000)
    setConditionParam(manacondition, CONDITION_PARAM_STAT_MAXMANAPERCENT, 200)
    setConditionParam(manacondition, CONDITION_PARAM_BUFF, TRUE)

    local skillcondition = createConditionObject(CONDITION_ATTRIBUTES)
    setConditionParam(skillcondition, CONDITION_PARAM_TICKS, 20 * 60 * 1000)
    setConditionParam(skillcondition, CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 150)
    setConditionParam(skillcondition, CONDITION_PARAM_SKILL_FISTPERCENT, 150)
    setConditionParam(skillcondition, CONDITION_PARAM_SKILL_CLUBPERCENT, 150)
    setConditionParam(skillcondition, CONDITION_PARAM_SKILL_SWORDPERCENT, 150)
    setConditionParam(skillcondition, CONDITION_PARAM_SKILL_AXEPERCENT, 150)
    setConditionParam(skillcondition, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 150)
    setConditionParam(skillcondition, CONDITION_PARAM_SKILL_SHIELDPERCENT, 150)
    setConditionParam(skillcondition, CONDITION_PARAM_BUFF, TRUE)



    function onUse(cid, item, fromPosition, itemEx, toPosition)
       local type = config[item.itemid].type
       local pos = getPlayerPosition(cid)
      
       if getPlayerStorageValue(cid, 323221) > os.time() then
         doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Espera "..getPlayerStorageValue(cid, 323221) - os.time().." segundos para volver a darle.")
         return true
       end
      
      
       if(type == "hp") then
          doAddCondition(cid, hpcondition)
          doSendAnimatedText(pos, 'HP UP', TEXTCOLOR_PURPLE)
       elseif(type == "mana") then
          doAddCondition(cid, manacondition)
          doSendAnimatedText(pos, 'MANA UP', TEXTCOLOR_PURPLE)
       elseif(type == "skills") then
          doAddCondition(cid, skillcondition)
          doSendAnimatedText(pos, 'SKILLS UP', TEXTCOLOR_PURPLE)
       end
        doSendMagicEffect(toPosition,68)
       setPlayerStorageValue(cid, 323221, os.time()+2)
       doRemoveItem(item.uid)
       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "You are now buffed up! WARNING: Using another buff will replace this one!")  
       return true
    end

    3 participantes

    Morfar

    Morfar
    Miembro
    Miembro
    Si funciono bro ahora requiere tiempo pero si mueren pierden el buff intente agregar este tag en login por si logean o mueren siga manteniendo el buff pero nada
    Código:
    if getCreatureStorage(cid, 323221) - os.time() >= 0 then
        doCreatureSetStorage(cid, 323221, -1)
    end

    3 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Morfar escribió:Si funciono bro ahora requiere tiempo pero si mueren pierden el buff intente agregar este tag en login por si logean o mueren siga manteniendo el buff pero nada
    Código:
    if getCreatureStorage(cid, 323221) - os.time() >= 0 then
        doCreatureSetStorage(cid, 323221, -1)
    end

    agrega en login.lua una condicion que verifique que si tiene tiempo aun para que le active el buff



    [Actions] Agregar Storage al usar item YNU5B25
    3 participantes
    http://www.tibiaface.com

    Morfar

    Morfar
    Miembro
    Miembro
    en español bro xD puse eso en login pero nanais

    3 participantes

    SoyFabi

    SoyFabi
    Miembro
    Miembro
    Morfar escribió:en español bro xD puse eso en login pero nanais

    en
    Código:
    login.lua
    colocar por ahi en alguna parte.

    Algo como esto:
    Código:
    if getCreatureStorage(cid, 323221, 1) then
    addEvent(function() setPlayerStorageValue(cid, 323221, -1) end, 15000) -- 15 sec
    end

    Esto hara que si tiene el storage 323221 entonces ejecutara el addEvent y se eliminara en 15 segundos. No te aseguro que funcione.

    Pero me desvié del tema, tu quieres que se mantenga la condición por varios segundos si el player muere antes.

    Por que solo es un check del storage pero no de la condición. Intenta este aver...

    Código:

    if getCondition(cid, CONDITION_ATTRIBUTES) then
    setParameter(CONDITION_PARAM_TICKS, 10000) -- 10 seg.
    addEvent(function() doRemoveConditions(cid, false) end, 10000) -- 10 sec
    end

    3 participantes

    Contenido patrocinado


    3 participantes

    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

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

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).