- ```local config = {
- effect = 12,
- validTiles = {
- 100,101,103,104,106,108,109,919,1071,231,280,351,352,354,355,368,405,406,
- 407,412,413,414,415,416,417,419,420,421,422,424,425,426,431,446,447,448,
- 449,450,451,452,453,454,455,456,457,458,459,460,471,471,473,474,709,710,711,
- 493,598,670,671,708,724,777,790,791,804,806,4832,4833,836,918,920,926,
- 927,929,936,937,946,947,948,956,957,958,965,966,1284,1509,194,6210,6213,
- 4595,4608,4609,4610,4611,4612,4613,4614,4515,4616,4691,4692,4693,4694,
- 4695,3263,3264,3265,6389,5770,5769,5768,3152,3153,3154,3155,3156,3157,
- 3169,3170,3171,3172,3177,3196,3200,3201,3202,3215,3216,3217,7062,7063,
- 7064,7065,7066,3139,7272,7348,7350,7351,7352,7353,7354,7355,7356,7357,
- 7358,6838,6967,4526,4530,4532,4535,4566,4570,4571,4572,9021,9022,9023,
- 9024,9025,9043,9044,9045,9046,9047,9048,9049,9050,9059,9067,9068,9069,
- 9070,9071,9072,8326,8327,8328,8329,8423,8425,8426,8427,8428,8429,8430,
- 8431,8424,8578,8591,8594,8597,8598,9192,9193,9194,9195,9199,9224,9225,
- 9226,9227,9228,9229,9230,9231,9232,9146,9272,9673,9883,9144
- }
- }
- function onSay(cid, words, param, channel)
- if(param == '') then
- doPlayerSendCancel(cid, "Parameter required (tile id)")
- return true
- end
- if not tonumber(param) then
- doPlayerSendCancel(cid, "Invalid parameter:" .. tostring(param))
- return true
- elseif(not isInArray(config.validTiles, tonumber(param))) then
- doPlayerSendCancel(cid, "Tile with ID: " .. tostring(param) .. " has not been configured.")
- return true
- end
- local pos = getCreaturePosition(cid)
- local startPos = {x=pos.x-1, y=pos.y-1, z=pos.z} -- top left (dont change)
- local endPos = {x=pos.x+1, y=pos.y+1, z=pos.z} -- bottom right (dont change)
- for i = startPos.y, endPos.y, 1 do
- for j = startPos.x, endPos.x, 1 do
- doTransformItem(getTileInfo({x=j, y=i, z=pos.z}).uid, tonumber(param))
- doSendMagicEffect(pos, config.effect)
- end
- end
- return true
- end```