Ir para conteúdo
  • Cadastre-se

[Pedido] Script de arma para Tibia


Posts Recomendados

Olá amigos do TibiaKing,

 

Eu venho pedir a vocês  uma ajuda e suporte de como add uma arma no Tibia que funcina desta forma.

 

Eu tenho a arma no slot e para usar esta arma, eu tenho que ter na Bag(mochila) um outro item que no caso seria a munição e quando a munição acabar a arma para de funcionar, enviando uma mensagem para o player, você não possui mais munição.

 

Outra coisa gostaria de saber, como faço para quando o player clicar sobre a arma com o botão direito, ela fosse reduzindo a munição na Bag e usando um efeito de atack no monstro tipo uma explosão de fogo que seria usado saido do player, tipo como acontece no poketibia usa-se o atack e sai do pokemon um efeito mas no caso aqui o efeito só sairia do player quando clica-se na arma no slot.

 

Peço que quem puder ajuder serei grato.

 

Agradeço pela atenção e ajuda, um grande abraço e fique com Deus!

UM GRANDE ABRAÇO E FIQUE COM DEUS!

 

Meu Server:

 

( Pokémon Alpha )

 

http://pokemonalpha.zapto.org

 

Meus Trabalhos:

Meus Trabalhos:

1) Entrada Para Morden Acc Ou Gensio

2) Client Parecido com PXG (Não Criei só modifiquei um pouco)

 

3) Tutotial compilando TFS 1.0 com MSVC 2013 

Link para o post
Compartilhar em outros sites

weapons.xml:

<melee id="8927" level="120" unproperly="1" event="script" value="new2.lua"/>

 muda aqui o id do item que vai utilizar esse sistema e o level. Value é o nome do script.

weapons\scripts\new2.lua:
 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 34)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)


local xCombat = createCombatObject()
setCombatParam(xCombat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(xCombat, COMBAT_PARAM_BLOCKSHIELD, 1)
setCombatParam(xCombat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(xCombat, COMBAT_PARAM_EFFECT, 34)
setCombatFormula(xCombat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)


local area = createCombatArea({
{0, 1, 1, 1, 0},
{1, 1, 1, 1, 1},
{1, 1, 3, 1, 1},
{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0}
})


local area1 = createCombatArea({
{0, 0, 0},
{0, 3, 0},
{0, 0, 0}
})


setCombatArea(xCombat, area)
setCombatArea(combat, area1)


local config = {
storageativ = 76650,
smallstoneid = 1294
}
function onUseWeapon(cid, var)
if getPlayerStorageValue(cid, config.storageativ) == 1 and doPlayerRemoveItem(cid, config.smallstoneid, 1) then
retorn = doCombat(cid, xCombat, var)
else
retorn = doCombat(cid, combat, var)
end
return retorn
end

vc muda os efeitos aqui:

setCombatParam(combat, COMBAT_PARAM_EFFECT, 34)

a area qnd tá desativada e quanto tá ativada vc edita no script.

e aqui você muda o storage que vai salvar se ela tá ativada ou desativada e tb que item será usado como munição:

local config = {
storageativ = 76650,
smallstoneid = 1294
}

Feito isso vá em actions.xml e adicione essa linha:

<action itemid="8927" script="new2.lua"/>

NOTE que o ID tem que ser o mesmo do weapons.xml para que funcione da maneira correta.

Agora crie um arquivo chamado new2.lua em actions\scripts e adicione isso daqui dentro dele:

function onUse(cid, item, frompos, item2, topos)


local config = {
storageativ = 76650, -- storage que será utilizado
ammo = 1294  --- id do item que será a munição.
}




if getPlayerStorageValue(cid, config.storageativ) > 0 then
setPlayerStorageValue(cid, config.storageativ, 0)
doPlayerSendTextMessage(cid, 19, "You desactivated your weapon, you're no longer attacking in area!")  
elseif getPlayerStorageValue(cid, config.storageativ) <= 0 then
setPlayerStorageValue(cid, config.storageativ, 1)
doPlayerSendTextMessage(cid, 19, "You activated your weapon, now you'll attack in area as long as you have ammunition!")  
end
return true
end

Nesse exemplo que eu coloquei vc ativa a club de id 8927 e ela vai ativar um ataque em área soltando o efeito 34 mas gastando 1 small stone a cada hit.

Editado por xWhiteWolf (veja o histórico de edições)

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

weapons.xml:

muda aqui o id do item que vai utilizar esse sistema e o level. Value é o nome do script.

weapons\scripts\new2.lua:

 

local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)setCombatParam(combat, COMBAT_PARAM_EFFECT, 34)setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)local xCombat = createCombatObject()setCombatParam(xCombat, COMBAT_PARAM_BLOCKARMOR, 1)setCombatParam(xCombat, COMBAT_PARAM_BLOCKSHIELD, 1)setCombatParam(xCombat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)setCombatParam(xCombat, COMBAT_PARAM_EFFECT, 34)setCombatFormula(xCombat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)local area = createCombatArea({{0, 1, 1, 1, 0},{1, 1, 1, 1, 1},{1, 1, 3, 1, 1},{1, 1, 1, 1, 1},{0, 1, 1, 1, 0}})local area1 = createCombatArea({{0, 0, 0},{0, 3, 0},{0, 0, 0}})setCombatArea(xCombat, area)setCombatArea(combat, area1)local config = {storageativ = 76650,smallstoneid = 1294}function onUseWeapon(cid, var)if getPlayerStorageValue(cid, config.storageativ) == 1 and doPlayerRemoveItem(cid, config.smallstoneid, 1) thenretorn = doCombat(cid, xCombat, var)elseretorn = doCombat(cid, combat, var)endreturn retornend
vc muda os efeitos aqui:

setCombatParam(combat, COMBAT_PARAM_EFFECT, 34)
a area qnd tá desativada e quanto tá ativada vc edita no script.

e aqui você muda o storage que vai salvar se ela tá ativada ou desativada e tb que item será usado como munição:

local config = {storageativ = 76650,smallstoneid = 1294}
Feito isso vá em actions.xml e adicione essa linha:

NOTE que o ID tem que ser o mesmo do weapons.xml para que funcione da maneira correta.

Agora crie um arquivo chamado new2.lua em actions\scripts e adicione isso daqui dentro dele:

function onUse(cid, item, frompos, item2, topos)local config = {storageativ = 76650, -- storage que será utilizadoammo = 1294  --- id do item que será a munição.}if getPlayerStorageValue(cid, config.storageativ) > 0 thensetPlayerStorageValue(cid, config.storageativ, 0)doPlayerSendTextMessage(cid, 19, "You desactivated your "..getItemNameById(item.itemid)..", you're no longer attacking in area!")  elseif getPlayerStorageValue(cid, config.storageativ) <= 0 thensetPlayerStorageValue(cid, config.storageativ, 1)doPlayerSendTextMessage(cid, 19, "You activated your "..getItemNameById(item.itemid)..", now you'll attack in area for the price of a "..getItemNameById(config.ammo).."!")  endreturn trueend
Nesse exemplo que eu coloquei vc ativa a club de id 8927 e ela vai ativar um ataque em área soltando o efeito 34 mas gastando 1 small stone a cada hit.

 

Amigo o script esta muito bom, mas eu recebo este erro. Obs: estou usando TFS 1.0 versão 10.37 tibia.

http://i.imgur.com/ZjkB1n2.png

 

PS: eu não entendi direito essa parte só itendi que erra para botar o ID da munição mas o outro eu não sei o que botar.

local config = {storageativ = 76650, < aqui eu não sei>
smallstoneid = 1294 <Aqui e a munição>
}
Editado por ZORAN (veja o histórico de edições)

UM GRANDE ABRAÇO E FIQUE COM DEUS!

 

Meu Server:

 

( Pokémon Alpha )

 

http://pokemonalpha.zapto.org

 

Meus Trabalhos:

Meus Trabalhos:

1) Entrada Para Morden Acc Ou Gensio

2) Client Parecido com PXG (Não Criei só modifiquei um pouco)

 

3) Tutotial compilando TFS 1.0 com MSVC 2013 

Link para o post
Compartilhar em outros sites

storage é o storage que vai salvar se tá ativo ou desativo '-' se vc n sabe oque é, não mexe. O erro que tá retornando é na função getItemNameById... É uma função do 8.54, ela provavelmente deve ter mudado de nome, procura o nome da função nova, as vezes é uma mudança simpleszinha tipo

getItemNameById > doGetItemName (isso é um exemplo)

qnd vc achar, é só substituir nos scripts que vai ficar perfeito

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

Quando eu achar a solução posto aqui a correção, enquanto isso vou pesso que  deixem o topico aberto, Obrigado amigo e fique com Deus! (y)

UM GRANDE ABRAÇO E FIQUE COM DEUS!

 

Meu Server:

 

( Pokémon Alpha )

 

http://pokemonalpha.zapto.org

 

Meus Trabalhos:

Meus Trabalhos:

1) Entrada Para Morden Acc Ou Gensio

2) Client Parecido com PXG (Não Criei só modifiquei um pouco)

 

3) Tutotial compilando TFS 1.0 com MSVC 2013 

Link para o post
Compartilhar em outros sites

storage é o storage que vai salvar se tá ativo ou desativo '-' se vc n sabe oque é, não mexe. O erro que tá retornando é na função getItemNameById... É uma função do 8.54, ela provavelmente deve ter mudado de nome, procura o nome da função nova, as vezes é uma mudança simpleszinha tipo

getItemNameById > doGetItemName (isso é um exemplo)

qnd vc achar, é só substituir nos scripts que vai ficar perfeito

Amigo para arumar o problema e simples basta trocar de getItemNameById para getItemName , so que agora o script não funciona como deveria eu uso arma e clico nela para usar no monstro e ela não desconta a munição e não faz nada, a não ser me enviar as messagens do script primeiro a de ativado e depois a de desativado.

UM GRANDE ABRAÇO E FIQUE COM DEUS!

 

Meu Server:

 

( Pokémon Alpha )

 

http://pokemonalpha.zapto.org

 

Meus Trabalhos:

Meus Trabalhos:

1) Entrada Para Morden Acc Ou Gensio

2) Client Parecido com PXG (Não Criei só modifiquei um pouco)

 

3) Tutotial compilando TFS 1.0 com MSVC 2013 

Link para o post
Compartilhar em outros sites

getitem name não substitui a getitemnamebyID, são funções diferentes... em todo caso eu reescrevi o script sem a função getItemNameByid... agora deve funcionar

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

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 Nogard
      Não deixe seu evento de Natal para última hora, faltam apenas 4 dias. 

      Aproveite as sprites com desconto no site: https://otsprites.com
       
       
       

       

       
       
       
    • Por otpokesalense
      🧿Base Tibia Solebran totalmente otimizada!  
       
       ✔️ OTClient (Version Old);
      ✔️ Update 2.2;
      ✔️ Site Póprio;
      ✔️ Map Global
      ✔️ Bugs, Minimo (2x) talvez;
      ✔️ PVP 💯 Funcional.
       
       
      Get Servidor: https://files.fm/f/7qumr8943e 💸 Buy! otimo projeto para vc utilizá-lo.
      Lembrando:: ao comprar o download será disponibilizado automaticamente.
       
      🧑‍💻System Operacional: Windows (VPS)
      👨‍💻Programador (27) 998931903 - - - O Valor já inclui o serviço de programação! 🤗
       

       
       

       
       
    • Por Arkanjo39
      CUIDA, CUIDA E VEM CONHECER NOSSO SERVER. KING BAIAK ACABOU DE SER LANÇADO!!! VEM SER O TOP 1 Site com Otclient: https://kingbaiak.com/ PARA NOVOS JOGARES ADM TA DANDO AQUELA FORCINHA! SERVIDOR 8.60 COM RESETS, MONTARIAS E GOLDEN OUTFIT! INFORMAÇÕES BÁSICAS DO SERVIDOR: [+] MAPA BAIAK [+] HIGH EXP [+] RESETS COM + DAMAGE [+] AUTOLOOT AUTOMÁTICO [+] CITY DONATE [+] ROSHAMUUL, ORAMOND E NETHER [+] MONTARIAS E GOLDEN OUTFIT [+] INVASÃO DE MONSTROS AUTOMÁTICAS [+] DAILY MONSTER QUE APARECE AO LOGAR [+] MONTARIAS COM COMANDO !MOUNT [+] SISTEMA DE ROLETA ATUAL [+] CAST WATCH [+] FAST ATTACK [+] CAST ARROWS [+] PUSH CRUZADO [+] REWARD CHEST [+] WARSQUARE [+] COMBO EXP DE POTIONS [+] MINERAÇÃO COM LOJA [+] SISTEMA DE BOSS [+] CRITICAL/DODGE [500/500] [+] LIFE E MANA EM PORCENTAGEM* [+] VARIAS QUESTS [+] EVENTO DTT (AUTOMÁTICO) [+] EVENTO BATLEFIELD (AUTOMÁTICO) [+] EVENTO SNOWBALLWAR (AUTOMÁTICO) [+] EVENTO DESERT WAR (AUTOMÁTICO) [+] EVENTO ZOMBIE (AUTOMÁTICO) [+] EVENTO CAMPO MINADO (AUTOMÁTICO) [+] EVENTO TEAM BATLE (AUTOMÁTICO) [+] EVENTO CAPTURE THE FLAG (AUTOMÁTICO)
    • Por BTitan
      Baiak Titan: Uma Experiência Incomparável no Universo Baiak
       
      O Baiak Titan combina a nostalgia dos antigos tempos de OTServ com a inovação e modernidade atuais. Oferecemos um mapa vasto, com mais de 100 áreas de caça para explorar, além de vocações equilibradas para um PvP justo e emocionante. Diversos eventos automáticos ocorrem diariamente, garantindo diversão constante para os jogadores. O servidor conta com vários sistemas, como por exemplo, montarias para quem utiliza o cliente exclusivo, monstros do Tibia 9.6+, sistema de mineração, entre outros!
       
      Por Que Escolher o Baiak Titan?
       
      PvP de Alta Qualidade: Embora seja um servidor Baiak, nosso mapa é cuidadosamente projetado para proporcionar ganho de experiência sem perder a seriedade do jogo, oferecendo desafios instigantes e um equilíbrio perfeito para combates épicos.
      Jogabilidade Customizada: O mapa Baiak foi exclusivamente adaptado para promover intensas batalhas de PvP, com recursos inovadores que mantêm a jogabilidade sempre fresca e emocionante.

      Detalhes do Servidor:
       
      IP: baiaktitan.com Website: https://baiaktitan.com Account Manager: 1/1
        Principais Características:
       
      Uptime 24/7, Sem Lag: Jogue a qualquer hora com a estabilidade de servidores dedicados e de alta performance. Velocidade de Ataque Equilibrada: Ajustada perfeitamente para garantir combates dinâmicos e justos. Sistema de Cast: Transmita suas jogadas ao vivo e assista aos seus amigos em ação. Cliente Exclusivo: Software personalizado com novos outfits, montarias e criaturas, enriquecendo ainda mais sua experiência no jogo. Runas, Poções e Flechas Não Infinitas: Valorizamos uma jogabilidade mais estratégica e desafiadora, onde os recursos precisam ser geridos com sabedoria.
      Eventos Automáticos:
       
      Zombie Team Battle Monster Hunter Castle (War of Emperium) Capture The Flag DOTA Corrida Arena War (O último sobrevivente ganha) Fire Storm
        Taxas do Servidor:
       
      EXP: 200x (com stages)
      Skill: 100x
      Magic: 30x
      Loot: 3x
       
      Junte-se à nossa comunidade e viva essa aventura única. O Baiak Titan espera por você!
    • Por campospkks
      Servidor muito bem otimizado, com amplo map para uma diversão imperdível. 
       
      *  Quest System
      * bugs corrigidos 90,0%
      * Client Específico (V8)
      * Mobile Adaptavel e Otimizado
      * database.sql já com (Modulo Pix) 
      * site 95,9% atualizado (Troque, pois a marca já possuí proprietário)
      * Franquia Tibia Custom baseado em armas.
       
      Site Original: soulgun.com.br
      discord.gg/cCWcaMwjuB
      Relançamento Servidor 20-09-2024
      Horario 17:00
      whatsap Grupo
      https://chat.whatsapp.com/JsAyLAmwJQyGEWgHTI4096
      Video Do Game
      https://youtu.be/N8asxdnzmGw


×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo