La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 28/12/2024 10:46:56


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
arameos
Novice
Inscrit le: 01 Jan 2008
Messages: 9
Répondre en citant
Posté le : 05/01/2008 11:45:54 Sujet du message : defi script (pour moi)

Bonjour voila j'ai un petit probleme, j'arrive pas a crée un script de toute piece mais capable de les modifiers en tatonnat , enfin breff je vous demande de l'aide, pour une systeme de voyage bateau j'ai besoin de :


Téléporter tout les pjs delà zone avec « item destination) dans une map aléatoire( map 1,2,3).
Dans la map aléatoire le pj rester 30 second puis est automatiquement téléporter a la destination final
( il existe plusieurs destination et celle-ci et la destination de l'item qui disparais a l'arrivé) .

tout ça sachant que c'est pour un module multi, et que je veux que tout le pj de la zone de depart ayant "l'item destination) sois téléporte en meme temp et sur la meme map alléatoire.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 05/01/2008 12:27:05 Sujet du message :

... Surprised

Moi y en a pas tout comprendre ... !

Pourrais tu rendre ton message plus compréhensible stp ? Parceque là il est difficile de te lire ... ! Confused
_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
arameos
Novice
Inscrit le: 01 Jan 2008
Messages: 9
Répondre en citant
Posté le : 05/01/2008 16:32:26 Sujet du message :

oui je le peux ^^:

-Donc plusieur joueurs prennent un objet "destination"(1) via un pnj

-Ils parlent a un pnj capitaine de navire qui les teleporte dans une map(2)

-Sur cette map les pjs reste un temp donné ( environs 30 seconde)

-après les pjs sont teleporter dans la map "destination"(3)

{ tout les pjs dans la zone possédant l'objet sont téléporter dans la meme map]
****************************************************************************

(1)il existe plusieur destination donc l'objet sera nommer (destination_luskan, destination-eauprofonde etc ...)
(2)il existe 3 map différentes qui devront etre choisi aléatoirement ( mais tout les pjs devrons y etre au meme moment)
(3)il existe plusieur port de destination mais devrons correspondre au tag de l'objet"destination)

voila
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 05/01/2008 17:55:26 Sujet du message :

Merci de ces précisions et excuse moi d'être pointilleux , mais j'ai encore des question a te poser avant de tenter de te faire le script :

Est ce qu'il y a un " groupe " et tous les joueurs de ce groupe et tous les membres du groupe ayant l'objet doivent être téléportés ?

Est ce qu'il y a une distance en métres entre chaque joueur et le capitaine au dela de laquelle on considérera que les joueurs sont trop loins pouyr être téléportés ?
( Dans quel cas tu devra me donner la distance 'entre les joueurs et le capitaine' au dela de laquelle les joueurs seront considérés comme étant trop loins ).

ou alors

Il n'y a pas forcément de groupe , et dés que quelqu'un parles avec le capitaine , les autres joueurs étant trop prés et portant l'objet sont téléportés eux aussi ?

Ils parlent chacun a tour de rôle au capitaine et sont téléportés a tour de rôle ?


je te demande ça car tu dis :

Citation :
Ils parlent a un pnj capitaine de navire qui les teleporte dans une map(2)
Or , il est impossible de parler a plusieurs en même temps avec une seule personne , car soit un seul parles au nom de tous , soit chacun parles pour lui même( ou alors tout le monde parles pour tout le monde , mais j'te'dis pas le bronx ... ! Very Happy ).
_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
arameos
Novice
Inscrit le: 01 Jan 2008
Messages: 9
Répondre en citant
Posté le : 05/01/2008 19:25:13 Sujet du message :

dabors je te remerci de porter ton attention sur ce script donc , c'est avec plaisir que je vais etre plus precis.

les joueurs a téléporter ne sont pas forcement grouper .

et si on peux scripter par rapport a la distance c'est encore mieux je dirais un 10 metres autours du capitaine.

le faite de parler au capitaine ne fait que lancer le script qui regarde dans l'inventaire des pj autour du capitaine pour les téléporter.

parcontre il faut obligatoirement que tout les joueurs soit téléporter au meme endrois qui lui est alléatoirement choisi . voila si besoin d'autre explication

j'i suis la

encore merci.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 07/01/2008 02:12:51 Sujet du message :

j'essaye de te faire ce script dans la journée ! Wink
_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 07/01/2008 16:51:47 Sujet du message :

Voilà le script , je ne l'ai pas testé , mais en principe il doit fonctionner ( a placer dans "action" dans la conversation , à la ligne qui va bien dans le dialogue du capitaine.

Il ne te reste plus qu'a placer les waypoints ayant pour tags :

WP_destination_01
WP_destination_02
WP_destination_03
WP_destination_finale

et a remplacer dans le script : "string_objet" , par le tag de l'objet dans l'inventaire des joueurs.

Tiens nous au courant pour savoir si ça fonctionne ! Very Happy
Je méfie toujours un peu des scripts qui n'ont pas été testés ! Embarassed

NWScript :
#include "nw_i0_plot"

void main()
{

object objet = GetFirstObjectInShape(SHAPE_SPHERE,10.0,GetLocation(OBJECT_SELF),FALSE,OBJECT_TYPE_CREATURE);
string tag_destination ;


int de = d3();

if ( de = 1 )
tag_destination = "WP_destination_01";

if ( de = 2 )
tag_destination = "WP_destination_02";

if ( de = 3 )
tag_destination = "WP_destination_03";
////////////////////////////// ////////////////////////////// ////////////////////////////// //////////////////





  while ( GetIsObjectValid(objet) )
  {

    if ( HasItem(objet,"string_objet"))
    {
    AssignCommand(objet,JumpToLocation(GetLocation(GetWaypointByTag(tag_destination))));
    DelayCommand(30.0,AssignCommand(objet,JumpToLocation(GetLocation(GetWaypointByTag("WP_destination_finale")))));
    }

    objet = GetNextObjectInShape(SHAPE_SPHERE,10.0,GetLocation(OBJECT_SELF),FALSE,OBJECT_TYPE_CREATURE);
  }
////////////////////////////// ////////////////////////////// ////////////////////////////// ////////////
}
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.

_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
arameos
Novice
Inscrit le: 01 Jan 2008
Messages: 9
Répondre en citant
Posté le : 07/01/2008 18:40:03 Sujet du message :

gros gros merci pour le scipt. je test ça au plus vite . une petite question au niveaux des destintion final, on peux en choisir plusieur en fonction de l'objet"string_objet" au pire je vais trouver un truc pour le faire . encore merci
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 07/01/2008 20:19:14 Sujet du message :

Pas de soucis pour ça, je viens de légérement modifier le script pour te permettre d'avoir une seconde destination finale en fonction d'un second objet ayant un tag différent.

Au besoin tu peux mettre autant d'objets et de destinations finales que tu le souhaiteras.

Par contre :

!!!!!!!!!!!! ATTENTION !!!!!!!!

Veille a faire en sorte avec le script suivant a ce que les joueurs ne possédent qu'un seul de ces objets spéciaux dans leur inventaire , sinon , ça mettra la pagaille dans l'application du script vu que les 2 objets ordoneront en même temps la téléportation a 2 endroits finaux différents.



NWScript :

#include "nw_i0_plot"

void main()
{

object objet = GetFirstObjectInShape(SHAPE_SPHERE,10.0,GetLocation(OBJECT_SELF),FALSE,OBJECT_TYPE_CREATURE);
string tag_destination ;


int de = d3();

if ( de = 1 )
tag_destination = "WP_destination_01";

if ( de = 2 )
tag_destination = "WP_destination_02";

if ( de = 3 )
tag_destination = "WP_destination_03";
////////////////////////////// ////////////////////////////// ////////////////////////////// //////////////////





  while ( GetIsObjectValid(objet) )
  {

    if ( HasItem(objet,"string_objet_01"))
    {
    AssignCommand(objet,JumpToLocation(GetLocation(GetWaypointByTag(tag_destination))));
    DelayCommand(30.0,AssignCommand(objet,JumpToLocation(GetLocation(GetWaypointByTag("WP_destination_finale_01")))));
    }

    if ( HasItem(objet,"string_objet_02"))
    {
    AssignCommand(objet,JumpToLocation(GetLocation(GetWaypointByTag(tag_destination))));
    DelayCommand(30.0,AssignCommand(objet,JumpToLocation(GetLocation(GetWaypointByTag("WP_destination_finale_02")))));
    }

    objet = GetNextObjectInShape(SHAPE_SPHERE,10.0,GetLocation(OBJECT_SELF),FALSE,OBJECT_TYPE_CREATURE);
  }
////////////////////////////// ////////////////////////////// ////////////////////////////// ////////////
}
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.

_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
arameos
Novice
Inscrit le: 01 Jan 2008
Messages: 9
Répondre en citant
Posté le : 08/01/2008 07:51:18 Sujet du message :

si ils ont deux objets a destination dans leur inventaire , il se passe quoi ??? ils explosent ..cool Very Happy, en tout cas merci , je termine deux map et je met ça en route .
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 08/01/2008 15:59:47 Sujet du message :

A vrai dire nous étions partis sur l'idée d'un seul objet qui téléporte , pas sur 2 objets , et c'est dans cet esprit que j'ai fait le script , c'est seulement aprés que je me suis posé& la question :
" Mais que se passera t il si il y a plusieurs objets téléporteurs dans l'inventaire ? ".

Alors a ta question " il se passe quoi ? " je dirais que ....

C'est a toi de décider ! Smile

En ensuite , au besoin , il sera toujours possible de modifier en fonction de ce que tu veux faire ! Smile
_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
arameos
Novice
Inscrit le: 01 Jan 2008
Messages: 9
Répondre en citant
Posté le : 08/01/2008 17:10:17 Sujet du message :

il n'y aura qu'un objet dans l'inventaire , mais il portera un tag different ... pour les deux item c'etait pour rigoler , enfin . je trouverais un truc pour que seul un de ses objet ne soit accepter dans l'inventaire.
Dernière édition par arameos le 12/01/2008 19:47:19; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 08/01/2008 17:25:29 Sujet du message :

Pas tout à fait dans le rapport mais pour le :
NWScript :

int de = d3();

if ( de = 1 )
tag_destination = "WP_destination_01";

if ( de = 2 )
tag_destination = "WP_destination_02";

if ( de = 3 )
tag_destination = "WP_destination_03";
////////////////////////////// ////////////////////////////// ////////////////////////////// //////////////////
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.


prend l'habitude d'utiliser soit le switch (pratique dans le cas des entiers), soit des if/else if, car dans le cas présent, quand on a 1, tu fais deux tests inutiles, bon ce script est pas trop sollicité mais je précise pour des cas plus extrême (OnEquip/oHB/etc) ;p
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 08/01/2008 18:46:47 Sujet du message :

Ivellios> C'est pas faux ... ! Wink

Sinon , je viens de remarquer une chose , je crois que je me suis trompé sur l'écriture du signe = :

Si je me rapelle bien , il ne faut pas écrire = , mais ==


Remplacer :

NWScript :
int de = d3();

if ( de = 1 )
tag_destination = "WP_destination_01";

if ( de = 2 )
tag_destination = "WP_destination_02";

if ( de = 3 )
tag_destination = "WP_destination_03";
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.


mais

NWScript :

int de == d3();

if ( de == 1 )
tag_destination = "WP_destination_01";

if ( de == 2 )
tag_destination = "WP_destination_02";

if ( de == 3 )
tag_destination = "WP_destination_03";
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.

_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 08/01/2008 21:41:46 Sujet du message :

C'est pas ça, il faut ecrire un seul = quand c'est une assignation [ int de = d3(); ] était donc bon, et un double = lors d'une comparaison [ if(de == 1) ].
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Anthraxcite
Légende vivante
Inscrit le: 12 Juin 2004
Messages: 372
Localisation: Belgique
Répondre en citant
Posté le : 09/01/2008 17:39:34 Sujet du message :

NWScript :
tag_destination = "WP_destination_0"+IntToString(de);
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.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 09/01/2008 17:41:26 Sujet du message :

Anthraxcite>

C'est là qu'on voit les scripteurs qui ont de l'expérience ! Very Happy

Bien vu ! Embarassed
_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
arameos
Novice
Inscrit le: 01 Jan 2008
Messages: 9
Répondre en citant
Posté le : 09/01/2008 23:24:42 Sujet du message :

la je commence a etre largué .....
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 10/01/2008 11:11:59 Sujet du message :

arameos>

Ne te prends pas la tête arameos , Anthraxcite faisais juste une remarque pour indiquer comment simplifier le script , le rendre moins " lourd " et moins " long " en écriture. Wink

en gros il voulais dire que écrire :

NWScript :
int de = d3();

if ( de = 1 )
tag_destination = "WP_destination_01";

if ( de = 2 )
tag_destination = "WP_destination_02";

if ( de = 3 )
tag_destination = "WP_destination_03";
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.


ou bien :

NWScript :
tag_destination = "WP_destination_0"+IntToString(de);
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.


C'est exactement la même chose en moins long.
_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
arameos
Novice
Inscrit le: 01 Jan 2008
Messages: 9
Répondre en citant
Posté le : 15/01/2008 01:18:24 Sujet du message :

en test mais pour l'instant ça marche , encore que j'ai pas tester certaine option .
 
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 73.524ms