Ir para conteúdo
Entre para seguir isso  
vamppuncker

Bomba!

Recommended Posts

vamppuncker    2
vamppuncker

Então, eu estava aqui no pc, brizando, quando tive a vontade de explodir alguma coisa ideia de fazer um tipo de bomba.

 

Nome: BOMBA!

Versão: 8.6 (acredito que funcione em outros)

 

O que ele faz ?

Bem, é o seguinte: você clica em um item (que tenha use with...), aí vc clica em qualquer lugar a sua volta, e é adicionada uma action naquele tile.

 

Em data/actions/scripts copie e renomeie qualquer arquivo e coloque isso:

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

local storage = 5557
local time = 2 -- tempo em minutos

        if (item2.actionid == 10201) or (isCreature(item2.uid)) or (isItemMovable(item2.uid)) or (isItemStackable(item2.uid)) or (getTilePzInfo(topos) == TRUE) then
           doPlayerSendCancel(cid, "You can't plant here.")
           doSendMagicEffect(getCreaturePosition(cid), 2) 
           return true
        end

        if not (isItemMovable(item2.uid)) then
           if (exhaustion.get(cid, storage) == FALSE) then
           doItemSetAttribute(doCreateItem(getItemIdByName(getItemName(item2.uid)), 0, topos), "aid", 10201)
           doSendAnimatedText(topos, "BOMB!", 180)
           doCreatureSay(cid, "The bomb as been planted!", TALKTYPE_ORANGE_1)
           doSendMagicEffect(topos, 13)
           doSendMagicEffect(getCreaturePosition(cid), 13)
           doSendDistanceShoot(getCreaturePosition(cid), topos, 29)
           doRemoveItem(item.uid, 1)
           exhaustion.set(cid, storage, time * 60)
           else
               doPlayerSendCancel(cid, "You need wait ".. exhaustion.get(cid, storage) .." to plant the bomb again.")                  
               doSendMagicEffect(getCreaturePosition(cid), 2)
               return true
           end
        end     
 return true
end               

 

Depois em data/actions abra o arquivo (actions.xml) e coloque isso:

<action itemid="[color="red"]id do item[/color]" allowfaruse="1" blockwalls="1" script="[color="red"]nome do arquivo.lua[/color]"/>

 

Pronto, a primeira parte já está pronta !

 

Oloco tiu ? ta me tirano ? não acabo ainda ?

 

Agora precisamos fazer um movement, para a sua bomba explodir u.u

 

Em data/movements/scripts copie e renomeie qualquer arquivo e coloque isso:

function onStepIn(cid, item, pos)
        if (isPlayer(cid)) then
           local rand = math.random(2,6) * getPlayerLevel(cid)
           if doItemSetAttribute(doCreateItem(getItemIdByName(getItemName(item.uid)), 0, getCreaturePosition(cid)), "aid", 0) == TRUE then
              if (getCreatureCondition(cid, CONDITION_MANASHIELD) == TRUE) and (getCreatureMana(cid) > 0) then
                 if getCreatureMana(cid) < rand then
                    doCreatureAddHealth(cid, -(getCreatureMana(cid)) - (rand))
                    doCreatureAddMana(cid, -(getCreatureMana(cid)))
                 end
                 doCreatureAddMana(cid, -rand)
                 doAreaCombatHealth(cid, CONST_ME_PHYSICALDAMAGE, getCreaturePosition(cid), 4, 0, 0, 6)
              else
                  doCreatureAddHealth(cid, -rand)
                  doSendAnimatedText(getCreaturePosition(cid), "-"..rand, 180)
                  doAreaCombatHealth(cid, CONST_ME_PHYSICALDAMAGE, getCreaturePosition(cid), 4, 0, 0, 6)
              end
           end
        end
 return true
end

 

Depois em data/movements abra o arquivo (movements.xml) e coloque isso:

<movevent type="StepIn" actionid="[color="red"]10201[/color]" event="script" value="[color="red"]nome do arquivo.lua[/color]"/>

 

Obs:

 

1: Não sei se já existe esse tipo de script aqui.

2: O script não ta 100%, intão pode haver bugs.

3: Qualquer duvida, ou erro, posta aqui que eu tento ajudar.

4: Pode conter erros de inglês no script.

 

SS:

imagemybm.png

 

Uploaded with ImageShack.us

 

Até + ;]

Editado por vamppuncker

Compartilhar este post


Link para o post
Lwkass    1
Lwkass

Obrigado pela sua contribuição !

Compartilhar este post


Link para o post
Sky Pirate Fer'z    0
Sky Pirate Fer'z

agora sim xd

Editado por Sky Pirate Fer'z

Compartilhar este post


Link para o post
Miltonhit    4
Miltonhit

a ideia está otima, só falta dar uma aprimorada... por exemplo, depois de um certo tempo a bomba é desarmada sozinha, pro servidor não ficar "lotado" de bombas

Compartilhar este post


Link para o post
vamppuncker    2
vamppuncker

sim, vo vê se coloco isso dps. obg pela ideia ;D

Compartilhar este post


Link para o post
dalvorsn    46
dalvorsn

Ta ficando legal

Sugiro que para ficar mais real a bomba, faça uma explosão de dentro pra fora e com diferentes danos, quanto mais afastado da bomba, menor o dano :D

e tira o allowforuse da tag, não faz sentido plantar uma bomba de longe

 

e nessa parte:

doCreatureAddHealth(cid, -(getCreatureMana(cid)) - (rand))

Acho que o correto seria assim:

doCreatureAddHealth(cid, -(rand - getCreatureMana(cid)))

Ai ele realmente vai tirar o que falta pro dano completo, da maneira que vocẽ colocou ele tira o rand + a mana do cara

Compartilhar este post


Link para o post
markindoot    0
markindoot

tem como fazer uma bomba assim:

o player lança ela de qualquer distancia,

ai a bomba conta 3 segundos e explodi,

mas nao hita no player que taco ela!

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×