Ir para conteúdo
  • Cadastre-se

Posts Recomendados

  • 10 months later...
w = {
    {effect = 36, shoot = 3, dmg = COMBAT_FIREDAMAGE},
    {effect = 42, shoot = 28, dmg = COMBAT_ICEDAMAGE},
    {effect = 45, shoot = 38, dmg = COMBAT_POISONDAMAGE},
    {effect = 17, shoot = 31, dmg = COMBAT_DEATHDAMAGE},
    {effect = 11, shoot = 35, dmg = COMBAT_ENERGYDAMAGE},
    {effect = 31, shoot = 35, dmg = COMBAT_PHYSICALDAMAGE},
    {effect = 49, shoot = 37, dmg = COMBAT_HOLYDAMAGE}
}
 
local min, max = 180, 350
 
function onUseWeapon(player, variant)
    local target = player:getTarget()
    if target then
        local shootType = w[math.random(#w)]
        player:getPosition():sendDistanceEffect(target:getPosition(), shootType.shoot)
        addEvent(function(cid, tid)
            local target = Creature(tid)
            if not Player(cid) or not target then
                return
            end
            doAreaCombatHealth(cid, shootType.dmg, target:getPosition(), 0, -min, -max, shootType.effect)
        end, 100, player:getId(), target:getId())
    end
    return true
end

 

funcionando tfs 1.2 

créditos ao static_

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
  Em 02/02/2015 em 02:21, Bruno Minervino disse:

Introdução:
É uma wand que ataca vários elementos aleatoriamente, porém não somente isso, você pode alterar o elemento dela com uma talkaction.
 
Instalação:
Vá até data/weapons/scripts e crie um arquivo chamando wandelementos.lua e coloque o seguinte conteúdo:

 

local min, max = 1700,1900 --Ataque mínino e ataque máximo

local w = {
	[1] = {ef = 36, sh = 3, dmg = COMBAT_FIREDAMAGE},
	[2] = {ef = 42, sh = 28, dmg = COMBAT_ICEDAMAGE},
	[3] = {ef = 46, sh = 38, dmg = COMBAT_POISONDAMAGE},
	[4] = {ef = 17, sh = 31, dmg = COMBAT_DEATHDAMAGE},
	[5] = {ef = 47, sh = 35, dmg = COMBAT_ENERGYDAMAGE},
	[6] = {ef = 36, sh = 31, dmg = COMBAT_PHYSICALDAMAGE},
	[7] = {ef = 49, sh = 37, dmg = COMBAT_HOLYDAMAGE}
}

function onUseWeapon(cid, var)
        local effect = getPlayerStorageValue(cid, 4561)
        local target = getCreatureTarget(cid)
        
        if target ~= 0 then
                local wx = w[effect] or w[math.random(#w)]
                doSendDistanceShoot(getThingPos(cid), getThingPos(target), wx.sh)
                addEvent(doAreaCombatHealth, 100, cid, wx.dmg, getThingPos(target), 0, -min, -max, wx.ef)
        end
        return true
end

Altere o min e max de acordo com sua necessidade.
 
Agora vá em data/weapons/weapons.xml e coloque o seguinte conteúdo:

 

<wand id="7424" level="100" mana="30" event="script" value="wandelementos.lua">
	<vocation id="1"/>
	<vocation id="2"/>
	<vocation id="5" showInDescription="0"/>
	<vocation id="6" showInDescription="0"/>
</wand>

Altere o id, level e mana de acordo com sua necessidade.

Agora vamos configurar a talkaction que troca os elementos.
Vá até data/talkactions/scripts e crie um arquivo chamando elementos.lua e coloque o seguinte conteúdo:

 

local config = {
    wand_id = 7424, --ID da wand

    types = {
	["all"] = -1, --Ataca os elementos aleatoriamente
        ["fire"] = 1,
	["ice"] = 2,
	["poison"] = 3,
	["death"] = 4,
	["energy"] = 5,
	["physical"] = 6,
	["holy"] = 7
    }
}

function onSay(cid, words, param)
    local wand_left = getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid
    local wand_right = getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid 

    if wand_left ~= config.wand_id and wand_right ~= config.wand_id then
        doPlayerSendCancel(cid, "Voce deve estar equipado com uma ".. getItemNameById(config.wand_id) .." para usar este comando.")
        return true
    end
    
    if config.types[param] then
        setPlayerStorageValue(cid, 4561, config.types[param])
        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Sua wand ira atacar ".. param .. ".")
    else
        local str = ""
        
        for i, _ in pairs(config.types) do
            str = str .. ", ".. i
        end
        
        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Os elementos disponiveis sao: ".. string.sub(str, 3, #str) ..".")
    end

    return true
end

Altere o wand_id conforme configurado em weapons.

Agora vá em data/talkactions/talkactions.xml e coloque o seguinte conteúdo:

 

<talkaction words="!elemento;/elemento" event="script" value="elementos.lua"/>

Exemplo de funcionamento:

https://www.youtube.com/watch?v=HHmZ1RpsrD0

 
Gostaria de deixar um agradecimento especial para MaXwEllDeN, pela ajuda.

Mostrar mais  

Teria como adicionar um effect cada vez que altera o elemento? por exemplo !elemento ice, ele vai sair um effect de ice do personagem?

Link para o post
Compartilhar em outros sites
  Em 02/02/2015 em 02:21, Bruno Minervino disse:

Introdução:
É uma wand que ataca vários elementos aleatoriamente, porém não somente isso, você pode alterar o elemento dela com uma talkaction.
 
Instalação:
Vá até data/weapons/scripts e crie um arquivo chamando wandelementos.lua e coloque o seguinte conteúdo:

 

local min, max = 1700,1900 --Ataque mínino e ataque máximo

local w = {
	[1] = {ef = 36, sh = 3, dmg = COMBAT_FIREDAMAGE},
	[2] = {ef = 42, sh = 28, dmg = COMBAT_ICEDAMAGE},
	[3] = {ef = 46, sh = 38, dmg = COMBAT_POISONDAMAGE},
	[4] = {ef = 17, sh = 31, dmg = COMBAT_DEATHDAMAGE},
	[5] = {ef = 47, sh = 35, dmg = COMBAT_ENERGYDAMAGE},
	[6] = {ef = 36, sh = 31, dmg = COMBAT_PHYSICALDAMAGE},
	[7] = {ef = 49, sh = 37, dmg = COMBAT_HOLYDAMAGE}
}

function onUseWeapon(cid, var)
        local effect = getPlayerStorageValue(cid, 4561)
        local target = getCreatureTarget(cid)
        
        if target ~= 0 then
                local wx = w[effect] or w[math.random(#w)]
                doSendDistanceShoot(getThingPos(cid), getThingPos(target), wx.sh)
                addEvent(doAreaCombatHealth, 100, cid, wx.dmg, getThingPos(target), 0, -min, -max, wx.ef)
        end
        return true
end

Altere o min e max de acordo com sua necessidade.
 
Agora vá em data/weapons/weapons.xml e coloque o seguinte conteúdo:

 

<wand id="7424" level="100" mana="30" event="script" value="wandelementos.lua">
	<vocation id="1"/>
	<vocation id="2"/>
	<vocation id="5" showInDescription="0"/>
	<vocation id="6" showInDescription="0"/>
</wand>

Altere o id, level e mana de acordo com sua necessidade.

Agora vamos configurar a talkaction que troca os elementos.
Vá até data/talkactions/scripts e crie um arquivo chamando elementos.lua e coloque o seguinte conteúdo:

 

local config = {
    wand_id = 7424, --ID da wand

    types = {
	["all"] = -1, --Ataca os elementos aleatoriamente
        ["fire"] = 1,
	["ice"] = 2,
	["poison"] = 3,
	["death"] = 4,
	["energy"] = 5,
	["physical"] = 6,
	["holy"] = 7
    }
}

function onSay(cid, words, param)
    local wand_left = getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid
    local wand_right = getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid 

    if wand_left ~= config.wand_id and wand_right ~= config.wand_id then
        doPlayerSendCancel(cid, "Voce deve estar equipado com uma ".. getItemNameById(config.wand_id) .." para usar este comando.")
        return true
    end
    
    if config.types[param] then
        setPlayerStorageValue(cid, 4561, config.types[param])
        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Sua wand ira atacar ".. param .. ".")
    else
        local str = ""
        
        for i, _ in pairs(config.types) do
            str = str .. ", ".. i
        end
        
        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Os elementos disponiveis sao: ".. string.sub(str, 3, #str) ..".")
    end

    return true
end

Altere o wand_id conforme configurado em weapons.

Agora vá em data/talkactions/talkactions.xml e coloque o seguinte conteúdo:

 

<talkaction words="!elemento;/elemento" event="script" value="elementos.lua"/>

Exemplo de funcionamento:

https://www.youtube.com/watch?v=HHmZ1RpsrD0

 
Gostaria de deixar um agradecimento especial para MaXwEllDeN, pela ajuda.

Mostrar mais  

Rep ++++

Link para o post
Compartilhar em outros sites
  • 7 months later...
  Em 02/02/2015 em 02:21, Bruno Minervino disse:

Introdução:
É uma wand que ataca vários elementos aleatoriamente, porém não somente isso, você pode alterar o elemento dela com uma talkaction.
 
Instalação:
Vá até data/weapons/scripts e crie um arquivo chamando wandelementos.lua e coloque o seguinte conteúdo:

 

local min, max = 1700,1900 --Ataque mínino e ataque máximo

local w = {
	[1] = {ef = 36, sh = 3, dmg = COMBAT_FIREDAMAGE},
	[2] = {ef = 42, sh = 28, dmg = COMBAT_ICEDAMAGE},
	[3] = {ef = 46, sh = 38, dmg = COMBAT_POISONDAMAGE},
	[4] = {ef = 17, sh = 31, dmg = COMBAT_DEATHDAMAGE},
	[5] = {ef = 47, sh = 35, dmg = COMBAT_ENERGYDAMAGE},
	[6] = {ef = 36, sh = 31, dmg = COMBAT_PHYSICALDAMAGE},
	[7] = {ef = 49, sh = 37, dmg = COMBAT_HOLYDAMAGE}
}

function onUseWeapon(cid, var)
        local effect = getPlayerStorageValue(cid, 4561)
        local target = getCreatureTarget(cid)
        
        if target ~= 0 then
                local wx = w[effect] or w[math.random(#w)]
                doSendDistanceShoot(getThingPos(cid), getThingPos(target), wx.sh)
                addEvent(doAreaCombatHealth, 100, cid, wx.dmg, getThingPos(target), 0, -min, -max, wx.ef)
        end
        return true
end

Altere o min e max de acordo com sua necessidade.
 
Agora vá em data/weapons/weapons.xml e coloque o seguinte conteúdo:

 

<wand id="7424" level="100" mana="30" event="script" value="wandelementos.lua">
	<vocation id="1"/>
	<vocation id="2"/>
	<vocation id="5" showInDescription="0"/>
	<vocation id="6" showInDescription="0"/>
</wand>

Altere o id, level e mana de acordo com sua necessidade.

Agora vamos configurar a talkaction que troca os elementos.
Vá até data/talkactions/scripts e crie um arquivo chamando elementos.lua e coloque o seguinte conteúdo:

 

local config = {
    wand_id = 7424, --ID da wand

    types = {
	["all"] = -1, --Ataca os elementos aleatoriamente
        ["fire"] = 1,
	["ice"] = 2,
	["poison"] = 3,
	["death"] = 4,
	["energy"] = 5,
	["physical"] = 6,
	["holy"] = 7
    }
}

function onSay(cid, words, param)
    local wand_left = getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid
    local wand_right = getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid 

    if wand_left ~= config.wand_id and wand_right ~= config.wand_id then
        doPlayerSendCancel(cid, "Voce deve estar equipado com uma ".. getItemNameById(config.wand_id) .." para usar este comando.")
        return true
    end
    
    if config.types[param] then
        setPlayerStorageValue(cid, 4561, config.types[param])
        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Sua wand ira atacar ".. param .. ".")
    else
        local str = ""
        
        for i, _ in pairs(config.types) do
            str = str .. ", ".. i
        end
        
        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Os elementos disponiveis sao: ".. string.sub(str, 3, #str) ..".")
    end

    return true
end

Altere o wand_id conforme configurado em weapons.

Agora vá em data/talkactions/talkactions.xml e coloque o seguinte conteúdo:

 

<talkaction words="!elemento;/elemento" event="script" value="elementos.lua"/>

Exemplo de funcionamento:

https://www.youtube.com/watch?v=HHmZ1RpsrD0

 
Gostaria de deixar um agradecimento especial para MaXwEllDeN, pela ajuda.

Mostrar mais  

vc poderia adapta pra 10.90?

Link para o post
Compartilhar em outros sites
  • 2 years later...
  Em 10/09/2017 em 19:05, Yinz disse:

w = {
    {effect = 36, shoot = 3, dmg = COMBAT_FIREDAMAGE},
    {effect = 42, shoot = 28, dmg = COMBAT_ICEDAMAGE},
    {effect = 45, shoot = 38, dmg = COMBAT_POISONDAMAGE},
    {effect = 17, shoot = 31, dmg = COMBAT_DEATHDAMAGE},
    {effect = 11, shoot = 35, dmg = COMBAT_ENERGYDAMAGE},
    {effect = 31, shoot = 35, dmg = COMBAT_PHYSICALDAMAGE},
    {effect = 49, shoot = 37, dmg = COMBAT_HOLYDAMAGE}
}
 
local min, max = 180, 350
 
function onUseWeapon(player, variant)
    local target = player:getTarget()
    if target then
        local shootType = w[math.random(#w)]
        player:getPosition():sendDistanceEffect(target:getPosition(), shootType.shoot)
        addEvent(function(cid, tid)
            local target = Creature(tid)
            if not Player(cid) or not target then
                return
            end
            doAreaCombatHealth(cid, shootType.dmg, target:getPosition(), 0, -min, -max, shootType.effect)
        end, 100, player:getId(), target:getId())
    end
    return true
end

 

funcionando tfs 1.2 

créditos ao static_

Mostrar mais  

NAO FUNCIONOU TFS 0.4

Editado por doido (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 1 month later...
  Em 19/10/2020 em 19:02, doido disse:

NAO FUNCIONOU TFS 0.4

Expand   Mostrar mais  

Leia o que ele disse, é para tfs 1.2. A que funciona para tfs 0.4 é a do próprio post e está 100%, eu mesmo testei.

                                                                                                               destinyshield.gif.9f031b59b026058f32a1c50da92ebe2a.gif  mídias sociais  destinyshield.gif.02fca81ab0615e050b2bcefd8a73a2e8.gif

                                                                                                                            talk to me              

                                                                                                                               vídeos           

                                                                                             

                                                                                                            LOGONORMAL.png.815b40b04ec583be88d8a1e2626fe430.png

                                                                                                           

                               

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Under
      ATENÇÃO, DESENVOLVEDORES DE OTSERV! 
      Uma nova era está chegando — e você vai fazer parte dela desde o começo! 
       Ferramentas de IA + Formação Completa
      Estamos finalizando ferramentas exclusivas de inteligência artificial que vão revolucionar a forma como você cria e gerencia servidores de Tibia.
      E pra abrir com estilo, chegou a primeira etapa da nossa formação completa:
       Curso de Pixel Art para Tibia e Derivados


      Instrutor: Brendon Nogard, fundador da Pixel Art School
      Uma das maiores referências em arte para servidores de tibia no Brasil!
       Quem é o Nogard? @Nogard
      video-de-apresent.mp4
       
      Criador das primeiras remakes gráficas da PXG
      Mais de 10 anos de experiência com Pixel Art
      Conduziu a evolução da perspectiva GBA para um visual moderno e imersivo
      Influenciou uma geração inteira de criadores na comunidade OTServer no Brasil.
       O que você vai aprender nesse curso?
      Compre Aqui!
       Perspectiva 45° para Tibia e derivados
       Criação de itens: pokébolas, loots, mochilas, poções
       Personagens animados com variações de cabelo
       Criaturas como Wolf, Werewolf, Snake, Horse e Centauro
       Cenários: paredes, cortinas, troféus
       Texturas: folhas, rochas
       Fundamentos de estilo, coerência e construção de sprites profissionais
        Duração: 12 horas
        VALOR : R$250,00
       BÔNUS POR R$50,00
      Também está disponível o Curso de Pixel Art Top Down, ideal pra quem quer começar do zero absoluto:
      Crie personagens, inimigos, chefes
      Monte todo o ambiente do seu jogo
         Duração: 3 horas
       Por que isso é importante pra você?
      Esse é o primeiro passo pra criar um OTServer com:
       Identidade visual única
       Alto nível gráfico
       Suporte de ferramentas de IA exclusivas
       E um método claro, testado e acessível!
       Nas próximas 4 semanas...
      Vamos liberar novos cursos sobre:
       Criação de mapas
       Desenvolvimento de sistemas e scripts
       IA aplicada ao design de jogo (desenvolvimento)
       Balanceamento, mecânicas e muito mais!
       Garanta sua vaga agora!
      Comece hoje mesmo com o pé direito.
      Compre Aqui!
    • Por Under
      A CipSoft acaba de anunciar uma grande novidade: a empresa agora também será responsável pelo desenvolvimento e operação do clássico The Settlers Online! 
      O time que já cuidava do jogo seguirá dedicado ao projeto, mas agora diretamente do novo escritório da CipSoft em Düsseldorf, na Alemanha.
       
      Pra quem não conhece, The Settlers Online é um jogo com uma base de jogadores muito fiel e engajada — algo que a CipSoft conhece bem graças à comunidade Tibiana que, há décadas, mostra paixão, comprometimento e amor pelo jogo. 
      O mais importante:
      É incrível ver a CipSoft crescendo e levando seu espírito de comunidade para novos horizontes, sem esquecer de onde veio e quem está com ela há tantos anos. 
      Anúncio oficial no fórum do Tibia
      Site oficial de The Settlers Online (Brasil)
       
    • Por Under
      Apresentando o Tibia-IA: A IA para Desenvolvimento de Servidores Tibia! 
       O que é o Tibia-IA?
      Um modelo de IA especializado para Tibia! Ele está atualmente em teste gratuito, e eu adoraria que vocês o experimentassem. Basta acessar https://ai.tibiaking.com, criar uma conta e começar a usar totalmente de graça! 
       Versão Experimental Fechada
      Atualmente, algumas funcionalidades ainda estão em desenvolvimento. No momento, apenas a geração de scripts está disponível para o público.
      Se encontrarem qualquer problema nos scripts gerados, me avisem! Vamos juntos construir a IA mais poderosa para ajudar no desenvolvimento de servidores Tibia!  
      Contato direto discord : underewar
       Acesse agora: https://ai.tibiaking.com
       Como funciona?
       Geração automática de scripts LUA para TFS  Suporte a diferentes eventos, criaturas, NPCs, magias, etc.  Ferramenta em constante evolução para aprimorar o desenvolvimento Novidades em breve confira no site. O acesso ao Tibia-IA está disponível para testes GRATUITOS! 
      Basta criar uma conta em: https://ai.tibiaking.com
      Utilize a IA para gerar seus scripts de forma simples e rápida
      Envie feedbacks para ajudarmos a tornar a ferramenta ainda melhor!

      Problemas relatar diretamente no meu discord pessoal : underewar
       
       
    • Por zandoria
      Olá, aventureiro!

      É com grande entusiasmo que anunciamos o lançamento do servidor Zandoria! Prepare-se para uma experiência única em um mundo totalmente novo, repleto de desafios, mistérios e diversão!

      Link de acesso: https://zandoria.com.br
      Host BR - Ping: 20ms

      FREE PREMIUM

      Server Info

      IP: zandoria.com.br
      Client: 13.40
      World type: PVP
      Protection level: 7
      Loot: x800
      Spawn: x80
      House rent: monthly
      Level to create guild: 100
      Level to buy house: 100

      Rates
      Exp Rate: x800
      Magic Level: x800
      Skills: x800

      Frags & Skull system

      PZ Lock: 1 min
      Frag Duration: 7 hours
      RedSkull Duration: 1 days
      BlackSkull Duration: 3 days
      Red skull: 3 daily / 5 weekly / 10 monthly
      Black skull: 6 daily / 10 frags weekly / 20 frags monthly 
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo