Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Activated/Desactivated
Activated/Desactivated
Par mickmils le 15/7/2002 à 16:36:29 (#1808597)
Je crée un brazier. Je le mets en desactivated, je compile tout ca, dans mon module il est allumé.
J'en crée un autre, pareil.
?!?!!!?!
-Mickmils
Par Gargantuel le 15/7/2002 à 16:49:52 (#1808633)
Par contre il y a un bug connu du logiciel sur la gestion des lumières. Le brasier ne brulera plus si tu le désactives mais continuera à éclairer :(
Par mobidique le 15/7/2002 à 16:54:39 (#1808647)
Par Kray le 15/7/2002 à 18:05:09 (#1809004)
1) Ouvrir le fichier nw_02_onoff. Ce fichier devrait contenir ceci ://::///////////////////////////////////////////////
//:: NW_O2_ONOFF.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Turns the placeable object's animation on/off
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: January 2002
//:://////////////////////////////////////////////
void main()
{
if (GetLocalInt(OBJECT_SELF,"NW_L_AMION") == 0)
{
PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);
DelayCommand(0.4,SetPlaceableIllumination(OBJECT_SELF, TRUE));
SetLocalInt(OBJECT_SELF,"NW_L_AMION",1);
DelayCommand(0.5,RecomputeStaticLighting(GetArea(OBJECT_SELF)));
}
else
{
PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE);
DelayCommand(0.4,SetPlaceableIllumination(OBJECT_SELF, FALSE));
SetLocalInt(OBJECT_SELF,"NW_L_AMION",0);
DelayCommand(0.9,RecomputeStaticLighting(GetArea(OBJECT_SELF)));
}
}
2) Remplacer ce fichier par ceci ://::///////////////////////////////////////////////
//:: NW_02_ONOFF.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Turns the placeable object's animation on/off
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: January 2002
//:: Updated By: Kray
//:: Updated On: 15/07/2002
//:://////////////////////////////////////////////
void main()
{
if (GetLocalInt(OBJECT_SELF,"NW_L_AMION") == 0)
{
PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);
DelayCommand(0.4,SetPlaceableIllumination(OBJECT_SELF, TRUE));
SetLocalInt(OBJECT_SELF,"NW_L_AMION",1);
DelayCommand(0.9,RecomputeStaticLighting(GetArea(OBJECT_SELF)));
}
else
{
PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE);
DelayCommand(0.4,SetPlaceableIllumination(OBJECT_SELF, FALSE));
SetLocalInt(OBJECT_SELF,"NW_L_AMION",0);
DelayCommand(0.9,RecomputeStaticLighting(GetArea(OBJECT_SELF)));
}
}
3) Créer votre brasier, cochez la case "Usable" et ajoutez nw_02_onoff dans l'évènement OnUse.
4) Au cas où vous souhaiteriez que votre brasier soit éteind par défaut, créez un script quelconque qui contiendra ceci :void main()
Et ajoutez ce script dans l'évènement OnSpawn du brasier.
{
PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE);
DelayCommand(0.4,SetPlaceableIllumination(OBJECT_SELF, FALSE));
SetLocalInt(OBJECT_SELF,"NW_L_AMION",0);
DelayCommand(0.9,RecomputeStaticLighting(GetArea(OBJECT_SELF)));
}
5) C'est bon :)
Par ZeDuckMaster le 15/7/2002 à 21:33:26 (#1810068)
brazier allumé, illumination activée.
quittes la zone puis revient : brazier allumé, illumination desactivée.
cliques sur le brazier -> s'eteint
recliques sur le brazier -> brazier allumé, illumination activée.
brazier éteint, illumination desactivée.
quittes la zone puis revient : lueur intense presente dans le brazier (mais pas allumé), illumination desactivée.
cliques sur le brazier -> brazier allumé (plus intense que la normale), illumination active (normale)
recliques sur le brazier -> brazier éteint (residu de lueur), illumination active mais moins puissante.
voila, reste pu qu'à tester chez vous pour confirmer ;)
mais pour moi c tout vu, pas de lumières interactives dans mon module (ou alors vraiment cas précis ....)
Par mobidique le 16/7/2002 à 11:03:19 (#1812239)
Mob'.
JOL Archives 1.0.1
@ JOL / JeuxOnLine