Ir para conteúdo

Pergunta

Olá Xtibianos.

 

Vim aqui no forum pedir a ajuda de vcs.

 

Tenho um ot novo que começei a editar, queria fazer umas coisas novas nele.

 

Vim pedir dois scripts de Magia por Item e Blessing por Item.

 

O script de Magia por Item é o seguinte:

 

Um helmet (id 10562) que ao ser usado o player podia usar tal magia.

 

O script de Blessing por Item é o seguinte:

 

Um item (id 2187) que ao dar use ele sumirá e dará um blessing (as vocations 0, 1 e 2) que perde 2% por level e pode perder item.

 

Pesso a vocês que ao fazer o script colocar como editalo tipo como editar a quantidade de % que cada lvl perde.

 

Rep+ pra quem conseguir.

Link para o comentário
https://xtibia.com/forum/topic/200888-magia-e-blessing-por-item/
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Vá a pasta data/movements/scripts e crie um arquivo chamado helmetspell.lua

Adicione o script:

local item_id = 10562
local slot = 1
function onEquip(cid, item)
if getPlayerSlotItem(cid, slot).itemid == item then
setPlayerStorageValue(cid, 2020)
return true
end
end

 

Novamente, crie um arquivo chamado helmetspell2.lua

Adicione o script:

function onDeEquip(cid, item)
setPlayerStorageValue(cid, 2020, 0)
return true
end

 

Agora em data/movements abra o arquivo movements.xml

Adicione as tags:

<movevent type="Equip" itemid="10562" slot="head" script="helmetspell.lua"/>
<movevent type="DeEquip" itemid="10562" slot="head" script="helmetspell2.lua"/>

 

Abra a pasta data/actions/scripts e crie um arquivo chamado itembless.lua

 

local config = {

vocs = {0, 1, 2},

item_id = 2187,

lossPercent = 2,

}

function onUse(cid, item, frompos)

if getPlayerItemCount(cid, config.item) >= 1 and getPlayerVocation(cid) == config.vocs then

doPlayerRemoveItem(cid, config.item)

doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, config.lossPercent)

doSendMagicEffect(getPlayerPosition(cid), 29)

doSendPlayerTextMessage(cid, 27, "You are been blessed.")

else

doSendPlayerTextMessage(cid, 27, "You cannot use this item.")

end

end

 

Em vermelho são os ids das vocations que podem usar o item e ganhar a bless.

Em amarelo é o id do item.

Em azul é a porcentagem de exp que o player perde ao morrer.

Em roxo é a mensagem enviada ao player quando recebe a bless.

Em rosa é a mensagem enviada ao player quando não é nenhuma das vocations expecificadas.

 

Agora em data/actions abra o arquivo actions.xml

Adicione a tag:

<action itemid="xxxx" event="script" value="itembless.lua"/>

Em xxxx coloque o ID do item.

 

Agora enquanto a spell que só poderá ser usada pelo player quando usar o helmet, você terá de adicionar:

function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 2020) >= 1 then
return false
end

no arquivo .lua da spell, depois da parte:

function onCastSpell(cid, var)

Ficando então como exemplo:

...
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 2020) >= 1 then
return false
end
...

(...) representa que há continuação antes e após as partes.

Editado por HidekiKty
Link para o comentário
https://xtibia.com/forum/topic/200888-magia-e-blessing-por-item/#findComment-1408920
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...