Oin alguem poderia me ajudar com script de um teleport que a pessoa precisa ter um determinado item na bag para poder entrar dele? caso ela nao tenha o item ela volta para a posiçao anterior. obgd s2
[Resolvido] Script teleport

Esse Teleport ela iria ficar já no mapa ou teria um tempo pra abrir?
CONTA FAKE ATE A MINHA ORIGINAL VOLTAR >>>>> @Marshmello <<<<<<<
Entao Depois que o pokemon spawnar la e ser morto o teleport ira abrir, ai so quem tiver o item vai poder entar.
@R e d Me envie o script que esta sendo usando no pokemon pf
CONTA FAKE ATE A MINHA ORIGINAL VOLTAR >>>>> @Marshmello <<<<<<<
local tpId = 1387
local tps = {
["Dragonite Milenar"] = {pos = {x=732, y=803, z=7}, toPos = {x=766, y=801, z=9}, time = 30},
}
function removeTp(tp)
local t = getTileItemById(tp.pos, tpId)
if t then
doRemoveItem(t.uid, 1)
doSendMagicEffect(tp.pos, CONST_ME_POFF)
end
end
function onDeath(cid)
local tp = tps[getCreatureName(cid)]
if tp then
doCreateTeleport(tpId, tp.toPos, tp.pos)
doCreatureSay(cid, "O teleport irá sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1)
addEvent(removeTp, tp.time*1000, tp)
end
return TRUE
end
-------
O script de qnd ele morrer aprece o teleport só falta a parde que precisa do item.
No script do Pokemon
local tpId = 1387
local tps = {
["Dragonite Milenar"] = {pos = {x=732, y=803, z=7}, toPos = {x=766, y=801, z=9}, time = 30},
}
function removeTp(tp)
local t = getTileItemById(tp.pos, tpId)
if t then
doRemoveItem(t.uid, 1)
doSendMagicEffect(tp.pos, CONST_ME_POFF)
end
end
function onDeath(cid)
local tp = tps[getCreatureName(cid)]
if tp then
local verificar = getTileItemById(tp.pos, tpId)
doSetItemActionId(verificar.uid,7824)
doCreateItem(tpId, 1, tp.pos)
addEvent(removeTp, tp.time*1000, tp)
end
return TRUE
end
Depois vá em Movements
cria um arquivo chamado boss.lua e cole isso dentro
local pos = {x=2460, y=535,z= 6} --- pos para onde o player vai
local itemid = 15405 --- Id do item
function onStepIn(cid, item, position, fromPosition)
if getPlayerItemCount(cid,itemid) >= 1 then
doTeleportThing(cid, pos)
doSendMagicEffect(getThingPos(cid), 21)
else
doTeleportThing(cid, fromPosition, true)
doPlayerSendTextMessage(cid, 22, "Voce não pode passar aqui")
end
return true
end
e movements.xml Use
<movevent type="StepIn" actionid="7824" event="script" value="Milenar.lua"/>
CONTA FAKE ATE A MINHA ORIGINAL VOLTAR >>>>> @Marshmello <<<<<<<
O teleport Abre mas nao teleporta para o local, nem aparece nenhuma mensagem
Algum erro na distro?
CONTA FAKE ATE A MINHA ORIGINAL VOLTAR >>>>> @Marshmello <<<<<<<
[14/09/2018 17:28:45] [Error - CreatureScript Interface]
[14/09/2018 17:28:45] data/creaturescripts/scripts/Milenar.lua:onDeath
[14/09/2018 17:28:45] Description:
[14/09/2018 17:28:45] (luaDoItemSetAttribute) Item not found
local time = 10
local bauId = 1387
local function removeItem(pos)
local t = getTileItemById(pos, bauId)
if t then
doRemoveItem(t.uid, 1)
doSendMagicEffect(pos, CONST_ME_POFF)
end
end
function onDeath(cid)
local pos = getCreaturePosition(cid)
doCreateItem(bauId, 1, pos)
local verificar = getTileItemById(pos, bauId)
doSetItemActionId(verificar.uid,7824)
addEvent(removeItem,time*1000,pos)
return true
end
Troque
CONTA FAKE ATE A MINHA ORIGINAL VOLTAR >>>>> @Marshmello <<<<<<<
o Boss.lua?
1 minuto atrás, R e d disse:o Boss.lua?
na script do pokemon
CONTA FAKE ATE A MINHA ORIGINAL VOLTAR >>>>> @Marshmello <<<<<<<
Não deu, tipo o script que abre o teleport fica em creaturescript e nesse segundo que vc mando nao tem onde colocar nome do pokemon pra identificar que e qnd ele morrer abre .;-; (n sei de nada so meio burrinho)
32 minutos atrás, R e d disse:Não deu, tipo o script que abre o teleport fica em creaturescript e nesse segundo que vc mando nao tem onde colocar nome do pokemon pra identificar que e qnd ele morrer abre .;-; (n sei de nada so meio burrinho)
N precisa do nome do poke e so por o codigo no XML do pokemon
CONTA FAKE ATE A MINHA ORIGINAL VOLTAR >>>>> @Marshmello <<<<<<<
Bom, agora so passa com o item, mas se vc tiver o item da pra ir sem o tp abrir
Ja arrumei era o ActionId .-.