No TFS 0.3.6 sei pode ser assim:
doItemSetAttribute(doCreateItem(9789, 1, wl), "uid", 9780)
info
Grupo: Visconde
Registrado: 20/08/06
Posts: 250
Reputação: +146

No TFS 0.3.6 sei pode ser assim:
doItemSetAttribute(doCreateItem(9789, 1, wl), "uid", 9780)
info
Grupo: Campones
Registrado: 01/08/07
Posts: 5
Reputação: 0
Vixi Kydrai, n funciono =/
Uso TFS 0.3.5.
info
Grupo: Visconde
Registrado: 20/08/06
Posts: 250
Reputação: +146

Acho que não da pra mudar o uid, pelo menos eu n sei como.
Não pode ser action id não?
Ai seria algo como:
doSetItemActionId(doCreateItem(9789, 1, wl), 1009)
Editado Março 6 por kydrai
info
Grupo: Campones
Registrado: 01/08/07
Posts: 5
Reputação: 0
Kydrai, axo q precisa ser o uid. Mas olha o script q estou tentado fazer:
Tomando como base seu teleport por tempo:
-- By Kydrai
function removeTp(tpId, tpPos)
local tp = getThingfromPos(tpPos)
if tp.itemid == tpId then
doRemoveItem(tp.uid, 1)
doSendMagicEffect(tpPos, CONST_ME_POFF)
end
end
function onTimer()
local tpId = 1387
local tpPos = {x=1048, y=1025, z=7}, {x=1048, y=1024, z=7} -- onde aparece o tp
local tpToPos = {x=1048, y=1026, z=7} -- destino
local tpTime = 5 * 60 -- 5 min
local tp = doCreateTeleport(tpId, tpToPos, tpPos)
addEvent(removeTp, tpTime*1000, tpId, getThingPos(tp))
return TRUE
end
Eu estou querendo fazer uma parede que some em uma determinada hora e aparece 1 minuto depois, o que estou fazendo eh isso:
function addwall(wallId, wallPos)
local wl = {x=1042, y=1020, z=7}
doCreateItem(9789, 1, wl)
end
function onTimer()
doRemoveItem(9780, 1)
local wltime = 1 * 60
addEvent(addwall, wltime*1000)
return TRUE
end
Ele ateh funciona 1x mas quando vai executar pela segunda vez n funciona pq ao criar a parede, ela n esta com o uid 9780. Eu sei que ta mto pog meu script, mas como eu poderia fazer pra ele funciona?
info
Grupo: Visconde
Registrado: 20/08/06
Posts: 250
Reputação: +146

Tenta assim:
-- By Kydrai
function onTimer()
local wl = {x=1042, y=1020, z=7}
local wall = getTileItemById(wl, 9780)
local wltime = 1 * 60
doRemoveItem(wall.uid, 1)
addEvent(doCreateItem, wltime * 1000, 9780, 1, wl)
return TRUE
end
getTileItemById(wl, 9780) -> Pega o item na posição wl com id 9780.
Editado Março 7 por kydrai
info
Grupo: Campones
Registrado: 01/08/07
Posts: 5
Reputação: 0
Meo amigo, como sempre seu script fico perfeito, mto bom.
Pode fecha o tópico, duvida sanada.
Ah kydrai, tenta me ajuda nesse pedido to meio travado nele.
http://www.xtibia.com/forum/topic/128864-pedido-de-funcao/
To tentando da uma modificada em um outro script seu.
Mais vlws ai pela ajuda, sem duvida merece uns pontos :happy:
info
Grupo: Campones
Registrado: 01/08/07
Posts: 5
Reputação: 0
Iae galera,
O titulo diz kse tdo...
Keria sabe se é possivel usar a função doCreateItem com uniqueid.
O que kero fazer é o item 9789 ser criado no map com o uid 9780. Pode ser por outro método sem ser createitem mais acho q eh o unico meio possivel.
To fazendo assim por enquanto: doCreateItem(9789, 1, wl) (o wl eh uma variavel com o teleport). Como faço pra coloka uid nesse item criado?
Acho q fico bem clara minha dúvida, vlws ai pra qm se dispor a me ajudar.