• 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 annhi problems

Glidarn

Member
Joined
May 9, 2009
Messages
970
Reaction score
16
Location
Åkersberga, Sweden
[08/09/2010 13:16:47] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/Annihilator.lua)
[08/09/2010 13:16:47] cannot open data/actions/scripts/Annihilator.lua: No such file or directory

this is the anni script

Lua:
       -- CONFIG --
 
        local room = { -- room with demons
        fromX = 870,
        fromY = 1035,
	fromZ = 7,
        --------------
        toX = 875,
        toY = 1039,
	toZ = 7
        }
 
        local monster_pos = {
        [1] = {pos = {870, 1035, 7}, monster = "Demon"},
        [2] = {pos = {872, 1035, 7}, monster = "Demon"},
        [3] = {pos = {871, 1039, 7}, monster = "Demon"},
        [4] = {pos = {873, 1039, 7}, monster = "Demon"},
        [5] = {pos = {874, 1037, 7}, monster = "Demon"},
        [6] = {pos = {875, 1037, 7}, monster = "Demon"}
        }
 
        local players_pos = {
        {x = 895, y =1037, z = 7, stackpos = 253},
        {x = 895, y =1038, z = 7, stackpos = 253},
        {x = 895, y =1039, z = 7, stackpos = 253},
        {x = 895, y =1040, z = 7, stackpos = 253}
        }
 
        local new_player_pos = {
        {x = 873, y = 1037, z = 7},
        {x = 872, y = 1037, z = 7},
        {x = 871, y = 1037, z = 7},
        {x = 870, y = 1037, z = 7}
        }
 
        local playersOnly = "no"
        local questLevel = 101
 
        ------------------------------------------------------
        --- CONFIG END ---------------------------------------
        ------------------------------------------------------
 
function onUse(cid, item, fromPosition, itemEx, toPosition)
        local all_ready, monsters, player, level = 0, 0, {}, 0
        if item.itemid == 1945 then
                for i = 1, #players_pos do
                        table.insert(player, 0)
                end
                for i = 1, #players_pos do
                        player[i] = getTileItemById(players_pos[i])
                        if player[i].itemid > 0 then
                                if string.lower(playersOnly) == "yes" then
                                        if isPlayer(player[i].uid) == TRUE then
                                                all_ready = all_ready+1
                                        else
						monsters = monsters+1
					end
                                else
                                        all_ready = all_ready+1
                                end
                        end
                end
                if all_ready == #players_pos then
			for i = 1, #players_pos do
				player[i] = getThingfromPos(players_pos[i])
				if isPlayer(player[i].uid) == TRUE then
					if getPlayerLevel(player[i].uid) >= questLevel then
						level = level+1
					end
				else
					level = level+1
				end
			end
                        if level == #players_pos then
                                if string.lower(playersOnly) == "yes" and monsters == 0 or string.lower(playersOnly) == "no" then 
                                        for _, area in pairs(monster_pos) do
                                                        doSummonCreature(area.monster,{x=area.pos[1],y=area.pos[2],z=area.pos[3]})
                                        end
                                        for i = 1, #players_pos do
                                                doSendMagicEffect(players_pos[i], CONST_ME_POFF)
                                                doTeleportThing(player[i].uid, new_player_pos[i], FALSE)
                                                doSendMagicEffect(new_player_pos[i], CONST_ME_ENERGYAREA)
                                                doTransformItem(item.uid,1946)
                                        end
                                else
                                        doPlayerSendTextMessage(cid,19,"Only players can do this quest.")
                                end
                        else
                                doPlayerSendTextMessage(cid,19,"All Players have to be level "..questLevel.." to do this quest.")
                        end
                else
                        doPlayerSendTextMessage(cid,19,"You need "..table.getn(players_pos).." players to do this quest.")
                end
        elseif item.itemid == 1946 then
                local player_room = 0
                for x = room.fromX, room.toX do
                        for y = room.fromY, room.toY do
				for z = room.fromZ, room.toZ do
					local pos = {x=x, y=y, z=z,stackpos = 253}
					local thing = getThingfromPos(pos)
					if thing.itemid > 0 then
						if isPlayer(thing.uid) == TRUE then
							player_room = player_room+1
						end
					end
                                end
                        end
                end
                if player_room >= 1 then
                        doPlayerSendTextMessage(cid,19,"There is already a team in the quest room.")           
                elseif player_room == 0 then
			for x = room.fromX, room.toX do
				for y = room.fromY, room.toY do
					for z = room.fromZ, room.toZ do
						local pos = {x=x, y=y, z=z,stackpos = 253}
						local thing = getThingfromPos(pos)
						if thing.itemid > 0 then
							doRemoveCreature(thing.uid)
						end
					end
                                end
                        end
                        doTransformItem(item.uid,1945)
                end
        end
        return TRUE
end
 
i got this when i took yours... (changed that 7100 to 30015 on all cause thats the uniqueid i have on my lever)


[08/09/2010 14:06:23] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/anni/annihilator.lua)
[08/09/2010 14:06:23] data/actions/scripts/anni/annihilator.lua:1: '=' expected near 'onUse'


think something is wrong with this script
Lua:
unction onUse(cid, item, frompos, item2, topos)

       if item.uid == 30015 and item.itemid == 1945 then
        player1pos = {x=214, y=146, z=8, stackpos=253}
        player1 = getThingfromPos(player1pos)

        player2pos = {x=214, y=147, z=8, stackpos=253}
        player2 = getThingfromPos(player2pos)

        player3pos = {x=214, y=148, z=8, stackpos=253}
        player3 = getThingfromPos(player3pos)

        player4pos = {x=214, y=149, z=8, stackpos=253}
        player4 = getThingfromPos(player4pos)


        if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then
            queststatus1 = getPlayerStorageValue(player1.uid,7100)
            queststatus2 = getPlayerStorageValue(player2.uid,7100)
            queststatus3 = getPlayerStorageValue(player3.uid,7100)
            queststatus4 = getPlayerStorageValue(player4.uid,7100)

            if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then
                nplayer1pos = {x=211, y=148, z=10}
                nplayer2pos = {x=212, y=148, z=10}
                nplayer3pos = {x=213, y=148, z=10}
                nplayer4pos = {x=214, y=148, 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,"Somebody in your team has already done this quest.")
            end
        else
            doPlayerSendCancel(cid,"You need four players for this quest.")
        end

    elseif item.uid ==7100 and item.itemid == 1946 then
        if getPlayerAccess(cid) > 0 then
            doTransformItem(item.uid,item.itemid-1)
        else
            doPlayerSendCancel(cid,"Sorry, not possible.")
        end
    else
        return 0
    end

    return 1
end
 
Last edited:
Back
Top