La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 23/11/2024 08:04:09
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
warpShadow Légende vivante Messages: 363 Localisation: Perpignan |
Voilà, j'ai un script qui est censé gérer la persistance de la date, et ajouter une randomisation dans la météo... SAUF que... Ni l'un ni l'autre ne marche
DAns le OnModuleLoad : NWScript :
/**************************Met eo persistante******************* *****************/ // par Ea/rook // void Meteo() { int FREQUENCE_PLUIE = 30; int FREQUENCE_NEIGE = 60; int FREQUENCE_ORAGE = 10; int i = Random(100); int iWeather = WEATHER_CLEAR; if (i <= FREQUENCE_PLUIE) iWeather = WEATHER_RAIN; if ((i > FREQUENCE_PLUIE) && (i <= FREQUENCE_PLUIE + FREQUENCE_NEIGE)) iWeather = WEATHER_SNOW; if ((i > FREQUENCE_PLUIE + FREQUENCE_NEIGE) && (i <= FREQUENCE_PLUIE + FREQUENCE_NEIGE + FREQUENCE_ORAGE)) iWeather = WEATHER_USE_AREA_SETTINGS; SetWeather(GetModule(), iWeather); DelayCommand(4000.0 + Random(4000), Meteo()); //Persistance de la date string sCampaign = GetName(GetModule()); int nDay = GetCampaignInt(sCampaign, "DAY"); int nMonth = GetCampaignInt(sCampaign, "MONTH"); int nYear = GetCampaignInt(sCampaign, "YEAR"); SetCalendar (nYear,nMonth,nDay); } /***************************** ****************************** ********************/ pourriez vous m'aider svp ? ^^ +++ _________________ Asphia Module RP Médiéval Fantastique pour Neverwiner Nights |
Revenir en haut | |
Viduc de Papironda Grand Chevalier Messages: 119 |
essaie ça^^:
NWScript :
void Meteo() { int FREQUENCE_PLUIE = 30; int FREQUENCE_NEIGE = 60; int FREQUENCE_ORAGE = 10; int i = Random(100); int iWeather = WEATHER_CLEAR; if (i <= FREQUENCE_PLUIE) iWeather = WEATHER_RAIN; if ((i > FREQUENCE_PLUIE) && (i <= (FREQUENCE_PLUIE + FREQUENCE_NEIGE))) iWeather = WEATHER_SNOW; if ((i > (FREQUENCE_PLUIE + FREQUENCE_NEIGE)) && (i <= (FREQUENCE_PLUIE + FREQUENCE_NEIGE + FREQUENCE_ORAGE))) iWeather = WEATHER_USE_AREA_SETTINGS; SetWeather(GetModule(), iWeather); DelayCommand(4000.0 + Random(4000), Meteo()); //Persistance de la date string sCampaign = GetName(GetModule()); int nDay = GetCampaignInt(sCampaign, "DAY"); int nMonth = GetCampaignInt(sCampaign, "MONTH"); int nYear = GetCampaignInt(sCampaign, "YEAR"); SetCalendar (nYear,nMonth,nDay); } Viduc _________________ |
Revenir en haut | |
warpShadow Légende vivante Messages: 363 Localisation: Perpignan |
Merci à toi, mais je n'ai pas bien compris l'erreur du script que j'ai, il manque juste une parenthèse ? d'où vient elle ?
merci ^^ _________________ Asphia Module RP Médiéval Fantastique pour Neverwiner Nights |
Revenir en haut | |
warpShadow Légende vivante Messages: 363 Localisation: Perpignan |
Je m'en aperçois, mais ça se compile pas parce qu'il manque un void main (), c'est normal ?
est ce que comme ça ça marche ? en tout cas ça se compile NWScript : /**************************Met eo persistante******************* *****************/ void Meteo() { int FREQUENCE_PLUIE = 30; int FREQUENCE_NEIGE = 60; int FREQUENCE_ORAGE = 10; int i = Random(100); int iWeather = WEATHER_CLEAR; if (i <= FREQUENCE_PLUIE) iWeather = WEATHER_RAIN; if ((i > FREQUENCE_PLUIE) && (i <= (FREQUENCE_PLUIE + FREQUENCE_NEIGE))) iWeather = WEATHER_SNOW; if ((i > (FREQUENCE_PLUIE + FREQUENCE_NEIGE)) && (i <= (FREQUENCE_PLUIE + FREQUENCE_NEIGE + FREQUENCE_ORAGE))) iWeather = WEATHER_USE_AREA_SETTINGS; SetWeather(GetModule(), iWeather); } void main() { //Persistance de la date string sCampaign = GetName(GetModule()); int nDay = GetCampaignInt(sCampaign, "DAY"); int nMonth = GetCampaignInt(sCampaign, "MONTH"); int nYear = GetCampaignInt(sCampaign, "YEAR"); SetCalendar (nYear,nMonth,nDay); DelayCommand(4000.0 + Random(4000), Meteo()); } _________________ Asphia Module RP Médiéval Fantastique pour Neverwiner Nights |
Revenir en haut | |
Viduc de Papironda Grand Chevalier Messages: 119 |
|
Revenir en haut | |
warpShadow Légende vivante Messages: 363 Localisation: Perpignan |
ok... alors comment faire ? ^^
merci de ton aide ++ _________________ Asphia Module RP Médiéval Fantastique pour Neverwiner Nights |
Revenir en haut | |
Viduc de Papironda Grand Chevalier Messages: 119 |
Bah en faite à y regarder de plus près je vois pas trop ce que tu souhaites optenir...^^
par ex ton void main là (enfin pour ce que j'y connais de ces fonctions...), appel la date du module (avec les get...), puis tu créés ces mêmes variables (sans dire où...). donc je vois pas à quoi ça sert... j'imagine en faite que tu dois avoir une base de donnée sur ton mod non? sinon la ça sert à rien je pense, car systématiquement tu reviendras toujours à la date de départ en cas de reboot si tu ne peux stocker ces dites variables quelque part.... après perso les bases de données je maitrise pas (enfin pas encore..^^).. donc dis nous un peu plus quelle est l'idée derrière ton script pour que l'on puisse voir ça... Viduc _________________ |
Revenir en haut | |
warpShadow Légende vivante Messages: 363 Localisation: Perpignan |
Je n'ai que la bdd d'origine de bioware... mais il a l'air de manquer quelque chose dans le script.
Sinon ben, le script est sencé faire un random sur le temps qu'il fait : beau temps, pleuvoir, neiger, orage, et sauvegarder la date, je vois pas vraiment quoi expliquer... Il définit ce qu'il peut faire comme temps, définit un random, puis devrait jouer ce sur quoi ça tombe... je me demande s'il ne faudrait pas ajouter un truc dans le OHB. Mais je ne sais pas ce qui cloche dans le script, sauf que je ne vois pas de SetCampaign. _________________ Asphia Module RP Médiéval Fantastique pour Neverwiner Nights |
Revenir en haut | |
Viduc de Papironda Grand Chevalier Messages: 119 |
Oui je vois en gros ce que tu veux... mais là perso je vais pas pouvoir t'aider... en faite je ne maîtrise pas dutout les bases de données.... ceci dit je pense que pour ton idée il te faut au moins deux scripts... logiquement tu vas en avoir un qui va sauvegarder ds la base la date et la météo (peut être ds le ohb du module mais j'ai peur que ça fasse grave ramer ton mod...) et un autre qui se lancerait au redemmarage de ton mod qui retourne les valeurs stockées et modifie ce que tu voulais... voilà désolé de pas pouvoir t'aider plus, et je suis comme toi preneur d'une solution aussi (je compte bien m'atteler prochainement à la gestion des ces fameuses base de données^^..)
Viduc _________________ |
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
Ben c'est sur que si tu l'enregistre jamais, tu va avoir du mal à la retrouver la date...
NWScript :
/**************************Met eo persistante******************* *****************/ void Meteo() { int FREQUENCE_PLUIE = 30; int FREQUENCE_NEIGE = 60; int FREQUENCE_ORAGE = 10; int i = Random(100); int iWeather = WEATHER_CLEAR; if (i <= FREQUENCE_PLUIE) iWeather = WEATHER_RAIN; else if (i <= (FREQUENCE_PLUIE + FREQUENCE_NEIGE)) iWeather = WEATHER_SNOW; else if (i <= (FREQUENCE_PLUIE + FREQUENCE_NEIGE + FREQUENCE_ORAGE)) iWeather = WEATHER_USE_AREA_SETTINGS; SetWeather(GetModule(), iWeather); DelayCommand(4000.0+Random(4000),Meteo()); string sDB = GetName(GetModule()); SetCampaignInt(sDB,"DAY",GetCalendarDay()); SetCampaignInt(sDB,"MONTH",GetCalendarMonth()); SetCampaignInt(sDB,"YEAR",GetCalendarYear()); } void main() { //Persistance de la date string sCampaign = GetName(GetModule()); int nDay = GetCampaignInt(sCampaign, "DAY"); int nMonth = GetCampaignInt(sCampaign, "MONTH"); int nYear = GetCampaignInt(sCampaign, "YEAR"); SetCalendar(nYear,nMonth,nDay); Meteo(); } Là ça devrait déjà marcher un peu mieux. (et les else c'est pas fait pour les worgs ) |
Revenir en haut | |
warpShadow Légende vivante Messages: 363 Localisation: Perpignan |
|
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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