Les leviers Bug ?

Répondre
Partager Rechercher
Salut tout le monde,

Tout d'abord quelques précisions: j'utilise NwN VO, sans SoU, en version 1.30.

j'ai un petit problème et j'aimerai savoir si vous pouvez m'éclairer. Je n'avais jamais utilisé de leviers jusqu'à présent dans mes modules et je viens de faire un mécanisme, utilisant un levier, qui ne fonctionne pas. Ce que je ne comprends pas c'est que lorsque j'essaie de simplement utiliser un levier, je n'ai aucune animation (le levier reste statique, sans s'abaisser).

Alors est-ce que les leviers bug ou bien est ce normal de ne pas avoir d'animation ? ou bien y a-t-il quelque chose à modifier sur les leviers que je n'aurai pas fais ? (je mets bien mon levier en usable, en plot pour qu'il ne soit pas détruit et je ne le mets pas en static).

Merci de votre aide .

Edit\ Bon après un test simple visant à ouvrir une porte, les leviers fonctionnent bien, c'est donc mon script qui a un problème. Mais il n'y a pas d'animation, ça a toujours fait ça dans toutes les versions ou bien c'est un bug ?
c'est pas un bug.. c'est valable pour tous les leviers et autres switch pour toute les versions de nwn... faut faire jouer l'animation du levier dans le script de son "onused" avec un

Code PHP:

    PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE); 

ça c'est la base mais comme tous les placeables ont une facheuse tendance à mal gerer leur etat initial.. vaut mieux quelquechose de plus complet comme :

Code PHP:


  
if ( GetLocalIntOBJECT_SELF"activation" ) != TRUE )
  {
    
//active le levier et le marque comme 'activer'
    
SetLocalIntOBJECT_SELF"activation"TRUE );
    
PlayAnimationANIMATION_PLACEABLE_ACTIVATE );
  }
  else
  {
   
//desactive le levier et le marque comme 'desactiver'
    
SetLocalIntOBJECT_SELF"activation"FALSE );
    
PlayAnimationANIMATION_PLACEABLE_DEACTIVATE );
  } 
et tu mets ton levier en "etat initial : desactiver" dans ses propriétés...

la petite variable permet juste d'eviter tout problemes de levier à moitié clické..mal initialisé par nwn etc etc...


au passage, ça a un avantage : ça te permet de faire des tests sur la variable du levier pour connaitre l'etat de plusieurs leviers. par exemple pour que si les leviers 1,2,3 sont baissés , tu ouvres une porte... (il suffit de tester la variable 'activation' sur chaque levier qui aura un tag different... )

Code PHP:


  int Levier1
;
  
int Levier2;

  
object oLevier1 GetObjectByTag ("manette1");
  
object oLevier2 GetObjectByTag ("manette2");

  
object oPorte1 GetObjectByTag ("porte_a_troll");
  
object oPorte2 GetObjectByTag ("porte_sortie");

  
Levier1 GetLocalInt (oLevier1,"activation");
  
Levier2 GetLocalInt (oLevier2,"activation");

if (
Levier1 == TRUE && Levier2 == TRUE)
  {
   
SetLocked(oPorte1FALSE);
   
ActionOpenDoor(oPorte1);

     
ActionCloseDoor(oPorte2);
     
SetLocked(oPorte2TRUE);

par exmple ce truc qui libere un troll en ouvrant sa porte [tag porte_a_troll ] qui est fermé et locké si 2 leviers [tag manette1 et manette2] sont activés et qui ferme la porte derriere les aventuriers pour les empechers de fuire [tag porte_sortie ]

ce script est à coller à la suite du precedent dans le "onused" de chacun des 2 leviers..
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés