Ir para conteúdo

[ Actions ]Algumas Portas


Vodkart

Posts Recomendados

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

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

Para fazer a porta com storage basta entrar no map editor e botar o actionid=storage que você quer, muito mais prático do que fazer 1 script para cada porta.

Acho que as outras portas também podem ser feitas via map editor, não me lembro agora :~

 

//Re~

Link para o comentário
Compartilhar em outros sites

Parabéns, scripts simples, porem bem uteis... ;]

Tenho certeza que muita grente irá precisar, principalmente para quests!

REP+ abraços...

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

Alguém sabe como eu faço para adicionar mais items necessários para abrir a porta com teleport?

eu quero criar uma porta q precise de 6 itens para passar..

é possivel isso?

Editado por MaxxJuba
Link para o comentário
Compartilhar em outros sites

claro cara

 

 

 

function onUse(cid, item, frompos, item2, topos)
pos = {x=175, y=45, z=7} -- coordenadas para onde o jogador vai se tiver o item
local item = 8266 -- id do seu item
local quant = 6 -- quantidade

if(getPlayerItemCount(cid, item) >= quant) then
doTeleportThing(cid, pos)
else
doPlayerSendTextMessage(cid,22,"você nao tem os items para passar.") -- mensagem caso ele nao tiver o item
end
return TRUE
end

 

se você quer que qndo passe remova os itens só colocar

 

doPlayerRemoveItem(cid, item, quant)

 

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

 

 

function onUse(cid, item, frompos, item2, topos)

local Ppos = {x=175, y=45, z=7} -- coordenadas para onde o jogador vai se tiver o item

local t = {item1={XXXX,YY},item2={XXXX,YY},item3={XXXX,Y},item4={XXXX,YY},item5={XXXX,YY},item6={XXXX,YY}}


if(getPlayerItemCount(cid, t.item1[1]) >= t.item1[2]) then
if(getPlayerItemCount(cid, t.item2[1]) >= t.item2[2]) then
if(getPlayerItemCount(cid, t.item3[1]) >= t.item3[2]) then
if(getPlayerItemCount(cid, t.item4[1]) >= t.item4[2]) then
if(getPlayerItemCount(cid, t.item5[1]) >= t.item5[2]) then
if(getPlayerItemCount(cid, t.item6[1]) >= t.item6[2]) then
doTeleportThing(cid, pos)
else
doPlayerSendTextMessage(cid,22,"você precisa ter " .. t.item6[2] .. " " .. getItemNameById(t.item1[6]) .. "  para passar.")
end
else
doPlayerSendTextMessage(cid,22,"você precisa ter " .. t.item5[2] .. " " .. getItemNameById(t.item5[1]) .. "  para passar.")
end
else
doPlayerSendTextMessage(cid,22,"você precisa ter " .. t.item4[2] .. " " .. getItemNameById(t.item1[4]) .. "  para passar.")
end
else
doPlayerSendTextMessage(cid,22,"você precisa ter " .. t.item3[2] .. " " .. getItemNameById(t.item3[1]) .. "  para passar.")
end
else
doPlayerSendTextMessage(cid,22,"você precisa ter  " .. t.item2[2] .. " " .. getItemNameById(t.item2[1]) .. " para passar.")
end
else
doPlayerSendTextMessage(cid,22,"você precisa ter " .. t.item1[2] .. " " .. getItemNameById(t.item1[1]) .. "  para passar.")
end
return TRUE
end

 

XXXX == ID DO ITEM

YY = QUANTIDADE DO ITEM

 

 

 

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...
×
×
  • Criar Novo...