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 22:16:46
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 |
salut !
je cherche le moyen de faire apparaitre une série d'effets viduels et d'enflammer des torches de cette maniere : un placeable qui sert de switch on/off, qu'and on l'utilise (script sur onUse donc), ensuite des effets visuel placeable désactivés par défaut, qui s'activent quand on utilise le switch, et les torches qui s'alument en même temps que les effets s'activent. quand on réutilise le switch, tout se désactive. voila merci beaucoup ^^ ++ _________________ Asphia Module RP Médiéval Fantastique pour Neverwiner Nights |
Revenir en haut | |
Longbow Grand Sage du Conseil Messages: 638 Localisation: Orléans |
Hum, hum...
Que dirais-tu de créer des objets invisbles à l'emplacement de tes torches lorsque tu "switch on"... Dans le Heart Beat de ces objets invisibles, tu mets un script avec l'effet visuel VFX_IMP_FLAME_S. Quand le joueur "switch off", tu crées une boucle qui détruit tous les objets invisibles et donc tous les effets visuels... Rq: je n'ai pas trouvé d'effet visuel de flamme, qui puisse avoir une durée permanente comme VFX_DUR_CESSATE_POSITIVE (qui peut donner un effet sympa et permanent...). Cela permettrait d'éviter le Heart Beat gourmand en ressources et utiliser plutôt le OnSpawn... Voila pour une première approche de ta demande. _________________ Rex illeteratus Quasi Asinus Coronatus Jean de Salisbury |
Revenir en haut | |
warpShadow Légende vivante Messages: 363 Localisation: Perpignan |
"hum hum ®" ()
en fait, je sais pas du tout comment m'y prendre, c'est aussi pour ça que je demandais. pour les torches, ce sont celles du cep, qui ont un script zep_torch sur le OnUsed, qui sert de on/off, donc a les allumer eteindre (logiquement, mais j'ai pas testé). HotU (oui je l'ai maintenant) utilise un script aussi pour ses torches, dans le même genre. Donc, je pensais qu'il etait possible de se servir de ça. En attribuant le même tag a achaque torche de la piece, un script qui permette d'activer ou désactiver a la maniere du "onoff" par le biais d'un objet qui agirait comme un "OnUse" de l'objet (ici tous les objets) portant le tag. pour les effets visuels, je n'en ai plus besoin, donc on peut se concentrer sur les torches à tout hasard, je poste les scripts du cep et de hotu pour les torches. NWScript :
//:///////////////////////// ///////////////////// //:: 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) { object oSelf = OBJECT_SELF; PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE); //DelayCommand(0.4,SetPlaceabl eIllumination(oSelf, TRUE)); SetLocalInt(OBJECT_SELF,"NW_L_AMION",1); //DelayCommand(0.5,RecomputeSt aticLighting(GetArea(oSelf))); effect eLight = EffectVisualEffect(VFX_DUR_LIGHT_YELLOW_20); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLight, oSelf); } else { object oSelf = OBJECT_SELF; PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE); //DelayCommand(0.4,SetPlaceabl eIllumination(oSelf, FALSE)); SetLocalInt(OBJECT_SELF,"NW_L_AMION",0); //DelayCommand(0.9,RecomputeSt aticLighting(GetArea(oSelf))); effect eEffect = GetFirstEffect(oSelf); while (GetIsEffectValid(eEffect) == TRUE) { if (GetEffectType(eEffect) == EFFECT_TYPE_VISUALEFFECT) RemoveEffect(oSelf, eEffect); eEffect = GetNextEffect(oSelf); } } } NWScript :
//:///////////////////////// ///////////////////// //:: ZEP_TORCH.nss //:: Copyright (c) 2001 Bioware Corp. //:: Modified by Dan Heidel 1/21/04 for CEP //:///////////////////////// //////////////////// /* Turns the placeable object's animation on/off for the activation of torches, candles and othe light sources. It works by deleting the calling object and replacing it with its lit/unlit counterpart. Although this function ignores the value of CEP_L_LIGHTCYCLE, if that localint is set to 1, the placeable will revert back to its normal lit/unlit day/night cycle state on the next heartbeat. To properly turn off a cycling light-source placeable, CEP_L_LIGHTCYCLE must be set to 0. Works as zep_onoff except that no sounds are called and a lighting effect is called on the placeable instead. The light type is stored in a local int CEP_L_LIGHT. CEP_L_LIGHT is defined in zep_torchspawn from a table of constants - eg: VFX_DUR_LIGHT_YELLOW_20. CEP_L_LIGHTCONST is a local string defined on the placeable which is used to set CEP_L_LIGHTCONST to the proper value. Place the name of the constant in this local string so that zep_torchspawn to operate correctly. */ //:///////////////////////// //////////////////// //:: Created By: Brent //:: Created On: January 2002 //:///////////////////////// //////////////////// #include "zep_inc_main" void main() { location lLoc = GetLocation(OBJECT_SELF); string sResRef = GetResRef(OBJECT_SELF); int nAmIOn = GetLocalInt(OBJECT_SELF, "CEP_L_AMION"); int nLightCycle = GetLocalInt(OBJECT_SELF, "CEP_L_LIGHTCYCLE"); int nInitialized = GetLocalInt(OBJECT_SELF, "CEP_L_LIGHTINITIALIZED"); int nLightDiurnal = GetIsNight(); string sLightConst = GetLocalString(OBJECT_SELF, "CEP_L_LIGHTCONST"); string sLightSwap = GetLocalString(OBJECT_SELF, "CEP_L_LIGHTSWAP"); int nLight = ColorInit(sLightConst); if(nAmIOn == 1){nAmIOn = 0;} else {nAmIOn = 1;} object oNew = CreateObject(OBJECT_TYPE_PLACEABLE, sLightSwap, lLoc); SetLocalInt(oNew, "CEP_L_AMION", nAmIOn); SetLocalInt(oNew, "CEP_L_LIGHTCYCLE", nLightCycle); SetLocalInt(oNew, "CEP_L_LIGHTINITIALIZED", nInitialized); SetLocalInt(oNew, "CEP_L_LIGHTDIURNAL", nLightDiurnal); SetLocalString(oNew, "CEP_L_LIGHTCONST", sLightConst); SetLocalString(oNew, "CEP_L_LIGHTSWAP", sResRef); if (nAmIOn == 1) { effect eLight = EffectVisualEffect(nLight); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLight, oNew); } DestroyObject(OBJECT_SELF, 0.0); } voilà, merci et +++ ^^ _________________ Asphia Module RP Médiéval Fantastique pour Neverwiner Nights |
Revenir en haut | |
warpShadow Légende vivante Messages: 363 Localisation: Perpignan |
... hem... euh, et bien... comment dire... up ?
_________________ Asphia Module RP Médiéval Fantastique pour Neverwiner Nights |
Revenir en haut | |
Mars Seigneur Messages: 199 |
Pour éviter le HB tu peux utiliser un CreateObject en utilisant un plaçable "flamme" tu le trouvera dans la palete dans "effet visuel". et pour l'éteindre un DestroyObject.
_________________ Retour de forums d'aide aux créateurs ===> La communauté d'Aurora ===>Le sanctuaire des Scripts ===>Le salon de la 3D |
Revenir en haut | |
warpShadow Légende vivante Messages: 363 Localisation: Perpignan |
je sais pas, je veux bien, mais les torches sont cencées etre allumables et eteignables en cliquant dessus, donc je pense qu'il doit bien y avoir un moyen de le faire via un script sur OnUse d'un placeable
++ ^^ _________________ Asphia Module RP Médiéval Fantastique pour Neverwiner Nights |
Revenir en haut | |
Mars Seigneur Messages: 199 |
Alors déjà tu commence par créer un objet invisible sur tes torches avec comme TAG "torche".
Ensuite dans le OnUse de ton plaçable tu met ceci. NWScript :
void main() { object oTorche = GetNearestObjectByTag ("torche"); int nUtilise = GetLocalInt(OBJECT_SELF, "deja_utilise"); if ( nUtilise == 0 ) { SetLocalInt(OBJECT_SELF, "deja_utilise", 1); CreateObject(OBJECT_TYPE_PLACEABLE, "plc_flamemedium", GetLocation(oTorche), FALSE); } else { object oFlamme = GetNearestObjectByTag ("plc_flamemedium"); SetLocalInt(OBJECT_SELF, "deja_utilise", 0); DestroyObject (oFlamme); } } VOila ce n'est pas testé et tappé directement sur le forum donc je ne garanti rien _________________ Retour de forums d'aide aux créateurs ===> La communauté d'Aurora ===>Le sanctuaire des Scripts ===>Le salon de la 3D Dernière édition par Mars le 06/09/2005 01:10:22; édité 1 fois
|
Revenir en haut | |
warpShadow Légende vivante Messages: 363 Localisation: Perpignan |
merci ^^
mais tu parles de variables, c'est quoi exactement ? merci ++ pp _________________ Asphia Module RP Médiéval Fantastique pour Neverwiner Nights |
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