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







La date/heure actuelle est 05/05/2025 20:51:34
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 |
yellow submarine Grand Chevalier ![]() Messages: 143 |
![]() Bonjour
suite du script : Supprimer des objets dans zone spécifique Voilà : est-il possible de changer les propriétés visuelles d'une zone avec un script ? La zone marécage a comme : Citation : Visuelles : Extérieur brumeux
j'iamerai avoir dans propriétés visuelles:
Environnement personalisé Teinte de brume : vert clair Citation : Visuelles : Extérieur dégagé amicalement_________________ Rien ne vaut la recherche lorsqu'on veut trouver quelque chose. [J. R. R. Tolkien] Dernière édition par yellow submarine le 24/11/2005 14:43:50; édité 1 fois
|
Revenir en haut | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
Essaye ça :
NWScript :
void main() { //PrintString("Fog Sun : "+ IntToString(GetFogAmount(FOG_T YPE_SUN))+ " FogMoon : "+IntToString(GetFogAmoun t(FOG_TYPE_MOON))); object oArea = GetArea(OBJECT_SELF); //change la zone au cas ou location lLoc = Location(oArea,Vector(5.0,5.0,1.0),0.0); int nTilesCol = 10; //Nombre de colonnes de la zone int nTilesLign = 8; //Nombre de lignes int i,j; SetFogAmount(FOG_TYPE_ALL,0,oArea); //enleve la brume for (i=0;i<nTilesCol;i++) { for (j=0;j<nTilesLign;j++) { vector vVector = Vector(10.0*i+5.0,10.0*j+5.0,1.0) ; lLoc=Location(oArea,vVector,0.0); //int nMain1,nMain2,nSource1,nSource 2; //nMain1 = GetTileMainLight1Color(lLoc); //nMain2 = GetTileMainLight2Color(lLoc); //nSource1 = GetTileSourceLight1Color(lLoc) ; //nSource2 = GetTileSourceLight2Color(lLoc) ; //CreateObject(OBJECT_TYPE_PLA CEABLE,"flagsv",lLoc ); //PrintString("i :"+IntToString(i)+" j :"+IntToString(j)+" : "); //PrintString("Main1 : "+IntToString(nMain1)); //PrintString("Main2 : "+IntToString(nMain2)); //PrintString("Source1 : "+IntToString(nSource1)); //PrintString("Source2 : "+IntToString(nSource2)); //PrintString("********** ********"); SetTileMainLightColor(lLoc,517,518); //valeurs trouvees avec le log SetTileSourceLightColor(lLoc,519,520); } } RecomputeStaticLighting(oArea); //sert a rien je crois bien } En commenté j'ai laissé ce qui m'a permis de retrouver les valeurs pour "exterieur dégagé", si tu veux un autre éclairage, ou si ça peut servir à quelqu'un. En passant, y a pas un moyen de déterminer le nombre de lignes et de colonnes d'une zone ? Paske là on est obligé de régler à la main, c'est fatiguant boouh... |
Revenir en haut | ![]() ![]() ![]() |
yellow submarine Grand Chevalier ![]() Messages: 143 |
Merci Sith Vicious
maintenant j'ai un plème pour fusionner les 2 scripts (celui-ci et le script Supprimer des objets dans zone spécifique) ![]() voilà les 2 réunis : NWScript :
void main() { object oArea = GetObjectByTag("LesMarcagesdeZylbuthLaboratoire");; object oObject = GetFirstObjectInArea(oArea); object oPC = GetFirstPC(); while(GetIsObjectValid(oObject)) { if(GetTag(oObject) == "zep_geiser001") { DestroyObject(oObject); } oObject = GetNextObjectInArea(oArea); } } location lLoc = Location(oArea,Vector(5.0,5.0,1.0),0.0); int nTilesCol = 11; //Nombre de colonnes de la zone int nTilesLign =12; //Nombre de lignes int i,j; SetFogAmount(FOG_TYPE_ALL,0,oArea); //enleve la brume for (i=0;i<nTilesCol;i++) { for (j=0;j<nTilesLign;j++) { vector vVector = Vector(10.0*i+5.0,10.0*j+5.0,1.0) ; lLoc=Location(oArea,vVector,0.0); //int nMain1,nMain2,nSource1,nSource 2; //nMain1 = GetTileMainLight1Color(lLoc); //nMain2 = GetTileMainLight2Color(lLoc); //nSource1 = GetTileSourceLight1Color(lLoc) ; //nSource2 = GetTileSourceLight2Color(lLoc) ; //CreateObject(OBJECT_TYPE_PLA CEABLE,"flagsv",lLoc ); //PrintString("i :"+IntToString(i)+" j :"+IntToString(j)+" : "); //PrintString("Main1 : "+IntToString(nMain1)); //PrintString("Main2 : "+IntToString(nMain2)); //PrintString("Source1 : "+IntToString(nSource1)); //PrintString("Source2 : "+IntToString(nSource2)); //PrintString("********** ********"); SetTileMainLightColor(lLoc,517,518); //valeurs trouvees avec le log SetTileSourceLightColor(lLoc,519,520); } } RecomputeStaticLighting(oArea); //sert a rien je crois bien { /* warning: 1 unclosed block {} */ j'ai une INVALID DECLARATION TYPE EN LIGNE 27 SOIT : sur la ligne SetFogAmount(FOG_TYPE_ALL,0,oArea); //enleve la brume encore merci de ton aide PS: pour le nombre de ligne et de colonne tu trouves tout ça dans les propriétés de la zone Onglet : Base Hauteur et largeur (grisé) amicalement _________________ Rien ne vaut la recherche lorsqu'on veut trouver quelque chose. [J. R. R. Tolkien] |
Revenir en haut | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
Ah zut, t'as quelle version ?
Paske ça marchait chez moi tout ça mais c'est vrai que même le lexicon la connait pas la fonction. Au moins tu peux changer la couleur avec NWScript :
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème. D'autre part, il y a des constantes pratiques pour les couleurs du genre FOG_COLOR_WHITE Nan sinon pour la taille de la zone je pensais avec une fonction, au cours du script... Mais je crois qu'y a pas. c'est super bête d'ailleurs, je trouve. |
Revenir en haut | ![]() ![]() ![]() |
yellow submarine Grand Chevalier ![]() Messages: 143 |
![]() non toujours même erreur sur même ligne Citation : Ah zut, t'as quelle version ? version jeux 1.66
version NWEditeur vts 030 celà ne peut pas venir des 2 scripts réunis? amicalement _________________ Rien ne vaut la recherche lorsqu'on veut trouver quelque chose. [J. R. R. Tolkien] |
Revenir en haut | ![]() ![]() ![]() |
Black Knight Grand Maître Chanteur du Conseil ![]() Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Nan mais un truc
Tu as pa remarque que ton void main fait tout bugguer ?? NWScript : void main() { object oArea = GetObjectByTag("LesMarcagesdeZylbuthLaboratoire");; object oObject = GetFirstObjectInArea(oArea); object oPC = GetFirstPC(); while(GetIsObjectValid(oObject)) { if(GetTag(oObject) == "zep_geiser001") { DestroyObject(oObject); } oObject = GetNextObjectInArea(oArea); } location lLoc = Location(oArea,Vector(5.0,5.0,1.0),0.0); int nTilesCol = 11; //Nombre de colonnes de la zone int nTilesLign =12; //Nombre de lignes int i,j; SetFogAmount(FOG_TYPE_ALL,0,oArea); //enleve la brume for (i=0;i<nTilesCol;i++) { for (j=0;j<nTilesLign;j++) { vector vVector = Vector(10.0*i+5.0,10.0*j+5.0,1.0) ; lLoc=Location(oArea,vVector,0.0); //int nMain1,nMain2,nSource1,nSource 2; //nMain1 = GetTileMainLight1Color(lLoc); //nMain2 = GetTileMainLight2Color(lLoc); //nSource1 = GetTileSourceLight1Color(lLoc) ; //nSource2 = GetTileSourceLight2Color(lLoc) ; //CreateObject(OBJECT_TYPE_PLA CEABLE,"flagsv",lLoc ); //PrintString("i :"+IntToString(i)+" j :"+IntToString(j)+" : "); //PrintString("Main1 : "+IntToString(nMain1)); //PrintString("Main2 : "+IntToString(nMain2)); //PrintString("Source1 : "+IntToString(nSource1)); //PrintString("Source2 : "+IntToString(nSource2)); //PrintString("********** ********"); SetTileMainLightColor(lLoc,517,518); //valeurs trouvees avec le log SetTileSourceLightColor(lLoc,519,520); } } RecomputeStaticLighting(oArea); //sert a rien je crois bien } _________________ [http] |
Revenir en haut | ![]() ![]() ![]() |
yellow submarine Grand Chevalier ![]() Messages: 143 |
![]() Citation : Paske ça marchait chez moi tout ça bien j'ai testé ton script seul
NWScript :
void main() { //PrintString("Fog Sun : "+ IntToString(GetFogAmount(FOG_T YPE_SUN))+ " FogMoon : "+IntToString(GetFogAmoun t(FOG_TYPE_MOON))); object oPC = GetFirstPC(); object oArea = GetObjectByTag("LesMarcagesdeZylbuthLaboratoire"); location lLoc = Location(oArea,Vector(5.0,5.0,1.0),0.0); int nTilesCol = 11; //Nombre de colonnes de la zone int nTilesLign = 12; //Nombre de lignes int i,j; SetFogAmount(FOG_TYPE_ALL,0,oArea); //enleve la brume for (i=0;i<nTilesCol;i++) { for (j=0;j<nTilesLign;j++) { vector vVector = Vector(10.0*i+5.0,10.0*j+5.0,1.0) ; lLoc=Location(oArea,vVector,0.0); //int nMain1,nMain2,nSource1,nSource 2; //nMain1 = GetTileMainLight1Color(lLoc); //nMain2 = GetTileMainLight2Color(lLoc); //nSource1 = GetTileSourceLight1Color(lLoc) ; //nSource2 = GetTileSourceLight2Color(lLoc) ; //CreateObject(OBJECT_TYPE_PLA CEABLE,"flagsv",lLoc ); //PrintString("i :"+IntToString(i)+" j :"+IntToString(j)+" : "); //PrintString("Main1 : "+IntToString(nMain1)); //PrintString("Main2 : "+IntToString(nMain2)); //PrintString("Source1 : "+IntToString(nSource1)); //PrintString("Source2 : "+IntToString(nSource2)); //PrintString("********** ********"); SetTileMainLightColor(lLoc,517,518); //valeurs trouvees avec le log SetTileSourceLightColor(lLoc,519,520); } } RecomputeStaticLighting(oArea); //sert a rien je crois bien FloatingTextStringOnCreature("",oPC,FALSE); } Il compile parfaitement lorsque je le lance dans le OnUsed d'un placeable... ![]() (la phrase s'affiche) ???????? amicalement _________________ Rien ne vaut la recherche lorsqu'on veut trouver quelque chose. [J. R. R. Tolkien] |
Revenir en haut | ![]() ![]() ![]() |
yellow submarine Grand Chevalier ![]() Messages: 143 |
![]() Citation : Paske ça marchait chez moi tout ça si je change :
NWScript :
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème. par NWScript :
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème. area010 étant le ResRef de la zone ça marche ![]() ou presque ![]() car la brume disparait tout autour du PJ même lorsqu'il marche mais ne disparait pas totalement de la zone... en 2 mots la zone est sans brume seulement autour du PJ. (en 9 mots ![]() As-tu eu le même plème? en ce qui concerne la réunion des 2 scripts t'as une idée? amicalement _________________ Rien ne vaut la recherche lorsqu'on veut trouver quelque chose. [J. R. R. Tolkien] |
Revenir en haut | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
He ben
Bon j'ai du mieux, en fait le paramètre important se trouve dans les propriétés visuelles de la zone, par contre (évidement) on y a pas accès par script. C'est la valeur Distance Clip Brouillard, c'est ça qui définit aparement la distance sur laquelle le brouillard est percu. Donc il faut qu'il soit vraiment très élevé pour que la commande pour virer le brouillard marche. J'ai eu un truc pas mal en mettant une distance a 150, et epaisseur de la brume à 200. Après on la voit en arriere plan toujours, mais c'est beaucoup mieux que les 10 metres d'avant. Attention, paske en augmentant la valeur, le brouillard perd en intensité (sinon ça serait trop simple...) La vache. J'ai galéré avec ce truc. |
Revenir en haut | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
Ah oui pour réunir les 2 scripts essaye ça :
NWScript : void main() { object oArea = GetObjectByTag("LesMarcagesdeZylbuthLaboratoire");; object oObject = GetFirstObjectInArea(oArea); object oPC = GetFirstPC(); while(GetIsObjectValid(oObject)) { if(GetTag(oObject) == "zep_geiser001") { break; } oObject = GetNextObjectInArea(oArea); } if (GetIsObjectValid(oObject)) { //mon script }else return; } |
Revenir en haut | ![]() ![]() ![]() |
yellow submarine Grand Chevalier ![]() Messages: 143 |
pour la réunion des 2 scripts çà MARCHE
(merci au passage à Black Knight) Citation : J'ai eu un truc pas mal en mettant une distance a 150, et epaisseur de la brume à 200. Après on la voit en arriere plan toujours, mais c'est beaucoup mieux que les 10 metres d'avant. cà marche parfaitement ![]() j'ai peut être pas compris ta phrase ![]() Citation : Attention, paske en augmentant la valeur, le brouillard perd en intensité (sinon ça serait trop simple...) mais moi j'ai un brouillard très épais style brouillard londonnien ![]() encore merci amicalement _________________ Rien ne vaut la recherche lorsqu'on veut trouver quelque chose. [J. R. R. Tolkien] |
Revenir en haut | ![]() ![]() ![]() |
yellow submarine Grand Chevalier ![]() Messages: 143 |
au fait pour ceux que çà intéressent
voilà le script final : NWScript :
void main() { object oArea = GetObjectByTag("LesMarcagesdeZylbuth"); // tag de la zone ou ce trouve la brume object oArea2 = GetArea(OBJECT_SELF); object oObject2 = GetFirstObjectInArea(oArea2); object oPC = GetFirstPC(); FloatingTextStringOnCreature("",oPC,FALSE); SetLocalInt(oPC, "sc_source_gaz", 200); //*****retire geiser gaz********* while(GetIsObjectValid(oObject2)) { if(GetTag(oObject2) == "zep_geiser001") { DestroyObject(oObject2); } oObject2 = GetNextObjectInArea(oArea2); } //*******retire brume*********** location lLoc = Location(oArea,Vector(5.0,5.0,1.0),0.0); int nTilesCol = 11; int nTilesLign =12; //Nombre de lignes int i,j; SetFogAmount(FOG_TYPE_ALL,0,oArea); //enleve la brume for (i=0;i<nTilesCol;i++) { for (j=0;j<nTilesLign;j++) { vector vVector = Vector(10.0*i+5.0,10.0*j+5.0,1.0) ; lLoc=Location(oArea,vVector,0.0); SetTileMainLightColor(lLoc,517,518); //valeurs trouvees avec le log SetTileSourceLightColor(lLoc,519,520); } } RecomputeStaticLighting(oArea); //sert a rien je crois bien } @+ surement ![]() _________________ Rien ne vaut la recherche lorsqu'on veut trouver quelque chose. [J. R. R. Tolkien] |
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