Hey... again!, This is my Pacman script and it doesn't work as I will. When you walk on a tile (426) it's supposed to be pressed down (425) but it doesn't
This says item.uid? isn't that unique id? but the id is ITEM ID (the tile425)can that be wrong?
Code:
-- 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 = 716, y = 937, z = 7})
if dif > 1 then
doCreateMonster("Pacman Ghost", {x = 726, y = 937, z = 7})
end
if dif > 2 then
doCreateMonster("Pacman Ghost", {x = 721, y = 937, z = 7})
end
end
doSendAnimatedText({x = 721, y = 942, z = 7}, 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 = 717, y = 934, z = 6}, true)
doSendAnimatedText(position, ":D", TEXTCOLOR_GREEN)
local prize = 5
if dif == 2 then prize = 15 end
if dif == 3 then prize = 20 end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[PACMAN] You won ".. prize .." Gold Nuggets!")
doPlayerAddItem(cid,2157,prize)
end
elseif item.actionid == 7392 then
-- HANDLE JOINING PERSON
local c = isCreatureInArea({x = 716, y = 937, z = 7}, {x = 726, y = 947, z = 7}) -- 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, 2157) < 1 then
doTeleportThing(cid, fromPosition, true)
doPlayerPopupFYI(cid, "You need 1 Gold nugget to play.")
return true
end
doPlayerRemoveItem(cid, 2157, 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 = 721, y = 942, z = 7}, 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
Code:
doTransformItem(item.uid, 425)