Ir para conteúdo

[Action] Mina


Faisher

Posts Recomendados

Primeiro, va para actions / scripts e crie um arquivo chamado mina.lua e adhicionar o seguinte:

function isWalkable(pos, creature, proj, pz)-- by Nord
       if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end
       if getTopCreature(pos).uid > 0 and creature then return false end
       if getTileInfo(pos).protection and pz then return false, true end
       local n = not proj and 3 or 2
       for i = 0, 255 do
               pos.stackpos = i
               local tile = getTileThingByPos(pos)
               if tile.itemid ~= 0 and not isCreature(tile.uid) then
                       if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then
                               return false
                       end
               end
       end
       return true
end
function getTime(s)
       local n = math.floor(s / 60)
       s = s - (60 * n)
       return n, s
end
local items = {
[2554] = {
storagetime = 6423356224333, 
time = 13,
aid = 4444
}
}
local bombstorage = 3847757422
function onUse(cid, item, fromPosition, itemEx, toPosition) -- Script by Xafterin
local m = items[item.itemid]
if m then
	if not isWalkable(toPosition, false, false, false) then
		return doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"You cannot throw the ".. getItemNameById(item.itemid) .." here!.")
	end
	if getTilePzInfo(getCreaturePosition(cid)) or getTilePzInfo(toPosition) then 
		return doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"You cannot use this weapon in a protection zone!.")
	end
	local time = m.time
	if os.time()-getPlayerStorageValue(cid, m.storagetime)+1 <= time then
		minutes,seconds = getTime(time-(os.time()-getPlayerStorageValue(cid, m.storagetime)))
		return  doPlayerSendTextMessage(cid, 27, "Wait "..seconds.." seconds.")
	end		
	doItemSetAttribute(itemEx.uid, "aid", m.aid)
	doItemSetAttribute(itemEx.uid, "description", getPlayerName(cid))
	setPlayerStorageValue(cid, m.storagetime, os.time())
	doPlayerAddSkillTry(cid, 5, 1)   
end
return true
end

 

 

Va para actions.xml

<action itemid="2554" event="script" value="mina.lua" allowfaruse="1"/>

 

Movement:

local mina = {
[4444] = 	{delay  = 1, -- seconds
mindamage = -14434, 
maxdamage = -304343, 
damagetype = COMBAT_FIREDAMAGE}
}

function onStepIn(cid, item, position, fromPosition)
local m = mina[item.actionid]
local function boom(cid, min, max, damagetype, pos)
-- COMBAT FUNCTION --	
local area = {
	{x = pos.x+1, y = pos.y, z = pos.z},
	{x = pos.x, y = pos.y+1, z = pos.z},
	{x = pos.x-1, y = pos.y, z = pos.z},
	{x = pos.x+1, y = pos.y+1, z = pos.z},
	{x = pos.x-1, y = pos.y-1, z = pos.z},
	{x = pos.x, y = pos.y-1, z = pos.z},
	{x = pos.x+1, y = pos.y-1, z = pos.z},
	{x = pos.x-1, y = pos.y+1, z = pos.z},
	{x = pos.x, y = pos.y, z = pos.z}
	}
for i = 1,#area do
	doAreaCombatHealth(0, damagetype, area[i], 0, min, max, 0) 
end
return true
end
if getPlayerName(cid) == getItemAttribute(item.uid, "description") then
	return doPlayerSendCancel(cid, "This is your bomb.")
end
addEvent(boom, m.delay * 1000, cid, m.min, m.max, m.damagetype, position)
doItemEraseAttribute(item.uid, "aid")
return true
end

 

 

movements.xml

<movevent type="StepIn" actionid="4444" event="script" value="mina.lua"/>

Editado por Faisher
Link para o comentário
Compartilhar em outros sites

Yes, exactly.

 

More comments :D

 

 

PD: I forgot the movement script sorry!

 

Movement:

local mina = {
[4444] = 	{delay  = 1, -- seconds
mindamage = -14434, 
maxdamage = -304343, 
damagetype = COMBAT_FIREDAMAGE}
}

function onStepIn(cid, item, position, fromPosition)
local m = mina[item.actionid]
local function boom(cid, min, max, damagetype, pos)
-- COMBAT FUNCTION --	
local area = {
	{x = pos.x+1, y = pos.y, z = pos.z},
	{x = pos.x, y = pos.y+1, z = pos.z},
	{x = pos.x-1, y = pos.y, z = pos.z},
	{x = pos.x+1, y = pos.y+1, z = pos.z},
	{x = pos.x-1, y = pos.y-1, z = pos.z},
	{x = pos.x, y = pos.y-1, z = pos.z},
	{x = pos.x+1, y = pos.y-1, z = pos.z},
	{x = pos.x-1, y = pos.y+1, z = pos.z},
	{x = pos.x, y = pos.y, z = pos.z}
	}
for i = 1,#area do
	doAreaCombatHealth(0, damagetype, area[i], 0, min, max, 0) 
end
return true
end
if getPlayerName(cid) == getItemAttribute(item.uid, "description") then
	return doPlayerSendCancel(cid, "This is your bomb.")
end
addEvent(boom, m.delay * 1000, cid, m.min, m.max, m.damagetype, position)
doItemEraseAttribute(item.uid, "aid")
return true
end

 

 

movements.xml

<movevent type="StepIn" actionid="4444" event="script" value="mina.lua"/>

Editado por Faisher
Link para o comentário
Compartilhar em outros sites

Gringo is an expression that is used to denominate the mexican people, I am not mexican, I am spanish, then, BE QUIET PLEASE ;)

And I think the idea of a mine is pretty clear, you plant the mine and if someone steps on it, BOOM, it explodes. Remember this: Do not judge without knowing.

 

br:

 

Gringo é uma expressão que é usada para denominar o povo mexicano, eu não sou mexicana, eu sou espanhol, então, fique quieto por favor;)

E eu acho que a idéia de uma mina é muito claro, que você planta da mina e os passos, se alguém sobre ele, BOOM, ele explode.

 

Lembre-se disto: Não julgue sem saber.

Editado por Faisher
Link para o comentário
Compartilhar em outros sites

Olha preguiçosa corda Português ....

Cave maldita merda bandido ...

Ele está trazendo um novo script para usar o maldito noob que não importa o que a vida usada para aprender a apreciar um roteiro de onde vem bastardos bastardo estúpido

 

PORTUGUÊS ódio merda como você

Miren malditos portugueses cuerda de vagos ....

Cueva de malditos malandro de mierda...

El está trayendo un script nuevo para ustedes malditos noob que igual lo utilizaran no tienen vida aprendan a apreciar un script venga de donde venga idiotas malparidos hijos de puta

 

Odio los PORTUGUESES de mierda como ustedes :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley: :angrysmiley:

Editado por 132820
Link para o comentário
Compartilhar em outros sites

  • 6 months later...

PORRA QUE GRINGO OTÁRIO

AEUHAUHAUHEUHAEHUAEHUAEHUAEHUAE

Nunca ri tanto na minha vida.

 

Amigão, gringo é uma gíria, que quer dizer estrangeiro.

 

FODA-SE de onde você é, ou o que seu script faz, estou dizendo para você falar em PORTUGUÊS,

que é a língua do fórum.

 

Pro outro gringo otário ai, se você não gosta de BRs, tá fazendo o quê no fórum ?

Rapá daqui seu lixo, minguem te quer aqui.

 

To cansando desses gringos sempre xingando os brasileiros, tratando agente como se fossemos inferiores,

tá na hora de parar de tratar ele como normais, e tratar eles como eles nos tratam...

Afinal, alguns dos maiores programadores, e OTServers do mundo, adivinha ? São brasileiros.

Editado por linkay
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...