Lbtg
Advanced OT User
- Joined
- Nov 22, 2008
- Messages
- 2,398
- Reaction score
- 165
why can't i use this scripts multiple times ?
rainitems.lua
getgn.lua
talkactions.xml
the thing is than i start rainitems it starts getgn , why ?
rainitems.lua
PHP:
-- Rain item Events created by Maniucza (c) --
local fromPos = {x=991, y=992, z=7}
local toPos = {x=1000, y=1000, z=7}
local items = {{8306,1}, {2157,5}, {9020,1}, {2151,10}, {5808,1}, {2151,10}, {5808,1}, {9693,1}}
local maxItems = 14
function isWalkable(pos, creature, proj, pz)
if getTileThingByPos({x=pos.x,y=pos.y,z=pos.z,stackpos=0}).itemid == 0 then return false 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 true
end
end
end
return true
end
function checkPositions(n)
local pos = {x=math.random(fromPos.x,toPos.x), y=math.random(fromPos.y,toPos.y), z=math.random(fromPos.z,toPos.z)}
if isWalkable(pos, true, false, true) then
return pos
end
return (n < 50 and checkPositions(n+1) or false)
end
function onSay(cid, words, param)
doBroadcastMessage("Rain item event will start in 1 minute. Go to temple.", MESSAGE_EVENT_ADVANCE)
return addEvent(spawnItem, 60000, 1)
end
function spawnItem(created)
if created >= maxItems then
return doBroadcastMessage("Rain Item Event just finished!", MESSAGE_EVENT_ADVANCE)
end
local itemPos, itemInf = checkPositions(1), math.random(#items)
doCreateItem(items[itemInf][1], items[itemInf][2], itemPos)
doSendMagicEffect(itemPos, 55)
return addEvent(spawnItem, 5000, created+1)
end
getgn.lua
PHP:
local fromPos = {x=976, y=977, z=7}
local toPos = {x=990, y=988, z=7}
local items = {{2157,1}, {2157,1}, {2157,1}, {2157,1}, {2157,1}, {2157,1}, {2157,1}, {2157,1}}
local maxItems = 60
function isWalkable(pos, creature, proj, pz)
if getTileThingByPos({x=pos.x,y=pos.y,z=pos.z,stackpos=0}).itemid == 0 then return false end
local n = not proj and 3 or 2
for i = 0, 254 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 true
end
end
end
return true
end
function checkPositions(n)
local pos = {x=math.random(fromPos.x,toPos.x), y=math.random(fromPos.y,toPos.y), z=math.random(fromPos.z,toPos.z)}
if isWalkable(pos, true, false, true) then
return pos
end
return (n < 50 and checkPositions(n+1) or false)
end
function onSay(cid, words, param)
doBroadcastMessage("Rain Cash event will start in 1 minute. Go to temple.", MESSAGE_EVENT_ADVANCE)
return addEvent(spawnItem, 60000, 1)
end
function spawnItem(created)
if created >= maxItems then
return doBroadcastMessage("Rain Cash Event just finished!", MESSAGE_EVENT_ADVANCE)
end
local itemPos, itemInf = checkPositions(1), math.random(#items)
doCreateItem(items[itemInf][1], items[itemInf][2], itemPos)
doSendMagicEffect(itemPos, 28)
return addEvent(spawnItem, 1200, created+1)
end
talkactions.xml
HTML:
<talkaction log="yes" words="/rainitems" access="5" event="script" value="rainitems.lua"/>
HTML:
<talkaction log="yes" words="/getgn" access="5" event="script" value="getgn.lua"/>
the thing is than i start rainitems it starts getgn , why ?