Sam 52 Postado Quinta em 01:14 Compartilhar Postado Quinta em 01:14 <action itemid="9564" event="script" value="snakesys.lua"/> function onUse(cid, item, frompos, item2, topos) if not isPlayer(getGlobalStorageValue(SNAKE.freeglobalstorage)) then doTeleportThing(cid,SNAKE.controlpos) SNAKE.timer(cid,1,nil,item.actionid == 0 and 500 or item.actionid) doPlayerSendTextMessage(cid,25,'Hold key CTRL and use the arrows to control snake.') SNAKE.generateFood() else doPlayerSendTextMessage(cid,25,'Please wait.') end end --[[ 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 = 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, } Link para o comentário https://tibiadevs.com/forums/topic/1319-eu-n%C3%A3o-to-conseguindo-configura-snake-system-para-tfs-036/ Compartilhar em outros sites Mais opções de compartilhamento...
morduk 687 Postado Sexta em 10:18 Compartilhar Postado Sexta em 10:18 Explica um pouco o que esse sistema faz Link para o comentário https://tibiadevs.com/forums/topic/1319-eu-n%C3%A3o-to-conseguindo-configura-snake-system-para-tfs-036/#findComment-6856 Compartilhar em outros sites Mais opções de compartilhamento...
Sam 52 Postado Sexta em 18:57 Autor Compartilhar Postado Sexta em 18:57 Já Consegui Arruma VLW. Link para o comentário https://tibiadevs.com/forums/topic/1319-eu-n%C3%A3o-to-conseguindo-configura-snake-system-para-tfs-036/#findComment-6860 Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora