Ir para conteúdo
Entre para seguir isso  
Warp

Quest com tuto²

Recommended Posts

Warp    0
Warp

Bem, eu postei esse script em downloads, mais como o Mock disse, Download é pra copiar e colar e o meu e um tutorial.

Entao venho aqui novamente para posta-lo como tutorial ^^.

 

Ola venho aqui para disponibilizar um script feito por mim, Warp, que funciona da seguinte maneira:

Bom tem uma alavanca e uma mesa.

O player coloca tal item emcima da mesa e puxa a alavanca, se o item for correto ele será teleportado para tal pos. Porem ele so pode entrar la uma vez.

Bom, vá até data\actions\script, copie qualquer arquivo de la e renomeie-o para alavancaquest.lua, e troque seu conteudo por isso:

[spoiler=Script]

-- Warp's script --
-- Para Otserv Networks --
--[[1]]  function onUse(cid, item, frompos, item2, topos)
--[[2]]
--[[3]]  npos = {x=xxx, y=yy, z=z}
--[[4]]  coisaid = 2556
--[[5]]  coisapos = {x=xxx, y=yyy, z=z, stackpos=2}
--[[6]]  coisa = getThingFromPos(coisapos)
--[[7]]  storage = 1518
--[[8]]
--[[9]]     if (item.itemid == 1945) then
--[[10]]        if (getPlayerStorageValue(cid,storage) == -1) then
--[[11]]             if (coisa.itemid == coisaid) then
--[[12]]                 doSendMagicEffect(coisa,1)
--[[13]]                 doTeleportThing(cid,npos)
--[[14]]                 doSendMagicEffect(npos,10)
--[[15]]                 doTransformItem(item.uid, 1946)
--[[16]]                 setPlayerStorageValue(cid,storage,1)
--[[17]]                 doRemoveItem(coisa.uid,1)
--[[18]]             elseif (coisa.itemid ~= coisaid) then
--[[19]]                 doPlayerSendCancel(cid,"O item não está correto")
--[[20]]             end
--[[21]]        else
--[[22]]             doPlayerSendCancel(cid,"Você só pode entrar aqui uma vez")
--[[23]]        end
--[[24]]    elseif (item.itemid == 1946) then
--[[25]]        if (getPlayerStorageValue(cid,storage) == -1) then
--[[26]]            if (coisa.itemid == coisaid) then
--[[27]]                 doSendMagicEffect(coisa,1)
--[[28]]                 doTeleportThing(cid,npos)
--[[29]]                 doSendMagicEffect(npos,10)
--[[30]]                 doTransformItem(item.uid, 1945)
--[[31]]                 setPlayerStorageValue(cid,storage,1)
--[[32]]                 doRemoveItem(coisa.uid,1)
--[[33]]            elseif (coisa.itemid ~= coisaid) then
--[[34]]                 doPlayerSendCancel(cid,"O item não está correto")
--[[35]]            end
--[[36]]        else
--[[37]]             doPlayerSendCancel(cid,"Você só pode entrar aqui uma vez")
--[[38]]        end
--[[39]]    end
--[[40]]  end

 

 

 

Agora volte a data\actions abra o arquivo actions.xml e adcione essa tag:

[spoiler=Tag]

<action uniqueid="uniqueid do item" event="script" value="alavancaquest.lua"/>

 

 

Bom agora a explicação linha por linha:

1. Declaramos a funçao onUse, que significa quando o item for usado.

2. Espaço para formatação.

3. Declaramos a variavel npos que será a posiçao que o player será teleportado quando o item for usado.

4. Declaramos a variavel coisaid que e o id do item que deve ficar emcima da mesa.

5. Declaramos a variavel coisapos que e a posição em que a mesa deve ser colocada. Obs: NÃO MECHA NO STACKPOS!

6. Declaramos que a variavel coisa vai retornar a posição de coisapos.

7. Declaramos a variavel storage, mude-a para um storagevalue não usado.

8. Espaço para formatação.

9. Significa: Se o id do item usado for 1945 (Id da alavanca normal) então:

10. Significa: Se o storage do player for -1 (Ou seja, ele nunca entrou) então:

11. Significa: Se o id do item emcima da mesa for igual a "coisaid" então:

12. Essa função vai enviar o efeito 1 na posição coisa (Se não entendeu releia as linhas 3~6).

13. Essa função vai teleportar o player para npos.

14. Essa função vai enviar o efeito 10 na posição npos.

15. Essa função vai transformar a alavanca no id 1946.

16. Essa função vai trocar o storage do player para 1 (Ou seja, ele já entrou.)

17. Essa função vai remover o item de cima da mesa.

18. Significa: Se o id do item emcima da mesa for diferente de "coisaid" então:

19. Vai enviar a mensagem: "O item não está correto" para o player.

20. Fecha o if da linha 11.

21. Significa: Ou (Ou seja, se o storage do player não for -1, linha 10) então:

22. Vai enviar a mensagem: "Você só pode entrar aqui uma vez" para o player.

23. Fecha o if da linha 10.

24. Significa: Ou se o id do item usado for 1946 (Id da alavanca puxada) então:

25. Significa: Se o storage do player for -1 (Ou seja, ele nunca entrou) então:

26. Significa: Se o id do item emcima da mesa for igual a "coisaid" então:

27. Essa função vai enviar o efeito 1 na posição coisa (Se não entendeu releia as linhas 3~6).

28. Essa função vai teleportar o player para npos.

29. Essa função vai enviar o efeito 10 na posição npos.

30. Essa função vai transformar a alavanca no id 1946.

31. Essa função vai trocar o storage do player para 1 (Ou seja, ele já entrou.)

32. Essa função vai remover o item de cima da mesa.

33. Significa: Se o id do item emcima da mesa for diferente de "coisaid" então:

34. Vai enviar a mensagem: "O item não está correto" para o player.

35. Fecha o if da linha 26.

36. Significa: Ou (Ou seja, se o storage do player não for -1, linha 25) então:

37. Vai enviar a mensagem: "Você só pode entrar aqui uma vez" para o player.

38. Fecha o if da linha 25.

39. Fecha o if da linha 9.

40. Fecha a função onUse, linha 1.

 

Bom é isso, meu primeiro tutorial do forum, espero que seja aprovado ^^, qualquer duvida poste aqui que eu tento resolver.

Obs: Tetsado no tfs 0.3.5.

Obs2: Se funciona no 0.3.5 funciona em todos AUHuahUA, brinks.

Compartilhar este post


Link para o post
Gpwjhlkdcf    21
Gpwjhlkdcf

Explicado linha por linha, legal.

Vale lembrar que os comentários de linhas --[[nº]] não são necessários e creio que foram usados só para explicar!

Movido.

Compartilhar este post


Link para o post
prietschx    0
prietschx

muito bom, e pra quem ja entende poco assim entende mais com as explicaçoes nas linha, muito bom (Y)

Compartilhar este post


Link para o post
Markim Bozi    0
Markim Bozi

nossa valeu mesmo, obrigadão, me manda seu msn via mp para conversarmos

Compartilhar este post


Link para o post
Devorador de Corpos    0
Devorador de Corpos

Uou mto bom haja paciencia

Compartilhar este post


Link para o post
D u k e e H    0
D u k e e H

Bem explicado,

muito bom tutorial.

vai ajudar muito!

Compartilhar este post


Link para o post
Pandá s2    0
Pandá s2

Uhuuuuu vlw Show de Bola !!

 

Ja aprendi a Melhorar minhas QUEST!

Compartilhar este post


Link para o post
dragonlorde    0
dragonlorde

n gostei brinks :D

ta massa so q exagero na explicacao

vai de boua

Compartilhar este post


Link para o post
ruanbaron    0
ruanbaron

Vlw Manow.Gostei da idéia.

Compartilhar este post


Link para o post
mitovcv    0
mitovcv

MUITO BOM! eu queria por no meu ot... POREM QUANDO EU PONHO O ITEM DIZ Q O ITEM N ESTA CORRETO!!! AJUDA PLX

Compartilhar este post


Link para o post
andurinha94    0
andurinha94

fiko mto rox! vai ajuda de mais!

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×