antiblock
https://arwen2.global/
  • Chatbox

    Did you check out our Discord? https://discord.gg/FFdvMjk9xA
    You don't have permission to chat.
    Load More
× Dαяkαтн

[Avaliação]Itens Por Tempo Online

10 posts in this topic

Olá/Boas Cyber!

 

Fiz uma quest que faz o seguinte:

 

[*] 1 hora online = Player ganha um cofre/tesouro do Chefe Orc

[*] 2 horas online = Player ganha um cofre/tesouro da Aranha Rainha/Rainha Aranha

[*] 3 horas online = Player ganha um cofre/tesouro do Nove Caudas

[*] 5 horas online = Player ganha um cofre/tesouro do Ceifador/Morte

 

Estou fazendo/estou a fazer um servidor PT-PT e um PT-BR, fiz uma quest para tempo online no servidor, e vou disponibilizar a open source para usarem e avaliarem.

 

[AINDA NÃO TESTADO] - [ASSIM QUE TESTAR ATUALIZO NO POST]

 

Versão PT-PT e PT-BR:

× Download ×

 

× Scan ×

 

 

Agora segue o código:

 

quest tempo_online begin
    state start begin
            when name.server_timer("uma_hora" , 3600 ) begin
                say_item_vnum(50070)
                pc.give_item2("50070", 1)    
            end        
                when name.server_timer("duas_hora" , 7200 ) begin            
                    say_item_vnum(50073)
                    pc.give_item2("50073", 1)        
                end        
                        when name.server_timer("tres_hora" , 10800 ) begin            
                            say_item_vnum(50077)
                            pc.give_item2("50077", 1)        
                        end
                            when name.server_timer("quatro_hora" , 18000 ) begin
                                say_item_vnum(50082)
                                pc.give_item2("50082", 1)
                            end
    end
end

 

 

 

Código no Pastebin:

 

Versão PT-PT

 

 

Versão PT-BR


 
 
Cordialmente,
 
Darkath.

Share this post


Link to post
Share on other sites
antiblock
Elveron

Onde é que estão os timers "uma_hora", "duas_hora", "tres_hora" e "quatro_hora"? E de que forma os inicias?

Só vejo server_timers com o nome "name", e que nem são iniciados por nenhum event (nem login, logout, chat, click, letter, button, info, nada mesmo).

Se é uma avaliação, dá próxima vez coloca isso em criatividade, pois não é conteúdo que ajude ninguém a fazer nada, uma vez que não funcionará de maneira nenhuma da forma como tens isso escrito.

Não é uma crítica destrutiva, atenção! Esta foi a minha avaliação.

Abraço :)

Share this post


Link to post
Share on other sites

Onde é que estão os timers "uma_hora", "duas_hora", "tres_hora" e "quatro_hora"? E de que forma os inicias?

Só vejo server_timers com o nome "name", e que nem são iniciados por nenhum event (nem login, logout, chat, click, letter, button, info, nada mesmo).

Se é uma avaliação, dá próxima vez coloca isso em criatividade, pois não é conteúdo que ajude ninguém a fazer nada, uma vez que não funcionará de maneira nenhuma da forma como tens isso escrito.

Não é uma crítica destrutiva, atenção! Esta foi a minha avaliação.

Abraço :)

 

Está-me a parecer que aquilo até faz qualquer coisa, mas como sou uma nódoa a programação só vou mandar aqui um bitaite a ver se dou um tiro no pé ou no escuro.

 

Acho que aquilo de facto dá o item, mas só quando o servidor liga. Imagina, os players que estiverem online nas 4 horas seguintes em que o servidor liga, vão receber aquilo. Os que entrarem depois da 4ª hora, não recebem mais nada até que o servidor volte a ser reiniciado.

 

O que achas Paci? o.o

Share this post


Link to post
Share on other sites

Não vai fazer nada, pois um server_timer deve ser iniciado da seguinte maneira: server_timer("nome", t(sem segundos) [, index do mapa]).
E aí não consta nada disso. Para além do mais, os when-statements estão mal feitos, portanto o compilador nem sequer irá compilar a quest.

Share this post


Link to post
Share on other sites

Não vai fazer nada, pois um server_timer deve ser iniciado da seguinte maneira: server_timer("nome", t(sem segundos) [, index do mapa]).

E aí não consta nada disso. Para além do mais, os when-statements estão mal feitos, portanto o compilador nem sequer irá compilar a quest.

 

Certo, obrigado :P

Share this post


Link to post
Share on other sites

Esta mal codado sinceramente, falta pontos criticos para o funcionamento, vêsse que não foi testado sequer.

 

Estrutura mais correta

 

when login begin
--registar tempo de login numa QF

--registar 0 items dados numa QF

--iniciar timer que verifica: verifier
end

 

when verifier.timer.begin

--obter lista de items a dar

--verificar se tempo de login na QF + item na list por index do QF que regista o numero de itens dados  é <= tempo passado

--dar item e incrementar index por 1 na QF

end

 

when logout begin

--limpar timer

--meter qf de index de items dados a 0

end

Share this post


Link to post
Share on other sites

Que tal isso?

quest tempo_online begin
	state start begin
			when login begin
				timer("tempo_online", 3600)
			end		
				when tempo_online.begin begin
							local lista = {	
							{1, 50070},
							{2, 50073},
							{3, 50077},
							{4, 50082}}
							pc.setqf("timeon", pc.getqf("timeon") + 1)
							say_title("Ola "..pc.get_name())
							say ("Você passou uma hora no servidor!")
							say ("Ganhou como recompensa:")
							say_item_vnum(..lista[pc.getqf("timeon")][1]..)
               				pc.give_item2("..lista[pc.getqf("timeon")][1]..", 1)
							end
						end
					end

Share this post


Link to post
Share on other sites

Vê alguns erros de syntax que ai têm , não te esqueças de quando fazem logout têns que meter o QF a 0, se não ele continua da mesma posição e tambem limpar o timer no logout, e fazer loop_timer, porque isso so é executado 1x.

Share this post


Link to post
Share on other sites

Boas tardes,

No meu entender a quest ainda se encontra em desenvolvimento.

Posto isto o tópico será movido para Metin2 - Criatividade.

Em Metin2 - Quests apenas são permitidas quest já acabadas.

 

Cumprimentos

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now