Quest Door

koninhoo
em Actions e Talkactions

koninhoo

Gogo Boy
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/05/08Posts: 26Char no Tibia: Rokzz

Olá gente, vim aqui compartilhar com vocês um script que eu fiz com muito suor.

 

• Função: Passar por uma porta somente se houver feito algumas quests, ou ações necessárias para avançar na mesma. Por exemplo: na Pits of Inferno há 7 Seals, e em cada um há um trono no final, ao subir no trono um script irá adicionar um Storage Values ao char. Completando-se todas as Seals irá haver 7 Storage Values diferentes registrados no devido char, então quando apertar na porta final da quest você será transportado para o outro lado dela, com o mesmo efeito da Level Door, porém, se caso ao contrário a pessoa não completar todas as Seals, irá aparecer esta devida mensagem ao tentar atravessar a porta: You are need complete all Seals..

 

data/actions/scripts/questdoor.lua

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

 

if item.uid == 4058 then

status1 = getPlayerStorageValue(cid,4053)

status2 = getPlayerStorageValue(cid,4054)

status3 = getPlayerStorageValue(cid,4055)

status4 = getPlayerStorageValue(cid,4056)

status5 = getPlayerStorageValue(cid,4057)

if status1 == 1 then

if status2 == 1 then

if status3 == 1 then

if status4 == 1 then

if status5 == 1 then

end

end

end

 

pos = getPlayerPosition(cid)

 

if pos.x == topos.x then

if pos.y < topos.y then

pos.y = topos.y + 1

else

pos.y = topos.y - 1

end

elseif pos.y == topos.y then

if pos.x < topos.x then

pos.x = topos.x + 1

else

pos.x = topos.x - 1

end

else

doPlayerSendTextMessage(cid,24,'Stand in front of the door.')

return 1

end

 

doTeleportThing(cid,pos)

doSendMagicEffect(topos,12)

else

doPlayerSendTextMessage(cid,24,'You are need complete all Seals.')

end

return 1

else

return 0

end

end

end

Legenda:

 

- O UniqueID usada na porta.

- Storage necessário para abrir a porta.

- Mensagem quando não houver todas as Storages.

 

Como podem ver, no script só há 5 Storage Value, porém que quiser adicionar mais você terá que seguir esta ordem:

status1 = getPlayerStorageValue(cid,4053)

status2 = getPlayerStorageValue(cid,4054)

status3 = getPlayerStorageValue(cid,4055)

status4 = getPlayerStorageValue(cid,4056)

status5 = getPlayerStorageValue(cid,4057)

status6 = getPlayerStorageValue(cid,4058)

if status1 == 1 then

if status2 == 1 then

if status3 == 1 then

if status4 == 1 then

if status5 == 1 then

if status6 == 1 then

Legenda:

 

- Tags novas adicionadas.

 

E assim por diante...

 

data/actions.xml

<action uniqueid="4058" script="questdoor.lua" />

Legenda:

 

- O UniqueID usada na porta.

 

 

Espero que tenham entendidos.

 

PS.1: Qualquer dúvida ou problemas observados avisem aqui, por favor.

 

 

 

Koninhoo~




(¯`·.¸¸.·´¯`·.¸¸.-> Quest Door <-.¸¸.·´¯`·.¸¸.·´¯)
(¯`·.¸¸.·´¯`·.¸¸.-> Guild System 8.x <-.¸¸.·´¯`·.¸¸.·´¯)
(¯`·.¸¸.·´¯`·.¸¸.-> Aviso de Quest terminada <-.¸¸.·´¯`·.¸¸.·´¯)
(¯`·.¸¸.·´¯`·.¸¸.-> NPCs 8.2x [Jiddo System] <-.¸¸.·´¯`·.¸¸.·´¯)
(¯`·.¸¸.·´¯`·.¸¸.-> Quest com Actions ótimas para o seu Server! <-.¸¸.·´¯`·.¸¸.·´¯)

koninhoo

Gogo Boy
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/05/08Posts: 26Char no Tibia: Rokzz

Creio que este tópico era pra está em Downloads de Actions, não?

Se era eu errei, desculpe.

 

Koninhoo~




(¯`·.¸¸.·´¯`·.¸¸.-> Quest Door <-.¸¸.·´¯`·.¸¸.·´¯)
(¯`·.¸¸.·´¯`·.¸¸.-> Guild System 8.x <-.¸¸.·´¯`·.¸¸.·´¯)
(¯`·.¸¸.·´¯`·.¸¸.-> Aviso de Quest terminada <-.¸¸.·´¯`·.¸¸.·´¯)
(¯`·.¸¸.·´¯`·.¸¸.-> NPCs 8.2x [Jiddo System] <-.¸¸.·´¯`·.¸¸.·´¯)
(¯`·.¸¸.·´¯`·.¸¸.-> Quest com Actions ótimas para o seu Server! <-.¸¸.·´¯`·.¸¸.·´¯)

DarkFilho

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/09/07Posts: 1

ae cara gostei muito

parabens!!

eu tava presisando que soh pra botar na poi

flwww

xXxhalloweenxXx

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 04/11/08Posts: 71Char no Tibia: Damon Chas

=(

JhonSena

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 21/12/08Posts: 12Char no Tibia: Andrew'sky

um poco complicado , + legal

xD

DaNDaNrOxX

oi mosso
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 18/01/08Posts: 1455Char no Tibia: Saint Claire
=(

Usuário xXhalloweenXx alertado em 10% por flood.

Eu já havia lhe alertado outras vezes e parece que você continua.

Da próxima vez você será suspenso também.

Abraço

 

 

Entrada na equipe: 23/10/2008 Cargo: Estagiário

Promoção: 25/11/2008 Cargo: Moderador

Promoção: 21/10/2009 Cargo: Coordenador

Remoção: 09/05/2010 Motivo: Estudos

Retorno: 15/11/2010 Cargo: Moderador

Remoção: 20/12/2012.

 

 

tibiaa4e

Ex amante de Tibia
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 18/12/05Posts: 912Gênero: MasculinoChar no Tibia: Kohzete

Bela ideia

Porém achei alguns erros nele, vc confudiu alguns ends e ifs. E no caso ele só ia checar se você tem 2 storage

 

Porém voce usou base de scripts antigos da pra deixar esse script melhor e menor

 

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

status1 = getPlayerStorageValue(cid,4053)
status2 = getPlayerStorageValue(cid,4054)
status3 = getPlayerStorageValue(cid,4055)
status4 = getPlayerStorageValue(cid,4056)
status5 = getPlayerStorageValue(cid,4057)

if item.uid == 4058 then
	if status1 == 1 and status2 == 1 and status3 == 1 and status4 == 1 and status5 == 1 then
		doTransformItem(item.uid, item.itemid + 1)
		doTeleportThing(cid, toPosition, TRUE)
	else
		doPlayerSendTextMessage(cid,24,'You are need complete all Seals.')
	end
end
end

 

Assim não prescisa estar de frente a porta e ela vai fechar quando você sair dela

Igual a porta de level mesmo

Aposentado de OTserver e Tibia

Meus melhores tutoriais
Enciclopédia Pasta Data
Tutorial de quest

Vi Vanderlaysk

Vinnie Simon
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 07/10/06Posts: 108Char no Tibia: Vi Vanderlaysk

Pow vey .. maneiro .. mas tipo

Se eu quiser em vez de 'cid' colocar 'uid' nos StorageValue ?

Pq tipo ... 'cid' eh a id do item ... certo ?

'uid' é unique id da parte da quest ou de outras quests num eh ?

Vc poderia fazer o resto também...

tipo .. a parte da quest q faz 'SetPlayerStorageValue' ... pq tem muita gente q nao sabe (inclusive eu)

 

 

Abraço mano e obrigado por colaborar !


Anges et Demóns Project ATS


Quer saber um pouco sobre Serviço?
"Meu filho, se entrares para o serviço de Deus,
permanece firme na justiça e no temor,
e prepara a tua alma para a provação;
humilha teu coração, espera com paciencia,
dá ouvidos e acolhe as palavras de sabedoria;
nao te perturbes no tempo da infelicidade,
sofre as demoras de Deus;
dedica-te a Deus, espera com paciência,
a fim de que no derradeiro momento tua vida se enriqueça.
Aceita tudo o que te acontecer.
Na dor, permanece firme,
na humilhação, tem paciência.
Pois é pelo fogo que se experimentam o ouro e a prata,
e os homens agradáveis a Deus, pelo cadinho da humilhação.
Põe tua confiança em Deus e Ele te salvará,
orienta bem o teu carinho e espera n'Ele.
Conserva o temor d'Ele até na velhice." Eclo 2;1-6



gorno

God Gorno
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 21/12/07Posts: 121Char no Tibia: Jhonye Runner

@tibiaa4e

 

Amigo, eu encontrei 2 bugs em seu scritp:

 

1- A porta não puxa o player para dentro dela quando abre.

2- A se duas pessoas clicarem na porta ao mesmo tempo, ou um player clicar duaz vezes, a porta some!

 

Você poderia corrigir isso pra mim?

 

Arenciosamente,

Gorno.

Att,

Gorno.

 

 

e7bd2e64bd.gif

 

- Você é meu fã? Então use minha Fã Bar!

6eb71bf385.png

Slinix

The Slinix ® TCS Developer
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 19/04/08Posts: 53Char no Tibia: Akilles Palyy

Vlw man , Ajudou muito em Uma quest que estou bolando a Dias , Tks ae , Vlw mesmo =D , gora pra completar só falta 1 NPC que adiciona Storage U.u

slinixmapper.jpgsimbo.jpg

 

 

slinixfanbar2dz1.jpguserlovefirefox7dm4arohvk6.gif

 

headerqh0.jpg

opensourcelogo.jpg

gnomow157

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/10/08Posts: 35Char no Tibia: Gnomow

Realmente, Meu server (ultraxot.servegame.com [on]) Tem a xp 100x, mas quero deixar ele o mais rpg possivel, e melhor que isso impossivel, agora vo pode fazer as quests dos itens de addon igual do global...

 

 

SUAHUDHAUSDUAHDS...

se aqui tivesse OT$ eu te doava.

satan666

Antichrist Superstar
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 07/05/08Posts: 612Char no Tibia: leviana luciferiana

precisava disso pr termina minha POI vlw ae manow....

creationb.jpg

"Um Deus que usasse seu poder para criar seres humanos que de antemão sabia que seriam atormentados eternamente, e que os predestinasse a isso,



não poderia ser sábio, nem justo e tampouco amoroso.

Além de nos submeter a isso vim a nos julgar e condenar por nossos atos aos tormentos do inferno.

pra minha pessoa isso não é um Deus Pai amoroso e bondoso como o chaman, seu padrão seria muito mais inferior do que o de muitos homens."

Schiavinato

Aprendendo Scripting *-*
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 12/08/07Posts: 345Char no Tibia: Lokeded

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

if item.uid == 4058 then
status1 = getPlayerStorageValue(cid,4053)
status2 = getPlayerStorageValue(cid,4054)
status3 = getPlayerStorageValue(cid,4055)
status4 = getPlayerStorageValue(cid,4056)
status5 = getPlayerStorageValue(cid,4057)
if status1 == 1 then
if status2 == 1 then
if status3 == 1 then
if status4 == 1 then
if status5 == 1 then
end
end
end

pos = getPlayerPosition(cid)

if pos.x == topos.x then
if pos.y < topos.y then
pos.y = topos.y + 1
else
pos.y = topos.y - 1
end
elseif pos.y == topos.y then
if pos.x < topos.x then
pos.x = topos.x + 1
else
pos.x = topos.x - 1
end
else
doPlayerSendTextMessage(cid,24,'Stand in front of the door.')
return 1
end

doTeleportThing(cid,pos)
doSendMagicEffect(topos,12)
else
doPlayerSendTextMessage(cid,24,'You are need complete all Seals.')
end
return 1
else
return 0
end
end
end
end
end

 

Ta ae, esse agora funciona perfeitamente...

 

O script do tibiat4ae realmente tava com bug, quando clicava na porta, ela ficava se transformando em outra e outra...

E o original do Koninho tava dando erro no console

Agora ta arrumado

 

PS: Desculpe reviver o tópico

 

:]

The Crystal Server(Sorcerer´s Stone) - Project



 

Venha participar deste projeto - Desenvolvido por Shynzo

 

Link para download do distro:

http://www.xtibia.com/forum/topic/143282-862-the-crystal-server-v018/

Link da formação do projeto:

http://www.xtibia.com/forum/topic/143247-the-crystal-server-recruta/