Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > [Script] Besoin de lumières qui clignotent
[Script] Besoin de lumières qui clignotent
Par MTorment le 17/11/2002 Ã 1:41:21 (#2577908)
J'ai commencé le script, mais j'ai encore beaucoup de mal pour les scripts.
Dans le OnHeartBeat de la zone:
void main()
{
if (GetIsNight())
{
int Random = Random(10);
string sRandom = InToString(Random);
while (Random < Random+1) // en fait je voudrais que cela
//soit le même chiffre du premier random
{
location lRandomLoc = GetLocation(GetWaypointByTag("wpap"+sRandom));
CreateObject(OBJECT_TYPE_PLACEABLE, "plc_solred", lRandomLoc);
}
}
}
Je sais que pour le HeartBeat, c'est mauvais pour le CPU, mais je ne vois pas vraiment comment faire autrement, déjà que j'ai du mal en script...
Donc je demande votre aide.
Merci:merci:
Par MTorment le 17/11/2002 Ã 12:31:49 (#2579247)
Merci pour votre aide:merci:
Par Azrael07 le 17/11/2002 Ã 22:09:06 (#2582586)
ben la c pas que c le OnHeartBeat qui est lourd, mais c carement la création/ destruction d'objets
bon laisse tomber ton truc essaye ca, mais je garentie rien
void main()
{
int nRandom = Random(2);
if( nRandom )
SetPlaceableIllumination();
else
SetPlaceableIllumination(OBJECT_SELF, FALSE);
}
et tu met ca sur des lumières a chaques waypoints (en virant les waypoints) et en mettant le script dans le OnHeartBeat de l'objet
c pas tout a fait le resultat attendu mais ton truc est vraiment trop lourd en ressources pour être utilisable
Par MTorment le 17/11/2002 Ã 23:52:57 (#2583210)
mais ton truc est vraiment trop lourd en ressources pour être utilisable
Oui, c'est ce que je pensais, c'est pour cela que j'ai dit que 10 lumières alors que je prévoyais environ 100 ... :monstre: :D
Enfin, je vais tester en espérant que mon proc ne brûle pas avec les HeartBeat pour chaque lumière...
Merci:merci:
Par Jedaï le 18/11/2002 à 1:16:55 (#2583718)
void main()
{
int nRandom = Random(2);
if( nRandom )
SetPlaceableIllumination();
else
SetPlaceableIllumination(OBJECT_SELF, FALSE);
RecomputeStaticLights() ;
}
Par ailleurs, je signale que ce script, comme l'as précisé Azrael, est plutôt un plan de script, et que tu ferais bien de vérifier l'orthographe des fonctions, ainsi que la syntaxe...:cool:
Saturday night fever
Par Nylou le 18/11/2002 Ã 10:28:10 (#2584847)
:bouffon:
Par MTorment le 18/11/2002 Ã 19:12:33 (#2588680)
J'ai l'impression que le SetPlaceableIllumination ne fonctionne pas bien...
:aide:
ATTENTION
Par Jedaï le 18/11/2002 à 20:02:52 (#2589162)
Cette fonction a parait-il des problèmes, mais uniquement si les placeables lumineux sont plus que 20, donc... :cool:
Par MTorment le 18/11/2002 Ã 20:34:28 (#2589438)
:aide:
Par Jedaï le 19/11/2002 à 20:16:30 (#2596847)
[list=1]
*Les tags sont-ils les bons (si tu n'utilise pas OBJECT_SELF)
*Tes placeables sont ils bien "allumables" ?
*Si tu as essayé de jour essaie de nuit
*Essaie de faire jouer l'animation PLACEABLE_ACTIVABLE en plus
*Ben j'sais pas
*aucunes autres idées :mdr:
Par MTorment le 20/11/2002 Ã 20:08:15 (#2605674)
Mes placeables sont des collonnes de lumières, sont-elles allumables ?
J'ai testé de jour et de nuit.
Je mets mon script pour savoir si je me suis pas trompé :
void main()
{
object oPC = GetFirstPC();
int nRandom = Random(2);
if( nRandom == 1 )
SetPlaceableIllumination();
else
SetPlaceableIllumination(OBJECT_SELF, FALSE);
RecomputeStaticLighting(GetArea(oPC)) ;
}
dans le HeartBeat du placeable.
et celui-ci :
void main()
{
int nRandom = Random(2);
if( nRandom == 1 ) {
SetPlaceableIllumination();
DoPlaceableObjectAction(OBJECT_SELF, ANIMATION_PLACEABLE_ACTIVATE ); }
else{
SetPlaceableIllumination(OBJECT_SELF, FALSE);
DoPlaceableObjectAction(OBJECT_SELF, ANIMATION_PLACEABLE_DEACTIVATE); }
}
Donc cela ne marche toujours pas.
merci pour votre aide:merci:
Par MTorment le 20/11/2002 Ã 21:05:17 (#2606284)
void main()
{
int nRandom = Random(2);
if( nRandom == 1 )
{
PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);
DelayCommand(0.4, SetPlaceableIllumination(OBJECT_SELF, TRUE));
DelayCommand(0.5,RecomputeStaticLighting(GetArea(OBJECT_SELF)));
}
else
{
PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE);
DelayCommand(0.4,SetPlaceableIllumination(OBJECT_SELF, FALSE));
DelayCommand(0.9,RecomputeStaticLighting(GetArea(OBJECT_SELF)));
}
}
:merci:
JOL Archives 1.0.1
@ JOL / JeuxOnLine