Tengo puesto esto en una unidad para que ponga en marcha un activador:
Código: Seleccionar todo
call{this addaction ["<t color='#ffff11'>Unidad1</f>", "deletevehicle Unidad1;"];}
Moderador: C. Misiones & Noticias
Código: Seleccionar todo
call{this addaction ["<t color='#ffff11'>Unidad1</f>", "deletevehicle Unidad1;"];}
Código: Seleccionar todo
call{Unidad1 addaction ["<t color='#ffff11'>Texto que aparecerá en el AddAction</f>", "explosivoBomba setDamage 1; removeAllActions Unidad1;"];};
Lo de setDamage lo he puesto como ejemplo Valium. Tienes que quitar eso y poner el comando que quieras que se ejecute con el addAction (un hint, un script, etc.).<A2>Valium.T escribió: ↑14 Feb 2022, 13:43 Gracias Abuelo.
Casi prefiero que desaparezca ... ahora cae desplomada a mis pies la pobre IA
He puesto en 0 eso del setDamage y no hace nada. He desmarcado la casilla de activar daño y se sigue desmayando la condenada.
Pero que conste en acta que funcionar funciona
... solo que me gustaría que la IA siguiese viva a ser posible. ¿Algún comandito molón de esos mágicos?
Código: Seleccionar todo
call{civil addaction ["<t color='#ffff11'>civil</f>", "removeAllActions civil;"]; hint "texto a escribir"};
Has puesto el hint fuera del addaction.<A2>Valium.T escribió: ↑14 Feb 2022, 17:56Lo he puesto así y sale "civil" en la IA pero el mensaje del hint sale en cuanto empieza la misión.Código: Seleccionar todo
call{civil addaction ["<t color='#ffff11'>civil</f>", "removeAllActions civil;"]; hint "texto a escribir"};
¿Cómo hay que ponerlo para que salga solo cuándo interactúe con la IA?
Código: Seleccionar todo
civil addaction ["<t color='#ffff11'>Hablar con civil</f>", "removeAllActions civil;hint 'haz caso a lo que te dice pescadorr.';"];
Código: Seleccionar todo
civil addaction ["<t color='#ffff11'>Hablar con civil</f>", "removeAllActions civil; 'haz caso a lo que te dice pescadorr.' remoteexec ['hint'];"];
Ya esto mismo me suena a chino...Puedes usar el removeactions para quitarlas acciones de civil, yo prefiero por ejemplo usar la propia condición para que se muestre el addaction, pero eso mejor para cuando necesites algo más complicado, el addaction es el comando con diferencia más difícil de usar, sobretodo si te metes al 100% con su complejidad.
Para sincronizar tareas este método funciona bien, soluciona tanto temas de localidad (cosa que ocurre en el addaction), como con la persistencia (JIP) por si alguien se cae y que vea que la tarea esta hecha.<A2>Valium.T escribió: ↑16 Feb 2022, 14:21 Gracias Pesca. He usado el código ultimo que has puesto y muy bien. Solo que se me olvidó comentar que también me gustaría que a la vez me diese una tarea por finalizada. Yo lo hice con un activador / condición= call{!alive civil;} y con el deletevehicle, pero desaparecía la IA.
Ahora con tu script no me da la tarea por concluida... algún apaño habrá ¿no?
Ya esto mismo me suena a chino...Puedes usar el removeactions para quitarlas acciones de civil, yo prefiero por ejemplo usar la propia condición para que se muestre el addaction, pero eso mejor para cuando necesites algo más complicado, el addaction es el comando con diferencia más difícil de usar, sobretodo si te metes al 100% con su complejidad.
Código: Seleccionar todo
if (isserver) then
{
tarea1= false;
publicvariable "tarea1";
tarea2= false; //esto por si necesitas mas de una tarea
publicvariable "tarea2";
};
Código: Seleccionar todo
civil addaction
[
"<t color='#ffff11'>Hablar con civil</t>",
"removeAllActions civil;
'haz caso a lo que te dice pescadorr.' remoteexec ['hint'];
tarea1 = true;
publicvariable 'tarea1';
"
];
Código: Seleccionar todo
tarea1
Código: Seleccionar todo
civil addaction
[
"<t color='#ffff11'>Hablar con civil</t>",
"removeAllActions civil;
'haz caso a lo que te dice pescadorr.' remoteexec ['hint'];
[tarea1, 'Succeeded'] remoteExec ['setTaskState', playableunits, true];
"
];