- Dołączył
- Maj 22, 2009
- Posty
- 199
- Liczba reakcji
- 6
Witam,jak sama nazwa m?wi mam problem ,ze snake system ,mianowicie nigdzie mnie nie teleportuje ;o
tutaj skrypt:
actions/scripts/
xml.
lib
hmm...teren zrobi?em zgodnie z tym tematem
http://tibia.net.pl/kosz-biblioteki/378761-8-5-snake-system.html
i teraz jeszcze jedno pytanko czy przyczyn? mo?e by? u?ywanie tfs 0.4 trunk r.3884
P.S. konsola nic nie m?wi ;/
Edit ,prosze o pomoc jeszcze w jednym skrypcie mianowicie monsters/spells
chcia?em wgra? skrypt na oto tego potworka
http://tibia.net.pl/kosz-biblioteki/67513-player-killer-wyglada-jak-prawdziwy-player-gesior.html
no niestety ,ale konsola ma b??dy :
oraz:
Wszystko jest na bank dobrze podane ,ale b??dy nadal s? ;<
tutaj skrypt:
actions/scripts/
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,'Mantenga la tecla CTRL y utilice las flechas para controlar la serpiente.')
SNAKE.generateFood()
else
doPlayerSendTextMessage(cid,25,'Por favor, espere.')
end
end
xml.
action itemid="9564" event="script" value="nowe/snakesys.lua"/>
lib
--[[
Script by Mock the bear
]]
SNAKE = {
_VERSION="1.0 by mock",
---Snake config
itemid=1739,
freeglobalstorage=28103,
itemFood=6394,
controlpos={x=255,y=517,z=6},
exitpos = {x=252,y=511,z=7},
centerpos={x=255,y=517,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,
}
hmm...teren zrobi?em zgodnie z tym tematem
http://tibia.net.pl/kosz-biblioteki/378761-8-5-snake-system.html
i teraz jeszcze jedno pytanko czy przyczyn? mo?e by? u?ywanie tfs 0.4 trunk r.3884
P.S. konsola nic nie m?wi ;/
Edit ,prosze o pomoc jeszcze w jednym skrypcie mianowicie monsters/spells
chcia?em wgra? skrypt na oto tego potworka
http://tibia.net.pl/kosz-biblioteki/67513-player-killer-wyglada-jak-prawdziwy-player-gesior.html
no niestety ,ale konsola ma b??dy :
[16:24:27.765] [Error - Spell Interface]
[16:24:27.765] data/spells/scripts/PK.lua
[16:24:27.765] Description:
[16:24:27.765] attempt to index a number value
[16:24:27.765] [Warning - Event::loadScript] Cannot load script (data/spells/scr
ipts/PK.lua)
oraz:
[16:24:30.031] [Error - Monsters::deserializeSpell] PK - Unknown spell name: PKs
pellMonster
[16:24:30.031] [Warning - Monsters::loadMonster] Cant load spell. (data/monster/
PK.xml)
Wszystko jest na bank dobrze podane ,ale b??dy nadal s? ;<