Unknown Soldier
Mapping a map
- Joined
- Oct 30, 2010
- Messages
- 311
- Solutions
- 11
- Reaction score
- 691
Hello,
I am out if ideas so decided to ask. TFS 1.4.2
While doing a task, ocasionally console error shows up
And I guess it might be related to monster summons, the script is trying to find a monster, but cannot, even though I did a check at the beginning
Thanks in advance!
@edit
Damn, I am a spammer.
Additional check helped:
after
Whatever...
I am out if ideas so decided to ask. TFS 1.4.2
While doing a task, ocasionally console error shows up
Code:
Lua Script Error: [CreatureScript Interface]
data/creaturescripts/scripts/killtasks.lua:onKill
data/creaturescripts/scripts/killtasks.lua:24: attempt to index local 'monster' (a nil value)
stack traceback:
[C]: in function '__index'
data/creaturescripts/scripts/killtasks.lua:24: in function <data/creaturescripts/scripts/killtasks.lua:10>
And I guess it might be related to monster summons, the script is trying to find a monster, but cannot, even though I did a check at the beginning
not target:getMaster()
. What am I missing here?Thanks in advance!
Lua:
local config = {
['necromancer'] = {name ="Necromancer", amount = 12, storage = 19004, startstorage = 5014, startvalue = 1, storageCorr= 5114},
['vampire'] = {name ="Vampire", amount = 15, storage = 19005, startstorage = 5015, startvalue = 1, storageCorr= 5115},
['hellspawn'] = {name ="Hellspawn", amount = 10, storage = 19006, startstorage = 5016, startvalue = 1, storageCorr= 5116},
['wyrm'] = {name = "Wyrm", amount = 10, storage = 19007, startstorage = 5017, startvalue = 1, storageCorr= 5117},
['elder wyrm'] = {name ="Wyrm", amount = 10, storage = 19007, startstorage = 5017, startvalue = 1, storageCorr= 5117},
['sea serpent'] = {name ="Sea Serpent", amount = 10, storage = 19008, startstorage = 5018, startvalue = 1, storageCorr = 5118},
}
function onKill(creature, target)
if creature:isPlayer() and target:isMonster() and not target:getMaster() then
local party = creature:getParty()
local members = {}
if party then
members = party:getMembers()
table.insert(members, party:getLeader())
else
members = {creature}
end
for _, member in pairs(members) do
local monster = config[target:getName():lower()]
local stor = member:getStorageValue(monster.storage)+1 --sometimes it gives error here, related to monster summons?
if stor < monster.amount and member:getStorageValue(monster.startstorage) >= monster.startvalue then
member:setStorageValue(monster.storage, stor)
local textName = ''..monster.name..' task: Already killed '..(stor +1)..' of '..monster.amount..' creatures.'
member:openChannel(10)
member:sendChannelMessage('', textName, TALKTYPE_CHANNEL_O, 10)
end
if (stor +1) == monster.amount then
local finaltext = ''..target:getName()..' task: Congratulations, you have completed the task killing '..monster.amount..' creatures.'
member:sendTextMessage(MESSAGE_EVENT_ADVANCE, finaltext)
member:sendChannelMessage('', finaltext, TALKTYPE_CHANNEL_R1, 10)
member:setStorageValue(monster.storage, monster.amount)
member:setStorageValue(monster.storageCorr, 2)
end
end
end
return true
end
@edit
Damn, I am a spammer.
Additional check helped:
if monster then
after
local monster
Whatever...
Last edited: