Ir para conteúdo

Featured Replies

Postado

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!

  • Respostas 6
  • Visualizações 2.3k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 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\

  • 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 m

Postado

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)

Postado
  • Autor

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)

Postado

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

Postado
  • Autor

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)

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo