un script : a veces funciona y a veces no

Iniciado por Gothic, Abril 09, 2011, 02:22:12 AM

Tema anterior - Siguiente tema

Gothic

bueno, como dice el titulo, en un mapa que estoy haciendo pongo el sgte script, que dice que al matar 4 hell knights, se teletransporte otro demonio

Spoiler

int lord = 0;
int bruiser = off;

script 1 (void)
{
   if (lord == 3)
   {
   delay(35);
   teleportother(10,5,1);
   setlineblocking(2,off);
   translucentline(2,140,0);
   delay(2);
   translucentline(2,130,0);
   delay(2);
   translucentline(2,120,0);
   delay(2);
   translucentline(2,110,0);
   delay(2);
   translucentline(2,100,0);
   delay(2);
   translucentline(2,90,0);
   delay(2);
   translucentline(2,80,0);
   delay(2);
   translucentline(2,70,0);
   delay(2);
   translucentline(2,60,0);
   delay(2);
   translucentline(2,50,0);
   delay(2);
   translucentline(2,40,0);
   delay(2);
   translucentline(2,30,0);
   delay(2);
   translucentline(2,20,0);
   delay(2);
   translucentline(2,10,0);
   delay(2);
   translucentline(2,0,0);
   delay(2);
   SetLineTexture(1,SIDE_BACK,TEXTURE_MIDDLE,"-");
   SetLineTexture(1,SIDE_FRONT,TEXTURE_MIDDLE,"-");
   bruiser = on;
   }
   if (lord == 2)
   {
   lord++;
   }
   if (lord == 1)
   {
   lord++;
   }
   if (lord == 0)
   {
   lord++;
   }
}
[close]
el script me funciona bien, pero el probema es que si mato a mas de un hell knight a la vez, el script no funciona ¿lo estoy escribiendo mal? y si no ¿hay algun otro script alternativo o recurrir al monster special del mapinfo?

de antemano, gracias

PD: no se si poner esto aqui o en problemas con los juegos

Demmon Break Master

#1
Yo te recomendaria que probaras con un thingcount.

Spoiler
script 1 open
{ while(thingcount(t_none,<tid>) >0)
  delay(35);
  teleportother(10,5,1);
  setlineblocking(2,off);
  translucentline(2,140,0);
  delay(2);
  translucentline(2,130,0);
  delay(2);
  translucentline(2,120,0);
  delay(2);
  translucentline(2,110,0);
  delay(2);
  translucentline(2,100,0);
  delay(2);
  translucentline(2,90,0);
  delay(2);
  translucentline(2,80,0);
  delay(2);
  translucentline(2,70,0);
  delay(2);
  translucentline(2,60,0);
  delay(2);
  translucentline(2,50,0);
  delay(2);
  translucentline(2,40,0);
  delay(2);
  translucentline(2,30,0);
  delay(2);
  translucentline(2,20,0);
  delay(2);
  translucentline(2,10,0);
  delay(2);
  translucentline(2,0,0);
  delay(2);
  SetLineTexture(1,SIDE_BACK,TEXTURE_MIDDLE,"-");
  SetLineTexture(1,SIDE_FRONT,TEXTURE_MIDDLE,"-");
}
[close]

Entiendase el <tid> como el tid del/los monstruo/s en cuestion, si fueron invacods por ACS ese será el tid o puedes modificarlo con el newtid.
Es lo que se me ocurre, a mi los IF se me dan como el culo, me cuesta hacer uno y que funcione xd.

Gothic

excelente, pero supongo que los monstruos tienen que tener el mismo tag ¿cierto?

Demmon Break Master

Cita de: Gothic en Abril 09, 2011, 02:59:25 AM
excelente, pero supongo que los monstruos tienen que tener el mismo tag ¿cierto?

Si.

Aluqah

Cita de: Gothic en Abril 09, 2011, 02:22:12 AMel script me funciona bien, pero el probema es que si mato a mas de un hell knight a la vez, el script no funciona

Se me hace que ejecutas el script con acs_execute en vez de ACS_executealways

[CptRenko]

#5
Una consulta:

if (lord == 2)
{
lord++;
}
if (lord == 1)
{
lord++;
}
if (lord == 0)
{
lord++;
}


¿No se puede simplemente hacer esto?

if(lord == 2 || lord == 1 || lord == 0) // || = o, usar equivalente en ACS, si es que no es el mismo. Con esto hacemos todo en 1 if lo que el user hizo en 3, y se gana que se ve mas bonito y optimizacion.
{
     lord++;
}


O directamente hacer un Bucle, ya que segun entiendo, lord tiene que llegar a ser 3 , entonces:


while(lord <=3)
{
lord++;
if(lord == 3)
{
           delay(35);
   teleportother(10,5,1);
   setlineblocking(2,off);
   translucentline(2,140,0);
   delay(2);
   translucentline(2,130,0);
   delay(2);
   translucentline(2,120,0);
   delay(2);
   translucentline(2,110,0);
   delay(2);
   translucentline(2,100,0);
   delay(2);
   translucentline(2,90,0);
   delay(2);
   translucentline(2,80,0);
   delay(2);
   translucentline(2,70,0);
   delay(2);
   translucentline(2,60,0);
   delay(2);
   translucentline(2,50,0);
   delay(2);
   translucentline(2,40,0);
   delay(2);
   translucentline(2,30,0);
   delay(2);
   translucentline(2,20,0);
   delay(2);
   translucentline(2,10,0);
   delay(2);
   translucentline(2,0,0);
   delay(2);
   SetLineTexture(1,SIDE_BACK,TEXTURE_MIDDLE,"-");
   SetLineTexture(1,SIDE_FRONT,TEXTURE_MIDDLE,"-");
   bruiser = on;
   break; //T ermina la finalizacion del bucle, usar equivalente en ACS.
}
}


Aqui esta el codigo reescrito despues del script1 (void), si usamos bucle xD.
http://rinconrenko.x10.mx
Mi rincon..., publicacion de noticias de videojuegos e informatica.
Visitanos!.

Gothic

Cita de: Aluqah en Abril 09, 2011, 01:08:49 PM
Cita de: Gothic en Abril 09, 2011, 02:22:12 AMel script me funciona bien, pero el probema es que si mato a mas de un hell knight a la vez, el script no funciona

Se me hace que ejecutas el script con acs_execute en vez de ACS_executealways
vaya, jamas vi la diferencia entre uno y otro :¡doh!:

lost soul

Cita de: Gothic en Abril 09, 2011, 04:07:59 PM
Cita de: Aluqah en Abril 09, 2011, 01:08:49 PM
Cita de: Gothic en Abril 09, 2011, 02:22:12 AMel script me funciona bien, pero el probema es que si mato a mas de un hell knight a la vez, el script no funciona

Se me hace que ejecutas el script con acs_execute en vez de ACS_executealways
vaya, jamas vi la diferencia entre uno y otro :¡doh!:

:¡doh!:

Doomer for ever

[CptRenko]

Cita de: lost soul en Abril 09, 2011, 05:07:48 PM
Cita de: Gothic en Abril 09, 2011, 04:07:59 PM
Cita de: Aluqah en Abril 09, 2011, 01:08:49 PM
Cita de: Gothic en Abril 09, 2011, 02:22:12 AMel script me funciona bien, pero el probema es que si mato a mas de un hell knight a la vez, el script no funciona

Se me hace que ejecutas el script con acs_execute en vez de ACS_executealways
vaya, jamas vi la diferencia entre uno y otro :¡doh!:

:¡doh!:

Es como no pillar la diferencia entre forever y forever  alone :ahok: :tonto:
http://rinconrenko.x10.mx
Mi rincon..., publicacion de noticias de videojuegos e informatica.
Visitanos!.