retired.
[Resolvido] Door Que Somente Membro De Uma Guild Pode Entrar
Por bruno333, 03 de mar. de 2011 em Scripts
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Editado Março 3 por Demonbholder
ai no caso eu teria q por guild por guild?
n teria outra função q deixase passar todas as guilds?
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

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 Março 3 por Demonbholder
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?
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Coloca um uniqueid na porta, e a tag ficará assim:
<action uniqueid="UID" script="NomeDoArquivo.lua" />
Até mais parceiro.
obrigado vou testa aqui e já edito mais mesmo assim já dei +Repp ai so pela atenção e boa vontade que vc teve
obrigado e ate mais !
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

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 Março 3 por Demonbholder
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!
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

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.
no caso teria como por uma msg caso o player n for de guild?
tipo assim (Somente Membros de guild passa nessa porta!)
obrigado ai mais uma vez !
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

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
info
Grupo: Marquês
Registrado: 17/01/08
Posts: 1.5k
Reputação: +15
Char no Tibia: Saint Claire

Provavelmente resolvido, o usuário não voltou para dizer. Caso ainda não, me mande um e-mail (daniel@xtibia.com) que eu abro o tópico
Abraços



info
Grupo: Campones
Registrado: 17/12/05
Posts: 29
Reputação: +17
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 Março 3 por bruno333