• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Lua Bug on Anihi Script ! Look there.

picachu

Member
Joined
Dec 2, 2007
Messages
970
Reaction score
11
Hello, there!
Players are freezing server when try to go anihi quest!

The error show in console is this:
Code:
[21/11/2009 16:21:39] Lua Script Error: [Action Interface] 
[21/11/2009 16:21:39] data/actions/scripts/quests/anihi.lua:onUse

[21/11/2009 16:21:39] internalGetPlayerInfo(). Player not found

[21/11/2009 16:21:39] Lua Script Error: [Action Interface] 
[21/11/2009 16:21:40] data/actions/scripts/quests/anihi.lua:onUse

[21/11/2009 16:21:40] internalGetPlayerInfo(). Player not found

My script:

Lua:
function onUse(cid, item, frompos, item2, topos)
if item.uid == 7000 then
if item.itemid == 1946 then

player1pos = {x=169, y=247, z=10, stackpos=253}
player1 = getThingfromPos(player1pos)

player2pos = {x=168, y=247, z=10, stackpos=253}
player2 = getThingfromPos(player2pos)

player3pos = {x=167, y=247, z=10, stackpos=253}
player3 = getThingfromPos(player3pos)

player4pos = {x=166, y=247, z=10, 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=175, y=245, z=10}
	demon2pos = {x=177, y=245, z=10}
	demon3pos = {x=176, y=249, z=10}
	demon4pos = {x=178, y=249, z=10}
	demon5pos = {x=179, y=247, z=10}
	demon6pos = {x=180, y=247, z=10}

	doSummonCreature("Demon", demon1pos)
	doSummonCreature("Demon", demon2pos)
	doSummonCreature("Demon", demon3pos)
	doSummonCreature("Demon", demon4pos)
	doSummonCreature("Demon", demon5pos)
	doSummonCreature("Demon", demon6pos)

	nplayer1pos = {x=178, y=247, z=10}
	nplayer2pos = {x=177, y=247, z=10}
	nplayer3pos = {x=176, y=247, z=10}
	nplayer4pos = {x=175, y=247, 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,1945)

	else
	doPlayerSendCancel(cid,"All players must have level 100 to enter.")
	end
	else
	doPlayerSendCancel(cid,"You need 4 players in your team.")
end
end
if item.itemid == 1945 then

starting={x=172, y=238, z=10, stackpos=253}
checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos}
ending={x=194, y=251, z=10, 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=182, y=240, z=11}
current=0
repeat
current=current+1
doTeleportThing(monster[current],trash)
until current>=totalmonsters
doTransformItem(item.uid,1946)
end


end
end
if item.uid == 5006 then
queststatus = getPlayerStorageValue(cid,100)
if queststatus == -1 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"You have found a demon armor.")
doPlayerAddItem(cid,2494,1)
setPlayerStorageValue(cid,100,1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"It is empty.")
end
end
if item.uid == 5007 then
queststatus = getPlayerStorageValue(cid,100)
if queststatus ~= 1 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"You have found a magic sword.")
doPlayerAddItem(cid,2400,1)
setPlayerStorageValue(cid,100,1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"It is empty.")
end
end
if item.uid == 5008 then
queststatus = getPlayerStorageValue(cid,100)
if queststatus ~= 1 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"You have found a stonecutter axe.")
doPlayerAddItem(cid,2431,1)
setPlayerStorageValue(cid,100,1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"It is empty.")
end
end
if item.uid == 5009 then
queststatus = getPlayerStorageValue(cid,100)
if queststatus ~= 1 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"You have found a Thunder Hammer.")
doPlayerAddItem(cid,2421,1)
setPlayerStorageValue(cid,100,1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"It is empty.")
end
end
return 1
end
 
Lua:
  local playerPosition =
{
        {x = 33225, y = 31671, z = 13},
        {x = 33224, y = 31671, z = 13},
        {x = 33223, y = 31671, z = 13},
        {x = 33222, y = 31671, z = 13}
}
local newPosition =
{
        {x = 33222, y = 31659, z = 13},
        {x = 33221, y = 31659, z = 13},
        {x = 33220, y = 31659, z = 13},
        {x = 33219, y = 31659, z = 13}
}
local summonDemonPos =
{
        {x = 33223, y = 31659, z = 13},
        {x = 33224, y = 31659, z = 13},
        {x = 33219, y = 31657, z = 13},
        {x = 33221, y = 31657, z = 13},
        {x = 33220, y = 31661, z = 13},
        {x = 33222, y = 31661, z = 13}
}

local onlyOnce = FALSE
local questLevel = 100

--Do not modify the declaration lines below.
local player = {0, 0, 0, 0}
local failed = FALSE

function onUse(cid, item, fromPosition, itemEx, toPosition)
        if item.itemid == 1945 then
                for i = 1, 4 do
                        failed = TRUE
                        player[i] = getTopCreature(playerPosition[i])
                        if player[i].itemid > 0 then
                                if isPlayer(player[i].uid) == TRUE then
                                        if getPlayerStorageValue(player[i].uid, 30015) == -1 or onlyOnce == FALSE then
                                                if getPlayerLevel(player[i].uid) >= questLevel then
                                                        failed = FALSE
                                                end
                                        end
                                end
                        end
                        if failed == TRUE then
                                return FALSE
                        end
                end
                for i = 1, 6 do
                        doSummonCreature("Demon", summonDemonPos[i])
                end
                local getdoor = getTileItemById({x=33225, y=31659, z=13}, 1211)
                if getdoor.itemid ~= 0 then
                        doTransformItem(getdoor.uid, 1209)
                end
                for i = 1, 4 do
                        doSendMagicEffect(playerPosition[i], CONST_ME_POFF)
                        doTeleportThing(player[i].uid, newPosition[i], FALSE)
                        doSendMagicEffect(newPosition[i], CONST_ME_TELEPORT)
                end
                doTransformItem(item.uid, item.itemid + 1)
                local function clearAnni()
                local spec_pos = {}
                                spec_pos.x = 33226
                                spec_pos.y = 31658
                                spec_pos.z = 13
                local tp_pos = {}
                                tp_pos.x = 33226
                                tp_pos.y = 31671
                                tp_pos.z = 13
                local list = getSpectators(spec_pos, 9, 5, false)
                        if(list) then
                                for i = 1, #list do
                                        if isPlayer(list[i]) == TRUE then
                                                tp_pos.x = tp_pos.x - 1
                                                doTeleportThing(list[i], tp_pos)
                                        else
                                                doRemoveCreature(list[i])
                                        end
                                end
                        end
                end
                local function resetLever()
                        local posLever = {x = 33226, y = 31671, z = 13, stackpos = 1}
                        local getLever = getThingfromPos(posLever)
                        doTransformItem(getLever.uid, getLever.itemid - 1)
                end
                addEvent(clearAnni, 15 * 60 * 1000)
                addEvent(resetLever, 20 * 60 * 1000)
                return TRUE
        else
                return FALSE
        end
end

use this one.. just change the cordinations :p

do not forget to rep me !
 
Back
Top