XJ

[ Reprovado ]

Por XJhoow, 18 de fev. de 2010 em Archived

otserv
tibia
script
11
1.2k
XJhoowX
18 de fevereiro de 2010 às 03:16

Olá XTibianos,



Como criar quest simples!

Só uma quest que clica no baú e ele te dá um item, e diz uma mensagem. A história e o local tudo depende da sua criatividade!

O que tem de gente no msn pedindo pra mim como faz quest é uma loucura, então resolvi criar um tutorial, já pra minha lista de tutoriais!

 

1. Crie uma pasta chamada quests em: data/actions/scripts

2. Crie um arquivo.lua com o nome da quest dentro da pasta quests

3. Bote o seguinte dentro do arquivo:

 

Exemplo:

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

 

if item.uid == 2415 then

queststatus = getPlayerStorageValue(cid,2415)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"You have found a One Rare Axe Dark Axe.")

doPlayerAddItem(cid,7434,1)

setPlayerStorageValue(cid,7434,1)

else

doPlayerSendTextMessage(cid,22,"It is empty.")

end

else

return 0

end

 

return 1

end

 

Explicando:

2415= Esse é o Unique id, mas além vou explicar como vamos usa-los.

2415= Esse é por exemplo, em uma quest que tem 3 itens, só pode escolher um dai você bota isto pra se escolheu o 2415, não pode escolher o 2416.

You have found a One Rare Axe Dark Axe = Essa é a mensagem que você dará ao player quando receber o item.

7434 = Esse é o Id do item que o player receberá

1 = Essa é a quantidade do item que o player receberá

It is empty = Essa é a mensagem caso o player já tenha feito a quest

 

Pronto, agora você vai no map editor:

 

1. Bote um baú onde você quiser

2. Clique botão direito e proprieties

3. No Unique id bote o Unique id que você botou na quest (Nosso exemplo 2415)

4. De um OK, e salve o mapa. Pronto sua quest foi criada!

5. Vá em : data/actions/actions.xml e adicione o seguinte:

 

<action uniqueid="2415" script="quests/nome_da_sua_quest.lua" />

 

6. Onde está 2415 bote o unique id que você botou na sua quest.

 

Espero ter ajudado, se ajudei agradeça por favor, se faltou algo avise que eu edito!

Obrigado, XJhoow

Editado Fevereiro 18 por XJhoow

gabrielf10G
18 de fevereiro de 2010 às 12:33

Amigo, seu tópico tem uns erros de português,e aqui ó:

. Crie uma pasta chamada quests em: data/actions/scripts

2. Crie um arquivo.lua com o nome da quest dentro da pasta quest

Você diz para criar uma pasta chamada Quests, e dai depois você fala para criar um arquivo.lua com o nome da quest dentro da pasta quest.

Henrique MouraH
19 de fevereiro de 2010 às 01:30

Explicação precária, semelhante àquelas explicações de professoras de jardim de infância. Lhe darei um prazo de 24 horas para tornar a explicação mais confortável de se ler e aprender.

Grato pela atenção,



Abraços.

MatheusGladM
21 de fevereiro de 2010 às 20:37

Cara segui seu tutorial perfeitamente para ver se havia bugs e tem 1:

Voce usa o chest e abre um normal que nao pega item nenhum.

Como resolver:

Voce bota para add item id dentro da chest e o unique id

edite seu tutorial para nao haver duvidas e erros

XJhoowX
21 de fevereiro de 2010 às 21:11

Todos meus tutos estão sendo reprovados, horas/dias de dedicação está indo por água baixo. Mas arrumarei sim.

Fickss10F
22 de fevereiro de 2010 às 01:49

Como vc quer um tuto seu aprovado?

conteudos faltando, pro português eu nem ligo

mas deiche tudo funcionando

e além de que o conteudo de todos os seus posts ja tem no forum

Editado Fevereiro 22 por Castiello

AntharazA
23 de fevereiro de 2010 às 21:30

{A}chei algumas coisas desnecessárias...

 

1º -

if item.uid == 2415 then

 

{S}e vc vai por o action ou uniqueid no item, não precisa verificar né... o próprio actions.xml ja faz a verificação direta...

 

 

 

2º - {V}ocê repetiu muito o uniqueid(2415) e o id do item(7434), poderia por uma variável para receber estes valores para não pracisar mudar todos 9595 quando mudar a uid... assim só precisaria mudar na variável

 

 

 

3º - {E}ssa parte de roxo pode ser substituída... imagine que ao pegar a id vc tem de olhar toda hora o nome do item para colocar no nome... fica chato apra alguns...

 

 

 

4º - {O} que você pos para colocar no actions.xml está errado, o correto seria:

 

<action actionid="2415" event="script" value="quest.lua"/>

 

 

 

 

{C}omo eu faria o script:

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

 

a = 2415

id = 7434

 

if getPlayerStorageValue(cid, a) < 1 then

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a "..getItemNameById(id)..".")

doPlayerAddItem(cid, id, 1)

doPlayerSetStorageValue(cid, a, 1)

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.")

end

 

return TRUE

end

 

 

 

AZUL = id do item

VERMELHO = storage usada

 

 

 

Acho desse meu jeito mais simples pois não teria que ir mudando todos 9595 nem olhar nome do item que ganha na quest.

satan666S
23 de fevereiro de 2010 às 23:12

{A}chei algumas coisas desnecessárias...

 

1º -

 

{S}e vc vai por o action ou uniqueid no item, não precisa verificar né... o próprio actions.xml ja faz a verificação direta...

 

 

 

2º - {V}ocê repetiu muito o uniqueid(2415) e o id do item(7434), poderia por uma variável para receber estes valores para não pracisar mudar todos 9595 quando mudar a uid... assim só precisaria mudar na variável

 

 

 

3º - {E}ssa parte de roxo pode ser substituída... imagine que ao pegar a id vc tem de olhar toda hora o nome do item para colocar no nome... fica chato apra alguns...

 

 

 

4º - {O} que você pos para colocar no actions.xml está errado, o correto seria:

 

 

 

 

 

 

{C}omo eu faria o script:

 

 

 

 

 

 

AZUL = id do item

VERMELHO = storage usada

 

 

 

Acho desse meu jeito mais simples pois não teria que ir mudando todos 9595 nem olhar nome do item que ganha na quest.

 

if item.uid == 2415 then

o que você acha desnecessario pode sim ser muito util pra em apenas um script criar varias quests consecultivas.

 

{V}ocê repetiu muito o uniqueid(2415) e o id do item(7434), poderia por uma variável para receber estes valores para não pracisar mudar todos 9595 quando mudar a uid... assim só precisaria mudar na variável

isso não é uid são meros numeros e como você pode ver no script existe varias funções especificas que pode ou não requerir o uso de tal numero.

 

<action actionid="2415" event="script" value="quest.lua"/>

a tag.xml está correta já que isso depende da versão utilizada pelo servidor.

 

ja no seu script seria muito mais util usar variáveis locais do que globais dentro do escopo.

AntharazA
24 de fevereiro de 2010 às 14:14
if item.uid == 2415 then

o que você acha desnecessario pode sim ser muito util pra em apenas um script criar varias quests consecultivas.

 

{V}ocê repetiu muito o uniqueid(2415) e o id do item(7434), poderia por uma variável para receber estes valores para não pracisar mudar todos 9595 quando mudar a uid... assim só precisaria mudar na variável

isso não é uid são meros numeros e como você pode ver no script existe varias funções especificas que pode ou não requerir o uso de tal numero.

 

<action actionid="2415" event="script" value="quest.lua"/>

a tag.xml está correta já que isso depende da versão utilizada pelo servidor.

 

ja no seu script seria muito mais util usar variáveis locais do que globais dentro do escopo.

 

o que você acha desnecessario pode sim ser muito util pra em apenas um script criar varias quests consecultivas.

Mas é inútil se botar a uid do .xml pois ali já é feita a verificação... agora se fosse um actionid seria diferente.

 

 

isso não é uid são meros numeros e como você pode ver no script existe varias funções especificas que pode ou não requerir o uso de tal numero.

Quando eu falei uniqueid me referi ao número dela. Como ele atribuiu o mesmo número em várias partes do script achei melhor colocar em uma variável só...

 

 

ja no seu script seria muito mais util usar variáveis locais do que globais dentro do escopo.

Sim, verdade... é que eu fiz na pressa aquilo xD

 

 

a tag.xml está correta já que isso depende da versão utilizada pelo servidor.

Sim... é que como ele não colocou a versão imaginei que fosse a mais recente(8.54).

satan666S
24 de fevereiro de 2010 às 16:27

o que você acha desnecessario pode sim ser muito util pra em apenas um script criar varias quests consecultivas.

Mas é inútil se botar a uid do .xml pois ali já é feita a verificação... agora se fosse um actionid seria diferente.

 

 

isso não é uid são meros numeros e como você pode ver no script existe varias funções especificas que pode ou não requerir o uso de tal numero.

Quando eu falei uniqueid me referi ao número dela. Como ele atribuiu o mesmo número em várias partes do script achei melhor colocar em uma variável só...

 

 

ja no seu script seria muito mais util usar variáveis locais do que globais dentro do escopo.

Sim, verdade... é que eu fiz na pressa aquilo xD

 

 

a tag.xml está correta já que isso depende da versão utilizada pelo servidor.

Sim... é que como ele não colocou a versão imaginei que fosse a mais recente(8.54).

 

Mas é inútil se botar a uid do .xml pois ali já é feita a verificação... agora se fosse um actionid seria diferente.

legal que você não sabe a diferença entre AID e UID.

segundo que tanto aid quando uid podem sim ser declaradas no script cada uma executando uma ação diferente.

e não porque adicionou no xml que não seja adicionado no script.

isso é tolice ja que serve muito bem pra diminuir a quantidade de script juntando todos em um só.

1 mês depois...
Henrique MouraH
04 de março de 2010 às 15:28

O mesmo não fez a renoção do tópico.

 

Tutorial reprovado,

Fechado.