Hello!
I've been working on adding a trash system to DemonOak quest for a few days now but it's not going very well. When I use the axe on the tree the monsters does indeed get teleported away but I get a error message in my console and I try to keep mine clean. If you could help me i'd really appreciate it!
This is the script.
This is the error message in the console.
I've been working on adding a trash system to DemonOak quest for a few days now but it's not going very well. When I use the axe on the tree the monsters does indeed get teleported away but I get a error message in my console and I try to keep mine clean. If you could help me i'd really appreciate it!
This is the script.
Code:
function onUse(cid, item, fromPosition, itemEx, toPosition)
local onePerQuest = "yes"
local level = 120
local positions =
{
kick = { x = 32713, y = 32339, z = 7 },
summon =
{
{x=32711, y=32347, z=7},
{x=32720, y=32347, z=7},
{x=32721, y=32355, z=7},
{x=32712, y=32355, z=7}
}
}
local summons =
{
[1] = {"Demon", "Grim Reaper", "Elder Beholder", "Demon Skeleton"},
[2] = {"Dark Torturer", "Banshee", "Betrayed Wraith", "Blightwalker"},
[3] = {"Bonebeast", "Braindeath", "Diabolic Imp", "Giant Spider"},
[4] = {"Hand of Cursed Fate", "Lich", "Undead Dragon", "Vampire"},
[5] = {"braindeath", "Demon", "Bonebeast", "Diabolic Imp"},
[6] = {"Demon Skeleton", "Banshee", "Elder Beholder", "Bonebeast"},
[7] = {"Dark Torturer", "Undead Dragon", "Demon", "Demon"},
[8] = {"Elder Beholder", "Betrayed Wraith", "Demon Skeleton", "Giant Spider"},
[9] = {"Demon", "Banshee", "Blightwalker", "Demon Skeleton"},
[10] = {"Grim Reaper", "Demon", "Diabolic Imp", "Braindeath"},
[11] = {"Banshee", "Grim Reaper", "Hand of Cursed fate", "Demon"}
}
local areaPosition =
{
{x=32706, y=32345, z=7, stackpos = 255},
{x=32727, y=32356, z=7, stackpos = 255}
}
local demonOak = {8288, 8289, 8290, 8291}
local storages =
{
done = 35700,
cutTree = 36901
}
local blockingTree =
{
[2709] = {32193, 3669}
}
if blockingTree[itemEx.itemid] and itemEx.uid == blockingTree[itemEx.itemid][1] then
if getPlayerLevel(cid) < level then
doPlayerSendCancel(cid, "You need level " .. level .. " or more to enter this quest.")
return TRUE
end
if getPlayerStorageValue(cid, storages.done) > 0 then
doPlayerSendCancel(cid, "You already done this quest.")
return TRUE
end
if getPlayerStorageValue(cid, storages.cutTree) > 0 then
return FALSE
end
if onePerQuest == "yes" then
local players = getPlayersOnline()
for _, pid in ipairs(players) do
if isInRange(getCreaturePosition(pid), areaPosition[1], areaPosition[2]) then
doPlayerSendCancel(cid, "Wait until " .. getCreatureName(pid) .. " finish the quest.")
return TRUE
end
end
end
starting={x=32706, y=32345, z=7, stackpos=253}
checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos}
ending={x=32727, y=32356, z=7, stackpos=253}
players=0
totalmonsters=0
monster = {}
repeat
creature= getThingfromPos(checking)
if creature.itemid > 0 then
if getPlayerAccess(creature.uid) == 0 then
players=players+1
end
if getPlayerAccess(creature.uid) ~= 0 and getPlayerAccess(creature.uid) ~= 3 then
totalmonsters=totalmonsters+1
monster[totalmonsters]=creature.uid
end
end
checking.x=checking.x+1
if checking.x>ending.x then
checking.x=starting.x
checking.y=checking.y+1
end
until checking.y>ending.y
if players==0 then
trash= {x=32981, y=31927, z=7}
current=0
repeat
current=current+1
doTeleportThing(monster[current],trash)
until current>=totalmonsters
end
doTransformItem(itemEx.uid, blockingTree[itemEx.itemid][2])
doSendMagicEffect(toPosition, CONST_ME_POFF)
doMoveCreature(cid, SOUTH)
doPlayerSetStorageValue(cid, storages.cutTree, 1)
return TRUE
elseif isInArray(demonOak, itemEx.itemid) then
local get = getPlayerStorageValue(cid, itemEx.itemid)
if get == -1 then
get = 1
end
if(getPlayerStorageValue(cid, 8288) == 12 and getPlayerStorageValue(cid, 8289) == 12 and getPlayerStorageValue(cid, 8290) == 12 and getPlayerStorageValue(cid, 8291) == 12) then
doTeleportThing(cid, positions.kick)
doPlayerSetStorageValue(cid, storages.done, 1)
return TRUE
end
if getPlayerStorageValue(cid, itemEx.itemid) > 11 then
doSendMagicEffect(toPosition, CONST_ME_POFF)
return TRUE
end
if(math.random(100) <= 10) then
doPlayerSetStorageValue(cid, itemEx.uid, 12)
return TRUE
end
if summons[get] then
for i = 1, #summons[get] do
doCreateMonster(summons[get][i], positions.summon[i])
end
doSendMagicEffect(toPosition, CONST_ME_DRAWBLOOD)
doPlayerSetStorageValue(cid, itemEx.itemid, get + 1)
if math.random(100) >= 50 then
doTargetCombatHealth(0, cid, COMBAT_EARTHDAMAGE, -270, -310, CONST_ME_BIGPLANTS)
end
end
return FALSE
end
end
This is the error message in the console.
Code:
Lua Script Error: [Action Interface]
data/actions/scripts/demonOak.lua:onUse
InternalGetPlayerInfo<>. Player not found