marleide,
provavelmente vc n utiliza um ot com capacidade mayNot...
tem uma forma de c arrumar isso...porém vc tera de deixar para traz a parte do script "anti" log out e move
ou seja, o player podera se mover enquanto implanta e poderá logar tb
ficando assim:
local PLANTING_DELAY = 5 --seconds
local EXPLOSION_DELAY = 5000 --milliseconds
local MAX_HIT = 500
local MIN_HIT = 100
local PVP = true -- true for PVP, false for Non-PVP
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},
{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)
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,"You have lost "..hitpoints.." hitpoints by "..getPlayerName(info.player).."'s plastic bomb")
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
return 1
end
function planting(info)
if info.num == PLANTING_DELAY then
doPlayerSendTextMessage(info.player,22,"Plastic Bomb successfully planted!")
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,"Planting the bomb...")
doPlayerSendTextMessage(cid,22,"1...")
doRemoveItem(item.uid,1)
addEvent(planting,1000,info)
end
else
doPlayerSendCancel(cid,"You can not plant this bomb in a PZ!")
end
return 1
end
não testei
espero ter ajudado
EDIT: Aproveitando o belo tópico revivido,
tenho uma dúvida:
fui tentar fazer uma segunda bomb mais forte e talz porém não consegui,
parece que elas meio que "se misturão" e prevalece a segunda(a mais forte)
a primeira fica bugada e não funciona direito
se alguém souber eu agradeço
Abraços