This is my script of task, is working perfectly. with just one monster in config.
My problem is when i try add other monster in script, my script stays like this
I see this error msg in console when i open the server
LUA:
local config = {
['rat'] = {amount = 5, storage = 19000, startstorage = 5010, startvalue = 1}
}
function onKill(player, target)
local player = type(player) == "userdata" and player or Player(player)
local target = type(target) == "userdata" and target or Creature(target)
if target and target:isMonster() then
local monster = config[target:getName():lower()]
if target:isPlayer() or not monster or target:getMaster() then
return true
end
local stor = player:getStorageValue(monster.storage)+0
if stor < monster.amount and player:getStorageValue(monster.startstorage) >= monster.startvalue then
player:setStorageValue(monster.storage, stor)
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'Task message: '..(stor +1)..' of '..monster.amount..' '..target:getName()..'s killed.')
end
if (stor +1) == monster.amount then
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'Congratulations, you have killed '..(stor +1)..' '..target:getName()..'s and completed the '..target:getName()..'s mission.')
player:setStorageValue(monster.storage, stor +1)
end
end
return true
end
My problem is when i try add other monster in script, my script stays like this
LUA:
local config = {
['rat'] = {amount = 5, storage = 19000, startstorage = 5010, startvalue = 1}
['troll'] = {amount = 10, storage = 20000, startstorage = 5011, startvalue = 1}
}
function onKill(player, target)
local player = type(player) == "userdata" and player or Player(player)
local target = type(target) == "userdata" and target or Creature(target)
if target and target:isMonster() then
local monster = config[target:getName():lower()]
if target:isPlayer() or not monster or target:getMaster() then
return true
end
local stor = player:getStorageValue(monster.storage)+0
if stor < monster.amount and player:getStorageValue(monster.startstorage) >= monster.startvalue then
player:setStorageValue(monster.storage, stor)
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'Task message: '..(stor +1)..' of '..monster.amount..' '..target:getName()..'s killed.')
end
if (stor +1) == monster.amount then
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'Congratulations, you have killed '..(stor +1)..' '..target:getName()..'s and completed the '..target:getName()..'s mission.')
player:setStorageValue(monster.storage, stor +1)
end
end
return true
end
I see this error msg in console when i open the server
Code:
[Warning - Event::checkScript] Can not load script: scripts/tasks.lua
data/creaturescripts/scripts/tasks.lua:3: '}' expected (to close '{' at line 1) near '['