Ir para conteúdo

Armazenando Mana Com Ectoplasma Container


frerety

Posts Recomendados

HiHo!

bom... tinha mt tempo que eu não postava e resolvi fazer um script só para postar msm...

Esse script usa os 2 "ectoplasma container (IDs 4863 / 4864)" para armazenar 100 de mana. O player pega um vazio e se ele tiver 100 de mana ou mais essa mana é armazenada no container (ou seja, remove do player e passa pro container, que fica cheio). Quando o player usa o container cheio, o container fica vazio e o player recupera 100 de mana.

OBS .: Você poderá configurar facilmente se o player pode roubar mana de outros players ou não

Let's go!

crie um arquivo chamado ectoplasma.lua (data/actions/scripts) e coloque isso dentro:

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

poderoubarmana = 1 -- 1 para sim, 0 para não (veja abaixo)

qntidadedmana = 100 -- qntidade de mana a ser armazenada

if item.itemid == 4863 then

testnpc = getPlayerLevel(item2.uid) -- verifica se não eh npc

if getPlayerMana(item2.uid) >= qntidadedmana and item2.itemid == cid and testnpc > 0 then

  testgm = getPlayerAccess(item2.uid) -- verifica se não eh gm

  if poderoubarmana == 1 and testgm < 1 then

   doPlayerAddMana(item2.uid,-qntidadedmana)

   doPlayerSendCancel(item2.uid,"Ops... Alguem roubou sua mana.")

   doTransformItem(item.uid,4864)

   doPlayerSendCancel(cid,"Mana armazenada.")

  elseif poderoubarmana == 0 then

   doPlayerAddMana(cid,-qntidadedmana)

   doTransformItem(item.uid,4864)

   doPlayerSendCancel(cid,"Mana armazenada.")

  else

   doPlayerSendCancel(cid,"Você não pode pegar mana de GM\'s.")

  end

  doSendMagicEffect(topos,0)

else

  doPlayerSendCancel(cid,"Você não tem mana suficiente.")

  doSendMagicEffect(topos,2)

end

elseif item.itemid == 4864 then

doTransformItem(item.uid,4863)

doPlayerAddMana(cid,qntidadedmana)

doPlayerSendCancel(cid,"Mana gasta.")

doSendMagicEffect(topos,0)

end

return 1

end

Alterações Necessárias:

.: poderoubarmana -> coloque 1 se o player puder roubar mana de outros players para armazenar no container e coloque 0 se o player não puder roubar mana.

.: qntidadedmana -> coloque o tanto de mana que pode ser armazenado no container.

Agora vá em actions.xml (data/actions) e, logo após "<actions>" adicione:

<action itemid="4863" script="ectoplasma.lua" />

<action itemid="4864" script="ectoplasma.lua" />

Agora digite "/reload actions" ou resete seu server.

FlW

CyA!

Link para o comentário
Compartilhar em outros sites

@frerety

muito bom o tuto... mas eu queria saber:

-Tem Como Fazer a Pessoa Ganhar ML com isso?

tipow:

doPlayerAddSkillTrY(cid,ML) ??

Atenciosamente,

Drakulla

Link para o comentário
Compartilhar em outros sites

HiHo!

@drakulla

de acordo com o CVS não existe uma função que altera o Ml do player... para add essa função você precisa saber compilar OtServers... se vc souber e estiver interessado msg me que eu ti doh uma ajuda xD...

FlW

CyA!

Link para o comentário
Compartilhar em outros sites

Muito legal!E muito criativo!

Agora eu pergunto ah um limite no container?

Bem se não houver porque teria 2 hehe

Ah como limitar?

E outra pergunta ah como fazer mais contair?

acho que só ;D

hauhaua

Faço muitas pergunta =/

hehe

Abraços.

Link para o comentário
Compartilhar em outros sites

HiHo!

@Sir Picaralhos

Sim... há um limite no container que você pode setar na variável qntidadedmana. Se ele pegar essa quantia de mana, ele transforma no ectoplasma cheio... se não ele fica vazio. Na verdade isso não armazena realmente... Funciona assim: Se ele tirar a mana de um player ou sua, ele se transforma em ectoplasma container cheio... Aih qndo vc der use no ectoplasma cheio já vai adicionar a quantidade de mana que é retirada (ele pega o valor da variável qntidadedemana tbm ^^...`

Para fazer mais containers é só criar o container vazio normalmente... ^^

/i 4863 1

Espero ter ajudado

FlW

CyA!

Link para o comentário
Compartilhar em outros sites

ae, nem tinha visto esta action

fico muito boa, parabens frerety

gostei do seu trabalho, boa imaginação e bem codificado

Link para o comentário
Compartilhar em outros sites

po lek gostei muito fiko d++

vlw msm agora vo poder coloca issu no meu server...e tbm eu concordo com o colex ta bem codificado ;D

//Yours Ablankzin

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...