potinho
Advanced OT User
Hello everyone, everything good?
I have an anihilator action that works, but if a single player (or 3) is on the floor and pulls the lever, it moves normally and gives an error on the console. No message is returned in the game that "4 players are needed". Here is an error in the console and script:
anihilator.lua
error in console
[31/3/2021 7:50:13] [Error - Action Interface]
[31/3/2021 7:50:13] data/actions/scripts/annihilator.luanUse
[31/3/2021 7:50:13] Description:
[31/3/2021 7:50:13] data/actions/scripts/annihilator.lua:139: attempt to call method 'transform' (a nil value)
[31/3/2021 7:50:13] stack traceback:
[31/3/2021 7:50:13] data/actions/scripts/annihilator.lua:139: in function <data/actions/scripts/annihilator.lua:22>
I have an anihilator action that works, but if a single player (or 3) is on the floor and pulls the lever, it moves normally and gives an error on the console. No message is returned in the game that "4 players are needed". Here is an error in the console and script:
anihilator.lua
Lua:
-- Annihilator script v2.1 by GriZzm0.
--
-- Variables used:
--
-- player?pos = The position of the players before teleport.
-- player? = Get the thing from playerpos.
-- player?level = Get the players levels.
-- questslevel = The level you have to be to do this quest.
-- questtatus? = Get the quest status of the players.
-- demon?pos = The position of the demons.
-- nplayer?pos = The position where the players should be teleported too.
--
-- UniqueIDs used:
--
-- 9006 = The switch.
-- 9007 = Demon Armor chest.
-- 9008 = Magic Sword chest.
-- 9009 = Stonecutter Axe chest.
-- 9010 = Thunder Hammer chest.
--
function onUse(cid, item, frompos, item2, topos)
if item.uid == 9006 then
if item.itemid == 1945 then
player1pos = {x=191, y=118, z=9, stackpos=253}
player1 = getThingfromPos(player1pos)
player2pos = {x=192, y=118, z=9, stackpos=253}
player2 = getThingfromPos(player2pos)
player3pos = {x=193, y=118, z=9, stackpos=253}
player3 = getThingfromPos(player3pos)
player4pos = {x=194, y=118, z=9, stackpos=253}
player4 = getThingfromPos(player4pos)
if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then
player1level = getPlayerLevel(player1.uid)
player2level = getPlayerLevel(player2.uid)
player3level = getPlayerLevel(player3.uid)
player4level = getPlayerLevel(player4.uid)
questlevel = 100
if player1level >= questlevel and player2level >= questlevel and player3level >= questlevel and player4level >= questlevel then
demon1pos = {x=195, y=118, z=10}
demon2pos = {x=196, y=118, z=10}
demon3pos = {x=194, y=120, z=10}
demon4pos = {x=192, y=120, z=10}
demon5pos = {x=189, y=118, z=10}
demon6pos = {x=191, y=116, z=10}
demon7pos = {x=193, y=116, z=10}
doSummonCreature("Demon", demon1pos)
doSummonCreature("Demon", demon2pos)
doSummonCreature("Demon", demon3pos)
doSummonCreature("Demon", demon4pos)
doSummonCreature("Demon", demon5pos)
doSummonCreature("Demon", demon6pos)
doSummonCreature("Demon", demon7pos)
nplayer1pos = {x=191, y=118, z=10}
nplayer2pos = {x=192, y=118, z=10}
nplayer3pos = {x=193, y=118, z=10}
nplayer4pos = {x=194, y=118, z=10}
doSendMagicEffect(player1pos,2)
doSendMagicEffect(player2pos,2)
doSendMagicEffect(player3pos,2)
doSendMagicEffect(player4pos,2)
doTeleportThing(player1.uid,nplayer1pos)
doTeleportThing(player2.uid,nplayer2pos)
doTeleportThing(player3.uid,nplayer3pos)
doTeleportThing(player4.uid,nplayer4pos)
doSendMagicEffect(nplayer1pos,10)
doSendMagicEffect(nplayer2pos,10)
doSendMagicEffect(nplayer3pos,10)
doSendMagicEffect(nplayer4pos,10)
doTransformItem(item.uid,item.itemid+1)
else
doPlayerSendCancel(cid,"Sorry, not possible.")
end
else
doPlayerSendCancel(cid,"Sorry, not possible.")
end
elseif item.itemid == 1946 then
if getPlayerAccess(cid) == 1 then
doTransformItem(item.uid,item.itemid-1)
else
doPlayerSendCancel(cid,"Sorry, not possible.")
end
end
elseif item.uid == 9007 then
queststatus = getPlayerStorageValue(cid,5000)
if queststatus == -1 then
doPlayerSendTextMessage(cid,22,"You have found a demon armor.")
doPlayerAddItem(cid,2494,1)
setPlayerStorageValue(cid,5000,1)
else
doPlayerSendTextMessage(cid,22,"It is empty.")
end
elseif item.uid == 9008 then
queststatus = getPlayerStorageValue(cid,5000)
if queststatus == -1 then
doPlayerSendTextMessage(cid,22,"You have found a magic sword.")
doPlayerAddItem(cid,2400,1)
setPlayerStorageValue(cid,5000,1)
else
doPlayerSendTextMessage(cid,22,"It is empty.")
end
elseif item.uid == 9009 then
queststatus = getPlayerStorageValue(cid,5000)
if queststatus == -1 then
doPlayerSendTextMessage(cid,22,"You have found a stonecutter axe.")
doPlayerAddItem(cid,2431,1)
setPlayerStorageValue(cid,5000,1)
else
doPlayerSendTextMessage(cid,22,"It is empty.")
end
elseif item.uid == 9010 then
queststatus = getPlayerStorageValue(cid,5000)
if queststatus == -1 then
doPlayerSendTextMessage(cid,22,"You have found thunder hammer.")
doPlayerAddItem(cid,2421,1)
setPlayerStorageValue(cid,5000,1)
else
doPlayerSendTextMessage(cid,22,"It is empty.")
end
end
item:transform(item.itemid == 1946 and 1945 or 1946)
return 1
end
error in console
[31/3/2021 7:50:13] [Error - Action Interface]
[31/3/2021 7:50:13] data/actions/scripts/annihilator.luanUse
[31/3/2021 7:50:13] Description:
[31/3/2021 7:50:13] data/actions/scripts/annihilator.lua:139: attempt to call method 'transform' (a nil value)
[31/3/2021 7:50:13] stack traceback:
[31/3/2021 7:50:13] data/actions/scripts/annihilator.lua:139: in function <data/actions/scripts/annihilator.lua:22>