I have a Pacman script that keeps bugging is there anyone who can help me??
Error in console
This is what i have in movements.xml
And my pacman script
Error in console
Code:
[04/08/2012 18:43:49] [Error - MoveEvents Interface]
[04/08/2012 18:43:49] data/movements/scripts/pacman.lua:onStepIn
[04/08/2012 18:43:49] Description:
[04/08/2012 18:43:49] data/movements/scripts/pacman.lua:47: attempt to call global 'isCreatureInArea' (a nil value)
[04/08/2012 18:43:49] stack traceback:
[04/08/2012 18:43:49] data/movements/scripts/pacman.lua:47: in function <data/movements/scripts/pacman.lua:20>
This is what i have in movements.xml
Code:
<movevent type="StepIn" actionid="5301" event="script" value="pacman.lua" />
<movevent type="StepIn" actionid="7392" event="script" value="pacman.lua" />
And my pacman script
PHP:
-- Pacman script: Controller [TGY]
pressedTiles = {}
gameStarted = false
dif = 1
local function pacmanCounter(text, start, col, dif)
if start then
gameStarted = true
doCreateMonster("Pacman Ghost", {x = 270, y = 2019, z = 9})
if dif > 1 then
doCreateMonster("Pacman Ghost", {x = 280, y = 2019, z = 9})
end
if dif > 2 then
doCreateMonster("Pacman Ghost", {x = 275, y = 2019, z = 9})
end
end
doSendAnimatedText({x = 275, y = 2024, z = 9}, text, col)
end
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
if false == isPlayer(cid) then
return
end
if item.actionid == 5301 and item.itemid == 426 then
-- HANDLE TILE
if not gameStarted then
--doPlayerPopupFYI(cid, "x")
doTeleportThing(cid, fromPosition, true)
return true
end
doTransformItem(item.uid, 425)
table.insert(pressedTiles, position)
local cnt = #pressedTiles
doSendAnimatedText(position, (cnt).."/84", TEXTCOLOR_GREEN)
if cnt > 83 then
doTeleportThing(cid, {x = 271, y = 2016, z = 8}, true)
doSendAnimatedText(position, ":D", TEXTCOLOR_GREEN)
local prize = 5
if dif == 2 then prize = 10 end
if dif == 3 then prize = 20 end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[PACMAN] You won ".. prize .." Game Tokens!")
doPlayerAddItem(cid,6527,prize)
end
elseif item.actionid == 7392 then
-- HANDLE JOINING PERSON
local c = isCreatureInArea({x = 270, y = 2019, z = 9},{x = 280, y = 2029, z = 9}) -- Getting crss inside
for _,v in pairs(c) do
if isPlayer(v) then
doTeleportThing(cid, fromPosition, true)
return true
end
end
-- Nobody is inside, check ticket/pick it - check exhaust first
--doPlayerPopupFYI(cid, "You must wait " .. (math.floor((getPlayerStorageValue(cid, 7948)-os.time())/60)+1) .. " more minutes till you can play again.")
if getPlayerStorageValue(cid, 7948) > 0 and (os.time() < getPlayerStorageValue(cid, 7948)) then
doTeleportThing(cid, fromPosition, true)
doPlayerPopupFYI(cid, "You must wait " .. (math.floor((getPlayerStorageValue(cid, 7948)-os.time())/60)+1) .. " more minute(s) till you can play again.")
return true
end
if getPlayerItemCount(cid, 6527) < 1 then
doTeleportThing(cid, fromPosition, true)
doPlayerPopupFYI(cid, "You need 1 Game Token to play.")
return true
end
doPlayerRemoveItem(cid, 6527, 1)
setPlayerStorageValue(cid, 7948, os.time() + 900)
-- Set difficulity variabele
dif = 1
if item.uid == 7396 then
dif = 2
elseif item.uid == 7397 then
dif = 3
end
-- Clean the area and reset the tiles now
for _,v in pairs(c) do
doRemoveCreature(v)
end
for _,v in pairs(pressedTiles) do
doItemSetAttribute(doCreateItem(426, v),"aid", 5301)
end
pressedTiles = {}
gameStarted = false
doTeleportThing(cid, {x = 275, y = 2024, z = 9}, true)
pacmanCounter("3", false, TEXTCOLOR_RED, dif)
addEvent(pacmanCounter,1000,"2", false, TEXTCOLOR_ORANGE, dif)
addEvent(pacmanCounter,2000,"1", false, TEXTCOLOR_YELLOW, dif)
addEvent(pacmanCounter,3000,"GO!", true, TEXTCOLOR_GREEN, dif)
end
return true
end