Bem, e um sistema bem simples, e facild e fazer. bem vamos lá. Lembrando que eu so tive a idea, 99% dos creditos não sou eu que fiz. Creditos no final!
Começa abrindo seu map editor, e copiando uma parte media da sua cidade principal, lebramdo que deve conter o templo!
Para selocionar, basta clicar com o direito do mouse em qualquer tile, e depois deslecionar esse tile, segurar shift e arrastar ate a area que você quer.
de um ctrl+c
Agora, va em uma parte vaga do seu mapa onde não tenha nada e cole esse pedaço da cidade.
Edite-a colocando coisas bem non-sense, como camas no meio do nada, coloque animais, miragens etc..
▬▬▬▬▬▬▬▬▬▬▬▬
Action
Bem, agora va ate a pasta /data/actions e adicione esta linha no arquivo actions.xml
<action itemid="2569" script="cigarro.lua" allowfaruse="1" blockwalls="0" />
itemid="2569" Troque o numero do itemid por um item que tenha a mira quando for da use, um exemplo desse tipo de item e o copo. Caso não faça isso, o player vai ter que subir em cima do item para conseguir usar.
Depois, na pasta /scripts copie um arquivo qualquer, ronemeie para cigarro.lua
Cole isto:
function onUse(cid, item, frompos, item2, topos)
if getPlayerAccess(cid) == 0 then
player1pos = {x=topos.x, y=topos.y, z=topos.z, stackpos=253}
player1 = getThingfromPos(player1pos)
if player1.itemid > 0 then
temple = {x=559, y=18, z=7}
outrapos = {x=100, y=50, z=7}
segundos = 60
doSendMagicEffect(topos,12)
doTeleportThing(player1.uid,temple)
addEvent(doTeleportThing, segundos*1000, player1.uid, outrapos)
addEvent(doPlayerSendTextMessage, segundos*1000, player1.uid,22,"Acorda FDP!.")
doSendMagicEffect(temple,12)
doPlayerSendTextMessage(player1.uid,22,"Você fumou um baseado.")
if item.type > 1 then
doChangeTypeItem(item.uid,item.type-1)
else
doRemoveItem(item.uid,1)
end
return 0
else
doSendMagicEffect(frompos,2)
return 0
end
else
doPlayerSendTextMessage(cid,22,"FDP DE GM, TENTANDO FUMAR nÉ???")
return 0
end
end
temple = {x=559, y=18, z=7}
Posição do templo modificado.
outrapos = {x=100, y=50, z=7}
Posição do templo normal, sem estar modificado
doPlayerSendTextMessage(player1.uid,22,"Você fumou um baseado.")
Texto que vai aparecer quando o player "fumar"
segundos = 60
Tempo em segundos que vai demorar para que o player saia da ilusão
addEvent(doPlayerSendTextMessage, segundos*1000, player1.uid,22,"X")
Entre "X" a mensagem que vai aparecer quando ele voltar
Enjoy