Ir para conteúdo

Featured Replies

Postado

Se alguem souber configurar 100% esse script posta q eu edito!

vai em data/actions/scripts crie 1arquivo com nome lever.lua e cole isso:

function getPlayersInRange(position, radiusx, radiusy)

local creaturesList = {}

for x = -radiusx, radiusx do

for y = -radiusy, radiusy do

if not (x == 0 and y == 0) then

local creature = getTopCreature({x = position.x+x, y = position.y+y, z = position.z})

if creature.type == 1 then

table.insert(creaturesList, creature.uid)

end

end

end

end

local creature = getTopCreature(position)

if creature.type == 1 then

if not(table.find(creaturesList, creature.uid)) then

table.insert(creaturesList, creature.uid)

end

end

return creaturesList

end

local t, n, storage = {

{x=1307, y=1044, z=7},

{x=1307, y=1045, z=7},

{x=1307, y=1046, z=7},

{x=1307, y=1047, z=7}

}, {

{x=1300, y=1031, z=7},

{x=1314, y=1031, z=7},

{x=1300, y=1041, z=7},

{x=1314, y=1041, z=7}

}, {

placed = 10001,

max = 10002,

radius = 10003

}

function onUse(cid, item, fromPosition, itemEx, toPosition)

if item.itemid == 1946 then

return doTransformItem(item.uid, item.itemid - 1)

end

local v = getPlayersInRange({x=1031, y=1020, z=7}, 7, 5)

if #v > 0 then

return doPlayerSendCancel(cid, "Please wait for the current match to end.")

end

local players = {}

for i = 1, #t do

local v = getTopCreature(t).uid

players = isPlayer(v) and v or nil

end

if #players < 2 then

return doPlayerSendCancel(cid, "You need at least 2 players to enter.")

end

local first = players[1] and 1 or players[2] and 2 or players[3] and 3 or players[4] and 4

for i = 1, 4 do

if players then

setPlayerStorageValue(players, storage.placed, 0)

setPlayerStorageValue(players, storage.max, 1)

setPlayerStorageValue(players, storage.radius, 1)

doSendMagicEffect(t, CONST_ME_TELEPORT)

doTeleportThing(players, n)

doSendMagicEffect(n, CONST_ME_TELEPORT)

end

end

doTransformItem(item.uid, item.itemid + 1)

return true

end

em actions.xml cole isso.

<action uniqueid="10033" script="lever.lua"/>

Uniqueid da alavanca.

agora em talkactions/scripts/ crie 1 arquivo com nome bomb.lua e cole isso:

function getPlayersInRange(position, radiusx, radiusy)

local creaturesList = {}

for x = -radiusx, radiusx do

for y = -radiusy, radiusy do

if not (x == 0 and y == 0) then

local creature = getTopCreature({x = position.x+x, y = position.y+y, z = position.z})

if creature.type == 1 then

table.insert(creaturesList, creature.uid)

end

end

end

end

local creature = getTopCreature(position)

if creature.type == 1 then

if not(table.find(creaturesList, creature.uid)) then

table.insert(creaturesList, creature.uid)

end

end

return creaturesList

end

function isPositionInArray(haystack, needle)

for i = 1, #haystack do

if haystack.x == needle.x and haystack.y == needle.y and haystack.z == needle.z then

return true

end

end

return false

end

local t = {

from = {x=1300, y=1031, z=7},

to = {x=1314, y=1041, z=7},

storage = {

placed = 10001,

max = 10002,

radius = 10003

},

delay = 3000,

bombID = 10570,

effect = CONST_ME_FIREAREA,

blockID = 9421,

text = "BOOM!",

temple = {x=1033, y=1015, z=7},

exceptions = {

{x=1300, y=1031, z=7},

{x=1301, y=1031, z=7},

{x=1300, y=1032, z=7},

{x=1300, y=1041, z=7},

{x=1301, y=1041, z=7},

{x=1300, y=1040, z=7},

{x=1314, y=1031, z=7},

{x=1013, y=1031, z=7},

{x=1014, y=1032, z=7},

{x=1314, y=1041, z=7},

{x=1313, y=1041, z=7},

{x=1314, y=1040, z=7}

}

}

function reset()

local dummy = doCreateItem(10570, 1, {x=1295,y=1034,z=7})

for x = t.from.x, t.to.x do

for y = t.from.y, t.to.y do

local pos = {x=x,y=y,z=t.from.z}

local i1, i2, i3 = getTileItemById(pos, 8304).uid, getTileItemById(pos, 8306).uid, getTileItemById(pos, 8310).uid

if i1 > 0 then

doRemoveItem(i1)

end

if i2 > 0 then

doRemoveItem(i2)

end

if i3 > 0 then

doRemoveItem(i3)

end

if queryTileAddThing(dummy, pos, 4) == RETURNVALUE_NOERROR and not isPositionInArray(t.exceptions, pos) then

doCreateItem(t.blockID, 1, pos)

end

end

end

doRemoveItem(dummy)

end

local function boom(pos, cid)

local v = getTileItemById(pos, t.bombID).uid

if isPlayer(cid) and isInRange(getThingPos(cid), t.from, t.to) then

setPlayerStorageValue(cid, t.storage.placed, getPlayerStorageValue(cid, t.storage.placed) - 1)

doCreatureSay(cid, t.text, TALKTYPE_ORANGE_2, false, nil, pos)

doSendMagicEffect(pos, t.effect)

local c = getTopCreature(pos).uid

if isPlayer© and isInRange(getThingPos©, t.from, t.to) then

doSendMagicEffect(pos, CONST_ME_GIFT_WRAPS)

doTeleportThing(c, t.temple)

doSendMagicEffect(t.temple, CONST_ME_MORTAREA)

local n1, n2 = getPlayerName©, getPlayerName(cid)

doBroadcastMessage(n1==n2 and n1 .. " killed " .. (getPlayerSex© == 0 and "her" or "him") .. "self!" or n1 .. " was killed by " .. n2 .. " in bomberman!", MESSAGE_STATUS_WARNING)

local a = getPlayersInRange({x=32022, y=32353, z=7}, 7, 5)

if #a < 2 then

doBroadcastMessage(getPlayerName(a[1]) .. " has won the bomberman match!", MESSAGE_STATUS_WARNING)

doPlayerAddExperience(a[1], 15000)

doTeleportThing(a[1], t.temple)

doSendMagicEffect(t.temple, CONST_ME_FIREWORK_RED)

reset()

reset()

end

else

local b = getTileItemById(pos, t.blockID).uid

if b > 0 then

doSendMagicEffect(pos, CONST_ME_BLOCKHIT)

doRemoveItem(b)

local r = math.random(10)

if r < 4 then

doCreateItem(r==1 and 8304 or r==2 and 8306 or r==3 and 8310, 1, _pos)

end

end

end

local N, E, W, S, l = 1, 1, 1, 1, getPlayerStorageValue(cid, t.storage.radius)

function loopDir(dir)

local _pos = {x=pos.x+(dir=="E" and E or dir=="W" and -W or 0), y=pos.y+(dir=="N" and -N or dir=="S" and S or 0), z=pos.z}

if queryTileAddThing(v, _pos, 4) == RETURNVALUE_NOERROR or getTileItemById(_pos, t.blockID).uid > 0 then

doSendMagicEffect(_pos, t.effect)

local c = getTopCreature(_pos).uid

if isPlayer© and isInRange(getThingPos©, t.from, t.to) then

doSendMagicEffect(_pos, CONST_ME_GIFT_WRAPS)

doTeleportThing(c, t.temple)

doSendMagicEffect(t.temple, CONST_ME_MORTAREA)

local n1, n2 = getPlayerName©, getPlayerName(cid)

doBroadcastMessage(n1==n2 and n1 .. " killed " .. (getPlayerSex© == 0 and "her" or "him") .. "self in bomberman!" or n1 .. " was killed by " .. n2 .. " in bomberman!", MESSAGE_STATUS_WARNING)

local a = getPlayersInRange({x=32022, y=32353, z=7}, 7, 5)

if #a < 2 then

doBroadcastMessage(getPlayerName(a[1]) .. " has won the bomberman match!", MESSAGE_STATUS_WARNING)

doPlayerAddExperience(a[1], 15000)

doTeleportThing(a[1], t.temple)

doSendMagicEffect(t.temple, CONST_ME_FIREWORK_RED)

reset()

reset()

return "endgame"

end

else

local b = getTileItemById(_pos, t.blockID).uid

if b > 0 then

doSendMagicEffect(_pos, CONST_ME_BLOCKHIT)

doRemoveItem(b)

local r = math.random(10)

if r < 4 then

doCreateItem(r==1 and 8304 or r==2 and 8306 or r==3 and 8310, 1, _pos)

end

return false

end

end

elseif queryTileAddThing(v, _pos, 4) == 3 then

return false

end

return true

end

while N <= l do

local q = loopDir("N")

if q == "endgame" then

return doRemoveItem(v, 1)

elseif not q then

break

else

N = N + 1

end

end

while E <= l do

local q = loopDir("E")

if q == "endgame" then

return doRemoveItem(v, 1)

elseif not q then

break

else

E = E + 1

end

end

while W <= l do

local q = loopDir("W")

if q == "endgame" then

return doRemoveItem(v, 1)

elseif not q then

break

else

W = W + 1

end

end

while S <= l do

local q = loopDir("S")

if q == "endgame" then

return doRemoveItem(v, 1)

elseif not q then

break

else

S = S + 1

end

end

end

doRemoveItem(v, 1)

end

function onSay(cid, words, param, channel)

if isInRange(getThingPos(cid), t.from, t.to) then

setPlayerStorageValue(cid, t.storage.placed, math.max(getPlayerStorageValue(cid, t.storage.placed), 0))

setPlayerStorageValue(cid, t.storage.max, math.max(getPlayerStorageValue(cid, t.storage.max), 1))

setPlayerStorageValue(cid, t.storage.radius, math.max(getPlayerStorageValue(cid, t.storage.radius), 1))

if getPlayerStorageValue(cid, t.storage.placed) < getPlayerStorageValue(cid, t.storage.max) then

doCreateItem(t.bombID, 1, getThingPos(cid))

addEvent(boom, t.delay, getThingPos(cid), cid)

setPlayerStorageValue(cid, t.storage.placed, getPlayerStorageValue(cid, t.storage.placed) + 1)

end

return true

end

end

em talkactions.xml cole isso.

<talkaction words="z;Z" event="script" value="bomb.lua"/>

download area de bomberman.

http://www.speedysha.../bomberman.otbm

scan : https://www.virustot...sis/1343318075/

S.s

semttuloobw.png

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

  • Respostas 9
  • Visualizações 1.4k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

Postado

MonsterOT

o usario tem razão o double post é proibido sim por favor leia as regras

Calopsita

nao precisa floodar dizendo que é proibido apenas reporte o membro infrator e moderação secundaria tbm é conta as regras por favor as leia


Regras Gerais 

 

"Califórnia Brasileira :cool: "

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo