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 16:31:24
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 |
ansquer Héros Messages: 264 Localisation: MorBihan |
Je pensais qu'il suffisait de cocher une case "porte secrete" pour obtenir une porte cachée qui nécessiterait un jet de Perception du PJ pour avoir une porte secrete ... ...
Mais y a pas ? à mojns que je sois passé à côté parce que je ne trouve aucun script ici pour faire cela ??? ce n'est pourtant pas une idée super originale? merci si vous savez comment faire (j'en entends déjà certains rire de mon ignorance ) _________________ L'année de l'île Tome 1 Un roman ecxeptionnel ! Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp Dernière édition par ansquer le 11/07/2006 06:16:16; édité 1 fois
|
Revenir en haut | |
-MeteZ- Seigneur Messages: 205 Localisation: Région Parisienne (95) |
A partir d'une porte je sais pas comment on fait.
Mais je serais toi je regardais les modules de bases NWN parce que dedans ils utilisent fréquement les portes secrètes (tu les copies collies, raoute l'extension .mod, place dans ton dossier modules) _________________ "Ne dit pas affronter les ténèbres celui qui n'a jamais connu la tombée de la nuit." |
Revenir en haut | |
Viduc de Papironda Grand Chevalier Messages: 119 |
|
Revenir en haut | |
Djezebel Héros Messages: 252 |
Mais c'est ce qu'il faut faire, Viduc.
D'ailleurs, le script de nwn dans les chapitres sont un peu lourd mais les voici : Il faut 2 objets invisibles (qu'ils appellent "Système d'ouverture de porte dissimulée") avec pour tag : "q2bsecdoor9_a" et "q2bsecdoor9_b" Sur le OnHeartBeat il y a ceci : NWScript :
//:///////////////////////// ///////////////////// //:: x2_hb_secretdoor //:: Copyright (c) 2001-3 Bioware Corp. //:///////////////////////// //////////////////// /* This script runs on either the Hidden Trap Door or Hidden Wall Door Trigger invisible objects. This script will do a check and see if any PC comes within a radius of this Trigger. If the PC has the search skill or is an Elf then a search check will be made. It will create a Trap or Wall door that will have its Destination set to a waypoint that has a tag of <tag of this object>a or <tag of this object>b The radius is determined by the Reflex saving throw of the invisible object The DC of the search stored by the Willpower saving throw. */ //:///////////////////////// //////////////////// //:: Created By : Robert Babiak //:: Created On : June 25, 2002 //::-------------------------- ------------------- //:: Modified By : Robert, Andrew, Derek, Georg //:: Modified On : July 2002 - September 2003 //:///////////////////////// //////////////////// void main() { int nDoOnce = GetLocalInt(OBJECT_SELF, "X2_L_DOOR_DO_CREATE_ONCE"); if(nDoOnce == 1) return; // get the radius and DC of the secret door. float fSearchDist = IntToFloat(GetReflexSavingThrow(OBJECT_SELF)); int nDiffaculty = GetWillSavingThrow(OBJECT_SELF); // what is the tag of this object used in setting the destination string sTag = GetTag(OBJECT_SELF); // has it been found? int nDone = GetLocalInt(OBJECT_SELF,"D_"+sTag); int nReset = GetLocalInt(OBJECT_SELF,"Reset"); // ok reset the door is destroyed, and the done and reset flas are made 0 again if (nReset == 1) { nDone = 0; nReset = 0; SetLocalInt(OBJECT_SELF,"D_"+sTag,nDone); SetLocalInt(OBJECT_SELF,"Reset",nReset); object oidDoor= GetLocalObject(OBJECT_SELF,"Door"); if (oidDoor != OBJECT_INVALID) { SetPlotFlag(oidDoor,0); DestroyObject(oidDoor,GetLocalFloat(OBJECT_SELF,"ResetDelay")); } } int nBestSkill = -50; object oidBestSearcher = OBJECT_INVALID; int nCount = 1; // Find the best searcher within the search radius. object oidNearestCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE); int nDoneSearch = 0; int nFoundPCs = 0; while ((nDone == 0) && (nDoneSearch == 0) && (oidNearestCreature != OBJECT_INVALID) ) { if(GetMaster(oidNearestCreature) != OBJECT_INVALID || GetIsPC(oidNearestCreature)) { // what is the distance of the PC to the door location float fDist = GetDistanceBetween(OBJECT_SELF,oidNearestCreature); if (fDist <= fSearchDist) { if (LineOfSightObject(OBJECT_SELF, oidNearestCreature) == TRUE) { int nSkill = GetSkillRank(SKILL_SEARCH,oidNearestCreature); if (nSkill > nBestSkill) { nBestSkill = nSkill; oidBestSearcher = oidNearestCreature; } nFoundPCs = nFoundPCs +1; } else { //The Secret door is on the other side of the wall - so don't find it nDoneSearch = 1; } } else { // If there is no one in the search radius, don't continue to search // for the best skill. nDoneSearch = 1; } } nCount = nCount +1; oidNearestCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, OBJECT_SELF ,nCount); } if ((nDone == 0) && (nFoundPCs != 0) && (GetIsObjectValid(oidBestSearcher)) ) { int nMod = d20(); // did we find it. if ((nBestSkill +nMod > nDiffaculty)) { location locLoc = GetLocation (OBJECT_SELF); object oidDoor; // yes we found it, now create the appropriate door oidDoor = CreateObject(OBJECT_TYPE_PLACEABLE,"x2_secret_door",locLoc,TRUE); // flash secret door if not disabled if (GetLocalInt(GetModule(),"X2_SWITCH_DISABLE_SECRET_DOOR_FLASH") == FALSE) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_GREEN); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis,oidDoor,10.0f); } int nLen = GetStringLength(sTag); string sNewTag = GetStringLeft(sTag, nLen - 1); if(GetStringRight(sTag, 1) == "a") { SetLocalString( oidDoor, "Destination" , sNewTag + "b" ); } else { SetLocalString( oidDoor, "Destination" , sNewTag + "a" ); } object oDest = GetNearestObjectByTag(GetLocalString(oidDoor, "Destination")); SignalEvent(oDest, EventUserDefined(101)); PlayVoiceChat(VOICE_CHAT_LOOKHERE, oidBestSearcher); SetLocalInt(OBJECT_SELF,"D_"+sTag,1); SetPlotFlag(oidDoor,1); SetLocalObject(OBJECT_SELF,"Door",oidDoor); SetLocalInt(OBJECT_SELF, "X2_L_DOOR_DO_CREATE_ONCE", 1); } // if skill search found } // if Object is valid } Sur le OnUserDefined il y a ceci : NWScript : //:///////////////////////// ///////////////////// //:: XP2 Campaign Secret Door Trigger : OnUserDefined //:: x2_ud_secretdoor //:: Copyright (c) 2003 Bioware Corp. //:///////////////////////// //////////////////// /* Secret door trigger user defined event: reveal door */ //:///////////////////////// //////////////////// //:: Created By: ? //:: Created On: ? //:///////////////////////// //////////////////// //:: Updated On: 2003-09-08, Georg Zoeller // x2_ud_secretdoor void main() { string sTag = GetTag(OBJECT_SELF); int nEvent = GetUserDefinedEventNumber(); if(nEvent == 101) // reveal door { int nDoOnce = GetLocalInt(OBJECT_SELF, "X2_L_DOOR_DO_CREATE_ONCE"); if(nDoOnce == 1) { return; } else { SetLocalInt(OBJECT_SELF, "X2_L_DOOR_DO_CREATE_ONCE", 1); } location locLoc = GetLocation (OBJECT_SELF); object oidDoor; oidDoor = CreateObject(OBJECT_TYPE_PLACEABLE,"x2_secret_door",locLoc,TRUE); // yes we found it, now create the appropriate door if (GetLocalInt(GetModule(),"X2_SWITCH_DISABLE_SECRET_DOOR_FLASH") == FALSE) { // flash secret door if not disabled effect eVis = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_GREEN); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis,oidDoor,10.0f); } int nLen = GetStringLength(sTag); string sNewTag = GetStringLeft(sTag, nLen - 1); if(GetStringRight(sTag, 1) == "a") { SetLocalString( oidDoor, "Destination" , sNewTag + "b" ); } else { SetLocalString( oidDoor, "Destination" , sNewTag + "a" ); } AssignCommand(oidDoor, PlayAnimation(ANIMATION_PLACEABLE_OPEN)); SetLocalInt(OBJECT_SELF,"D_"+sTag,1); SetPlotFlag(oidDoor,1); SetLocalObject(OBJECT_SELF,"Door",oidDoor); } } |
Revenir en haut | |
Viduc de Papironda Grand Chevalier Messages: 119 |
|
Revenir en haut | |
ansquer Héros Messages: 264 Localisation: MorBihan |
merci , je vais essayer
_________________ L'année de l'île Tome 1 Un roman ecxeptionnel ! Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp |
Revenir en haut | |
ansquer Héros Messages: 264 Localisation: MorBihan |
j'ai bien crée les deux objets (je ne sais pas faire invisible mais j'ai fait des volutes pour tester) j'ai placé les deux scriptes là où il faut sur les deux.
je les ai placé sur ma map, là où je veux que ma porte secrete apparaisse ... mais rien ... - ne faut-il pas créer un porte en objet ?(les explications sont en angalis et c'est du gros script là ) - l'ouverture se fait-il en fonction de la Perception du PNJ. merci de votre aide _________________ L'année de l'île Tome 1 Un roman ecxeptionnel ! Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp |
Revenir en haut | |
ansquer Héros Messages: 264 Localisation: MorBihan |
http://www.system-tek.com/~nwinter/phpbb2/viewtopic.php?t=4534&highlight=porte
soluce ici _________________ L'année de l'île Tome 1 Un roman ecxeptionnel ! Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp |
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