JVLIVS CAESAR MODS FORUM
Estimado usuario invitado: Si se registra/conecta podrá tener la mejor ventaja, postear en el foro, ya que los invitados solo pueden leer.

JVLIVS CAESAR MODS FORUM

Imperium III Mods Forvm. Último Mod - MCI 9.0!
 
ÍndiceÍndice  FAQFAQ  BuscarBuscar  RegistrarseRegistrarse  ConectarseConectarse  

Comparte | 
 

 Detener secuencia cuando otra esté en marcha

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Martín
Defensor
Defensor


Cantidad de envíos : 29
Reputación : 4
Fecha de inscripción : 10/10/2016

MensajeTema: Detener secuencia cuando otra esté en marcha   Lun Nov 14, 2016 11:33 pm

Buenas, necesito saber cómo detener una secuencia si otra está en marcha, es decir: detener la secuencia "A" en el caso de que la secuencia "B" esté en marcha.
Volver arriba Ir abajo
Gigoras
Veterano
Veterano
avatar

Cantidad de envíos : 354
Edad : 47
Location : Salmantica.
Reputación : 127
Fecha de inscripción : 28/11/2010

MensajeTema: Re: Detener secuencia cuando otra esté en marcha   Mar Nov 15, 2016 12:04 am

Hola Martín ! Básicamente es esto :

while(IsRunning("nonbredela secuenciaqueparaelscript"));
KillScript();

Se puede hacer con un if en lugar del while (que esta esperando con la secuencia detenida) si es un ciclo que se repite .
Si no te sale , pon la secuencia y explícanos lo que tiene que pasar y te la hacemos ! 
Hasta otra Bro !!
Edito : me faltaba un paréntesis!!!
Volver arriba Ir abajo
Martín
Defensor
Defensor


Cantidad de envíos : 29
Reputación : 4
Fecha de inscripción : 10/10/2016

MensajeTema: Re: Detener secuencia cuando otra esté en marcha   Mar Nov 15, 2016 12:44 am

Hola Gigoras!

Verás, tengo dos secuencias; las dos son dos cuentas atrás.

La primera cuenta atrás calcula el tiempo que falta para que un ejército galo ataque a los romanos.

La segunda cuenta atrás se inicia cuando hay una tregua entre galos y romanos y cuenta el tiempo durante el cual galos y romanos dejan de atacarse. Esta segunda cuenta atrás, al ponerse en marcha, tendría que invalidar la secuencia de la primera cuenta atrás, borrándola. Esto último es lo que no sé cómo hacer.

Lo tengo así:


Primera cuenta atrás (esta secuencia se llama temporizador2B):


int Minutos, Segundos;
Minutos = 29;
Segundos = 60;

while(1){
ShowAnnouncement("A_1", Translate("Ataque final: " + Minutos + "min." + Segundos + "seg."));
Sleep(1000);
Segundos -= 1;

if(Minutos == 0 && Segundos == 0){
HideAnnouncement("A_1");
Sleep (1000);
RunSequence("ataque_inminente1");
break;
}
if(Segundos == 0){
Minutos -= 1;
Segundos = 60;
}
}



Segunda cuenta atrás (esta secuencia se llama temporizador_tregua):


int Minutos, Segundos;
Minutos = 14;
Segundos = 60;
while(1){
ShowAnnouncement("A_1", Translate("Fin de tregua:" + Minutos + "min." + Segundos + "seg."));
Sleep(1000);
Segundos -= 1;

if(Minutos == 0 && Segundos == 0){
HideAnnouncement("A_1");
Sleep (1000);
RunSequence("fintregua");
break;
}
if(Segundos == 0){
Minutos -= 1;
Segundos = 60;
}
}



...el problema es que no sé dónde poner el
while(IsRunning("nombredelasecuenciaqueparaelscript"));
KillScript();


¿alguna idea?
Volver arriba Ir abajo
Gigoras
Veterano
Veterano
avatar

Cantidad de envíos : 354
Edad : 47
Location : Salmantica.
Reputación : 127
Fecha de inscripción : 28/11/2010

MensajeTema: Re: Detener secuencia cuando otra esté en marcha   Mar Nov 15, 2016 1:50 pm

Hola Martín. Yo he puesto en mi probador las secuencias y cuando activo la segunda(temporizador_tregua) cuenta atrás la primera deja de mostrarse para mostrarse la segunda de la tregua pero al llegar al final me activaba (ataque_inminente1). así que pose la primera para que me funcionara de esta manera :
int Minutos, Segundos;
Minutos = 29;
Segundos = 60;
while(!IsRunning("temporizador_tregua")){
ShowAnnouncement("A_1", Translate("Ataque final: " + Minutos + "min." + Segundos + "seg."));
Sleep(1000);
Segundos -= 1;
if(Minutos == 0 && Segundos == 0){ 
HideAnnouncement("A_1");
Sleep (1000);
RunSequence("ataque_inminente1");
break;
}
if(Segundos == 0){
Minutos -= 1;
Segundos = 60;
}
}

Mira a ver que te sale a ti, y si es eso lo que querías, claro ! clown !
Hasta otra Bro !
Volver arriba Ir abajo
Martín
Defensor
Defensor


Cantidad de envíos : 29
Reputación : 4
Fecha de inscripción : 10/10/2016

MensajeTema: Re: Detener secuencia cuando otra esté en marcha   Jue Nov 17, 2016 2:26 am

¡Muchas gracias Gigoras, funciona a la perfección! Very Happy
Volver arriba Ir abajo
Contenido patrocinado




MensajeTema: Re: Detener secuencia cuando otra esté en marcha   

Volver arriba Ir abajo
 
Detener secuencia cuando otra esté en marcha
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» Kingdom Hearts 3 ya está en marcha
» ¡¡¡El Camp Meet III ya está en marcha!!!!
» que hacer cuando estas aburrido
» ¿Qué significa que un telefono movil "no esté disponible" cuando llamas a ese número?
» fast five (otra de rapidos y furiosos)

Permisos de este foro:No puedes responder a temas en este foro.
JVLIVS CAESAR MODS FORUM :: Modding en General :: Modding en General :: Edición de Scripts-
Cambiar a: