raf
Active Member
So i accidentally while being overtired shutdowned my server (whole dedicated server), and after booting it up again, and turning on TFS, i get weird things, it doesn't make sense for me, since nothing was changed.
I'm using latest TFS 1.2
data/movements/scripts/snow.lua
data/movements/scripts/walkback.lua
data/lib/core/creature.lua (getPlayer error function)
I'm using latest TFS 1.2
PHP:
Lua Script Error: [MoveEvents Interface]
data/movements/scripts/walkback.lua:onStepIn
data/movements/scripts/walkback.lua:4: attempt to call global 'getPlayer' (a nil value)
stack traceback:
[C]: in function 'getPlayer'
data/movements/scripts/walkback.lua:4: in function <data/movements/scripts/walkback.lua:3>
Lua Script Error: [MoveEvents Interface]
data/movements/scripts/snow.lua:onStepOut
data/movements/scripts/snow.lua:2: attempt to call method 'getPlayer' (a nil value)
stack traceback:
[C]: in function 'getPlayer'
data/movements/scripts/snow.lua:2: in function <data/movements/scripts/snow.lua:1>
data/movements/scripts/snow.lua
PHP:
function onStepOut(creature, item, position, fromPosition)
local player = creature:getPlayer()
if player and player:isInGhostMode() then
return true
end
if item.itemid == 670 then
item:transform(6594)
else
item:transform(item.itemid + 15)
end
item:decay()
return true
end
data/movements/scripts/walkback.lua
PHP:
local SPECIAL_QUESTS = {2215, 2216, 10544, 12374, 12513, 26300, 27300, 28300}
function onStepIn(creature, item, position, fromPosition)
local player = creature:getPlayer()
if not player then
return true
end
if (Container(item.uid) and not isInArray(SPECIAL_QUESTS, item.actionid) and item.uid > 65535) then
return true
end
player:teleportTo(fromPosition, true)
return true
end
data/lib/core/creature.lua (getPlayer error function)
PHP:
...
function Creature.getPlayer(self)
return self:isPlayer() and self or nil
end
function Creature.isPlayer(self)
return false
end
...