La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 17:14:59


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Ak Darkster
Grand Maître Chanteur du Conseil
Inscrit le: 27 Sep 2002
Messages: 1354
Localisation: canada
Répondre en citant
Posté le : 07/12/2002 15:35:00 Sujet du message : message à l'entrée de zone; jusqu'où un monstre peut aller

Ok, ça va paraître stupide comme question, mais...

Comment est-ce qu'on fait pour qu'un message apparaisse à l'entrée d'une zone.
ex: j'entre dans la zone et là, le message apparaît.


J'ai regardé un peu et j'ai essayé de le faire, mais à chaque fois, quand je le compile, il me met un message d'erreur.

Aussi, je veux mettre une araignée dans mon module, mais je veux pas qu'elle aille plus loin que X endroit.
Ex: Le PJ s'approche de l'antre de la bête, et là, elle apparaît: le PJ étant de bas niveau, il s'enfuit avec l'espoir que la bête lâche la poursuite. La bête le poursuit et s'arrête brusquement. Elle retourne dans sa clairière.
_________________
On doit tous mourir un jour... mais pour moi, c'est pas demain la veille, alors sort tes armes sale dragon!!!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Serguai
Grand Chevalier
Inscrit le: 07 Déc 2002
Messages: 104
Répondre en citant
Posté le : 07/12/2002 16:10:17 Sujet du message : fait voir ?

Montre moi ton script, je pourrai peut être te dire pquoi il est faux ...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Numéro ICQ Ignorer l'utilisateur
 
Cassin
Papa-poule(t) & poissard intemporel
Inscrit le: 16 Sep 2002
Messages: 7471
Localisation: 6 bis rue de la Couveuse, Poulailler 39b
Répondre en citant
Posté le : 07/12/2002 18:46:06 Sujet du message :

Pour faire apparaître un texte dans la fenêtre en bas de l'écran, tu fais ça
Code :
void main()
{
    object oPC = GetEnteringObject();
    SendMessageToPC(oPC, "TEXTE");
}


ou alors si tu veux qu'il s'affiche sur l'écran de jeu, met un objet invisible et fait-le parler avec un ActionSpeakString.


Pour ton araignée, ce que je pense, c'est faire un trigger qui délimite la zone de poursuite de la bébète, et sur le OnExit de ce trigger, tu met un ClearAllActions et tu la renvoie à sa place...
_________________
Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ?

http://cassin1306.spaces.live.com
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Ak Darkster
Grand Maître Chanteur du Conseil
Inscrit le: 27 Sep 2002
Messages: 1354
Localisation: canada
Répondre en citant
Posté le : 08/12/2002 15:01:02 Sujet du message :

J'ai toujours un problème avec le genre de script comme celui de l'araignée

Code :
void main()
{
void ClearAllActions(int nClearCombatState=FALSE)
}



Je sais que j'ai une erreur, mais j'arrive pas à comprendre comment les scripts avc void marchent.
_________________
On doit tous mourir un jour... mais pour moi, c'est pas demain la veille, alors sort tes armes sale dragon!!!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Serguai
Grand Chevalier
Inscrit le: 07 Déc 2002
Messages: 104
Répondre en citant
Posté le : 08/12/2002 16:23:19 Sujet du message :

C'est normal que ca ne compile pas, tu as recopié le prototype de la fonction:

void main()
{
ClearAllActions(FALSE);
}

Ca compilera mais je ne suis pas certain que ca fasse ce que tu veux ...

void ca veux dire que la fonction ne renvoie rien (ie s'il y'avais int, ca veux dire que ca renvoie un entier, string pour une chaine de caractères ...).

Je te conseilles de lire quelques tutoriaux sur le NWScript parce que c'est vraiment pas évident de se lancer comme ca dans l'écriture de scripts. Regarde aussi comment sont fait les scripts des autres modules et essaye de comprendre comment ca marche.
Valà et si tu as des questions précises n'hésites pas, je répondrai avec plaisir Smile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Numéro ICQ Ignorer l'utilisateur
 
Ak Darkster
Grand Maître Chanteur du Conseil
Inscrit le: 27 Sep 2002
Messages: 1354
Localisation: canada
Répondre en citant
Posté le : 08/12/2002 20:50:49 Sujet du message :

Bon, j'ai regardé les tutoriaux de Ici et du site officiel. J'ai compris un peu ou je m'en vais.

J'essaie de faire un script (aidé des tutoriaux du site NWN):

Code :
void main()
{
  object oWP = GetObjectByTag("arai_1");
  object oCreature = GetExitingObject();
  // if the exiting creature is a giant
  if (GetRacialType(oCreature) == RACIAL_TYPE_SPIDER)
  {
    // tell it to stop what it's doing
    AssignCommand(oCreature, ClearAllActions());
    // and move to the waypoint
    AssignCommand(oCreature, ActionMoveToObject(oWP));
  }
}


Je comprends tous ce qui se passe, mais quand je remplace GIANT par SPIDER, il me met une erreur. Le problèeme c'est au niveau du RACIAL_TYPE. J'ai essayé avec le Géan(par défaut dans le script) et ça marche. Donc, c'est quand je veux définir pour que ce ne soit que des Araignées.


EDIT: Bon, j'ai compris, c'est pas spider pour le type, c'est VERMIN. Ils pourraient pas faire ça plus simple non plus? 5 ou 10 termes différents pour dire que c'est une spider
_________________
On doit tous mourir un jour... mais pour moi, c'est pas demain la veille, alors sort tes armes sale dragon!!!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
omega
Grand Chevalier
Inscrit le: 09 Jan 2004
Messages: 116
Répondre en citant
Posté le : 16/02/2004 23:40:04 Sujet du message : message

Bonjour
pour le message quand le pj rentre, ca marche, mais voila, j'ai un pnj hyper important, avec des livres hyper chers, et je ne veux pas qu'il les prennent, alors, je veux envoyer aux md un message qui les averti quand un pj rentre, mais voila, ca marche pas !!!!!!

mon scrip :

void main()
{
object oPC = GetEnteringObject();
SendMessageToAllDMs(oPC, "Un joueur est rentre chez Roban");
}
je lemet dans OnEnter de la zone

merce de votre aide !
 
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 : 17/02/2004 08:17:26 Sujet du message :

La synthaxe juste est :
// Sends szMessage to all the Dungeon Masters currently on the server.
void SendMessageToAllDMs(string szMessage)

donc tu n'a vraissemblablement pas à mettre oPC dans cette fonction :
SendMessageToAllDMs("Un joueur est rentre chez Roban");

Cool
_________________
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
 
omega
Grand Chevalier
Inscrit le: 09 Jan 2004
Messages: 116
Répondre en citant
Posté le : 17/02/2004 13:31:45 Sujet du message : suite

merci a vous, encore une question, je rajoute quoi pour que le message dise :

"joueur xxx est allé voir Roban"

par exemple

merci d'avance
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
nunch
Grand Sage du Conseil
Inscrit le: 23 Mai 2003
Messages: 966
Localisation: Dans la gueule du Lyon
Répondre en citant
Posté le : 17/02/2004 14:17:30 Sujet du message :

NWScript :
void fonction(object oPersonnage)
{
SendMessageToAllDMs("Le personnage " + GetName(oPersonnage) + "");
}
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.

GetName() renvoie le nom du personnage, mais on peut aussi utiliser GetPCPlayerName() pour avoir le nom du joueur. Exemple:

NWScript :
void fonction(object oPersonnage)
{
SendMessageToAllDMs("Le joueur " + GetPCPlayerName(oPersonnage) + "");
}
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
 
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 48.539ms