Firstt ^^
Muito bom veio parabens mais 1 script para meu Progeto!!!!
VLW SEMPRE AJUDANDO O XTIIBA A CRESCER
Por Demonbholder, 19 de jul. de 2011 em Actions e Talkactions
info
Grupo: Barão
Registrado: 18/06/11
Posts: 230
Reputação: +32
Char no Tibia: Louco Do Gole

Firstt ^^
Muito bom veio parabens mais 1 script para meu Progeto!!!!
VLW SEMPRE AJUDANDO O XTIIBA A CRESCER
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Sugiro que edite seu script, pois acabo de diminuir o script.
A funcionalidade não mudou, apenas o diminui.
info
Grupo: Visconde
Registrado: 19/08/10
Posts: 379
Reputação: +161
Gênero: Masculino
Char no Tibia: Hexagrama

[27/07/2011 20:38:15] Lua Script Error: [TalkAction Interface]
[27/07/2011 20:38:15] in a timer event called from:
[27/07/2011 20:38:15] data/talkactions/scripts/box.lua:onSay
[27/07/2011 20:38:15] data/talkactions/scripts/box.lua:24: attempt to call global 'getThingFromPos' (a nil value)
[27/07/2011 20:38:15] stack traceback:
[27/07/2011 20:38:15] [C]: in function 'getThingFromPos'
[27/07/2011 20:38:15] data/talkactions/scripts/box.lua:24: in function 'getItemUid'
[27/07/2011 20:38:15] data/talkactions/scripts/box.lua:48: in function <data/talkactions/scripts/box.lua:46>
O Que é??
obs: uso versão 9.10
Editado Julho 27 por DanielZiyak
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Seu otserver não tem a função getThingFromPos. Aconselho a trocar de otserver, é uma função muito usada.
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder
Faaala galera! Estou gostando de ver, todo mundo postando os scripts e participando do SDS, é isso mesmo pessoal! Vamos continuar fazendo o XTibia crescer nesta magnifica área de scripts. Fiz um script para um pedido que me fizeram por messenger, e aqui vou posta-lo.
Como funciona: Você deve estar na frente do item e falar c1 para norte, c2 para oeste, c3 para sul e c4 para leste para que o item literalmente comece a andar. O número de sqms e a velocidade que o item irá se mover variam de acordo com o level do jogador.
O item deve poder ser movido, por exemplo, uma parede não vai se mover.
Talkaction
function onSay(cid, words, param) dir = {["c1"] = 0, ["c2"] = 3, ["c3"] = 2, ["c4"] = 1} sqms = math.ceil(getPlayerLevel(cid)/10) id = {2160, 2421} vel = {[10] = 5000, [20] = 4500, [30] = 4000, [50] = 3500, [70] = 3000, [90] = 2500, [100] = 2000, [150] = 1000} if dir[words] then for _, i in pairs(id) do if getTileItemById(getPlayerLookPos(cid), i).itemid == i then addEvent(doMoveObject, getPlayerVel(cid, vel), getPlayerLookPos(cid), dir[words], sqms, getPlayerVel(cid, vel), i) break end end end end function getItemUid(posi, id) if getTileItemById(posi, id).itemid ~= id then return nil end for i = 1, 255 do posi = {x=posi.x, y=posi.y, z=posi.z, stackpos=i} if getThingFromPos(posi).itemid == id then return getThingFromPos(posi).uid end end end function getPlayerVel(uid, tab) a = 0 for level, milisec in pairs(tab) do if getPlayerLevel(uid) >= level then if level >= a then a = level end end end return tab[a] end function doMoveObject(pos, dir, sqms, delay, id) if getItemUid(pos, id) ~= nil then doTeleportThing(getItemUid(pos, id), getPosByDir(pos, dir, 1)) if sqms > 1 then addEvent(doMoveObject, delay, pos, dir, sqms-1, delay, id) end end endEditando o Script
Essa é a fórmula que eu fiz para a contagem dos sqms, aumenta 1 sqm a cada 10 leveis. Se souber, pode edita-la.
id = {2160, 2421}Estes são os ids dos itens que podem ser movidos.
vel = {[1] = 5000, [10] = 4750], [20] = 4500, [30] = 4000, [50] = 3500, [70] = 3000, [90] = 2500, [100] = 2000, [150] = 1000}Nesta tabela estão as velocidades, ou seja, de quantos em quantos milisegundos o item vai se mover de um sqm para o outro. No caso acima, a partir do level 1 vai se mover de 5 em 5 segundos, a partir do level 10 de 4,75 segundos em 4,75 segundos e assim por diante.
Tag
É isso galerinha, abraços.
Editado Julho 19 por Demonbholder