Day And Night Cyles Mod?
#1
Posté 04 novembre 2011 - 03:13
I was wondering if there is a mod that cycles the day and night cyles by time.
It got dark and i camped and it was still dark,so i camped again and it was still dark.
Does anyone know if the day and night cyle is based on time in the OC?
If there is such a mod can you kindly link me to it,please.
qwert
#2
Posté 04 novembre 2011 - 03:14
qwert
#3
Posté 04 novembre 2011 - 03:26
FP!
#4
Posté 04 novembre 2011 - 03:48
#5
Posté 04 novembre 2011 - 04:38
(Console commands in my "Tips" list in my signature...)
#6
Posté 04 novembre 2011 - 04:49
If you meant "modification", then probably you could alter basic resting scripts in your override, but I honestly do not know the exact specifics.
#7
Posté 04 novembre 2011 - 05:50
qwert
#9
Posté 05 novembre 2011 - 01:20
Tales of Arterra series, by Kevin Chan aka toa_lost
#10
Posté 05 novembre 2011 - 10:15
qwert
#11
Posté 05 novembre 2011 - 11:07
#12
Posté 05 novembre 2011 - 12:15
Well...
Modifié par jmlzemaggo, 05 novembre 2011 - 12:51 .
#13
Posté 05 novembre 2011 - 03:19
//::///////////////////////////////////////////////
//:: Custom Module OnPlayerRest Script
//:: Copyright © 2003
//:://////////////////////////////////////////////
//
// Purpose: To limit resting by a configurable amount of time. Provides ability to allow
// unlimited resting for users under a certain level, or allow unlimited resting
// in certain areas.
//
//:://////////////////////////////////////////////
//:: Created By: Diabolist
//:: Created On: June, 2003
//:://////////////////////////////////////////////
void main()
{
object oPC = GetLastPCRested();
// eBad is used to cycle through effects on the user, and remove the blind and deaf effects from resting
// I'm uncertain why I can't just do a RemoveEffect(oPC, EffectBlindness())...
effect eBad = GetFirstEffect(oPC);
// get the hour and day the user last rested
int nLastRestedHour = GetLocalInt(oPC, "LastRestedHour");
int nLastRestedDay = GetLocalInt(oPC, "LastRestedDay");
// Since nLastRestedHour will return 0 if it's NOT set, and 0 is a valid hour, we need another variable to check if the user has ever rested
int nHasRested = GetLocalInt(oPC, "HasRested");
// Time difference between last rest and last rest attempt
int nRestDelta;
// change nRestTimer to increase/decrease the wait time between resting (with default NWN game time, 5 equates to 10 minutes real-time)
int nRestTimer = 5;
int nHour = GetTimeHour();
int nDay = GetCalendarDay();
int bCanRest = FALSE;
// Get the area the PC is in, this can be used to allow unlimited resting in certain areas
string sArea = GetTag(GetAreaFromLocation(GetLocation(oPC)));
// change nPCMinLevel to allow users equal to, or less than, this value to rest without waiting
int nPCMinLevel = 5;
int nPCLevel = GetLevelByPosition(1, oPC) + GetLevelByPosition(2, oPC) + GetLevelByPosition(3, oPC);
// Used in output to change the word "hour" to "hours"
string sPlural = "";
// String to save the location of the player (so they can restart where they left off)
string sLocKey = "lLoc_" + GetPCPlayerName(oPC) + "_" + GetName(oPC);
location lLoc = GetLocation(oPC);
switch (GetLastRestEventType()) {
case REST_EVENTTYPE_REST_STARTED:
// Check if the player has rested this session and that the player is over nPCMinLevel
// If you want unlimited resting in certain areas, add them to this if statement, example:
// if ((!nHasRested && nPCLevel > nPCMinLevel)
// || sArea != "Flen"
// || sArea != "CITY_CORE"
// || sArea != "FOREST_REFUGEE_CAMP") {
// local variables will still be updated, but it will allow players a safe area they can flee to
if ((nHasRested == 1 && nPCLevel > nPCMinLevel)) {
// Some simple calculation here to determine if we can rest, but we need to account for the "wrapping" effect of time
// if nHour is less than the last rest attempt, then we've moved into the next day...
if (nHour < nLastRestedHour) {
nRestDelta = 24 - nLastRestedHour + nHour;
// This check is a little more simple, since the rest attempt is larger than the last rest event, we just need to
// calculate the difference, we'll check later if it's the next day
} else if (nHour > nLastRestedHour) {
nRestDelta = nHour - nLastRestedHour;
// looks like they tried to rest in the same hour (same day or next day)
} else {
nRestDelta = 0;
}
// These next checks which allow the user to rest look a bit conveluted, but it's necessary to catch everything
// 1. Check if rest time is greater than the rest timer
// 2. Check if the last successfull rest day is two days earlier
// 3. Check if the user waited over 23 hours to rest
// 4. Check for day 28 anomoly (special situation of check #3)
if (nRestDelta >= nRestTimer
|| nLastRestedDay < nDay - 1
|| (nHour >= nLastRestedHour && nLastRestedDay < nDay)
|| (nHour >= nLastRestedHour && nLastRestedDay == 28 && nDay == 1)) {
bCanRest = TRUE;
}
// The player hasn't rested yet this session, they're a low level, or they're in a safe area... so set the rest flag to TRUE
} else {
bCanRest = TRUE;
}
if (!bCanRest) {
// can't rest yet, so let's tell the user how long to wait
nRestDelta = 5 - nRestDelta;
// quick trick to change the word "hour" to plural: "hours"
if (nLastRestedHour > 1) { sPlural = "s"; }
FloatingTextStringOnCreature("You must wait " + IntToString(nRestDelta) + " hour" + sPlural + " before resting again (" + IntToString(FloatToInt(HoursToSeconds(nRestDelta)/60)) + " minutes realtime)...", oPC, FALSE);
AssignCommand(oPC,ClearAllActions());
} else {
// user can rest, so set local int, and apply blind/deaf effects
SetLocalInt(oPC, "LastRestedHour", nHour);
SetLocalInt(oPC, "LastRestedDay", nDay);
SetLocalInt(oPC, "HasRested", 1);
PlayVoiceChat(VOICE_CHAT_REST, oPC);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectBlindness(), oPC);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectDeaf(), oPC);
SetLocalLocation(GetModule(), sLocKey, lLoc);
}
break;
case REST_EVENTTYPE_REST_CANCELLED:
// rest cancelled, remove effects... again, wish I could just use a simple RemoveEffect(oPC, EffectBlindness())...
while (GetIsEffectValid(eBad)) {
if (GetEffectType(eBad) == EFFECT_TYPE_BLINDNESS ||
GetEffectType(eBad) == EFFECT_TYPE_DEAF) {
RemoveEffect(oPC, eBad);
}
eBad = GetNextEffect(oPC);
}
break;
case REST_EVENTTYPE_REST_FINISHED:
// Status quo...
while (GetIsEffectValid(eBad)) {
if (GetEffectType(eBad) == EFFECT_TYPE_BLINDNESS ||
GetEffectType(eBad) == EFFECT_TYPE_DEAF) {
RemoveEffect(oPC, eBad);
}
eBad = GetNextEffect(oPC);
}
break;
}
}
Modifié par beirutnwn, 05 novembre 2011 - 03:30 .
#14
Posté 06 novembre 2011 - 06:29
Does that affect the visual effects of day and night(u know if you rest at night it will be morning and daylight outside?
qwert
qwert_44643@yahoo.com
thanks everyone for all your helpfull responses
#15
Posté 09 novembre 2011 - 10:08
#16
Posté 10 novembre 2011 - 02:29
Most of the occasions when timed Day & Night cycling has been experienced in mods, it has been less immersive because lengthy discusions and dialogues seemed to take days. Tales of Arterra stood out as an exception for me due to the story, and it's rather unique usage of this design. However, I would rather skip it overall, as it falls into the RL simulations that bring tedium to the game.
IMO, of course.
#17
Posté 10 novembre 2011 - 03:19
Now I'm curious :-) Never looked at Tales of Arterra.Elhanan wrote...
...
Tales of Arterra stood out as an exception for me due to the story, and it's rather unique usage of this design. However, I would rather skip it overall, as it falls into the RL simulations that bring tedium to the game.
IMO, of course.
What made it acceptible, if you don't mind extemporizing, oh Ancient One?
I am always looking for ways to improve Amethyst :-)
<...in spite of his good sense>
#18
Posté 10 novembre 2011 - 04:10
Rolo Kipp wrote...
<drawn in...>
Now I'm curious :-) Never looked at Tales of Arterra.
What made it acceptible, if you don't mind extemporizing, oh Ancient One?
I am always looking for ways to improve Amethyst :-)
<...in spite of his good sense>
As I recall, certain quest events like meeting a specific stranger in the dead of night, or seeking a unique merchant that only worked during the day or night shift made the implementation have greater meaning, as it was actually used in the mod; not just for show. But it has been ages since I have played this series.
While I cannot recall where it has been that I have seen it misused, I do remember watching days pass during dialogues, and when On-Line; during conversations. Gradual is better than faster cycling, and none works for me in mods.
#19
Posté 10 novembre 2011 - 04:13
Give it meaning or leave it out? I agree that watching the days pass while haggling for a room at the inn could be less than optimal :-)
TY for the response.
<...thoughtfully>
#20
Posté 10 novembre 2011 - 05:21
The World of Aenea has it, but it has not been a pain; maybe used to it after these past few years.I just know that I hated watching time pass during conversations on other servers, and having to re-buff all the time got old quickly.
#21
Posté 12 novembre 2011 - 08:52
#22
Posté 28 janvier 2012 - 08:24
qwert
#23
Posté 28 janvier 2012 - 08:41
qwert_44643 wrote...
I have played nwn for years now but upon finding that time passing does not effect the day/night cyle.i have decided not to play this game no more(maybe years down the road when im old and dont notice the immersiveness breakage.i cant believe ive never noticed this man im really turned off by this and i loved nwn.
qwert
I do not see how you can make a call about NWN on this. NWN does have day/night cycles. Now not all module builders will incorperate it into there modules, If you do not like that, it is more a reflection on the builder of the module/PW then a reflection on NWN.
#24
Posté 28 janvier 2012 - 10:13
qwert
#25
Posté 28 janvier 2012 - 11:32
and yes the OC can be played with more then one player. Hence the reason for the weak quick rest type of system.
If you play the OC single player I see no reason you could not throw something into you override folder to Override the base resting system.
So I guess the question is what did you want to happen when you rested?
Sleep 8 hours every time?
Sleep untill DayBreak every time?
Or what?





Retour en haut







