Jump to content
  • 0
Sign in to follow this  
MarcoSales

NPC Contagem Regressiva individual !

Question

-Boa tarde, pesquisei bastante mas não achei nada parecido com o que quero.

Seria um script que fizesse uma contagem regressiva individual.

Exemplo:

Um jogador teleporta para tha_t01, ao entrar neste mapa o sistema ativa e inicia uma contagem regressiva de 2 horas "120 minutos" onde após esse tempo acabar o jogador deve ser teleportado de volta para prontera.

Especificações:

Ao entrar no mapa o Sistema deve dizer em Global somente no mapa tha_t01 esta mensagem:

	announce ""+strcharinfo(0)+" Seu tempo no mapa restrito iniciou e acaba em 2 horas !",bc_map,0xA020F0;
	

Quando faltar 1 minuto ele deve dizer:

	announce ""+strcharinfo(0)+" Falta 1 minuto para seu tempo acabar e ser retirado do mapa !",bc_map,0xA020F0;
	

O NPC pode ficar nessa Localização:

	tha_t,1,1,0    script    Contagem Regressiva    1_M_SIZ,{
	}
	

Requisitos:

Sempre que um jogador entrar no mapa o tempo deve iniciar individualmente, pois cada jogador terá seu próprio tempo!

Agradeço a todos que me poderem ajudar ou me enviar algo parecido.

Obrigado e fico no aguardo! :D

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

cara pra isso que existe "instâncias".

pesquise sobre como criar uma nova instância no cronus ou rathena

Share this post


Link to post
Share on other sites
  • 0

-Obrigado pela resposta HD Script, porém já fiz isso e descobri que não é o que estou querendo, a ideia de instância é bem legal como a "EndlessTower", "NydhoggsNest", "OrcsMemory" e "SealedShrine", porém o que estou fazendo é mais simples, criei algo perto do que estou procurando porém ainda falta algo para finalizar... O problema maior é que se a pessoa sair do mapa antes do tempo acabar o tempo continua contando e as mensagens continua chegando no jogador não importa o mapa em que ele esteja... Se alguém souber como faço para desativar quando o jogador sair do mapa eu agradeço 😄

Abaixo o que consegui criar até o momento:

	tha_t01,1,1,5    script    Contagem Regressiva    1_M_SIZ,{
	OnPCLoadMapEvent:
            announce ""+strcharinfo(0)+" Seu tempo no mapa restrito iniciou e acaba em 2 horas !",bc_map,0xA020F0;
            sleep2 3600000; // 60 minutos
            announce ""+strcharinfo(0)+" Seu tempo no mapa restrito iniciou e acaba em 1 horas !",bc_map,0xA020F0;
            sleep2 1800000; // 30 minutos
            announce ""+strcharinfo(0)+" você tem 30 minutos no mapa restrito !",bc_map,0x00FF00;
            sleep2 1800000; // 30 minutos
            announce ""+strcharinfo(0)+" Falta 1 minuto para terminar seu tempo no mapa !",bc_map,0x00FF00;
            sleep2 60000;    // 1 minuto
            warp "SavePoint",0,0;    // Teleporta o jogador para o ponto salvo.
            end;
}
tha_t01    mapflag    loadevent
	

Share this post


Link to post
Share on other sites
  • 0
Posted (edited)
tha_t01,1,1,5	script	Contagem Regressiva	1_M_SIZ,{
	OnPCLoadMapEvent:
			initnpctimer;
			getmapxy @Mapa$,@x,@y,0;
			if(@Mapa$ != "tha_t01") // caso dê erro, retire os "
			{
				stopnpctimer;
				announce "Seu tempo no mapa tha_t01 foi resetado!",bc_self,0;
				end;
			}
			announce ""+strcharinfo(0)+" Seu tempo no mapa restrito iniciou e acaba em 2 horas!",bc_map,0xA020F0;
			OnTimer3600000; // 60 minutos
			announce ""+strcharinfo(0)+" Seu tempo no mapa restrito iniciou e acaba em 1 hora!",bc_map,0xA020F0;
			OnTimer1800000; // 30 minutos
			announce ""+strcharinfo(0)+" você tem 30 minutos no mapa restrito!",bc_map,0x00FF00;
			OnTimer1800000; // 30 minutos
			announce ""+strcharinfo(0)+" Falta 1 minuto para terminar seu tempo no mapa!",bc_map,0x00FF00;
			OnTimer60000;    // 1 minuto
			warp "SavePoint",0,0;    // Teleporta o jogador para o ponto salvo.
			stopnpctimer;
			end;
}
tha_t01	mapflag	loadevent

OBS: não testei...

Edited by HD Scripts
  • Like 1

Share this post


Link to post
Share on other sites
  • 0

Se o jogador sair do mapa este npc timer continuará rodando e dando as mensagens.

Existem diversas formas de detectar isto, porem para se encaixar neste script o mais simples será colocar a checagem do mapa durante cada mensagem:

tha_t01,1,1,5	script	Contagem Regressiva	1_M_SIZ,{
	OnPCLoadMapEvent:
			initnpctimer;
			getmapxy @Mapa$,@x,@y,0;
			if(@Mapa$ != "tha_t01") // caso dê erro, retire os "
			{
				stopnpctimer;
				announce "Seu tempo no mapa tha_t01 foi resetado!",bc_self,0;
				end;
			}
			announce ""+strcharinfo(0)+" Seu tempo no mapa restrito iniciou e acaba em 2 horas!",bc_map,0xA020F0;
			OnTimer3600000; // 60 minutos
			getmapxy @Mapa$,@x,@y,0;
			if(@Mapa$ != "tha_t01") {
				stopnpctimer;
				end;
			}
			announce ""+strcharinfo(0)+" Seu tempo no mapa restrito iniciou e acaba em 1 hora!",bc_map,0xA020F0;
			OnTimer1800000; // 30 minutos
			getmapxy @Mapa$,@x,@y,0;
			if(@Mapa$ != "tha_t01") {
				stopnpctimer;
				end;
			}
			announce ""+strcharinfo(0)+" você tem 30 minutos no mapa restrito!",bc_map,0x00FF00;
			OnTimer1800000; // 30 minutos
			getmapxy @Mapa$,@x,@y,0;
			if(@Mapa$ != "tha_t01") {
				stopnpctimer;
				end;
			}
			announce ""+strcharinfo(0)+" Falta 1 minuto para terminar seu tempo no mapa!",bc_map,0x00FF00;
			OnTimer60000;    // 1 minuto
			getmapxy @Mapa$,@x,@y,0;
			if(@Mapa$ != "tha_t01") {
				stopnpctimer;
				end;
			}
			warp "SavePoint",0,0;    // Teleporta o jogador para o ponto salvo.
			stopnpctimer;
			end;
}
tha_t01	mapflag	loadevent

Não ficou pra lá de bonito este script, existem formas melhores de se pensar nisto, porem para o teu caso deve resolver.

  • Like 1

Share this post


Link to post
Share on other sites
  • 0

HD Scripts e Fou lu Yorae Dragon muito Obrigado vocês são D + carinhas!!!  😄 

Podem fechar o Tópico !

Motivo: Resolvido !!!

Share this post


Link to post
Share on other sites
Este tópico já possui mais de 30 dias sem respostas. Por favor, abra um novo tópico

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Seja bem vindo ao Cronus-Emulator.
É sempre um prazer te-lo conosco.
Você pode visualizar nossas áreas de suporte para encontrar suas soluções sem a necessidade de se registrar!
Registrando em nossa comunidade, você poderá conhecer mais sobre nosso projeto, criar tópicos, responder tópicos existentes, baixar milhares de recursos em nosso sistema de downloads, participar de nossa comunidade, customizar seu perfil e muito mais... Se você já possui uma conta, faça seu login - ou crie uma conta. Também temos integração com Google+ e Facebook.

×
×
  • Create New...