Bien que parfaitement fonctionnel et original, le script de Silk s'est révélé à l'usage assez gourmand en ressource.
En effet, la porte déclenche le script et teste l'heure
TOUTES LES 6 SECONDES !!! (contre coup du "OnHeartBeat"). Dès lors, s'il y a plusieurs portes contenant ce script et que la zone fait vivre plusieurs PNJs (...), la pile se trouve vite saturée.
Voici donc une alternative un peu plus dépouillée. Ici, point de portes qui s'ouvrent en grand à l'heure dite, ou qui se referment comme par magie à la tombée de la nuit. Ce script, à mettre dans le "
OnOpen", test l'heure et vérouille ou dévérrouille la porte suivant le résultat UNIQUEMENT lorsque la porte est actionnée. A noter que pendant les heures d'ouverture, la porte se referme d'elle-même au bout de 10 secondes (les PJs ayant la facheuse tendance à ne jamais refermer
).
- Astarode a écrit:
- void main()
{
object oDoor = OBJECT_SELF;
if(GetTimeHour()>7 && GetTimeHour()<21)// Test l'heure au moment où la porte est actionnée et déclenche la suite s'il est entre 8h et 20h
{
DelayCommand(5.0f,ActionCloseDoor(oDoor));// Referme la porte après 5s.
}
else
{
ActionCloseDoor(oDoor);//Si le test n'est pas bon (heure non entre 8h et 20h), ferme la porte
}
}
PSSi vous avez des suggestions, n'hésitez pas...