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


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
S@ntoS
Seigneur
Inscrit le: 12 Déc 2004
Messages: 169
Localisation: J'aimerais bien le savoir.
Répondre en citant
Posté le : 09/01/2005 12:33:58 Sujet du message : Script de Paralysie pour PJ de niveau 20.

Salut,

Je rencontre un problème avec les persos de niveau 20 et plus. Ces satanés PJs sont immunisés contre pas mal de choses. Impossibles de les paralyser, par exemple. Or, j'aimerais les paralyser si ceux-ci pénètrent dans un trigger donné (je sais que s'est possible avec les variables « true » et « false ». Je suis donc obligé de passer par un script. Ce script devra être intégrer dans le « OnEnter » du trigger. Voilà ce que devrais faire le script :

1 : Le pj devra porter une armure particulière (via tag) pour ne pas subir la paralysie. (attention, il doit la porter et ne pas se contenter de la posséder dans son inventaire)

2 : S'il ne porte pas l'armure, il subira une paralysie de « x secondes » ou « x rounds ». (un « DelayCommande » pourrait faire l'affaire avec la variable « True »)


Si savez comment réaliser ce script, merci de me le communiquer. Je vous en serai reconnaissant.

@+ f€r. Surprised
_________________
L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Surprised
Le RP, cé vrémant tro z'injuste !Calimero
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Longbow
Grand Sage du Conseil
Inscrit le: 10 Déc 2003
Messages: 638
Localisation: Orléans
Répondre en citant
Posté le : 09/01/2005 14:07:13 Sujet du message :

Hum, hum...
Quelques chose dans ce goût-là ?

NWScript :
void main()
{
object oEnter = GetEnteringObject();

// test pj or not pj ??            porte-t-il l'armure ??
if (GetIsPC(oEnter) && GetTag(GetItemInSlot(INVENTORY_SLOT_CHEST,oEnter)) != "Tagdel'armure")
{
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectParalyze(),oEnter, 10.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.

_________________
Rex illeteratus
Quasi Asinus Coronatus
Jean de Salisbury
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Akroma-81
Novice
Inscrit le: 09 Jan 2005
Messages: 14
Répondre en citant
Posté le : 09/01/2005 15:28:48 Sujet du message :

Ce script marche mais le probleme c'est si le joueur qui entre sur le trigger est immunisé à la paralysie ou a liberté de mouvement, là ça ne marche plus, faudrait annuler ces effets quand il entre sur le trigger pour qu'il puisse être paralysé, ou alors on met plusieurs effets comme renversement, sommeil, pétrification...pour être sûr qu'il soit bien bloqué.
Pour retirer des effets permanents que donnent des objets équipés sur le joueur je ne sais pas du tout comment faire.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
S@ntoS
Seigneur
Inscrit le: 12 Déc 2004
Messages: 169
Localisation: J'aimerais bien le savoir.
Répondre en citant
Posté le : 09/01/2005 16:12:21 Sujet du message :

Salut,

Tout d'abord, merci pour les réponses.
Oui, effectivement, Akroma a raison. La première ligne du code ne devrait pas poser de problème, Longbow. Pour la seconde, cela s'avère plus délicat. En fait, je pense qu'il faudrait raisonner en termes de script et non de règles du jeu. Par exemple, quand on veut entamer une discussion entre un PJ et un PNJ via un Speakstring, on commence par bloqué le PJ pour empêcher celui-ci de partir avant la fin du dialogue. La commande "true" et "false" sont appliquées. Concrètement, le joueur n'a plus la main sur son PJ et doit attendre la fin du dialogue pour recommencer à jouer. Bien sur, il s'agit d'un pis-aller mais il pourrait s'avérer efficace.

Kiky le Magnifique, avait pondu un script du genre. Malheureusement, avec le hacking du site, ce script fut perdu.

Merci de votre aide.
@+ f€r. Surprised
_________________
L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Surprised
Le RP, cé vrémant tro z'injuste !Calimero
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
S@ntoS
Seigneur
Inscrit le: 12 Déc 2004
Messages: 169
Localisation: J'aimerais bien le savoir.
Répondre en citant
Posté le : 09/01/2005 16:20:49 Sujet du message :

Ah, au fait, j'ai déjà un script avec plusieurs effets s'appliquant en fonction de la classe du perso. Mais cette solution me convient à moitié. J'aimerais que ces pièges soient dissuasifs et contraignent le joueur à se procurer la dite armure. Je connaît l'ingéniosité et la persévérance de certains rôlistes qui parviennent à des tours de forces jugés impossibles par les créateur de modules.
@+ f€r. Surprised
_________________
L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Surprised
Le RP, cé vrémant tro z'injuste !Calimero
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
kiky.le.magnifique
Homme très gay
Inscrit le: 19 Sep 2003
Messages: 907
Localisation: Camping de la nation martienne...
Répondre en citant
Posté le : 09/01/2005 16:37:29 Sujet du message :


S@ntoS a écrit :
Par exemple, quand on veut entamer une discussion entre un PJ et un PNJ via un Speakstring,
on commence par bloqué le PJ pour empêcher celui-ci de partir avant la fin du dialogue.
La commande "true" et "false" sont appliquées.
Concrètement, le joueur n'a plus la main sur son PJ et doit attendre la fin du dialogue pour recommencer à jouer.
Bien sur, il s'agit d'un pis-aller mais il pourrait s'avérer efficace.

Kiky le Magnifique, avait pondu un script du genre.
Malheureusement, avec le hacking du site, ce script fut perdu.
Kiky à la rescousse! Laughing
Attention aux secousses! Embarassed

NWScript :
//OnEnter d'un declancheur de tag "aEnter" entourant le PNJ de tag "Marine"

void main()
{
object oPJ = GetEnteringObject();
object oMar = GetObjectByTag("Marine");

if (GetTag(OBJECT_SELF)=="aEnter")
{
SetCommandable(FALSE, oPJ);
AssignCommand(oMar, ActionWait(2.0));
AssignCommand(oMar, ActionSpeakString(""));
AssignCommand(oMar, ActionWait(1.5));
AssignCommand(oMar, ActionSpeakString(""));
AssignCommand(oMar, ActionWait(1.5));
AssignCommand(oMar, ActionSpeakString("tu devais cauchemarder."));
AssignCommand(oMar, ActionDoCommand(SetCommandable(TRUE, oPJ)));
DestroyObject(OBJECT_SELF);
}
}
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.


Je crois que c'est de ça dont tu parlais... Embarassed
_________________
http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
S@ntoS
Seigneur
Inscrit le: 12 Déc 2004
Messages: 169
Localisation: J'aimerais bien le savoir.
Répondre en citant
Posté le : 09/01/2005 17:12:56 Sujet du message : Pousse Mousse.

Salut, encore...

Voilà, y-qu' a demander, j'veux dire...
Merci Kiky. C'est exactement ça.
Merci Longbow, aussi.
Je compile le script ce soir (si j'ai le temps ou courant cette semaine au plus tard) et je le poste aussitôt.

@+ f€r. Surprised
_________________
L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Surprised
Le RP, cé vrémant tro z'injuste !Calimero
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
S@ntoS
Seigneur
Inscrit le: 12 Déc 2004
Messages: 169
Localisation: J'aimerais bien le savoir.
Répondre en citant
Posté le : 09/01/2005 20:07:06 Sujet du message :

Salut,

Voici la seconde partie du script, celle qui immobilise le PJ.

NWScript :
//OnEnter d'un declancheur.

void main()
{
object oPJ = GetEnteringObject();

    AssignCommand(oPJ,ClearAllActions());
    SetCommandable(FALSE, oPJ);
    DelayCommand (20.0, SetCommandable(TRUE, oPJ));
}
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.


Le perso est bien paralysé durant une période de 20 secondes. Problème, le PJ ne s'arrête pas obligatoirement sur le déclencheur. Si le joueur clique sur une partie de la zone au-delà du trigger, le PJ traverse le trigger et ne s'immobile qu'une fois arrivé à destination.
J'ai cru qu'avec la commande « ClearActions » le problème serait résolu, mais non.

Quelqu'un aurait-il une idée ?

D'avance merci.

@+. F€r.Surprised
_________________
L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Surprised
Le RP, cé vrémant tro z'injuste !Calimero
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
S@ntoS
Seigneur
Inscrit le: 12 Déc 2004
Messages: 169
Localisation: J'aimerais bien le savoir.
Répondre en citant
Posté le : 10/01/2005 20:51:45 Sujet du message : Hip hip hip, houra!

Salut,

Je suis fier de moi, un newb de mon niveau (plutôt bas), et pourtant j'ai trouvé la solution - merci au léxicon. La fonction « EffectCutsceneImmobilize » permet d'immobiliser une cible quel que soit le cas de figure. Magnifique !
Par contre tous ces efforts cérébraux ont grillé le dernier neurone qui me restait. Je suis depuis en convalescence.

Quelqu'un saurait-il comment compiler ce bout de script avec celui de Longbow? C'est à dire:

« If » le PJ possède telle armure, il ne subit aucun effet néfaste.
« else », il est parlysé.


Merci d'avance.
Je vais me boire une grande bière, moi. @+. F€r.Surprised

Voici le bout de script:

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.

_________________
L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Surprised
Le RP, cé vrémant tro z'injuste !Calimero
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Athanor salamander
Légende vivante
Inscrit le: 01 Avr 2003
Messages: 306
Localisation: Ecole du Script
Répondre en citant
Posté le : 10/01/2005 22:03:08 Sujet du message :

Il me semble que les extraordinaryeffect passent à travers les immunités.
A tester Surprised
_________________
Atha, Artisan Scripteur.
meet the most beautiful woman in the world
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
S@ntoS
Seigneur
Inscrit le: 12 Déc 2004
Messages: 169
Localisation: J'aimerais bien le savoir.
Répondre en citant
Posté le : 10/01/2005 23:02:26 Sujet du message :

Nan nan, testé! Ca marche avec un moine niveau 27 et immunisé à tout ce qu'y pratiquement l'être.
_________________
L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Surprised
Le RP, cé vrémant tro z'injuste !Calimero
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Longbow
Grand Sage du Conseil
Inscrit le: 10 Déc 2003
Messages: 638
Localisation: Orléans
Répondre en citant
Posté le : 10/01/2005 23:15:33 Sujet du message :

Hum, hum...
Il me semble qu'on arrive à ceci...

NWScript :
void main()
{
object oEnter = GetEnteringObject();


    if (GetIsPC(oEnter) && GetTag(GetItemInSlot(INVENTORY_SLOT_CHEST,oEnter)) != "Tagdel'armure")


//    if (GetTag(GetItemInSlot(INVENTOR Y_SLOT_CHEST,oEnter)) == "Tagdel'armure")

    {
    AssignCommand(oEnter,ClearAllActions());
    effect eImmobilize = EffectCutsceneImmobilize();
    effect eVis = EffectVisualEffect(VFX_IMP_REDUCE_ABILITY_SCORE);
    effect eVis2 = EffectVisualEffect(VFX_DUR_PARALYZED);

    ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oEnter);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eImmobilize, oEnter, 10.0);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVis2, oEnter, 10.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.

_________________
Rex illeteratus
Quasi Asinus Coronatus
Jean de Salisbury
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
S@ntoS
Seigneur
Inscrit le: 12 Déc 2004
Messages: 169
Localisation: J'aimerais bien le savoir.
Répondre en citant
Posté le : 11/01/2005 17:36:26 Sujet du message : merci.

Je viens d'arriver du boulot. Je test ça tout de suite. Merci Longbow.

@+. f€r. Surprised
_________________
L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Surprised
Le RP, cé vrémant tro z'injuste !Calimero
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
S@ntoS
Seigneur
Inscrit le: 12 Déc 2004
Messages: 169
Localisation: J'aimerais bien le savoir.
Répondre en citant
Posté le : 11/01/2005 18:15:32 Sujet du message :

Salut,

Le script fonctionne parfaitement. Merci à toit Longbow. Comme il est d'usage, j'ai rajouté ton nom, la date et l'url du site sur lequel le script à été publié.

@+. F€r. Surprised
_________________
L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Surprised
Le RP, cé vrémant tro z'injuste !Calimero
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Longbow
Grand Sage du Conseil
Inscrit le: 10 Déc 2003
Messages: 638
Localisation: Orléans
Répondre en citant
Posté le : 11/01/2005 19:23:11 Sujet du message :

Que l'Ombre de Cyric t'accompagne...
_________________
Rex illeteratus
Quasi Asinus Coronatus
Jean de Salisbury
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur 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 52.216ms