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 22:59:49


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Cocasso
Ecuyer
Inscrit le: 24 Mai 2004
Messages: 41
Répondre en citant
Posté le : 27/05/2004 01:36:32 Sujet du message : enfant qui joue...?

Bonjour a tous..^^(euhh ou bonne nuit plutot.. a cette heure.....)
Voila apres avoir chercher sur le forum , j ais vu la meme question que celle que je vais vous poser...mais elle est rester sans reponse et date de 2002..^^ Confused
voila ..
je cherche a faire jouer 3 enfant a chat
j ais bien recuper le script en question mais je ne sais pas ou le placer..
et..euhh en fait ,
je le met ou?
dois je metre un waypoint?
NWScript :
//tag-playing children by Ralf Schemmann
//July 17th, 2002
//
//Minor additions by Elhimac
//Updated 22 July 2002
//
//if owner is chasing
void main()
{
int nUser = GetUserDefinedEventNumber();
if(nUser == 1001) //HEARTBEAT EVENT
{
object oPlayground = GetWaypointByTag("KidTagCenter");
object oTagArea = GetWaypointByTag("TagArea"+IntToString(Random(4)));
if (GetDistanceToObject(oPlayground) > 6.0f)
{
ClearAllActions();
ActionForceMoveToObject(oTagArea,TRUE, 0.0f);
}
if (GetDistanceToObject(oPlayground) < 6.0f)
{
if (GetLocalInt(OBJECT_SELF, "nChasing") == 1)
{
//Find kid to chase
object oChased = GetNearestObjectByTag("TAGCHILD");
//Is owner close enough to tag?
if (GetDistanceToObject(oChased) < 2.0f )
{
//Tag and switch roles
SpeakString("Tag!", TALKVOLUME_TALK);
AssignCommand(oChased, ClearAllActions());
SetLocalInt(OBJECT_SELF, "nChasing", 0);
SetLocalInt(oChased, "nTagged", 1);
//RemoveEffect(OBJECT_SELF, EffectHaste());
ClearAllActions();
ActionMoveAwayFromObject(oChased, TRUE);
}
//if still too far away, move after target
else
{
ActionForceMoveToObject(oChased, TRUE, 0.0f);
}
}
//owner is being chased
else
{
//If kid has been tagged, wait a hearbeat then start chasing
if (GetLocalInt(OBJECT_SELF, "nTagged") == 1)
{
SetLocalInt(OBJECT_SELF, "nTagged", 0);
SetLocalInt(OBJECT_SELF, "nChasing", 1);
//ApplyEffectToObject(DURATION _TYPE_INSTANT, EffectHaste(), OBJECT_SELF);
}
//if not been tagged, run away from chaser or move closer to other kids
else
{
//Find Nearest tag-playing child
object oChaser = GetNearestObjectByTag("TAGCHILD");
//if this is the chaser
if (GetLocalInt(oChaser, "nChasing") == 1)
//run away from chaser
ActionMoveAwayFromObject(oChaser, TRUE);
else
//run after other kid
ActionForceMoveToObject(oChaser, TRUE, 4.0f);
}
}
}
}
}
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.

Merci a vous car moi ... bein je ni comprend rien ..^^
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Lunshire
Héros
Inscrit le: 08 Nov 2003
Messages: 259
Localisation: Ben ... Devant mon ordi bien sûr !
Répondre en citant
Posté le : 27/05/2004 06:25:01 Sujet du message :

Déjà, je t'envoie quelques éléments de réponse... Wink


Citation :
OBJECTIF / Commentaire : Un petit script pour avoir des enfants qui jouent à chat

Ce dont vous avez besoin:
Un Waypoint au niveau de l'aire de jeu des gosses, Tag "KidTagCenter"
Deux gosses minimum (pensez à adapter les tags !)
NWScript :

////////////////////////////// ////////////////////////////// /////////
//:Par Ralf Schemmann
//:July 17th, 2002

////////////////////////////// ////////////////////////////// /////////


void main()
{
    int nUser = GetUserDefinedEventNumber();
    if(nUser == 1001) //HEARTBEAT EVENT
    {
      object oPlayground = GetWaypointByTag("KidTagCenter");
      object oTagArea = GetWaypointByTag("TagArea"+IntToString(Random(4)));
      if (GetDistanceToObject(oPlayground) > 6.0f)
      {
          ClearAllActions();
          ActionForceMoveToObject(oTagArea,TRUE, 0.0f);
      }
      if (GetDistanceToObject(oPlayground) < 6.0f)
      {
            if (GetLocalInt(OBJECT_SELF, "nChasing") == 1)
            {
               
                object oChased = GetNearestObjectByTag("TAGCHILD");
               
                if (GetDistanceToObject(oChased) < 2.0f )
                {
                   
                    SpeakString("Chat!", TALKVOLUME_TALK);
                    AssignCommand(oChased, ClearAllActions());
                    SetLocalInt(OBJECT_SELF, "nChasing", 0);
                    SetLocalInt(oChased, "nTagged", 1);
                    //RemoveEffect(OBJECT_SELF, EffectHaste());
                    ClearAllActions();
                    ActionMoveAwayFromObject(oChased, TRUE);
                }
               
                else
                {
                    ActionForceMoveToObject(oChased, TRUE, 0.0f);
                }
            }
           
            else
            {
                //Si l'on lui a fait chat, attendre un heartbeat et chasser
                if (GetLocalInt(OBJECT_SELF, "nTagged") == 1)
                {
                    SetLocalInt(OBJECT_SELF, "nTagged", 0);
                    SetLocalInt(OBJECT_SELF, "nChasing", 1);
                    //ApplyEffectToObject(DURATION _TYPE_INSTANT, EffectHaste(), OBJECT_SELF);
                }
                //Si on ne lui a pas encore fait chat, eviter le chat et rejoindre les autres copains
                {
                    //Trouve le copain le plus proche
                    object oChaser = GetNearestObjectByTag("TAGCHILD");
                    //mais s'il est chat
                    if (GetLocalInt(oChaser, "nChasing") == 1)
                    //se sauver
                    ActionMoveAwayFromObject(oChaser, TRUE);
                    else
                   
                    ActionForceMoveToObject(oChaser, TRUE, 4.0f);
                }
            }
        }
    }
}
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.


Pis, je pense que ce script, que je n'ai pas utilisé et dont je n'ai aucune connaissance Wink, se place sur un OnHeartBeat de chaque petit, mais j'en doute fortment.Very Happy

Au plaisir. L.

EDIT : Et j'ai oublié de te donner ça... C'est un petit cadeau, que tu connais peut-être, mais j'en doute aussi parce que sinon tu aurais proposé le script que je t'en envoyé ! Wink

THE SITE OF THE DEATH (traduire : LE SITE DE LA MORT !Wink)


[EDIT de Lendraste]
"Et je ne fais pas de pub sauvage sinon je vais me faire engueuler"... N'est-ce pas Lunshire ?
Un lien ciblé vers une solution, passe encore, mais pas ce que tu as mis.

_________________
Cogito ergo sum.
 
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 : 27/05/2004 07:55:47 Sujet du message :

Si ça t'interresse, j'utilise ce script dans chacun de mes modules, lol!
Donc libre à toi de l'ouvrir pour voir comment c fait ^^
le plus simple et plus petit -> Camelot_k
ou encore le p'tit dernier -> D-Lire_K (mieux si tu veux jouer le module, moins bien si tu veux juste voir les gosses qui jouent...)

Nan, nan, c pas de la pub, nan! 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
 
Cocasso
Ecuyer
Inscrit le: 24 Mai 2004
Messages: 41
Répondre en citant
Posté le : 27/05/2004 08:58:02 Sujet du message :

cool merci je vais aller voir ca ...
car je ne sais toujour pas comment faire pour faire fonctionner ce script..
perso j ais fait un waypoint que j ais nommer comme dit plus haut..
et le script dans chaque OnHeartBeat des petits..
..mais toujour statique .. ils ne joue toujour pas ..^^
merci pour les ptit cadeaux a vous deux ... je vais essayer de decortiquer ca..^^

Merci a vous deux
Dernière édition par Cocasso le 27/05/2004 09:42:22; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Cocasso
Ecuyer
Inscrit le: 24 Mai 2004
Messages: 41
Répondre en citant
Posté le : 27/05/2004 09:41:43 Sujet du message :

Bon exellent il joue bien a chat .. seulement je n arrive pas a leur deffinir un endroit bien precis..
il joue sur toute la zone ...
est ce normal ou pas?
et sinon comment faire pour leurs imposer des limite a pas depasser..?
Merci ..^^
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
maremick
Acolyte
Inscrit le: 18 Mai 2004
Messages: 25
Répondre en citant
Posté le : 27/05/2004 10:32:29 Sujet du message :

Tu défini ta zone de jeu en créant un déclencheur et sur le OnExit du déclencheur, tu mets ça. Les enfants devraient revenir quand ils quittent la zone.

NWScript :
//:Confused///////////////////////// /////////////////////
//:: enfrevient
//:: FileName
//:: Copyright (c) 2001 Bioware Corp.
//:Confused///////////////////////// ////////////////////
/* Quand l'enfant sort de la zone, il y revient.

*/

//:Confused///////////////////////// ////////////////////
//:: Created By: Maremick
//:: Created On: 27/05/2004
//:Confused///////////////////////// ////////////////////

void main()
{
  object oZoneDeJeu = OBJECT_SELF;
  object oSortant = GetExitingObject();
  string sTagSortant = GetTag(oSortant);
  if (sTagSortant=="TAGCHILD")
  AssignCommand(oSortant, ActionMoveToObject(oZoneDeJeu, TRUE));
}
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é Ignorer l'utilisateur
 
Cocasso
Ecuyer
Inscrit le: 24 Mai 2004
Messages: 41
Répondre en citant
Posté le : 27/05/2004 10:42:01 Sujet du message :

ok je te remerci ..^^
je vais tester ca..
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Cocasso
Ecuyer
Inscrit le: 24 Mai 2004
Messages: 41
Répondre en citant
Posté le : 27/05/2004 10:53:55 Sujet du message :

est ce qu il faut donner un nom particulier au declencheur?
car j ais bien cree se que tu me dit ..mais les banbins joue encore n importe ou..
raalaalaa tu leur donne le ptit doigt et ils prenne le bras...^^
Merci de ton aide
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
maremick
Acolyte
Inscrit le: 18 Mai 2004
Messages: 25
Répondre en citant
Posté le : 27/05/2004 17:46:55 Sujet du message :

Tu crées un WP avec comme Tag "inzone" que tu mets à l'intérieur de ta zone de jeu
NWScript :
//:Confused///////////////////////// /////////////////////
//:: enfrevient
//:: FileName
//:: Copyright (c) 2001 Bioware Corp.
//:Confused///////////////////////// ////////////////////
/*
  Quand l'enfant sort de la zone, il y revient.
*/

//:Confused///////////////////////// ////////////////////
//:: Created By: Maremick
//:: Created On: 27/05/2004
//:Confused///////////////////////// ////////////////////

void main()
{
  object oZoneDeJeu = GetNearestObjectByTag("inzone");
  object oSortant = GetExitingObject();
  string sTagSortant = GetTag(oSortant);
  if (sTagSortant=="TAGCHILD")
  AssignCommand(oSortant, ActionForceMoveToObject(oZoneDeJeu, TRUE));
}
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é Ignorer l'utilisateur
 
fredboisselier
Acolyte
Inscrit le: 14 Juin 2003
Messages: 23
Localisation: lyon/france
Répondre en citant
Posté le : 27/05/2004 21:45:27 Sujet du message :

Excusez moi, y a un truc que j 'ai pas pigé...

Il faut des gosses avec le tag TAGCHILD
un WP avec le tag KidTagCenter
Un declencheur generique avec le tag.....?

Parceque mes gamins, ils bougent pas d'un poil...


Merci Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Cocasso
Ecuyer
Inscrit le: 24 Mai 2004
Messages: 41
Répondre en citant
Posté le : 27/05/2004 22:18:41 Sujet du message :

Merci Maremick...^^
c'est impeccable..
Cool Cool
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Cocasso
Ecuyer
Inscrit le: 24 Mai 2004
Messages: 41
Répondre en citant
Posté le : 27/05/2004 22:49:50 Sujet du message :


fredboisselier a écrit :

Excusez moi, y a un truc que j 'ai pas pigé...

Il faut des gosses avec le tag TAGCHILD
un WP avec le tag KidTagCenter
Un declencheur generique avec le tag.....?

Parceque mes gamins, ils bougent pas d'un poil...


Merci Very Happy
le declencheur numerique tu le nome TAG_START
et apres cela devrai etre bon...
Merci a eux..^^
car je ne fait que repeter..^^
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
fredboisselier
Acolyte
Inscrit le: 14 Juin 2003
Messages: 23
Localisation: lyon/france
Répondre en citant
Posté le : 28/05/2004 16:01:23 Sujet du message :

Mad bon, ca le fait pas, suis vraiment trop nul...

heu... un petit erf? Cool
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Lunshire
Héros
Inscrit le: 08 Nov 2003
Messages: 259
Localisation: Ben ... Devant mon ordi bien sûr !
Répondre en citant
Posté le : 28/05/2004 19:16:54 Sujet du message :

Pourquoi ne ferais-tu pas ce que j'ai fait ? Tu télécharges le module Camelot_k de Kiky (voir message plus haut). Tu l'ouvres avec Aurora, tu exportes la zone de l'auberge du Poney Fringant (oh le plagia !! Very Happy, je plaisante hein ! Embarassed), ensuite tu importes cette zone dans ton module. Tu ajoutes à la palette tous les "ingrédients" de ce jeu (4 jeunes, le Waypoint, le trigger), tu supprimes la zone et il ne te reste plus qu'à recréer tous ces personnages !!! Very Happy

J'espère que c'est plus clair.

Au Plaisir. L.
_________________
Cogito ergo sum.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
fredboisselier
Acolyte
Inscrit le: 14 Juin 2003
Messages: 23
Localisation: lyon/france
Répondre en citant
Posté le : 28/05/2004 21:19:36 Sujet du message :

deja fait.... evidemment ca marche... mais j aime pas rester sur un echec sans comprendre...., j'ai pas vraiment le sentiment d'apprendre en pompant le boulot des autres.... Razz
 
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 57.97ms