Postado Julho 30, 2012 12 anos 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 Editado Julho 30, 2012 12 anos por MonsterOt (veja o histórico de edições)
Postado Julho 30, 2012 12 anos DOUBLE POST É PROIBIDO. REPORTADO <center><a href="http://otservlist.org/ots/1378930"><img src="http://otservlist.org/html/signatures/1378930_1.png" alt="" style="border: 0px"></a></center>
Postado Julho 30, 2012 12 anos Autor ah mano e vc crio uma conta so pra enche o saco? e ganha um post falando isso?
Postado Julho 31, 2012 12 anos 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 "
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.