Elleslande Module pour NWN

Forum d' Elleslande, module RP pour Neverwinter Nights
 
AccueilCalendrierFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez | 
 

 [VILLE] Des magasins qui ouvrent à l'heure

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Astarode
Admin
avatar

Nombre de messages : 374
Age : 46
Localisation : Elleslande
Date d'inscription : 16/11/2005

MessageSujet: [VILLE] Des magasins qui ouvrent à l'heure   Dim 19 Mar - 21:44

Ce script a été développé par Silk, je poste pour lui car il n'a pas trop de temps en ce moment...

Il est facilement adaptable : il vous suffira de changer les heures geek

Silk a écrit:

// Script est à placer dans le "OnHeartbeat" d'une porte.
// La porte se fermera et se verrouillera automatiquement 20h,
// puis se déverrouillera et s'ouvrira automatiquement à 8h.

void main()
{
if(GetTimeHour()>19)
{
if(GetIsOpen(OBJECT_SELF))
ActionCloseDoor(OBJECT_SELF);

// La fonction "SetLocked()" est utilisée avec "ActionDoCommand()".
// Elle doit être dans la file d'action, afin que la porte se ferme
// complètement avant de se verrouiller.

if(!GetLocked(OBJECT_SELF)) // le ! devant GetLocked permet de tester la condition inverse. Ici, si la porte est dévérouillée
ActionDoCommand(SetLocked(OBJECT_SELF,TRUE));
}
else if(GetTimeHour()>7)
{
if(GetLocked(OBJECT_SELF))
ActionDoCommand(SetLocked(OBJECT_SELF,FALSE));

if(!GetIsOpen(OBJECT_SELF))
ActionOpenDoor(OBJECT_SELF);
}
}
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://elleslande.forumzen.com
Astarode
Admin
avatar

Nombre de messages : 374
Age : 46
Localisation : Elleslande
Date d'inscription : 16/11/2005

MessageSujet: Re: [VILLE] Des magasins qui ouvrent à l'heure   Sam 1 Avr - 13:58

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 geek ).

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
}
}

PS
Si vous avez des suggestions, n'hésitez pas...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://elleslande.forumzen.com
 
[VILLE] Des magasins qui ouvrent à l'heure
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Waow, jolies jambes ! A quelle heure elles ouvrent ? ? Siam
» Que dire d'être Noir dans la « république » de Pétion-Ville ? RACISME : HAÏTI
» Le plan du Centre-ville de PAP devrait être confié à des Haitiens
» Haiti : Cazal une ville , une histoire
» Pétion –Ville ; mairesse Ludie Parent ap danse kompas !

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Elleslande Module pour NWN :: Zone technique :: Aurora : Trucs et astuces pour l'éditeur de NWN-
Sauter vers: