• 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 Zombies Not Tp'ing Player

Aiden

New Member
Joined
Oct 12, 2009
Messages
38
Reaction score
1
Location
Uk
Hi Otland

As my title says "zombies not tp'ing player's" i was woundering if anyone could help me.

as my players join the Zombie Event, It gets underway but when the zombie gets right next to them instead of the zombie tp'ing the players it just starts attacking them, anyone know where im going wrong.

Thanks

Rep++
 
that is my creaturescript

Lua:
local config = {
    playerCount = 2001, -- Global storage for counting the players left/entered in the event
    
    goblet = 5805, -- id of the gold goblet you'll get when finishing the event.
    rewards = {2493, 6132, 2160}, -- You will get this +  a gold goblet with your name on.
    --        {moneyId, count, using? 1 for using moneyReward, 0 for not using.}
    moneyReward = {2160, 20, 1}, -- second collumn(count) 0 if you don't want money to be used. or a stackable item you want more than 1 of.
    
    -- Should be same as in the globalevent!
    -- The zombies will spawn randomly inside this area
    fromPosition = {x = 32119, y = 32279, z = 7}, -- top left cornor of the playground
    toPosition = {x = 32165, y = 32296, z = 7}, -- bottom right cornor of the playground
    }

function onStatsChange(cid, attacker, type, combat, value)
    if isPlayer(cid) and isMonster(attacker) then
        if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then
            if getGlobalStorageValue(config.playerCount) >= 2 then
                doBroadcastMessage(getPlayerName(cid) .. " has been eated by Zombies!", MESSAGE_STATUS_CONSOLE_RED)
                local corpse = doCreateItem(3058, 1, getPlayerPosition(cid))
                doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". Ele foi morto por "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".")
                doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
                doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), true)
                doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
                setGlobalStorageValue(config.playerCount, getGlobalStorageValue(config.playerCount)-1)
            elseif getGlobalStorageValue(config.playerCount) == 1 then
                if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then
                    doBroadcastMessage(getPlayerName(cid) .. " venceu o evento Zombie! Parabéns!", MESSAGE_STATUS_WARNING)
                    local goblet = doPlayerAddItem(cid, config.goblet, 1)
                    doItemSetAttribute(goblet, "description", "O player " .. getPlayerName(cid) .. " ganhou o evento zombie event.")
                    local corpse = doCreateItem(3058, 1, getPlayerPosition(cid))
                    doItemSetAttribute(corpse, "description", "você reconhece " .. getCreatureName(cid) .. ". Ele foi morto por "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".")
                    doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
                    doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), true)
                    doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
                    for _,items in ipairs(config.rewards) do
                        doPlayerAddItem(cid, items, 1)
                    end
                    if config.moneyReward[3] == 1 then
                        doPlayerAddItem(cid, config.moneyReward[1], config.moneyReward[2])
                    end
                end
                        
                for x = config.fromPosition.x, config.toPosition.x do
                    for y = config.fromPosition.y, config.toPosition.y do
                        for z = config.fromPosition.z, config.toPosition.z do
                            areapos = {x = x, y = y, z = z, stackpos = 253}
                            getMonsters = getThingfromPos(areapos)
                            if isMonster(getMonsters.uid) then
                                doRemoveCreature(getMonsters.uid)
                            end
                        end
                    end
                end
            end
            return false
        end
    end
return true
end
 
Lua:
local config = {
    playerCount = 2001, -- Global storage for counting the players left/entered in the event
monsterCount = 2002, -- Global storage for counting the players left/entered in the event
    reward = {true,10454,3},
    pos = {{x = 341, y = 465, z = 7},{x = 424, y = 520, z = 7}}
    }
function removeM()
                         for x = config.pos[1].x, config.pos[2].x do
                         for y = config.pos[1].y, config.pos[2].y do
                          local pos = {x=x, y=y, z=config.pos[1].z}
                           local m = getTopCreature(pos).uid
                            if m ~= 0 and isMonster(m) then 
				doRemoveCreature(m) 
					end
                            end
       end
end
function onStatsChange(cid, attacker, type, combat, value)
		if isCreature(attacker) and isMonster(attacker) and isInArea(getCreaturePosition(cid), config.pos[1], config.pos[2]) then
		if getGlobalStorageValue(config.playerCount) == 1 and config.reward[1] == true then 
			doPlayerAddItem(cid, config.reward[2], config.reward[3]) 
			if getCreatureStorage(cid, 29980) == -1 then doCreatureSetStorage(cid, 29980, 0) end
			doCreatureSetStorage(cid, 29980, getCreatureStorage(cid, 29980) + 1)
				removeM()
		end
		                    doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
                    doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)
                    doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
doBroadcastMessage(getPlayerName(cid) .. " "..(getGlobalStorageValue(config.playerCount) == 1 and "won the Zombie event! Congratulations \n\n There was "..getGlobalStorageValue(config.monsterCount).." Zombies!\n\n He won 3 Soul Pills!" or "have been kicked by Spider, \n\n There are Currently " .. getGlobalStorageValue(config.playerCount)-1 .. " players".."!"))
		setGlobalStorageValue(config.playerCount, getGlobalStorageValue(config.playerCount)-1)
return false
		end
return true
end

REP ME :)
 
its still not working it just attack's them nothing else do you wanna check my scripts on Teamviewer?
 
Back
Top Bottom