Bom resolvi Postar algumas script de porta que vocês um dia podem precisar para quest!
ao longo da semana estarei adicionando mais algumas portas...
Passar só se tiver X item.
v1- com teleport.
function onUse(cid, item, frompos, item2, topos) pos = {x=175, y=45, z=7} -- coordenadas para onde o jogador vai se tiver o item item = getPlayerItemCount(cid,8266) -- 8266 é o item necessario ter para passar if item >= 1 then doTeleportThing(cid, pos) else doPlayerSendTextMessage(cid,22,"você nao tem o item para passar.") -- mensagem caso ele nao tiver o item end return TRUE end
v2- sem teleport.
function onUse(cid, item, frompos, item2, topos) item = getPlayerItemCount(cid,8266) -- 8266 é o item necessario ter para passar if item >= 1 then playerpos = getPlayerPosition(cid) doorpos = {x = frompos.x, y = frompos.y, z = frompos.z, stackpos = 253} if playerpos.y == doorpos.y + 1 and playerpos.x == doorpos.x then doMoveCreature(cid, 0) elseif playerpos.x == doorpos.x - 1 and playerpos.y == doorpos.y then doMoveCreature(cid, 1) elseif playerpos.y == doorpos.y - 1 and playerpos.x == doorpos.x then doMoveCreature(cid, 2) elseif playerpos.y == doorpos.y and playerpos.x == doorpos.x + 1 then doMoveCreature(cid, 3) elseif playerpos.x == doorpos.x + 1 and playerpos.y == doorpos.y - 1 then doMoveCreature(cid, 4) elseif playerpos.x == doorpos.x - 1 and playerpos.y == doorpos.y - 1 then doMoveCreature(cid, 5) elseif playerpos.x == doorpos.x + 1 and playerpos.y == doorpos.y + 1 then doMoveCreature(cid, 6) elseif playerpos.x == doorpos.x - 1 and playerpos.y == doorpos.y + 1 then doMoveCreature(cid, 7) end else doPlayerSendTextMessage(cid,22,"você nao tem o item para passar.") end return TRUE end
caso você queira para quando o jogador pela porta retirar o item use:
doPlayerRemoveItem(cid,8266,1)
Magic Level Door.
function onUse(cid, item, frompos, item2, topos) local mlevel = 10 -- magic level necessario local teleport = {x=160, y=54, z=7} -- coordenada para onde vai ao usar a porta local msgsucess = "Bem vindo!" -- mensagem que vai aparece caso ele passar pela porta local msgfault = "Você não tem magic level suficiente!" -- mensagem que ira aparecer caso ele nao tiver o magic level if getPlayerMagLevel(cid) >= mlevel then doTeleportThing(cid, teleport) doSendMagicEffect(getCreaturePosition(cid), 12) doPlayerSendTextMessage(cid, 22, msgsucess) else doPlayerSendTextMessage(cid, 22, msgfault) end return TRUE end
Passar só se tiver a Storage.
function onUse(cid, item, fromPosition) if getPlayerStorageValue(cid, 6557) >= 1 then -- 6557 é o valor da storage doTeleportThing(cid,{x=33266,y=32446,z=12}) -- coordenadas para onde o player vai caso tiver a storage doSendMagicEffect(getPlayerPosition(cid), 10) else doPlayerSendCancel(cid,"You have already done this quest.") end return TRUE end
Premium Door.
function onUse(cid, item, frompos, item2, topos) doorpos = {x=topos.x, y=topos.y, z=topos.z, stackpos=253} doorplayer = getThingfromPos(doorpos) if isPremium(cid) == TRUE then doTeleportThing(cid,doorpos) doPlayerSendTextMessage(cid,22,"Welcome.") end return 1 end
Se alguem tiver ideia para mais Portas,por favor me notificar Via PM ou postar no tópico.
abraços