Una ayudita
Veran este scrip simula que el pj esta trabajando como marinero de 17 a 21 horas todo funciona pero hay un pekeño fallo, que cuando pasa las 21 horas el pj debe quedarse sentado y si se queda sentado pero cuando son las 18 horas el pj realiza la accion que tiene que hacer pero tambien realiza la accion de sentarse. Ya he intentado meter un clearaction pero nada sigue sentandose y haciendo la accion a relaizar haber si me ayudais un pokitin que ya no se que mas hacer gracias peña. [code:1:983d5668f4]void main() { if (GetTimeHour() == 17) { AssignCommand(OBJECT_SELF, ClearAllActions()); DelayCommand(4.0, AssignCommand(OBJECT_SELF,SpeakString(“Si jefe me preparare para volver al trabajo” ))); } if (GetTimeHour() == 18) { string habla2 = “Toma madera motor y danos tu maxima potencia “ ; string habla = “Vamos tenemos que meter mas madera en ese motor “ ; object madera = GetObjectByTag(“madera”); object motor = GetObjectByTag(“motor”); ActionMoveToObject(madera,FALSE ,2.0); DelayCommand(2.0, ActionSpeakString(habla)); DelayCommand(6.0, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW)); DelayCommand(8.0, ActionMoveToObject(motor,FALSE ,2.0)); DelayCommand(10.0, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); DelayCommand(12.0, ActionSpeakString(habla2)); } if (GetTimeHour() == 19) { string habla2 = “Toma madera motor y danos tu maxima potencia “ ; string habla = “Vamos tenemos que meter mas madera en ese motor “ ; object madera = GetObjectByTag(“madera”); object motor = GetObjectByTag(“motor”); ActionMoveToObject(madera,FALSE ,2.0); DelayCommand(2.0, ActionSpeakString(habla)); DelayCommand(6.0, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW)); DelayCommand(8.0, ActionMoveToObject(motor,FALSE ,2.0)); DelayCommand(10.0, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); DelayCommand(12.0, ActionSpeakString(habla2)); } if (GetTimeHour() == 20) { string habla2 = “Toma madera motor y danos tu maxima potencia “ ; string habla = “Vamos tenemos que meter mas madera en ese motor “ ; object madera = GetObjectByTag(“madera”); object motor = GetObjectByTag(“motor”); ActionMoveToObject(madera,FALSE ,2.0); DelayCommand(2.0, ActionSpeakString(habla)); DelayCommand(6.0, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW)); DelayCommand(8.0, ActionMoveToObject(motor,FALSE ,2.0)); DelayCommand(10.0, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); DelayCommand(12.0, ActionSpeakString(habla2)); } if (GetTimeHour() == 21) { string habla2 = “Toma madera motor y danos tu maxima potencia “ ; string habla = “Vamos tenemos que meter mas madera en ese motor “ ; object madera = GetObjectByTag(“madera”); object motor = GetObjectByTag(“motor”); ActionMoveToObject(madera,FALSE ,2.0); DelayCommand(2.0, ActionSpeakString(habla)); DelayCommand(6.0, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW)); DelayCommand(8.0, ActionMoveToObject(motor,FALSE ,2.0)); DelayCommand(10.0, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); DelayCommand(12.0, ActionSpeakString(habla2)); } else { object oPC=OBJECT_SELF; AssignCommand(OBJECT_SELF, ClearAllActions()); DelayCommand(4.0,AssignCommand(oPC, ActionPlayAnimation( ANIMATION_LOOPING_SIT_CROSS, 1.0,1000.0))); } }[/code:1:983d5668f4]
Neverwinter Nights
DelayCommand(4.0,AssignCommand(oPC, ActionPlayAnimation( ANIMATION_LOOPING_SIT_CROSS, 1.0,1000.0)));
El problema lo tienes aqui, o eso creo. Asignaste la accion de sentarse, 1000 segundos, por lo cual supongamos que falta 1 segundo para cambiar al 17 horas, pues bien, el pnj hara 1, 0, 1, 2 «< segundo dos dentro ya de las 17, sentarse durante 1000 segundos
no se si me explico bien ???
Gracias gonar pero ya he cambiado el tiempo hasta lo he quitado y aun asi el pnj sigue sentandose a las 17 horas que puedo hacer?