• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Talkactions] pedido aura talkaction

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

    1Resuelto [Talkactions] pedido aura talkaction el Lun Mayo 22, 2017 8:24 am

    Lo que necesito es una talkaction que haga que rodee un aura aun player y que de skills, mana y vida si es posible por ejemplo.

    !aura electrica
    y que un vis rodee al player por cierto tiempo.

    Yo he visto esta talkation en un ot jaja y pregunto si es posible ?



    como ven ese rayo rodee al player en esas squares que estan en cuadro roja. asi es como ese rayo rodea al player.

    Solo con los effectos de target osea no los de area effect. son los de target.

    y solo es un efecto lo que lo rodea al player.

    digamos que es un efecto que le da vueltas como si el vis se estuviera moviendo alrededor de el. nose si me entienda.

    quisiera saber si alguien puede hacer eso ?

    porfavor jaja Smile

    Ver perfil de usuario

    2Resuelto Re: [Talkactions] pedido aura talkaction el Lun Mayo 22, 2017 6:52 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    Código:
    -- CONFIGURAÇÕES
       aurastr = 25950 -- storage da aura
       estr = 25951 -- storage para o exhaust
       porcentagem = 40 -- chance de curar em cada volta da aura, em porcentagem
       quantheal = 10 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 10% do hp máximo cada cura)
       tempo = 1180 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar)
       tipoaura = 30 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo)
       efeitocura = 49 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo)

    -- Função que chama a aura
    function efeitosAura(i,tm,cid)
       if(isCreature(cid)) then
               local atual = getCreaturePosition(cid)
          local posaura = {
             {x=(atual.x)-1, y=(atual.y)-1, z=atual.z},
             {x=atual.x, y=(atual.y)-1, z=atual.z},
             {x=(atual.x)+1, y=(atual.y)-1, z=atual.z},
             {x=(atual.x)+1, y=atual.y, z=atual.z},
             {x=(atual.x)+1, y=(atual.y)+1, z=atual.z},
             {x=atual.x, y=(atual.y)+1, z=atual.z},
             {x=(atual.x)-1, y=(atual.y)+1, z=atual.z},
             {x=(atual.x)-1, y=atual.y, z=atual.z},
          }
          local chances = math.random(100)
          if(chances<=porcentagem/8 and getCreatureHealth(cid)<getCreatureMaxHealth(cid)) then
             doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/quantheal)
             if(i<=8 and i>1) then
                doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, atual, tipoaura)
             else
                doSendDistanceShoot({x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, atual, tipoaura)
             end
             doSendMagicEffect(atual, efeitocura)
          end
          if(i==8) then
             doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, {x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, tipoaura)
          elseif(i<8) then
             doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, {x=posaura[i+1].x, y=posaura[i+1].y, z=posaura[i+1].z}, tipoaura)
          end
          if(i<=8 and getPlayerStorageValue(cid, aurastr)==2) then
             i = i+1
             tm = tempo/8
             return addEvent(efeitosAura,tm,i,tm,cid)
          elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then
             return efeitosAura(1,0,cid)
          else
             return TRUE
          end
       else
          return TRUE
       end
    end

    -- Função principal
    function onSay(cid, words, param, channel)
       if(param=="on") then
          if getPlayerStorageValue(cid, estr) > os.time() then
             doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estr) - os.time()).." segundos para poder habilitar aura novamente.")
          else
             if(getPlayerStorageValue(cid, aurastr)==2) then
                doPlayerSendCancel(cid,"Sua aura já está habilitada.")
             elseif(getPlayerStorageValue(cid, aurastr)==-1) then
                doPlayerSendCancel(cid,"Aura ligada!")
                setPlayerStorageValue(cid, aurastr, 2)
                efeitosAura(1,tempo/8,cid)
             end
          end
       elseif(param=="off") then
          if(getPlayerStorageValue(cid, aurastr)==2) then
             setPlayerStorageValue(cid, estr, os.time()+2)
             setPlayerStorageValue(cid, aurastr, -1)
             doPlayerSendCancel(cid,"Aura desligada!")
          end
       else   
          doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura on' para ligar sua aura, e '!aura off' para desligá-la.")
       end
       return TRUE
    end


    Código:
    <talkaction words="!aura" event="script" value="aura.lua"/>



    data\creaturescripts\scripts

    Código:
    function onLogin(cid)
       aurastr = 25950 -- storage da aura
       setPlayerStorageValue(cid, aurastr, -1)
       return TRUE
    end


    Código:
    <event type="login" name="AuraLogin" script="auralogin.lua"/>

    o si quieres que la venda un npc


    Código:
    <?xml version="1.0" encoding="UTF-8"?>
    <npc name="NOMEDOSEUNPC" script="data/npc/scripts/auranpc.lua" walkinterval="50000" floorchange="0">
    <health now="100" max="100"/>
    <look type="129" head="95" body="116" legs="121" feet="115" addons="3"/>
    <parameters>
    <parameter key="message_greet" value="Oi |PLAYERNAME|. Eu possuo a habilidade de ceder {aura}. O que deseja?"/>
    </parameters>
    </npc>


    Código:
    local keywordHandler = KeywordHandler:new()
    local npcHandler = NpcHandler:new(keywordHandler)
    NpcSystem.parseParameters(npcHandler)
    local talkState = {}
    function onCreatureAppear(cid)                   npcHandler:onCreatureAppear(cid)                end
    function onCreatureDisappear(cid)                npcHandler:onCreatureDisappear(cid)                end
    function onCreatureSay(cid, type, msg)             npcHandler:onCreatureSay(cid, type, msg)          end
    function onThink()                            npcHandler:onThink()                         end
    function creatureSayCallback(cid, type, msg)
        if(not npcHandler:isFocused(cid)) then
              return false
        end
        local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

        if msgcontains(msg, 'aura') then
                    if getPlayerStorageValue(cid,20201) ~= 1 then
                    selfSay('Para adquirir aura é necessário 10000000 golds. Você deseja adquirí-la?', cid)
                    talkState[talkUser] = 1
                    else
                    selfSay('Você já possui aura.', cid)
                    end
        elseif talkState[talkUser] == 1 then
              if msgcontains(msg, 'yes') then
                          if doPlayerRemoveMoney(cid, 10000000) then
                                setPlayerStorageValue(cid,20201,1)
                                selfSay('Parabéns, agora você possui aura!', cid)
                                talkState[talkUser] = 0
                          else
                                selfSay('Você não possui o dinheiro necessário.', cid)
                          end
              else
                    selfSay('Então porque veio aqui?', cid)
              end
        end
        return true
    end
    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
    npcHandler:addModule(FocusModule:new())


    y va a login y cambia

    Código:
    function onLogin(cid)
       if(getPlayerStorageValue(cid, 20201)==1) then
          return efeitosAura(1,tempo/8,cid)
       end
       return TRUE
    end




    Ver perfil de usuario http://www.tibiaface.com

    3Resuelto Re: [Talkactions] pedido aura talkaction el Lun Mayo 22, 2017 8:05 pm

    Gracias maya . por cierto como puedo agregarle que la talkaction solo se puede usar el que tenga cierto storage . digamos que un cofre te da un storage y ya puedes utilizar la talkaction . mira tengo este script pero nose como agregarselos:
    ya tengo el chest que te de el storage. solo falta poner que la talkaction se necesite utilizar cierto storage:

    Código:
    if(getPlayerStorageValue(cid, 9876) > 0) then

    Código:
    doPlayerSendCancel(cid, 'You dont have this talkaction')
        end
        return true
    end

    y el de chest ya lo tengo pero lo pondre por si lo necesitan:

    Código:
    function onUse(cid, item, fromPosition, itemEx, toPosition)
    if getPlayerStorageValue(cid, 9876) < 1 then
      doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You won talkaction !berserk")
      setPlayerStorageValue(cid,9876,1)
    else
        doPlayerSendCancel(cid, "You have already done this quest")
    end
    return true
    end
    Smile

    Ver perfil de usuario

    4Resuelto Re: [Talkactions] pedido aura talkaction el Lun Mayo 22, 2017 8:49 pm

    carataki

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Abre otro tema de pedido men, estas fueras de los parametros de las reglas de la comunidad.

    Sin más que decir, me retiro.

    Ver perfil de usuario

    5Resuelto Re: [Talkactions] pedido aura talkaction el Mar Mayo 23, 2017 2:03 am

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    Miguel Albertto escribió:Gracias maya . por cierto como puedo agregarle que la talkaction solo se puede usar el que tenga cierto storage . digamos que un cofre te da un storage y ya puedes utilizar la talkaction . mira tengo este script pero nose como agregarselos:
    ya tengo el chest que te de el storage. solo falta poner que la talkaction se necesite utilizar cierto storage:

    Código:
    if(getPlayerStorageValue(cid, 9876) > 0) then

    Código:
    doPlayerSendCancel(cid, 'You dont have this talkaction')
        end
        return true
    end

    y el de chest ya lo tengo pero lo pondre por si lo necesitan:

    Código:
    function onUse(cid, item, fromPosition, itemEx, toPosition)
    if getPlayerStorageValue(cid, 9876) < 1 then
      doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You won talkaction !berserk")
      setPlayerStorageValue(cid,9876,1)
    else
        doPlayerSendCancel(cid, "You have already done this quest")
    end
    return true
    end
    Smile

    este es el storange del aura aurastr = 25950 osea si pones un baul te tiene que dar ese storange



    Ver perfil de usuario http://www.tibiaface.com

    6Resuelto Re: [Talkactions] pedido aura talkaction el Mar Mayo 23, 2017 7:46 am

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    edita tu talkactions esta linea por esta

    Código:
      if getPlayerStorageValue(cid, xxxx) == 1 then
      if(param=="on") then
          if getPlayerStorageValue(cid, estr) == -1 then
            doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estr) - os.time()).." segundos para poder habilitar aura novamente.")
          else
            if(getPlayerStorageValue(cid, aurastr)==2) then
                doPlayerSendCancel(cid,"Sua aura já está habilitada.")
            elseif(getPlayerStorageValue(cid, aurastr)==-1) then
                doPlayerSendCancel(cid,"Aura ligada!")
                setPlayerStorageValue(cid, aurastr, 2)
                efeitosAura(1,tempo/8,cid)
            end
            else
            doPlayerSendCancel(cid,"usted necesita el key.")
          end
         
         
          end



    Ver perfil de usuario http://www.tibiaface.com

    7Resuelto Re: [Talkactions] pedido aura talkaction el Mar Mayo 23, 2017 7:58 am

    admin god maya me sale este error:
    [Tienes que estar registrado y conectado para ver este vínculo]

    Ver perfil de usuario

    8Resuelto resuelto el Jue Mayo 25, 2017 4:21 am

    tema resuelto

    Ver perfil de usuario

    Contenido patrocinado


    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).