• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Action Snake system

@Silentsniper
try install it right -.-
(read all theread)
and install all libs
 
mmm... ; /I have problem on the server start

Code:
[01/07/2010 21:31:07] [Error - LuaScriptInterface::loadFile] data/lib/snakesys.lua:1: unexpected symbol near 'ď'
[01/07/2010 21:31:07] [Warning - LuaScriptInterface::initState] Cannot load data/lib/

and I use purple gem

Code:
[01/07/2010 21:44:16] [Error - Action Interface] 
[01/07/2010 21:44:16] data/actions/scripts/snakesys.lua:onUse
[01/07/2010 21:44:16] Description: 
[01/07/2010 21:44:16] data/actions/scripts/snakesys.lua:2: attempt to index global 'SNAKE' (a nil value)
[01/07/2010 21:44:16] stack traceback:
[01/07/2010 21:44:16] 	data/actions/scripts/snakesys.lua:2: in function <data/actions/scripts/snakesys.lua:1>

I using: The Forgotten Server, version 0.3.6 (Crying Damson)
 
mother f*cker
Your´s scripts are so f*cking good
---
br
fdp eahuaeuhea
seus script eh mto foda cara
 
try copy here:
Code:
--Script by Mock the bear
SNAKE = {
        _VERSION="1.0 by mock",
        ---Snake config
        itemid=1739,
        freeglobalstorage=28103,
        itemFood=6394,
        controlpos={x=1013,y=1164,z=6},
        exitpos = {x=1009,y=1157,z=7},
        centerpos={x=1012,y=1163,z=7},
        timer = function(cid,n,pos_,time)
                local pos_ = pos_ or {{SNAKE.centerpos}}
                setGlobalStorageValue(SNAKE.freeglobalstorage,cid)
                if not isPlayer(cid) then
                        SNAKE.clean()
                        return
                end
                        for i,pos in pairs(pos_) do
                                SNAKE.find_and_delete(pos[1])
                                if i == 1 then
                                        pos[2] = SNAKE.copypos(pos[1])
                                        pos[1] = getPosByDir({x=pos[1].x,y=pos[1].y,z=pos[1].z,stackpos=255},getCreatureLookDir(cid))
                                else
                                        pos[2] = SNAKE.copypos(pos[1])
                                        pos[1] = pos_[i-1][2]
                                end
                                local ret,p,walk = SNAKE.check(pos[1])
                                if ret == 1 or ret == 3 then
                                        addEvent(doTeleportThing,1000,cid,SNAKE.exitpos)
                                        addEvent(doCreatureSay,1100,cid,'Points '..(#pos_-1)..'.')
                                        SNAKE.clean()
                                        setGlobalStorageValue(SNAKE.freeglobalstorage,0)
                                        return
                                end
                                if ret == 2 then
                                        doRemoveItem(p.uid,-1)
                                        if p.itemid == SNAKE.itemFood then
                                                pos_[#pos_+1] = {pos[2],pos[2]}
                                                for i=1,5 do
                                                        addEvent(doSendMagicEffect,100*i,pos[1],29)
                                                end
                                                SNAKE.generateFood()
                                        end
                                end
                                doCreateItem(SNAKE.itemid,1,pos[1])

                        end
                        local plpos = getCreaturePosition(cid)
                        local generated = {}
                        for i=0,3 do
                                generated[i] = getPosByDir({x=SNAKE.controlpos.x,y=SNAKE.controlpos.y,z=SNAKE.controlpos.z},i)
                        end
                        for i,pos in pairs(generated) do
                                if SNAKE.samepos(plpos,pos) then

                                        doTeleportThing(cid,SNAKE.controlpos,false)
                                end
                                addEvent(doSendMagicEffect,100,pos,56,cid)
                        end
                addEvent(SNAKE.timer,time,cid,n,pos_,time)
        end,
        copypos = function(p)
                return {x=p.x,y=p.y,z=p.z,stackpos=p.stackpos}
        end,
        samepos = function(p1,p2)
                if p1.x == p2.x and p2.y == p2.y then
                        return true
                end
                return false
        end,
        generateFood = function()
                local pp = {x=SNAKE.centerpos.x+math.random(-6,6),y=SNAKE.centerpos.y+math.random(-4,4),z=SNAKE.centerpos.z}
                for i=1,5 do
                        addEvent(doSendMagicEffect,100*i,pp,30)
                end
                doCreateItem(SNAKE.itemFood,1,pp)
        end,
        clean = function()
                for y=-4,4 do
                        for x=-6,6 do
                                local pp = {x=SNAKE.centerpos.x+x,y=SNAKE.centerpos.y+y,z=SNAKE.centerpos.z}
                                for i=250,255 do
                                        pp.stackpos = i
                                        local p = getThingFromPos(pp)
                                        if p.itemid ~= 0 then
                                                doRemoveItem(p.uid,-1)
                                                doSendMagicEffect(pp,15)
                                        end
                                end
                        end
                end
        end,
        check = function(pos)
                for i=1,10 do
                        pos.stackpos = i
                        local p = getThingFromPos(pos)
                        if p.itemid == SNAKE.itemid then
                                return 1,p,true
                        elseif not SNAKE.isWalkable(pos) then
                                return 3,p,false
                        elseif p.itemid ~= 0 then
                                return 2,p
                        end
                end
                return false
        end,
        find_and_delete = function(pos)
                for i=0,255 do
                        pos.stackpos = 255-i
                        local p = getThingFromPos(pos)
                        if p.itemid == SNAKE.itemid then
                                return doRemoveItem(p.uid,1)
                        end
                end
        end,
        isWalkable = function(pos, creature, proj, pz)-- by Nord
                if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end
                if getTopCreature(pos).uid > 0 and creature then return false end
                if getTileInfo(pos).protection and pz then return false, true end
                local n = not proj and 3 or 2
                for i = 0, 255 do
                        pos.stackpos = i
                        local tile = getTileThingByPos(pos)
                        if tile.itemid ~= 0 and not isCreature(tile.uid) then
                                if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then
                                        return false
                                end
                        end
                end
                return true
        end,
}
 
yo mo' remember to update it with tiles :D
 
i am tring fix the crash on slot sistem atm :S
when i done it its shure i will update it
wink.gif
 
ok how can i add the lib properly to my funtions.lua cause eveytime i try to add it my functions dont load.
 
@Silentsniper
you aren't coping all content.
check if you copy all script.

got error? post.
 
Code:
[02/07/2010 16:01:36] Lua Script Error: [Action Interface] 
[02/07/2010 16:01:36] data/actions/scripts/snakesys.lua:onUse

[02/07/2010 16:01:36] data/actions/scripts/snakesys.lua:2: attempt to index global 'SNAKE' (a nil value)
[02/07/2010 16:01:36] stack traceback:
[02/07/2010 16:01:36] 	data/actions/scripts/snakesys.lua:2: in function <data/actions/scripts/snakesys.lua:1>

I doubled checked every part of the scripts and they were there.
 
@Silentsniper
add it on functions.lua:
dofile('data/lib/snakesys.lua')
 
@Silentsniper
when it dont load it show some erro?
 
It shows like million erors if the funtion doesnt load. It says cannot load data/lib/function.lua
 
Back
Top