Aleada
Unknown Member
- Joined
- Mar 14, 2013
- Messages
- 231
- Reaction score
- 7
Heya everyone, I'm trying to make a script and it works fine but if someone is blocking it can add up the "addEvents" pretty quickly:
I added a "Restart" counter to see how many times it adds up and it got to about 86 within 30 seconds :/
I've tried to shorten it / change it so it would only do addEvent one time if something went wrong but I completely failed rofl, I tried to use the "for" loop with no luck of course :/
Anyways, here's the script! If anyone could help, that would be amazing!
I added a "Restart" counter to see how many times it adds up and it got to about 86 within 30 seconds :/
I've tried to shorten it / change it so it would only do addEvent one time if something went wrong but I completely failed rofl, I tried to use the "for" loop with no luck of course :/
Anyways, here's the script! If anyone could help, that would be amazing!
Code:
local pos = {
pos1 = {x = 475, y = 560, z = 7},
pos2 = {x = 476, y = 560, z = 7},
pos3 = {x = 477, y = 560, z = 7},
pos4 = {x = 475, y = 558, z = 7},
pos5 = {x = 476, y = 558, z = 7},
pos6 = {x = 477, y = 558, z = 7},
pos7 = {x = 474, y = 557, z = 7}
}
Restart = 0
local function South_Fix()
if getTileItemById(pos.pos1, 2257).uid > 0 then
local p = getTopCreature(pos.pos1).uid
if p == 0 then
doRemoveItem(getTileItemById(pos.pos1, 2257).uid)
doCreateItem(1050, 1, pos.pos1)
else
addEvent(South_Fix, 10000)
Restart = Restart + 1
doBroadcastMessage("Restarts: " .. Restart .. " times.")
end
elseif getTileItemById(pos.pos1, 1050).uid <= 0 then
local p = getTopCreature(pos.pos1).uid
if p == 0 then
doCreateItem(1050, 1, pos.pos1)
else
addEvent(South_Fix, 10000)
Restart = Restart + 1
doBroadcastMessage("Restarts: " .. Restart .. " times.")
end
end
if getTileItemById(pos.pos2, 2257).uid > 0 then
local p = getTopCreature(pos.pos2).uid
if p == 0 then
doRemoveItem(getTileItemById(pos.pos2, 2257).uid)
doCreateItem(1050, 1, pos.pos2)
else
addEvent(South_Fix, 10000)
Restart = Restart + 1
doBroadcastMessage("Restarts: " .. Restart .. " times.")
end
elseif getTileItemById(pos.pos2, 1050).uid <= 0 then
local p = getTopCreature(pos.pos2).uid
if p == 0 then
doCreateItem(1050, 1, pos.pos2)
else
addEvent(South_Fix, 10000)
Restart = Restart + 1
doBroadcastMessage("Restarts: " .. Restart .. " times.")
end
end
if getTileItemById(pos.pos3, 2257).uid > 0 then
local p = getTopCreature(pos.pos3).uid
if p == 0 then
doRemoveItem(getTileItemById(pos.pos3, 2257).uid)
doCreateItem(1050, 1, pos.pos3)
else
addEvent(South_Fix, 10000)
Restart = Restart + 1
doBroadcastMessage("Restarts: " .. Restart .. " times.")
end
elseif getTileItemById(pos.pos3, 1050).uid <= 0 then
local p = getTopCreature(pos.pos3).uid
if p == 0 then
doCreateItem(1050, 1, pos.pos3)
else
addEvent(South_Fix, 10000)
Restart = Restart + 1
doBroadcastMessage("Restarts: " .. Restart .. " times.")
end
end
if getTileItemById(pos.pos4, 2257).uid > 0 then
local p = getTopCreature(pos.pos4).uid
if p == 0 then
doRemoveItem(getTileItemById(pos.pos4, 2257).uid)
doCreateItem(1050, 1, pos.pos4)
else
addEvent(South_Fix, 10000)
Restart = Restart + 1
doBroadcastMessage("Restarts: " .. Restart .. " times.")
end
elseif getTileItemById(pos.pos4, 1050).uid <= 0 then
local p = getTopCreature(pos.pos4).uid
if p == 0 then
doCreateItem(1050, 1, pos.pos4)
else
addEvent(South_Fix, 10000)
Restart = Restart + 1
doBroadcastMessage("Restarts: " .. Restart .. " times.")
end
end
if getTileItemById(pos.pos5, 2257).uid > 0 then
local p = getTopCreature(pos.pos5).uid
if p == 0 then
doRemoveItem(getTileItemById(pos.pos5, 2257).uid)
doCreateItem(1050, 1, pos.pos5)
else
addEvent(South_Fix, 10000)
Restart = Restart + 1
doBroadcastMessage("Restarts: " .. Restart .. " times.")
end
elseif getTileItemById(pos.pos5, 1050).uid <= 0 then
local p = getTopCreature(pos.pos5).uid
if p == 0 then
doCreateItem(1050, 1, pos.pos5)
else
addEvent(South_Fix, 10000)
Restart = Restart + 1
doBroadcastMessage("Restarts: " .. Restart .. " times.")
end
end
if getTileItemById(pos.pos6, 2257).uid > 0 then
local p = getTopCreature(pos.pos6).uid
if p == 0 then
doRemoveItem(getTileItemById(pos.pos6, 2257).uid)
doCreateItem(1050, 1, pos.pos6)
else
addEvent(South_Fix, 10000)
Restart = Restart + 1
doBroadcastMessage("Restarts: " .. Restart .. " times.")
end
elseif getTileItemById(pos.pos6, 1050).uid <= 0 then
local p = getTopCreature(pos.pos6).uid
if p == 0 then
doCreateItem(1050, 1, pos.pos6)
else
addEvent(South_Fix, 10000)
Restart = Restart + 1
doBroadcastMessage("Restarts: " .. Restart .. " times.")
end
end
if getTileItemById(pos.pos7, 2244).uid > 0 then
local p = getTopCreature(pos.pos7).uid
if p == 0 then
doRemoveItem(getTileItemById(pos.pos7, 2244).uid)
else
addEvent(South_Fix, 10000)
Restart = Restart + 1
doBroadcastMessage("Restarts: " .. Restart .. " times.")
end
end
if getTileItemById(pos.pos7, 2245).uid > 0 then
local p = getTopCreature(pos.pos7).uid
if p == 0 then
doRemoveItem(getTileItemById(pos.pos7, 2245).uid)
doCreateItem(7024, 1, pos.pos7)
else
addEvent(South_Fix, 10000)
Restart = Restart + 1
doBroadcastMessage("Restarts: " .. Restart .. " times.")
end
elseif getTileItemById(pos.pos7, 7024).uid <= 0 then
local p = getTopCreature(pos.pos7).uid
if p == 0 then
doCreateItem(7024, 1, pos.pos7)
else
addEvent(South_Fix, 10000)
Restart = Restart + 1
doBroadcastMessage("Restarts: " .. Restart .. " times.")
end
end
end
local function South_Destroy()
if getTileItemById(pos.pos1, 1050).uid > 0 then
doSendMagicEffect(pos.pos1, 3)
doRemoveItem(getTileItemById(pos.pos1, 1050).uid)
doCreateItem(2257, 1, pos.pos1)
end
if getTileItemById(pos.pos2, 1050).uid > 0 then
doSendMagicEffect(pos.pos2, 3)
doRemoveItem(getTileItemById(pos.pos2, 1050).uid)
doCreateItem(2257, 1, pos.pos2)
end
if getTileItemById(pos.pos3, 1050).uid > 0 then
doSendMagicEffect(pos.pos3, 3)
doRemoveItem(getTileItemById(pos.pos3, 1050).uid)
doCreateItem(2257, 1, pos.pos3)
end
if getTileItemById(pos.pos4, 1050).uid > 0 then
doSendMagicEffect(pos.pos4, 3)
doRemoveItem(getTileItemById(pos.pos4, 1050).uid)
doCreateItem(2257, 1, pos.pos4)
end
if getTileItemById(pos.pos5, 1050).uid > 0 then
doSendMagicEffect(pos.pos5, 3)
doRemoveItem(getTileItemById(pos.pos5, 1050).uid)
doCreateItem(2257, 1, pos.pos5)
end
if getTileItemById(pos.pos6, 1050).uid > 0 then
doSendMagicEffect(pos.pos6, 3)
doRemoveItem(getTileItemById(pos.pos6, 1050).uid)
doCreateItem(2257, 1, pos.pos6)
end
if getTileItemById(pos.pos7, 7024).uid > 0 then
doSendMagicEffect(pos.pos7, 2)
doRemoveItem(getTileItemById(pos.pos7, 7024).uid)
doCreateItem(2245, 1, pos.pos7)
doCreateItem(2244, 1, pos.pos7)
end
end
function onSay(cid, words, param, channel)
if(param == 'south') then
South_Destroy()
addEvent(South_Fix, 10000)
Restart = Restart + 1
doBroadcastMessage("Restarts: " .. Restart .. " times.")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "The " .. param .. " raid has been started.")
elseif(param == '') then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to specify the specific raid.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "The " .. param .. " raid does not exist.")
end
end