La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 02/05/2024 21:52:50


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
SexLove
Novice
Inscrit le: 15 Nov 2005
Messages: 16
Localisation: dans le cosmos
Répondre en citant
Posté le : 02/02/2006 08:40:28 Sujet du message : Transition jour/nuit

Je sens que je lève un défi aux maitres scripteurs (car je les respecte bcp^^) avec mon script. Mon module se situe dans Eauprofonde (principalement) et je voudrais que la cité des morts, un cimetierre, soit pacifique le jour et hostile la nuit. Donc seulement des rencontres de undead la nuit.
De plus, j'aimerais mettre l'effet visuel *ombre rouge* la nuit et *ciel dégagé* le jour sur les propriétés de la zone. Il en va aussi de même pour les musiques; *Dracolich* la nuit et *journée en campagne* le jour.


Alors, est ce que c'est faisable?
Est-ce que c'est bien compliqué?
Et est-ce que cela tenterait-il à quelqu'un de me montrer comment? (la vraie question Very Happy )

Je n'ai commencé aucun script là-dessus car je n'ai aucunes idées comment faire!



Qu'en pensez vous les scripteurs?
_________________
Eauprofonde-Cité des slendeurs, module en création bientot en beta [http]
Cinq minutes avant sa mort, il était toujours vivant!!!
Cliquez ce lien pour moi^^merci!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 02/02/2006 16:22:06 Sujet du message :

Bon pour ce qui est de l'éclairage et de la musique, ça se règle directement dans les propriétés de la zone dans l'éditeur.

Ensuite pour les rencontres j'ai pensé à ça :
NWScript :
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC) &! GetIsDM(oPC)) return;
int nHeureTest = GetLocalInt(OBJECT_SELF,"SETFORDAYTIME");
int nDayTime = GetIsDay();
if (nHeureTest == nDayTime) return;
object oEncounter = GetNearestObject(OBJECT_TYPE_ENCOUNTER,oPC);
int nCount = 1;
while (GetIsObjectValid(oEncounter))
{

    SetEncounterActive(!nDayTime,oEncounter);
    nCount++;
    oEncounter = GetNearestObject(OBJECT_TYPE_ENCOUNTER,oPC,nCount);
}
SetLocalInt(OBJECT_SELF,"SETFORDAYTIME",nDayTime);
}
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.


A mettre dans le OnEnter de la zone (ou des zones). Comme c'est dans un OnEnter de zone, c'est ptet pas parfait, car si un PJ squatte la zone ça ne se déclanchera pas, mais bon d'un autre coté ça n'oblige pas à passer par un timer ou un heartbeat pour vérifier si la nuit tombe.

Au pire c'est largement modifiable (passer la partie d'instruction en OnUserDefinedEvent, et lancer des checks soit par un OHB, soit par des évenements (ie un joueur entre dans une des trigger, je lance le script et elle s'active))
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Seth de Sombrelune
Seigneur
Inscrit le: 10 Jan 2005
Messages: 156
Répondre en citant
Posté le : 02/02/2006 17:12:15 Sujet du message :

Oui, les musiques, c'est dans le Propriétés, onglet audio de la zone. L'heure de l'aube et du crépuscule c'est dans dans les propriétés du module. Pour les lumières c'est dans propriétés onglet visuel, bouton choix avancé (ou un truc dans le gennre).

Pour les créatures, je propose 2 orientations possible, je suis pas assez calé en script pour faire une proposition au pied levé :

La première serais de modifier le script du OnSpawn des créatures qui peuplent le cimetiére, si c'est le jour elles meurent (ou sont détruites) si c'est la nuit ben elles font rien de plus que ce qu'elles sont censées faire (comme tout bon Hostile qui se respecte Very Happy).

Autre possibilité (qui n'implique pas de modifier les scripts des monstres) :
Les déclancheurs des rencontre sont des triggers et ils offrent la possibilité de recevoir un script dans le OnEnter. Il faudrais voir s'il n'est pas possible d'empecher le déclanchement de la rencontre si c'est le jour, mais je ne maitrise pas les rencontres (j'ai jamais eu à bosser dessus jusqu'à présent, mais le sujet m'intersse !!!).

Voilà si ça peu vous donner des idées... Razz
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
lylver
Héros
Inscrit le: 08 Avr 2005
Messages: 274
Répondre en citant
Posté le : 06/02/2006 14:26:51 Sujet du message :

Jette un oeil par là pour des spawns personnalisés
http://www.system-tek.com/~nwinter/phpbb2/viewtopic.php?t=8603

Tu pourras mettre des conditions horaires
Si tu ne veux pas mettre des plaçables (ossements/corps), on peut changer légèrement les conditions et même utiliser des points de passages (OBJECT_TYPE_WAYPOINT à la place de OBJECT_TYPE_PLACEABLE)

Pour les fonctions de temps, les voici à nouveau
Ce message est un spoiler, et risque de vous informer de choses que vous auriez dû apprendre par vous même (fin d'un jeu, film, etc). À vos risques et périls (ludiques), vous pouvez le voir en cliquant sur cet avertissement.
Spoiler :
NWScript :
//:: ////
//:: created 2003, dluan Wheel of Time
//:: updated 2004, lylver SoW
//:: ////
int _day()
{
    int iCTY = GetCalendarYear() ;
    int iCTM = GetCalendarMonth() ;
    int iCTD = GetCalendarDay() ;
    int iCDay = iCTY*12*28 + iCTM*28 + iCTD ;
    return iCDay ;
}

int _time()
{
    int iTH = GetTimeHour();
    int iTM = GetTimeMinute();
    int iTS = GetTimeSecond();
    int iCTime = FloatToInt(HoursToSeconds(iTH)) + iTM*60 + iTS ;
    return iCTime ;
}
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.
 
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 38.139ms