TO
dúvida

como eu faço para mover item sem usar esse metodo?

Por tonynamoral, 03 de jan. de 2013 em Scripts

resolvido
27
3.7k
tonynamoralT
03 de janeiro de 2013 às 00:04

Fala ai galerinha *---* , eu estou com 1 duvida. ("AVÁ É MEMU ¬¬")

 

entao galera é o seguinte , eu quero fazer 1 item se mover sem ficar doCreateItem , doRemoveItem , e bla bla bla

 

então , se poderem me ajudar. *--*

SlicerS
03 de janeiro de 2013 às 00:16

doTeleportThing(item.uid, pos)

nunca testei.. mas achu q deve funcionar o.O n?

tonynamoralT
03 de janeiro de 2013 às 00:17

local item = getPlayerItemById(cid,true,1949)

doTeleportThing(item.uid,pos)

 

 

Assim ? o.0

SlicerS
03 de janeiro de 2013 às 00:18

q q tu quer fazer o.O tu flo em se mover...

tonynamoralT
03 de janeiro de 2013 às 00:22

Fazer um ITEM se mover , sem precisar criar e remover , criar e remover.

SlicerS
03 de janeiro de 2013 às 00:26

ta entao pq uso getPlayerItem o.O isso q estranhei..

tenta usar o teleportThing ae e ve noq da '--'

local uid = doCreateItem(1111, 1, pos)
doTeleportThing(uid, newPos)

tonynamoralT
03 de janeiro de 2013 às 00:47

E como eu faço para ficar movendo ele para varios cantos?

SkymagnumS
03 de janeiro de 2013 às 00:59

Não irá funcionar a função de teleport é exclusivamente para jogadores, se alguém souber uma função que pega a posição do item eu faço a função.

SmiXS
03 de janeiro de 2013 às 01:07

Tenta assim:

 

function doMoveItemAumtomatic(itemId, oldPos, newPos)
newPos = math.random(oldPos, newPos)
local iten = doCreateItem(itemId, 1, oldPos)
doTeleportThing(iten, newPos)
end

 

use assim:

doMoveItemAumtomatic(2169, {x = 1, y = 1, z = 1}, {x = 3, y = 3, z = 3})

 

Acho que vai funcionar, mas não testei.

tonynamoralT
03 de janeiro de 2013 às 01:22

para eu ir movendo , é so ir adicionando essas funçoes ai?...

 

não teria como criar 1 tabela usando :

 

local move = {SOUTH,NORTH,EAST,WEST} ??

SkymagnumS
03 de janeiro de 2013 às 01:27

Na verdade a função não é difícil, o problema é que não sei nenhuma função que pegue a posição de um item, no mais é fácil.

 

function doMoveItem(item, dir)

local uidPos = pegarPosiçãoDoItem(item.uid)
uidPos.stackpos = 253

local dirTab = {
[0] = {x = uidPos.x, y = uidPos.y - 1, z = uidPos.z},
[1] = {x = uidPos.x + 1, y = uidPos.y, z = uidPos.z},
[2] = {x = uidPos.x, y = uidPos.y + 1, z = uidPos.z},
[3] = {x = uidPos.x - 1, y = uidPos.y, z = uidPos.z}
}

return doRemoveItem(getThingFromPos(uidPos)) and doCreateItem(item.itemid, 1, dirTab[dir])
end

 

exêmplo

function onUse(cid, item)

return doMoveItem(item.uid, getCreatureLookDirection(cid)) and true

end

 

lembrando que a função não está terminada, se eu achar alguma função que pegue a posição de um item eu termino ela, a action é só um exêmplo.

 

Norte = 0

Leste = 1

Sul = 2

Oeste = 3

Editado Janeiro 3 por Skymagnum

tonynamoralT
03 de janeiro de 2013 às 01:52

Então essa funçao eu provavelmente usaria assim

 

local movs = {0,1,1,1,1}

 

doMoveItem(item.uid,movs)

SkymagnumS
03 de janeiro de 2013 às 02:01

local moves = {0, 2, 1, 1, 3}

for i = 1, #moves do
addEvent(doMoveItem, i * 100, item.uid, moves[i])
end

Então no caso moveria, pra cima, pra baixo, pra direita, pra direita, pra esquerda.

Editado Janeiro 3 por Skymagnum

tonynamoralT
03 de janeiro de 2013 às 02:02

Obrigado , adicionado na lib. DUVIDA SANADA , REP+

SkymagnumS
03 de janeiro de 2013 às 02:30

Você achou a função de pegar a posição de um item? se sim favor passar.