Omin
Strawands.com 10.82
Data/Actions/actions.xml add:
<action itemid="22535" script=ResonanceChamber.lua"/>
Data/Actions/script/ResonanceChamber.lua add:
And this is the result Code: http://pastebin.com/xxrUviVe
Last edited:
Position(33664, 32537, 5), -- botton Right
Position(33650, 32527, 5) -- Center
The people will use it only to hunt or quest?
I dont understand this part of script:
PHP:Position(33664, 32537, 5), -- botton Right Position(33650, 32527, 5) -- Center
What botton? And "center" is where the monsters go?
This is dont working here, tfs 1.2 protocol 10.82 :S
The monsters dont appears and I got this error:
These are the coordinates I used and those are necessary for the script.
For the error you got, I think you might copied the script wrong. Copy that line here to see what's wrong.
--Config
local config = {
item = 22535,
storage = 34380,
position = {
Position(33637, 32516, 5), -- Top Left
Position({33664, 32537, 5}), -- botton Right
Position(33650, 32527, 5) -- Center
},
raid = {
[1] = {"silencer", math.random(8,15) },
[2] = {"silencer", math.random(11,18) },
[3] = {"silencer", math.random(8,15) },
[4] = {"Sight of Surrender", math.random(3,8) }
},
globalEventTime = 30 * 60 * 1000, -- [30min] waiting time to get started again
timeBetweenraid = 1 * 60 * 1000, -- [1min] Waiting time between each raid
cleanraid = true -- Clean zone after globalEventTime
}
local function isWalkable(position)
local tile = Tile(position)
if not tile then
return false
end
local ground = tile:getGround()
if not ground or ground:hasProperty(CONST_PROP_BLOCKSOLID) then
return false
end
local items = tile:getItems()
for i = 1, tile:getItemCount() do
local item = items[i]
local itemType = item:getType()
if itemType:getType() ~= ITEM_TYPE_MAGICFIELD and not itemType:isMovable() and item:hasProperty(CONST_PROP_BLOCKSOLID) then
return false
end
end
return true
end
local function raids(monster)
local randX,randY,randZ = 0,0,0
randX = math.random(config.position[1].x, config.position[2].x)
randY = math.random(config.position[1].y, config.position[2].y)
randZ = math.random(config.position[1].z, config.position[2].z)
if isWalkable(Position(randX, randY, randZ)) then
Game.createMonster(monster, Position(randX, randY, randZ))
else
raids(monster)
end
end
local function cleanRaid()
local mostersraid= Game.getSpectators(config.position[3], false, false, 13, 13, 11, 11)
for i = 1, #mostersraid do
if mostersraid[i]:isMonster() then
mostersraid[i]:remove()
end
end
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
local player = Player(cid)
local max,time,monster = 0,0,""
if item.itemid ~= config.item then
return true
end
local spectators,hasPlayer,hasMonsters = Game.getSpectators(config.position[3], false, false, 13, 13, 11, 11),false,false
for i = 1, #spectators do
if spectators[i]:isPlayer() then
if spectators[i]:getName() == player:getName() then
hasPlayer = true
end
elseif spectators[i]:isMonster() then
hasMonsters = true
end
end
if not hasPlayer then
player:sendCancelMessage('Use on Silencer Plateau is located in the south-eastern part of Roshamuul')
return true
end
if hasMonsters then
player:sendCancelMessage('You need kill all monsters')
return true
end
if Game.getStorageValue(config.storage) <= 0 then
if math.random(0,10000) < 7000 then
player:say("PRRRR...*crackle*", TALKTYPE_MONSTER_SAY)
item:remove(1)
return true
else
player:say("PRRRROOOOOAAAAAHHHH!!!", TALKTYPE_MONSTER_SAY)
end
local raid = config.raid
for y, x in pairs(raid) do
local i = 1
while i <= #x do
print(x[i])
print(x[i+1])
time = time + config.timeBetweenraid
for j = 1, x[i+1] do
Game.setStorageValue(config.storage,x[i+1])
addEvent(raids,time,x[i])
end
i = i + 2
end
end
addEvent(Game.setStorageValue, config.globalEventTime, config.storage, 0)
if config.cleanraid then
addEvent(cleanRaid, config.globalEventTime)
end
item:remove(1)
else
player:sendCancelMessage('You need to wait')
end
end
local function raids(monster)
local randX,randY,randZ = 0,0,0
randX = math.random(config.position[1].x, config.position[2].x)
randY = math.random(config.position[1].y, config.position[2].y)
randZ = math.random(config.position[1].z, config.position[2].z)
if isWalkable(Position(randX, randY, randZ)) then
Game.createMonster(monster, Position(randX, randY, randZ))
else
raids(monster)
end
end
Code:Position({33664, 32537, 5}), -- botton Right
This is working now bro, thanks!!Remove " { " and "}" and try it