Hi guys,
I found this script and I would like very much to use on my server, however I'm getting a error that I didn't find a way to solve.
If anyone could help me with this syntax error I would be glad.
I found this script and I would like very much to use on my server, however I'm getting a error that I didn't find a way to solve.
Lua:
-- Plantation System created by Vítor Bertolucci - Killua
-- 02/04/2014
local usableDirt = 103 -- Dirt to seed
local mustBeInHouse = true -- Is it only enabled inside houses? [true/false]
local fruits = {2682, 5097, 8838, 2685, 2674} -- Fruits that can grow
local failChance = 0 -- Fail chance in %
function transformIt(pos, id) -- Seeds the ground
pos.stackpos = 0
return doTransformItem(getThingFromPos(pos).uid, id)
end
function getUnwantedItem(pos) -- Checks for unwanted items
for i = 1, 5 do
pos.stackpos = i
if getThingFromPos(pos).itemid > 0 and getThingFromPos(pos).itemid ~= 7732 then
return true
end
end
return false
end
function transformTo(pos, fromid, toid) -- Makes the plants grow
for s = 1, 5 do
pos.stackpos = s
local item = getThingFromPos(pos)
if item.itemid == fromid then
doTransformItem(item.uid, toid)
end
end
end
function doRemoveMe(pos, id) -- Removes weeds
for stackpos = 1, 5 do
pos.stackpos = stackpos
local item = getThingFromPos(pos)
if item.itemid == id then
doRemoveItem(item.uid)
end
end
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
if mustBeInHouse and not getHouseFromPos(toPosition) then
return doPlayerSendCancel(cid, "You can only plant inside houses.")
end
toPosition.stackpos = 0
local tile = getThingFromPos(toPosition)
if tile.itemid == usableDirt and not getUnwantedItem(toPosition) and itemEx.itemid ~= 7732 then
if item.itemid == 2552 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You have plowed the ground.")
doTransformItem(tile.uid, 804)
addEvent(transformIt, math.random(44600, 48600), toPosition, usableDirt)
end
elseif item.itemid == 7732 and tile.itemid == 804 and not getUnwantedItem(toPosition) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You have planted the seed.")
doRemoveItem(item.uid, 1)
doCreateItem(6216, 1, toPosition)
doSendMagicEffect(toPosition, CONST_ME_SMALLPLANTS)
local chance = math.random(1, 100)
local time1 = math.random(8500, 12600)
local time2 = math.random(24500, 28600)
if chance <= failChance then
addEvent(transformTo, time1, toPosition, 6216, 2784)
addEvent(doSendMagicEffect, time1, toPosition, 7)
addEvent(doRemoveMe, time2, toPosition, 2784)
addEvent(doSendMagicEffect, time2, toPosition, CONST_ME_POFF)
else
addEvent(transformTo, time1, toPosition, 6216, 2779)
addEvent(doSendMagicEffect, time1, toPosition, CONST_ME_SMALLPLANTS)
addEvent(doSendMagicEffect, time2, toPosition, CONST_ME_PLANTATTACK)
addEvent(transformTo, time2, toPosition, 2779, fruits[math.random(1, #fruits)])
end
elseif itemEx.itemid == 2784 or itemEx.itemid == 2779 then
if tile.itemid == 804 or tile.itemid == 103 then
doRemoveItem(itemEx.uid, 1)
doSendMagicEffect(toPosition, 3)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You have removed the plant.")
end
else
doPlayerSendCancel(cid, "You cannot plow this ground.")
end
return true
end
I'm using TFS 1.3, the error happen when I try to use the item 2552 on the floor 103.Lua Script Error: [Action Interface]
data/actions/scripts/plantation.luanUse
data/actions/scripts/plantation.lua:50: attempt to call global 'getThingFromPos' (a nil value)
stack traceback:
[C]: in function 'getThingFromPos'
data/actions/scripts/plantation.lua:50: in function <data/actions/scripts/plantation.lua:44>
If anyone could help me with this syntax error I would be glad.