La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 27/12/2024 18:54:54


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 06/01/2006 17:02:30 Sujet du message : [ok] c'est hauuuuut

Salut à tous.

j'ai besoin d'un sérieux coup de main pour un tout petit truc : la chute libre !

alors, je vous explique :

Un plateau en hauteur, une falaise, une riviere qui s'approche de la falaise, et hop, elle tombe ! map suivante, falaise (vu d'en bas), une chute d'eau qui descend, atterit, et crée un fleuve. Jusque là...

Mais voici ou la chose se corse (et non pas se portugal ! ok j'arrete) : je voudrais que quand un pj s'approche de la falaise (donc là déclencheur), un dialogue s'ouvre (ça je sais faire), et lui propose de s'éloigner, ou... de sauter ! et c'est là tout le probleme. y a-t-il un moyen, en passant sur l'autre zone, de faire une animation de chute jusque dans l'eau, qui avec le courant entraine jusqu'a une berge ? et pendant la chute, qu'un jet de dexterité soit fait pour savoir si le pj se fait mal ou pas.

----------------------------------

sinon, une autre technique que j'emploierai, c'est que le pj réapparait sur la berge, avec un dialogue suivant les cas :
1) le pj a réussit un jet de dextérité et il n'a rien > noeud dialogue 1
2) le pj a raté son jet de dex, il a tenté un jet d'acrobatie :
il s'est fait mal (le con !), il est :
- bléssé si son jet d'acrobatie était réussit
- sérieusement bléssé si son jet d'acrobatie était raté.


voilà, je demande la lune là non ?Razz

merci d'avance, tous à vos méninges ^^

++++
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
Dernière édition par warpShadow le 12/08/2007 00:26:25; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 07/01/2006 04:03:37 Sujet du message :

Pour le courant qui emporte le type j'ai fait ça qui est pas trop mal (chacun ses opinions hein ?) :
NWScript :
void main()
{
object oUser = GetLastUsedBy();
object oArea = GetArea(OBJECT_SELF);
float fOrient = GetFacing(oUser);
vector vVect = GetPosition(oUser);
location lLoc;
int i;

for (i=1;i<10;i++)
{
  vVect.x+=0.9;
  vVect.y+=0.9;
  lLoc = Location(oArea,vVect,fOrient);
  DelayCommand(0.5*i,AssignCommand(oUser,JumpToLocation(lLoc)));
  DelayCommand(0.51*i,AssignCommand(oUser,PlayAnimation(ANIMATION_LOOPING_DEAD_BACK,1.0,0.50)));
}
}
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.


Change oUser pour le mettre dans le script que tu veux, et les variations du vecteur selon la direction du courant. C'est un peu bizarre comme effet mais j'ai pas trouvé mieux. Si je le renverse avant il veut pas bouger. Sinon l'anim de chute je sais pas faire (et je crois que c'est surtout pas possible mais on sait jamais).
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 07/01/2006 12:20:05 Sujet du message :

merci, c'est interessant, je vais tester.
ça se met où ?

^^ ++
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 07/01/2006 12:52:44 Sujet du message :

Tel quel c'est sur un placeable, pour toi je pense qu'il faudrait le mettre soit dans le OnEnter de la zone ou d'un trigger. (donc changer GetLastUsedBy() par GetEnteringObject()Wink
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Enki
Légende vivante
Inscrit le: 06 Déc 2005
Messages: 432
Répondre en citant
Posté le : 11/01/2006 02:17:49 Sujet du message : Le saut de l'ange !

Salut WarpShadow,
ton animation m'a intéressé, et je pense avoir trouvé quelque chose de satisfaisant. En fait, cest même plutôt pas mal ! Cool
Je me suis basé sur ta première idée qui s'est avérée la meilleure. Sur le OnEnter d'un trigger, étrangement cela posait un problème.
Donc ton PJ, dans ta première zone, en haut de la falaise, marche sur un trigger et là un dialogue s'ouvre. Sur la branche "Sauter. " mets ce script :

NWScript :
#include "x0_i0_position"
void main()
{
object oPC=GetPCSpeaker();
object way01=GetWaypointByTag("way01");
location lChute05=GetLocation(way01);
float fPC=GetFacing(oPC);
  SetCutsceneMode(oPC);
  BlackScreen(oPC);
  float fPC01=GetOppositeDirection(fPC);

  AssignCommand(oPC,SetCameraFacing(fPC01,20.0f,40.0,CAMERA_TRANSITION_TYPE_VERY_FAST));
  SetLocalInt(oPC,"sauter",0);
  DelayCommand(0.5,AssignCommand(oPC,JumpToLocation(lChute05)));
}
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.



Il arrive à un Waypoint de tag "way01" (dont l'orientation est importante : le mieux c'est que la pointe de ton waypoint soit dans le sens de l'écoulement de la rivière) et sous lequel se trouve un autre trigger dans le OnEnter duquel tu mets ce script :

NWScript :
#include "x0_i0_position"
void Tombe(object oPC)
{

float fPC=GetFacing(oPC);
  float fPC01=GetOppositeDirection(fPC);

  effect eAppear = EffectAppear();

AssignCommand(oPC,SetCameraFacing(fPC01,20.0f,40.0,CAMERA_TRANSITION_TYPE_VERY_FAST));

ApplyEffectToObject(DURATION_TYPE_INSTANT, eAppear, oPC);
            }

void main()
{
  object oPC=GetEnteringObject();
  effect eDam = EffectDamage(10, DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_NORMAL);
  effect eVis = EffectVisualEffect( VFX_COM_BLOOD_CRT_RED);
  effect eSaigne = EffectLinkEffects(eDam,eVis);


  if (GetLocalInt(oPC,"sauter")!=0)
            return;
      int iReflex=ReflexSave(oPC,25);
  FadeFromBlack(oPC,FADE_SPEED_MEDIUM);

  DelayCommand(3.0, SetCutsceneMode(oPC,FALSE));

  Tombe(oPC);
  SetLocalInt(oPC,"sauter",1);
  if (iReflex ==FALSE)
        {
          DelayCommand(3.5,ApplyEffectToObject(DURATION_TYPE_INSTANT, eSaigne, oPC));
          DelayCommand(3.5,PlayVoiceChat(VOICE_CHAT_DEATH,oPC));
          AssignCommand(oPC,ActionPlayAnimation(ANIMATION_LOOPING_DEAD_FRONT,1.0,3.0));
        }
}
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.


J'ai remplacé le jet de dexterité par un jet de reflexe, de mon point de vue c'est plus réaliste. A toi de voir. S'il le rate, il se prend 10 points de dégats dans les dents. Là aussi, tu peux le modifier.

Et voilà ton joueur devient accrobate !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 12/08/2007 00:26:06 Sujet du message :

Je joue les archéologues pour te dire merci Very Happy
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Enki
Légende vivante
Inscrit le: 06 Déc 2005
Messages: 432
Répondre en citant
Posté le : 12/08/2007 18:48:02 Sujet du message :

Mais de rien Very Happy
Content que cela t'ai servi Very Happy
_________________
Module persistant dans l'univers de Star Wars : Dark Time of the Galaxy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
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


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 42.985ms