Postado Setembro 12, 2014 10 anos [Action] Bomba Plástica/Plastic Bomb Bom galera, esse script é bem antigo..então eu o editei colocando algumas funções mais atuais (alterei pouca coisa). É simplesmente um item do qual você da Use (actionscript), você vai ficar com battle e parado por determinado tempo, até que a bomba esteja bem plantada e você possa sair correndo do local (ou fique nele se você for terrorista, homem-bomba ou maluco mesmo..) antes que ela exploda na área que você usou o item. A área do script é dada como 3x3, você pode alterar; o player que estiver no meio sempre irá receber o maior dano possível e os outros vão ter um dado aleatório (entre o dano mínimo e dano máximo designado na configuração do script). Crie um arquivo Lua na pasta data/actions/scripts nomeado por plasticbomb.lua e adicione o script ao mesmo: local PLANTING_DELAY = 5 --segundos que lava para plantar a bomba local EXPLOSION_DELAY = 5000 --tempo que leva para a bomba explodir (em milissegundos, ou seja, 5 segundos = 5000 milissegundos) local MAX_HIT = 1200 --hit máximo da bomba local MIN_HIT = 300 --hit mínimo da bomba local PVP = true --se habilita o PVP = true, senão (NON-PVP) = false {ou seja, se a bomba hitar em alguém o player vai ficar com PK ou não local PLAYERS = {} function isInArray(table, valor) for i,j in pairs(table) do if (j == valor) then return i end end return 0 end function explosion(info) area = { {0,0,0,0,0}, {0,1,1,1,0}, {0,1,1,1,0}, --área que a explosão da bomba vai pegar (no caso está 3x3), basta alterar 0 por 1 e vice-versa {0,1,1,1,0}, {0,0,0,0,0}, } hitpos = {x=info.pos.x, y=info.pos.y, z=info.pos.z, stackpos=253} center = {} center.y = math.floor(table.getn(area)/2)+1 for i in ipairs(area) do center.x = math.floor(table.getn(area[i])/2)+1 for j, v in ipairs(area[i]) do if (v == 1) then hitpos.x = info.pos.x + (j - center.x) hitpos.y = info.pos.y + (i - center.y) if (getTilePzInfo(hitpos) == 0) then victim = getThingfromPos(hitpos) effect = 4 if ((j == center.x) and (i == center.y)) then doSendAnimatedText(hitpos, "KABOOOOOM", TEXTCOLOR_RED) ---mensagem animada que aparece quando a bomba explode hitpoints = MAX_HIT effect = 5 else hitpoints = math.random(MIN_HIT, MAX_HIT) end if (isPlayer(victim.uid) == 1) then if (PVP == true) then doPlayerSendTextMessage(victim.uid, 20, "Você perdeu "..hitpoints.." pontos de vida pela bomba plástica do player "..getPlayerName(info.player).."'") else hitpoints = 0 end end if (isCreature(victim.uid) == 1) then doPlayerAddHealth(victim.uid, -hitpoints) end doSendMagicEffect(hitpos, effect) end end end end PLAYERS[isInArray(PLAYERS, info.player)] = 0 doAddCondition(info.player, 0) return 1 end function planting(info) if info.num == PLANTING_DELAY then doPlayerSendTextMessage(info.player, 22, "Bomba plástica plantada com sucesso!") doCreatureSetNoMove(cid, 1) addEvent(explosion, EXPLOSION_DELAY, info) else info.num = info.num + 1 doPlayerSendTextMessage(info.player, 22, info.num.."...") addEvent(planting, 1000, info) end return 1 end function onUse(cid, item, frompos, item2, topos) position = getThingPos(item.uid) if (getTilePzInfo(position) == 0) then if (isInArray(PLAYERS, cid) == 0) then table.insert(PLAYERS, cid) doSendMagicEffect(frompos, 3) info = {player = cid, pos = position, num = 1} doPlayerSendTextMessage(cid, 22, "Plantando a bomba...") doPlayerSendTextMessage(cid, 22, "1...") doAddCondition(cid, CONDITION_INFIGHT) doCreatureSetNoMove(cid, 1) doRemoveItem(item.uid, 1) addEvent(planting, 1000, info) else doPlayerSendCancel(cid,"Você só pode plantar uma bomba ao mesmo tempo.") end else doPlayerSendCancel(cid,"Você não pode plantar a bomba em uma PZ!") end return 1 end Agora, no diretório anterior (data/actions) abra o arquivo actions.xml e adicione a tag: <action itemid="4852" script="plasticbomb.lua" /> Créditos: Colex e eu, que editei 2 funções simples (quase nada).PS: Expliquei alguns detalhes para alterar os valores no script -- Enfim..é isso. Se te ajudei com o que postei, clique em Bizzle
Postado Setembro 15, 2014 10 anos Quando do use nele aparece assim: "Você não pode plantar a bomba em UMA PZ" I helped you ? REP +. Att: Abreu
Postado Setembro 19, 2014 10 anos Autor Quando do use nele aparece assim: "Você não pode plantar a bomba em UMA PZ" Verifique se o sqm onde você está tentando usar o item não é uma protection zone (pz), o item só pode ser usado fora da pz.. Se te ajudei com o que postei, clique em Bizzle
Postado Janeiro 17, 2015 10 anos aqui tambem deu isso ""Você não pode plantar a bomba em UMA PZ" alguem consseguil usar ?
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.