Ir para conteúdo
  • 0

[Pedido] Passagem Secreta


Farathor

Pergunta

Olá pessoal, gostaria de um script assim, tipo, eu USO certo item em uma certa parede, e essa parede some, mas tem um porém, quando eu uso a runa na parede, sai um efeito do personagem que utilizou a runa, até a parede, e quando a certa aparede aparece um PUFF e ela some, tipo como se eu atacasse a parede, e ela sumisse entenderam? VLW

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0
  Em 01/04/2016 em 02:05, Farathor disse:

Não, é melhor que seja por item mesmo

olha cara n entendi muito bem... mais tipo eu uso muito scripts de passagem secretas... que sempre tem alguma coisa escrito para ajudar os players como por exemplo um quadro... assim tendo certo item o player clica na passagem e eh teleportado apara certo lugar esse eh um exemplo do que faço ...... Outro eh quando player tiver de frente com certa passagem poder dizer uma comando aonde ele abre a passagem... tem outros tbm que tipo você mata o monstro e libera uma passagem secreta estilo arena e talz... eh bem simples do que a gente imagina um pouquinho de estudo a gente domina tudo heheh pelo o que entendi você que um Actions... por que um actions ? tudo que é USE eh actions... tudo que envolve players eh creaturescripts etc... talkactions são comandos... bom vamos lá! jaja volto aqui com seu scripts a desejar!

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

  • 0

Caso esteja com alguma duvida, me fale que eu tento sana-la


teria como me passar esse do cara falar uma certa mensagem e a passagem abrir?

Link para o comentário
Compartilhar em outros sites

  • 0
  Em 01/04/2016 em 03:15, Farathor disse:

Caso esteja com alguma duvida, me fale que eu tento sana-la

teria como me passar esse do cara falar uma certa mensagem e a passagem abrir?

um talkactions

  Em 01/04/2016 em 03:23, leleke disse:

um talkactions

 

 

function onSay(cid, words, param, channel)
if getTileHouseInfo(getThingPos(cid)) then
return doPlayerSendCancel(cid, "Desculpe isso não é possível.")
end
if not canSummon(cid) then
return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHROOM)
end
if getTilePzInfo(getThingPos(cid)) then
return doPlayerSendCancel(cid, "Desculpe isso não é possível.")
end
local M = {
Pos = {x=60,y=164,z=7},
id= 1114,
time = 10}
local x = M
function criar()
local parede = getTileItemById(x.Pos, x.id)
doCreateItem(x.id, 1, x.Pos)
end
if x then
local parede = getTileItemById(x.Pos, x.id)
if getTileInfo(getCreaturePosition(cid)).itemid == 3217 then
if getPlayerLevel(cid) >= 80 then
if parede then
doRemoveItem(parede.uid, 1)
doCreatureSay(cid, "A passagem foi aberta porr "..x.time.." segundos!", TALKTYPE_ORANGE_1) doPlayerSendTextMessage(cid, 25, "Passagem Aberta!.")
doCreatureSay(cid, "msg!", TALKTYPE_SAY)
addEvent(criar, x.time*1000)
end
end
end
else
doPlayerSendTextMessage(cid, 25, "level 80 no minimo.")
end
return TRUE
end
<talkaction words="sua fala" event="script" value="arquivo.lua"/>
3217 ID do piso aonde o player deve estar para falar o comando!
Pos = {x=60,y=164,z=7}, Local da parede que será removida
id= 1114, ID DA PAREDE
time = 10} TEMPO QUE A PAREDE VOLTA no caso 10 segundos
if getPlayerLevel(cid) >= 80 then level que pode falar o comando..
ta ai meu scripts eh bem completo rsrs fiz pro meu harry potter e talz...

 

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

  • 0

e o meu pedido, vc fez tbm ?


Tipo, e se existirem mais de 1 piso com esse ID no servidor? Toda vez que ele estiver em cima de um e ele falar esse comando, a passagem vai abrir?

Link para o comentário
Compartilhar em outros sites

  • 0
  Em 01/04/2016 em 03:37, Farathor disse:

e o meu pedido, vc fez tbm ?

Tipo, e se existirem mais de 1 piso com esse ID no servidor? Toda vez que ele estiver em cima de um e ele falar esse comando, a passagem vai abrir?

faz um piso que n tem e o de runa tem da runa de apagar fogo eh o mesmo!

 

 

local unremovable = {3058}

local function isRemovable(v)

return type(v) == "table" and v.uid > 65535 and v.actionid == 0 and isMoveable(v.uid) and not isInArray(unremovable, v.itemid) and not isCreature(v.uid) or false

end

 

local function findFirstRemovable(pos)

while getThingfromPos(pos).uid > 0 do

if isRemovable(getThingfromPos(pos)) then

return pos.stackpos

end

pos.stackpos = pos.stackpos + 1

end

end

local function doRemoveObject(cid, pos)

pos.stackpos = 1

local i, first = 0, getThingfromPos(pos)

if not isRemovable(first) then

local k = findFirstRemovable(pos)

if type(k) == "number" then

pos.stackpos = k

end

end

while isRemovable(getThingfromPos(pos)) do

doRemoveItem(getThingfromPos(pos).uid)

i = i + 1

if not isRemovable(getThingfromPos(pos)) then

local k = findFirstRemovable(pos)

if type(k) == "number" then

pos.stackpos = k

end

end

end

 

if i > 0 then

doSendMagicEffect(pos, CONST_ME_BLOCKHIT)

return LUA_NO_ERROR

end

 

doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

return LUA_ERROR

end

 

function onCastSpell(cid, var)

local pos = variantToPosition(var)

if(pos.x ~= 0 and pos.y ~= 0 and pos.z ~= 0 and not getTileInfo(pos).protection) then

return doRemoveObject(cid, pos)

end

 

doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

return LUA_ERROR

end

 

3058 id da parede.

 

não testei

Link para o comentário
Compartilhar em outros sites

  • 0

Em actions.xml, adicione as tags:

 

      <action itemid="iditem" script="pasparede.lua"/>

      <action itemid="idruna" script="pasparede.lua"/>

 

Em actions/scripts, crie um arquivo chamado pasparede.lua e adicione:

 

local posparede = {x = xxx, y = xxx, z= xxx}

local idparede = xxx

local actionidparede = xxx

local iditem = xxx

local idruna = xxx

 

function parede()

doCreateItem(posparede, idparede, 1)

doSendMagicEffect(getThingPosition(itemEx.uid), 12)

return true

end

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

 

if itemEx.actionid == actionidparede then

 

if item.itemid == iditem then

doSendMagicEffect(getThingPosition(itemEx.uid), 2)

doPlayerSendTextMessage(cid, 22, "Voce abriu a passagem secreta!")

doRemoveItem(itemEx.uid, 1)

addEvent(parede, 10*1000)

end

 

if item.itemid == idruna then

doSendMagicEffect(getThingPosition(itemEx.uid), 6)

doPlayerSendTextMessage(cid, 22, "Voce abriu a passagem secreta!")

doRemoveItem(itemEx.uid, 1)

addEvent(parede, 10*1000)

end

 

end

 

return true

end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...