
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.







La date/heure actuelle est 01/05/2025 10:43: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 |
Mars Seigneur Messages: 199 |
Bonjour tout le monde, ça faisait longtemps que j'avais pas eu de problèmes mais bon ça ne pouvait pas durée indéfiniment..
J'ai dans une zone 5 torches inaccessibles (séparés du joueur par un gouffre). C'est en réalité des éléments de tileset sur lesquelles j'ai déposé des objets invisibles. J'ai déposé se script dans le OnPhysicalAttacked NWScript :
void main() { object oPC = GetLastAttacker(); object oFleche = GetItemInSlot (INVENTORY_SLOT_ARROWS,oPC); int nCount = GetLocalInt(oPC, "compteur_torche"); int nUtilise = GetLocalInt(OBJECT_SELF, "deja_utilise"); if ( GetTag(oFleche)== "NW_WAMMAR002" && nUtilise == 0 ) { location lDest = GetLocation(OBJECT_SELF); int nObjectType = OBJECT_TYPE_PLACEABLE; int bUseAppearAnimation=FALSE; string sFeu = "flamemedium001"; CreateObject(nObjectType, sFeu, lDest, bUseAppearAnimation); SetLocalInt(OBJECT_SELF, "deja_utilise", 1); // on marque la torche comme allume SetLocalInt(oPC, "compteur_torche", nCount+1); // on augmente le compteur total if(nCount == 5) // s'il est a 5, on ouvre la porte { object oDoor = GetObjectByTag ("FIRE_DOOR"); SpeakString("Vous entendez un cliquetis retentir, puis une porte s'ouvrir..."); SetLocked(oDoor, FALSE); AssignCommand(oDoor, ActionOpenDoor(oDoor)); } else { SpeakString("La torche s'enflame"); } } else // Si la torche est deja allume { SpeakString("Il ne se passe rien..."); } } Il est censé faire apparaitre un placable de type flamme sur mon objet invisible . Enfin cette partie là NWScript :
location lDest = GetLocation(OBJECT_SELF); int nObjectType = OBJECT_TYPE_PLACEABLE; int bUseAppearAnimation=FALSE; string sFeu = "flamemedium001"; CreateObject(nObjectType, sFeu, lDest, bUseAppearAnimation); le reste marche très bien. Le problème c'est que la flame apparait bien mais disparait instantanément. J'ai essayé de poser mon objet invisible par terre pour voir si ce n'était pas la location qui foirait mais même par terre j'ai le même problème. Je ne sais plus quoi faire, j'ai montré le script à pas mal de monde et personne n'a su me répondre. :help: _________________ 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 18/04/2005 23:41:26; édité 1 fois
|
Revenir en haut | ![]() ![]() ![]() |
Stan Grand Chevalier Messages: 126 |
*va surement dire une bétise mais bon*
L'object invisible est de quelle taille ? t'as essayé de le remplacer par un truc visible mais minuscule, voir si c'est pas l'object invisible qui cache ta flamme ? ![]() Deuxième question, tu as tenté de modifier légèrement la location pour la mettre quelques millimètre au dessus de ton object invisible ? Donc de tête ça ferait un truc du genre : NWScript :
vector lieu= GetPosition(OBJECT_SELF)+ Vector(0.0,0.0,0.2); ldest= Location(GetArea(OBJECT_SELF), lieu, 0.0); A toi de modifier le Vector(0.0,0.0,0.2) pour qu'il déplace la flamme dans un endroit totalement libre, tu pourras ainsi voir si c'est bien le CreateObject qui déconne ou si la flamme reste bien dans la zone mais est invisible. PS : ce n'est pas comme déplacer l'objet invisible lui même, car là on creerai la flamme dans un espace vide, et pas sur l'objet invisible. |
Revenir en haut | ![]() ![]() ![]() |
Mars Seigneur Messages: 199 |
L'objet invisible est plutôt petit, plus petit que ma flamme à vue d'oeil (quoique il ne me laisse pas beaucoup de temps pour le voir^^)
Sinon Je vais essayer de déplacer légèrement ma flamme mais je ne me suis jamais penché sur cette commande; NWScript :
vector lieu= GetPosition(OBJECT_SELF)+ Vector(0.0,0.0,0.2); ldest= Location(GetArea(OBJECT_SELF), lieu, 0.0); Ils correspondent à quoi les (0.0,0.0,0.2); Merci de t'être penché sur mon problème. _________________ 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 18/04/2005 23:42:09; édité 1 fois
|
Revenir en haut | ![]() ![]() ![]() |
Stan Grand Chevalier Messages: 126 |
Ce sont des vecteurs.En gros en ajoutant un Vector(0.0,0.0,0.2) ça veut dire que tu remontes ton truc de 0.2
Comme si dans l'editeur du faisais un ajustement de position et que le z tu l'augmentais de 0.2 |
Revenir en haut | ![]() ![]() ![]() |
Ivellios Légende vivante Messages: 447 Localisation: Poitiers |
Tes flammes sont détruite ou ne produise tout simplement pas d'effet de feu et en appuyant sur TAB tu vois son nom ?
Dans le second cas sa veut dire que l'objet plaçable flamme est verouillé ce qui bloque l'effet visuel, comme pour les colonne de lumière etc... quand on verouille sa coupe "l'effet" _________________ Scripts, systèmes, fonctions,... c'est par ici... Pyjama pour castor, une vocation, un avenir sûr |
Revenir en haut | ![]() ![]() ![]() ![]() ![]() |
Mars Seigneur Messages: 199 |
J'ai trouvé mon problème et vous allez rire.... Enfin pas si sur en fait.
![]() La solution de Stan 'a rien réglée, celle d'Ivellios non plus... Normal puisque je créais un objet qui n'existait pas dans la palette alors forcément.... Comment j'ai pu faire une bourde pareille ? Tout simple, un click droit sur mon placable générique, éditer-copier, je note le resref et j'annule ![]() Merci quand même pour le coup de pouce. _________________ Retour de forums d'aide aux créateurs ===> La communauté d'Aurora ===>Le sanctuaire des Scripts ===>Le salon de la 3D |
Revenir en haut | ![]() ![]() ![]() |


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