legendario2009 Aprendiz


 Edad: 23 Puntos de Actividad: 1758
Cantidad de envíos: 71 Fecha de inscripción: 21/02/2009
Nº. de Miembro: 49 Respeto por el Foro:
 | Tema: Problema extraño Vie 12 Jun 2009, 1:42 pm | |
| Hola de nuevo, me pasa lo siguiente, tengo 2 áreas. Una que es una posada con habitaciones y el exterior a la posada que es una aldea.Bien, en la posada hay 2 pnj que siguen un camino a base de puntos de ruta, y al poner el siguiente codigo, | Código: |
void main() { object oNPC= GetObjectByTag("etiquetapnj"); object oWP = GetObjectByTag("etiquetawaypoint"); location lDestino = GetLocation(oWP); { if (GetIsNight()) AssignCommand(oNPC,ActionMoveToLocation(lDestino,FALSE)); else ClearAllActions(); } }
|
se va al punto de ruta que indica el script, hasta ahi bien, pero una vez que va al punto de ruta que indico en el script, no se queda el pnj quieto, se va otra vez a recorrer el camino hecho por los puntos de ruta. ¿por que será? y mi segundo problema con el script es que no me funciona si el pnj esta en otro area, es decir si está en el exterior de la posada y se hace denoche, deberia de ir a su destino, pues no, se queda dando vueltas por la aldea XD.
Solo pido que me aclaren donde esta el fallo y si alguien me puede modificar el script para que se muevan a su destino cuando anochezca y permanezcan ahi hasta la hora que se haga de día. Ya me hicieron un script como lo que pido, pero pasa lo mismo, no funciona.
Gracias.
PD: voy a poner 2 scripts nuevos. |
|
legendario2009 Aprendiz


 Edad: 23 Puntos de Actividad: 1758
Cantidad de envíos: 71 Fecha de inscripción: 21/02/2009
Nº. de Miembro: 49 Respeto por el Foro:
 | Tema: Re: Problema extraño Dom 14 Jun 2009, 9:19 pm | |
| ¿nadie sabe como arreglarlo? |
|
Ender Patos@

 Edad: 20 Puntos de Actividad: 1001
Cantidad de envíos: 11 Fecha de inscripción: 31/08/2009
Nº. de Miembro: 100 Respeto por el Foro:
 | Tema: Re: Problema extraño Lun 31 Ago 2009, 1:29 am | |
| normal. Después de ir a donde le dices, la criatura sigue su rutina marcada en su spawn. En cuanto a que sigue su ruta, creo que si los puntos de ruta estan en otra area puede dar problemas para que se diriga allí, sobre todo si están muy alejados o si hay algo que interfiera en su escasa IA. Pero de esto último no estoy seguro. |
|
Gonar Patos@

 Edad: 35 Puntos de Actividad: 527
Cantidad de envíos: 18 Fecha de inscripción: 09/02/2011
Nº. de Miembro: 132 Respeto por el Foro:
 | Tema: Re: Problema extraño Jue 10 Feb 2011, 12:48 am | |
| Haber, lo primero crea un script nuevo y guardalo con el nombre que quieras, por ejemplo "pnj_dia_noche". Este script lo usaras en todos los pnjs que quieras hagan lo que indicas. En el codigo de script pondras lo siguiente y ten en cuenta los comentarios para configurar a cada criatura con su punto de ruta u objeto nocturno: | Código: | #include "nw_i0_generic" void main() { // Editaremos las propiedades de la criatura. En la pestana avanzada iremos a variables. // Le pondremos una variable de Nombre SitioNoche con tipo string y con un valor que // sera el tag o etiqueta del objeto, punto de ruta, etc ... al que debe ir cuando sea // de noche. object oWP = GetObjectByTag(GetLocalString(OBJECT_SELF, "SitioNoche")); // Analizamos si esta o no combatiendo o en una conversacion, para evitar que deje de // defenderse y se valla, o que deje de hablar y se valla. if(!GetIsInCombat(OBJECT_SELF) && !IsInConversation(OBJECT_SELF)) { // Si es de noche y no esta a menos de 3 metros de su destino, se movera. if(GetIsNight() && GetDistanceBetween(OBJECT_SELF, oWP) >= 3.0) { ClearAllActions(); AssignCommand(OBJECT_SELF, ActionMoveToObject(oWP)); } // Si no es de noche, seguira su ruta. else if(!GetIsNight()) { ClearAllActions(); WalkWayPoints(); } // En cualquier otro caso no le diremos nada. else return; } } |
|
|