Ir para conteúdo
  • 0

[Resolvido] Door Que Somente Membro De Uma Guild Pode Entrar


bruno333

Pergunta

Galera o Script q eu preciso e mais ou menos assim

 

uma Door que somente players que pertence a uma guild podem passar por ela!

 

creio que n seja dificil de fazer porem eu não tenho conhecimento sobre Script's e por isso venho pedir uma ajudinha de vcs

 

 

Obrigado desde Já !

 

 

Caso n seja possivel uma door poderia ser tbem um Tile onde somente membros de guild podem passar

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

12 respostass a esta questão

Posts Recomendados

  • 0

Ah sim. Tenta:

 

Possibilidade 1:

 

 

Se tem uma porta pra cada guild, segue as instruções:

 

1_ Coloca um unique id diferente em cada porta.

 

2_ Usa o script a seguir:

 

function onUse(cid, item)

 

local t = {

[100] = {guild='Nome'},

[101] = {guild='Nome'},

[102] = {guild='Nome'},

[103] = {guild='Nome'},

[104] = {guild='Nome'},

[105] = {guild='Nome'},

[106] = {guild='Nome'},

[107] = {guild='Nome'}

}

 

if getPlayerGuildName(cid) ~= t[item.uid].guild then

return FALSE

else

return TRUE

end

end

 

Azul: Os números dentro dos colchetes são os unique ids.

Vermelho: Ai é o nome de cada guild.

 

E a tag:

 

<action uniqueid="uid1;uid2;uid3;uid4;uid5;uid6;uid7" script="nome_do_arquivo.lua" />

 

 

Possibilidade 2:

 

 

Se for uma porta para todas as guilds, dai é só colocar um unique id nessa porta, e usar o script abaixo:

 

function onUse(cid, item)

 

if getPlayerGuildId(cid) == 0 then

return FALSE

else

return TRUE

end

end

 

 

Acho que é isso, não testei nenhum, até.

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

  • 0

Ah sim. Tenta:

 

Possibilidade 1:

 

 

Se tem uma porta pra cada guild, segue as instruções:

 

1_ Coloca um unique id diferente em cada porta.

 

2_ Usa o script a seguir:

 

function onUse(cid, item)

 

local t = {

[100] = {guild='Nome'},

[101] = {guild='Nome'},

[102] = {guild='Nome'},

[103] = {guild='Nome'},

[104] = {guild='Nome'},

[105] = {guild='Nome'},

[106] = {guild='Nome'},

[107] = {guild='Nome'}

}

 

if getPlayerGuildName(cid) ~= t[item.uid].guild then

return FALSE

else

return TRUE

end

end

 

Azul: Os números dentro dos colchetes são os unique ids.

Vermelho: Ai é o nome de cada guild.

 

E a tag:

 

<action uniqueid="uid1;uid2;uid3;uid4;uid5;uid6;uid7" script="nome_do_arquivo.lua" />

 

 

Possibilidade 2:

 

 

Se for uma porta para todas as guilds, dai é só colocar um unique id nessa porta, e usar o script abaixo:

 

function onUse(cid, item)

 

if getPlayerGuildId(cid) == 0 then

return FALSE

else

return TRUE

end

end

 

 

Acho que é isso, não testei nenhum, até.

 

 

no caso eu quero ea possibilidade 2 que você colocou ae

e como ficaria a tag?

Link para o comentário
Compartilhar em outros sites

  • 0

Velho, eu tava testando aqui, e achei um problema, pois no script, eu tenho que colocar para a porta teleportar o jogador, só usar o return TRUE não adianta não. Então me diga, é só uma porta no mapa? Se for, ela é de lado, ou de frente?

 

Lado: Jogador PORTA Lugar

Frente: Lugar
       Porta
       Jgaodor

 

Ou, para ser mais fácil, poderia colocar um action id nos tile na frente da porta, ai o jogador não poderia pisar nele para abrir a porta.

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

  • 0

ela e assim

Lado: Jogador PORTA Lugar

 

sim e somente essa no mapa

 

no caso se tiver como fazer por movements tipo um tile q só players com guild podem passar por ele

seria uma boa tbem

 

Vlw obrigado ai mais uma vez pela atenção!

Link para o comentário
Compartilhar em outros sites

  • 0

Ah, otimo, se é só uma no mapa fica fácil, ta ae:

 

function onUse(cid, item)

 

if getPlayerGuildId(cid) == 0 then

return FALSE

else

return doTelPlayer(cid, item)

end

end

 

function doTelPlayer(cid, item)

 

if getPlayerPosition(cid).x > getThingPos(item.uid).x then

doTeleportThing(cid, {x=getThingPos(item.uid).x - 1, y=getThingPos(item.uid).y, z=getThingPos(item.uid).z})

elseif getPlayerPosition(cid).x < getThingPos(item.uid).x then

doTeleportThing(cid, {x=getThingPos(item.uid).x + 1, y=getThingPos(item.uid).y, z=getThingPos(item.uid).z})

end

return TRUE

end

 

É isso ai parceiro, não precisa mudar nada, e esse eu testei, ta pronto para ser usado, até mais.

Link para o comentário
Compartilhar em outros sites

  • 0

Claro parceiro:

 

function onUse(cid, item)

 

if getPlayerGuildId(cid) == 0 then

doPlayerSendCancel(cid, "Você não pode entrar nesta porta.")

return FALSE

else

return doTelPlayer(cid, item)

end

end

 

function doTelPlayer(cid, item)

 

if getPlayerPosition(cid).x > getThingPos(item.uid).x then

doTeleportThing(cid, {x=getThingPos(item.uid).x - 1, y=getThingPos(item.uid).y, z=getThingPos(item.uid).z})

elseif getPlayerPosition(cid).x < getThingPos(item.uid).x then

doTeleportThing(cid, {x=getThingPos(item.uid).x + 1, y=getThingPos(item.uid).y, z=getThingPos(item.uid).z})

end

return TRUE

end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...