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 | 
 

 Cuando una unidad entra en un area siempre ocurra algo.

Ir abajo 
AutorMensaje
Zhenrok
Defensor
Defensor
avatar

Cantidad de envíos : 38
Reputación : 13
Fecha de inscripción : 21/05/2015

MensajeTema: Cuando una unidad entra en un area siempre ocurra algo.   Vie Jul 03, 2015 4:45 pm

Ya que no manejo muy bien los while y que no encuentro el script ese, si me pueden decir cual es y mas o menos el funcionamiento de los while, por ejemplo este script lo quiero para que un cuartel de una aldea cada vez que salgan los guerreros vayan a un punto especifico con el comando move.

Gracias de antemano.
Volver arriba Ir abajo
Gigoras
Veterano
Veterano
avatar

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

MensajeTema: Re: Cuando una unidad entra en un area siempre ocurra algo.   Vie Jul 03, 2015 5:52 pm

Siempre parcos en palabras , la juventud, te mando esta secuencia que seguramente te sirva , adaptándola un poco .

int i;
ObjList OL_Units;
ObjList Viajeros;
while(1)
{
Viajeros = ClassPlayerAreaObjs("Military",1, "Areacomienzo").GetObjList();
Viajeros.SetPlayer(5);
Sleep(500);
Viajeros.SetCommand("attack",GetRandomPointInArea ("Areaataque"));
}

declaras Viajeros .
dices que viajeros son todas las unidades militares del jugador nº1 que haya en el área Areacomienzo.
dices que Viajeros se harán del jugador nº5 (ya no los controlaras , pero son aliados 
por ejemplo). 
Mandas a Viajeros que ataquen (en este caso) un punto aleatorio del área Areaataque .
Que solo quieres moverlos al area :
  Viajeros.SetCommand("move",AreaCenter("Areaataque"));

Espero que te sirva Zhenrok . aqui nos tienes para cualquier consulta , Vale?
PD (ahora miro tus privados y por privado te los contesto, chao).
Volver arriba Ir abajo
Harenor
Pretoriano
Pretoriano
avatar

Cantidad de envíos : 63
Location : Matrix
Reputación : 18
Fecha de inscripción : 26/03/2015

MensajeTema: Re: Cuando una unidad entra en un area siempre ocurra algo.   Vie Jul 03, 2015 5:58 pm

140.Para que siempre que entre/n una o varias unidades de un jugador en un área (sean cuales sean) ocurra algo:
int i;
ObjList ol;
while(true){
 
WaitQueryCountBetween(ClassPlayerAreaObjs(cUnit, número del jugador, "nombre del área"), 1, -1, -1);
ol = ClassPlayerAreaObjs(cUnit, número del jugador, "nombre del área ").GetObjList();
for(i=0;i<ol.count;i+=1)
ol[i].Acción que hace la/s unidad/es que entra/n.
Creas un área encima del cuartel llamada acuartel y otra en el punto que quieras llamada apunto, y en una nueva secuencia pones

Código:
int i;
ObjList ol;
while(true){
WaitQueryCountBetween(ClassPlayerAreaObjs(cUnit, jugador, "acuartel"), 1, -1, -1);
ol = ClassPlayerAreaObjs(cUnit, jugador, "acuartel").GetObjList();
for(i=0;i<ol.count;i+=1)
ol[i].SetCommand("move", AreaCenter("apunto"));
}


Volver arriba Ir abajo
Zhenrok
Defensor
Defensor
avatar

Cantidad de envíos : 38
Reputación : 13
Fecha de inscripción : 21/05/2015

MensajeTema: Re: Cuando una unidad entra en un area siempre ocurra algo.   Vie Jul 03, 2015 7:33 pm

Gracias @Harenor me hace servido y funcionado a la perfección.
Volver arriba Ir abajo
Contenido patrocinado




MensajeTema: Re: Cuando una unidad entra en un area siempre ocurra algo.   

Volver arriba Ir abajo
 
Cuando una unidad entra en un area siempre ocurra algo.
Volver arriba 
Página 1 de 1.

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: