Ir para conteúdo
  • 0

Passar E Não Poder Voltar Sem Level, Apareçer Seta Pela Primera Vez Ao Passar


1579091

Pergunta

Hoje, venho aqui pedir 2 scripts:

 

1º - Passar em um local e não poder voltar sem o level requerido:

Gostaria de um script que quando o player passasse por cima do tile, saisse aquele effect sobre ele como se foce exura (numero 12). E depois que ele passasse ele não poderia voltar mais, ele só poderia voltar novamente quando atingisse o level:

Knights (4) - Level 50

Druid (1) / Sorcerers (2) - Level 42

Paladin (3) - Level 65

 

Depois que ele voltar, ele nunca mais poderia acessar aquela area novamente Nunca mais!

Resumo: Ele podia passar pelo lugar mais não podia passar novamente sem o level requerido.

O numero em parentes [ex. (4)] é o número da vocação!

_______________________________________

 

2º - Ao passar pelo local apareçer seta em certo lugar do mapa e mensagem:

Bom pessoal, nesse segundo script terá que funcionar assim: Quando o player passar em cima do tile, apareçera uma seta em uma pos do mapa [165 70 8], e apareçesse uma mensagem pro player dizendo:

- Desca o bueiro e encontrará rotworms, caçe la até achar que ja pode conheçer o mundo a fora, lembrando que você não será enterrompido por pk's ali em baixo!

 

Complemento: Gostaria que aquele tile, que eu dechei em negrito, por ser 3 tiles de espaço, gostaria de que tivesse de colocar uniqueids nesses tiles e que só funcionasse uma vez. Tipo se o player passasse em um desses tiles ja apareçesse a tela, e se ele pisasse nos outros 3 tiles, não acontecesse mais nada.

 

Lembrando, que a mensagem só apareçerá uma vez, apenas a primeira vez que o player passar sobre aqueles tiles.

 

-- Caso não tenha entendido alguns dos pedidos esclareça que eu estarei explicando melhor a parte que você não entendeu.

Muito grato a quem ajudar!

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

10 respostass a esta questão

Posts Recomendados

  • 0

Tá ai. Vê se os dois tão 100%.

 

Primeiro:

 

function onStepIn(cid, position, fromPosition)

local a = {

[1] = 42,

[2] = 42,

[3] = 65,

[4] = 50

}

 

local b = a[getPlayerVocation(cid)]

 

if not b then

doTeleportThing(cid, fromPosition)

doPlayerSendCancel(cid, "Sorry, your vocation cannot pass.") return true

elseif getPlayerStorageValue(cid, 38471) == -1 then

doMoveCreature(cid, getCreatureLookDir(cid))

setPlayerStorageValue(cid, 38471, 1) return true

elseif getPlayerStorageValue(cid, 38471) == 1 and getPlayerLevel(cid) < b then

doTeleportThing(cid, fromPosition)

doPlayerSendCancel(cid, "Sorry, you must be level "..b.." to leave.") return true

elseif getPlayerStorageValue(cid, 38471) == 1 and getPlayerLevel(cid) >= b then

setPlayerStorageValue(cid, 38471, 2)

doMoveCreature(cid, getCreatureLookDir(cid))

doSendMagicEffect(getCreaturePos(cid), 12)

elseif getPlayerStorageValue(cid, 38471) == 2 then

doTeleportThing(cid, fromPosition)

doPlayerSendCancel(cid, "Sorry, you cannot pass anymore.") return true

end

return true

end

 

 

Segundo:

 

function onStepIn(cid)

local posef = {x = 165, y = 70, z = 8} -- Position do efeito

local eff = 55 -- Efeito da seta

 

if getPlayerStorageValue(cid, 12891) == 1 then return true

end

 

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Desça o bueiro e encontrará rotworms, cace lá até achar que já pode conhecer o mundo, lembrando que você não será interrompido por PKs ali em baixo!")

doSendMagicEffect(posef, eff)

setPlayerStorageValue(cid, 12891, 1)

return true

end

 

 

Use a tag de movement que quiser.

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

  • 0

sobre o 2* pedido...

e exatamente como seria essa seta? tem algum item ou tile q se pareça com uma? to por fora hehe

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

  • 0

@Slicer --

 

local eff = 55 -- Efeito da seta

Esse é o efeito da seta como visto no script do luck

Bom vou testar o script dele qualquer coisa eu edito aki!

 

___________________________________

 

@LuckOak -- No primeiro ele passa pelo tile e a mensagem fala que ele nao pode passar mais ele pode passar do mesmo jeito. e da o seguinte erro no the forgot:

 

[08/10/2012 21:13:13] [Error - MoveEvents Interface]

[08/10/2012 21:13:13] data/movements/scripts/firsthunt.lua:onStepIn

[08/10/2012 21:13:13] Description:

[08/10/2012 21:13:13] (luaDoPlayerSendCancel) Player not found

 

e no segundo eu puis a tag assim:

<movevent type="StepIn" actionid="15768" event="script" value="firsthunt.lua"/>

e nao funfo...

 

Se você puder arrumar os scripts e passar a tag...

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

  • 0

Primeiro:

 

function onStepIn(cid, position, fromPosition)

local a = {

[1] = 42,

[2] = 42,

[3] = 65,

[4] = 50,

}

 

local b = a[getPlayerVocation(cid)]

 

if not b then

doPlayerSendCancel(cid, "Sorry, your vocation cannot pass.")

return doTeleportThing(cid, fromPosition) end

if getPlayerStorageValue(cid, 38471) == -1 and b then

doMoveCreature(cid, getCreatureLookDir(cid))

setPlayerStorageValue(cid, 38471, 1) return true

elseif getPlayerStorageValue(cid, 38471) == 1 and getPlayerLevel(cid) < b then

doTeleportThing(cid, fromPosition)

doPlayerSendCancel(cid, "Sorry, you must be level "..b.." to leave.") return true

elseif getPlayerStorageValue(cid, 38471) == 1 and getPlayerLevel(cid) >= b then

setPlayerStorageValue(cid, 38471, 2)

doMoveCreature(cid, getCreatureLookDir(cid))

doSendMagicEffect(getCreaturePos(cid), 12)

elseif getPlayerStorageValue(cid, 38471) == 2 then

doTeleportThing(cid, fromPosition)

doPlayerSendCancel(cid, "Sorry, you cannot pass anymore.") return true

end

return true

end

 

 

Testado e funcionando.

 

O segundo tá funcionando normal aqui. Testa ai direito.

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

  • 0

o 1º continua dando no mesmo, apareçe a msg mais o player pode ir e voltar normalemente!

O segundo tipo quando o bixo passa a seta apareçe... teria como não acontecer com bixos?? porque se nao os bixo fica passando la e a seta apareçe!

 

 

Erro apontado:

[08/10/2012 21:36:49] [Error - MoveEvents Interface]

[08/10/2012 21:36:49] data/movements/scripts/firsthunt I.lua:onStepIn

[08/10/2012 21:36:49] Description:

[08/10/2012 21:36:49] (luaDoPlayerSendTextMessage) Player not found

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

  • 0

Tó o segundo corrigido:

 

 

function onStepIn(cid)

local posef = {x = 165, y = 70, z = 8} -- Position do efeito

local eff = 55 -- Efeito da seta

 

if getPlayerStorageValue(cid, 12891) == 1 then return true

end

 

if not isMonster(cid) then

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Desça o bueiro e encontrará rotworms, cace lá até achar que já pode conhecer o mundo, lembrando que você não será interrompido por PKs ali em baixo!")

doSendMagicEffect(posef, eff)

setPlayerStorageValue(cid, 12891, 1)

end

return true

end

 

 

O primeiro eu não sei qual é o problema, aqui funcionou.

Link para o comentário
Compartilhar em outros sites

  • 0

mano.. aparentemente ta tudo certo com o script do luck ;/ n sei oq pode ser.. mas tem algu estranhu ae na real ;x

o script dele n tem nenhum 'DoPlayerSendTextMessage' mas ms assim ta dando debug nisso o.O ;x

tenta usar isso.. mas achu q n vai mudar nd.. sorry..

 

function onStepIn(cid, position, fromPosition)

local a = {

[1] = 42,

[2] = 42,

[3] = 65,

[4] = 50,

}

 

local b = a[getPlayerVocation(cid)]

 

if not b then

doPlayerSendCancel(cid, "Sorry, your vocation cannot pass.")

doTeleportThing(cid, fromPosition)

return false

end

 

if getPlayerStorageValue(cid, 38471) == -1 then

doMoveCreature(cid, getCreatureLookDir(cid))

setPlayerStorageValue(cid, 38471, 1)

return false

elseif getPlayerStorageValue(cid, 38471) == 1 and getPlayerLevel(cid) < b then

doPlayerSendCancel(cid, "Sorry, you must be level "..b.." to leave.")

doTeleportThing(cid, fromPosition)

return false

elseif getPlayerStorageValue(cid, 38471) == 1 and getPlayerLevel(cid) >= b then

setPlayerStorageValue(cid, 38471, 2)

doMoveCreature(cid, getCreatureLookDir(cid))

doSendMagicEffect(getPlayerPosition(cid), 12)

elseif getPlayerStorageValue(cid, 38471) == 2 then

doPlayerSendCancel(cid, "Sorry, you cannot pass anymore.")

doTeleportThing(cid, fromPosition)

return false

end

 

return true

end

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...