La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/09/2024 06:25:28


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
aeslad
Voyageur
Inscrit le: 30 Jan 2005
Messages: 4
Localisation: Doubs
Répondre en citant
Posté le : 14/03/2005 13:59:48 Sujet du message : placer un objet au hasard dans une zone

Salut,
Voilà dans mon module les joueurs doivent explorer les zones et dresser des cartes, je pensait mettre une "carte" cachée dans la zone à un endroit (conteneur en rapport avec la zone) sans cesse différent. L'objet réaparait ensuite à un endroit aléatoire toute les heures (réelle). C'est possible ca?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Litteul_Korrigan
Ecuyer
Inscrit le: 09 Jan 2005
Messages: 64
Répondre en citant
Posté le : 14/03/2005 18:42:28 Sujet du message :

Pour ce qui est de générer un effet toutes les heures, y'a ce systeme:
NWScript :
Timer/générateur dvènement

Voici un timer économique qui compte les minutes, il permettra de
contrôler le respawn des contenants par exemple ou encore de déclencher
des évènements à une heure précise de la journée ou de la nuit qui sera
probablement utilisé pour les systèmes de lycanthropie...

Le système se découpe en deux parties le premier est une simple
ligne à ajouter au début du OnModuleLoad de votre module :

    SignalEvent(GetObjectByTag("TIMER"),EventUserDefined(606024));

Cette ligne de code sert à amorcer le TIMER au lancement de votre module.
La seconde partie est un script à placer dans le OnUserDefined d'un
plaçable quelconque(immortel au moins) à mettre où vous voudrez dans
votre module, le TAG du plaçable doit être TIMER. Voici le script en question :



//d'une chaine d'action infinie
//Attention les chaines d'action sont interdites sur le placable lui


void main()
{
    int nUser = GetUserDefinedEventNumber();
    switch(nUser)
    {
        case 0://minuit
        break;
        case 6:
        break;
        case 12://midi
        break;
        case 18:
        break;
        case 606024:
            int nHour = GetTimeHour();
            if(GetTimeMinute()==0)
            {
                SignalEvent(OBJECT_SELF,EventUserDefined(nHour));
            }
            ActionWait(60.0);
            ActionDoCommand(SetLocalInt(GetModule(),"minute",GetLocalInt(GetModule(),"minute")+1));
            ActionDoCommand(SignalEvent(OBJECT_SELF,EventUserDefined(606024)));
        break;
    }
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Trouvé la: http://www.deepblack.be/forum/portal.php?pid=8

PAr contre, j'ai pas eu le temps d'essayer, donc, je garantit pas le résultat...
_________________
Quiche en script.. Mais je travaille...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 75.376ms