La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 02/05/2024 00:30:21


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Dragull Hull
Grand Chevalier
Inscrit le: 23 Déc 2002
Messages: 115
Localisation: Quebec
Répondre en citant
Posté le : 16/01/2003 19:18:39 Sujet du message : esce possible ?

Voila, dans mon modue ya un Guild hall de mages et dedans je voudrais metre des Golemes gardien, alors je voudrais que ces Golemes attaque tout ceux qui ne sont pas, soit mage soit sorcier, de fait que si tu n'est pas inviter, tu resort vite fait. esce possible ?
si oui ....par ou je comence ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Numéro ICQ Ignorer l'utilisateur
 
Wololo
Légende vivante
Inscrit le: 13 Déc 2002
Messages: 385
Répondre en citant
Posté le : 16/01/2003 19:45:45 Sujet du message :

oui, c'est possible !
tu commences par faire un trigger, et sur le OnEnter, tu fais un
Code :


object oIntrus = GetEnteringObject();
object oGolem = GetObjectByTag("Goldorak");
//nbre de Golems taggés Gogoth0, Golgoth1, ...
int nbre_de_Golgoth = 1;

if (GetIsPc(oIntrus) && !(GetClassByPosition(1,oIntrus) == CLASS_TYPE_SORCERER || GetClassByPosition(2,oIntrus) == CLASS_TYPE_SORCERER || GetClassByPosition(3,oIntrus) == CLASS_TYPE_SORCERER || GetClassByPosition(1,oIntrus) == CLASS_TYPE_WIZARD || GetClassByPosition(2,oIntrus) == CLASS_TYPE_WIZARD || GetClassByPosition(3,oIntrus) == CLASS_TYPE_WIZARD))
{

 int i;
 for(i=0;i<nbre_de_Golgoth;i++){

  object oGolem = GetObjectByTag("Golgoth"+IntToString(i));
  AssignCommand(oGolem, ActionAttack(oIntrus));
 }
 DetermineCombatRound();
}

else
{

 AssignCommand(oGolem, "Glad to see you My Master");

}




pense à laisser une chance aux voleurs de passer sans combattre, par exemple, en mettant les Golems pas doué en Spot ...
Dernière édition par Wololo le 16/01/2003 20:18:13; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Dragull Hull
Grand Chevalier
Inscrit le: 23 Déc 2002
Messages: 115
Localisation: Quebec
Répondre en citant
Posté le : 16/01/2003 19:59:06 Sujet du message :

Ok geniale, mais va faloir que tu me prenne par la main, Le trigger jle met ou ? devant la porte par ou ont entre dans le Area ?
et le OnEnter de quoi ? du trigger , de l'area ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Numéro ICQ Ignorer l'utilisateur
 
Wololo
Légende vivante
Inscrit le: 13 Déc 2002
Messages: 385
Répondre en citant
Posté le : 16/01/2003 20:01:35 Sujet du message :

tu mets le trigger ou tu veux, mais je le verrai bien dans l'antichambre, c'est évidemment le OnEnter du trigger (je trouve ca plus souple ...mais l'Area c'est possible aussi), évidemment il faut ne pas pouvoir l'éviter !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Dragull Hull
Grand Chevalier
Inscrit le: 23 Déc 2002
Messages: 115
Localisation: Quebec
Répondre en citant
Posté le : 16/01/2003 20:06:30 Sujet du message :

ok, et tout ce que jai a changer du script. c remplacer Goldorak par le Tag de mes Goleme ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Numéro ICQ Ignorer l'utilisateur
 
Wololo
Légende vivante
Inscrit le: 13 Déc 2002
Messages: 385
Répondre en citant
Posté le : 16/01/2003 20:14:04 Sujet du message :

ah tiens d'ailleurs je me suis planté, attends j'éedites mais oui ...., en fait il faudrait le metttre plusieurs fois ...
mais attends ...

voilà, il faut tagger tes Golems par un_nom0, puis un_nom1 etc ...
tu mets le nombre de Golems dans nbre_de_Golems, et tu remplaces Goldorak et Golgoth par un_nom ...

quoique le Golem qui fait une boule de feu, ca ressemble un peu au fulguropoing, l'appel de la foudre c'est corno-machin, la hache ca va être plus dur ...

un p'tit module faites vous Goldorak ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Serguai
Grand Chevalier
Inscrit le: 07 Déc 2002
Messages: 104
Répondre en citant
Posté le : 16/01/2003 20:55:51 Sujet du message :

Ben la hache c'est Astérohache Smile
Suffit de lui mettre une double hache dans les mains a ton golem )
 
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
 
Wololo
Légende vivante
Inscrit le: 13 Déc 2002
Messages: 385
Répondre en citant
Posté le : 16/01/2003 20:58:25 Sujet du message :

bah oui, mais ca va pas apparitre c'est pas prevu dans la skin ! c'est comme filer une armure lourde à un élémental ...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Serguai
Grand Chevalier
Inscrit le: 07 Déc 2002
Messages: 104
Répondre en citant
Posté le : 16/01/2003 22:06:39 Sujet du message :

Laughing Lol je sais, je plaisantais )
 
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
 
Dragull Hull
Grand Chevalier
Inscrit le: 23 Déc 2002
Messages: 115
Localisation: Quebec
Répondre en citant
Posté le : 16/01/2003 23:43:11 Sujet du message :

ok dit moi si sa a du sense ca :

Code :

object oIntrus = GetEnteringObject();
object oGolem = GetObjectByTag("GolemedeTarem");
//nbre de Golems taggés Gogoth0, Golgoth1, ...
int nbre_de_Golgoth = 2;

if (GetIsPc(oIntrus) && !(GetClassByPosition(1,oIntrus) == CLASS_TYPE_SORCERER || GetClassByPosition(2,oIntrus) == CLASS_TYPE_SORCERER || GetClassByPosition(3,oIntrus) == CLASS_TYPE_SORCERER || GetClassByPosition(1,oIntrus) == CLASS_TYPE_WIZARD || GetClassByPosition(2,oIntrus) == CLASS_TYPE_WIZARD || GetClassByPosition(3,oIntrus) == CLASS_TYPE_WIZARD))
{

int i;
for(i=0;i<nbre_de_GolemedeTarem;i++){

  object oGolem = GetObjectByTag("GolemedeTarem"+IntToString(i));
  AssignCommand(oGolem, ActionAttack(oIntrus));
}
DetermineCombatRound();
}

else
{

AssignCommand(oGolem, "Glad to see you My Master");

}

je crois pas que je voit claire, trop compliquer pour moi
pouriez vous faire le script pour moi ?
mes goleme ont le tag et le nom : GolemedeTarem
je peut faire 1 trigger par goleme si il faut.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Numéro ICQ Ignorer l'utilisateur
 
Wololo
Légende vivante
Inscrit le: 13 Déc 2002
Messages: 385
Répondre en citant
Posté le : 16/01/2003 23:52:58 Sujet du message :

si j'ai bien vu y a deux GolemedeTarem : tag les GolemedeTarem0 et GolemedeTarem1 (même si je crois qu'on dit Golem, j'ai tout mis avec Goleme comme toi ...)

et ce script devrait marcher :



Code :




object oIntrus = GetEnteringObject();
object oGolem = GetObjectByTag("GolemedeTarem0");

int nbre_de_GolemedeTarem = 2;

if (GetIsPc(oIntrus) && !(GetClassByPosition(1,oIntrus) == CLASS_TYPE_SORCERER || GetClassByPosition(2,oIntrus) == CLASS_TYPE_SORCERER || GetClassByPosition(3,oIntrus) == CLASS_TYPE_SORCERER || GetClassByPosition(1,oIntrus) == CLASS_TYPE_WIZARD || GetClassByPosition(2,oIntrus) == CLASS_TYPE_WIZARD || GetClassByPosition(3,oIntrus) == CLASS_TYPE_WIZARD))
{

int i;
for(i=0;i<nbre_de_GolemedeTarem;i++){

object oGolem = GetObjectByTag("GolemedeTarem"+IntToString(i));
AssignCommand(oGolem, ActionAttack(oIntrus));
}
DetermineCombatRound();
}

else
{

AssignCommand(oGolem, "Glad to see you My Master");

}





la solution du script simple avec un trigger par Golem est très sale pour moi (mais je suis un informaticien ...). L'vanatage de ce script c'est qu'il suffit pour prendre un compte un autre Golem de changer son tag et de changer la variable nbre_de_GolemedeTarem.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Dragull Hull
Grand Chevalier
Inscrit le: 23 Déc 2002
Messages: 115
Localisation: Quebec
Répondre en citant
Posté le : 16/01/2003 23:59:32 Sujet du message :

Dhoh...jai copier coler et sa ne compile po .. Surprisedc dans la ligne ou ya le if en vert
sa dit INVALID DECLARATION TYPE ... Sad
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Numéro ICQ Ignorer l'utilisateur
 
Wololo
Légende vivante
Inscrit le: 13 Déc 2002
Messages: 385
Répondre en citant
Posté le : 17/01/2003 00:09:47 Sujet du message :

oui, erreur de majuscule, puis après il manquait un include .. pfiou, je me fais vieux moi ... heureusement je pars bientôt à la retraite ...

Code :

#include "NW_I0_GENERIC"

void main()
{
object oIntrus = GetEnteringObject();
object oGolem = GetObjectByTag("GolemedeTarem0");

int nbre_de_GolemedeTarem = 2;

if ( GetIsPC(oIntrus) && !(
GetClassByPosition(1,oIntrus) == CLASS_TYPE_SORCERER ||
GetClassByPosition(2,oIntrus) == CLASS_TYPE_SORCERER ||
GetClassByPosition(3,oIntrus) == CLASS_TYPE_SORCERER ||
GetClassByPosition(1,oIntrus) == CLASS_TYPE_WIZARD ||
GetClassByPosition(2,oIntrus) == CLASS_TYPE_WIZARD ||
GetClassByPosition(3,oIntrus) == CLASS_TYPE_WIZARD
)
)
 {

  int i;
   for(i=0;i<nbre_de_GolemedeTarem;i++){
    object oGolem = GetObjectByTag("GolemedeTarem"+IntToString(i));
    AssignCommand(oGolem, ActionAttack(oIntrus));
   }
  DetermineCombatRound();
 }

else
{

 AssignCommand(oGolem, SpeakString("Glad to see you My Master"));

}
}


ca ca compile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Dragull Hull
Grand Chevalier
Inscrit le: 23 Déc 2002
Messages: 115
Localisation: Quebec
Répondre en citant
Posté le : 17/01/2003 00:47:44 Sujet du message :

ca y est presque
encore une erreur
ERROR : UNDEFINED IDENTIFIER (DetermineCombatRound)
c ce que ca me dit quand jessai de compiler
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Numéro ICQ Ignorer l'utilisateur
 
Wololo
Légende vivante
Inscrit le: 13 Déc 2002
Messages: 385
Répondre en citant
Posté le : 17/01/2003 00:57:04 Sujet du message :

Attention, il y a un include au tout début du script a effectué !

Si tu ne recopies pas cette ligne avant le main, le script butera toujours sur cette fonction !
J'ai réussi à compiler chez moi avec le dernier script fourni.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Dragull Hull
Grand Chevalier
Inscrit le: 23 Déc 2002
Messages: 115
Localisation: Quebec
Répondre en citant
Posté le : 17/01/2003 01:07:56 Sujet du message :

Very Happy Voila ou ca colais pas
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Numéro ICQ Ignorer l'utilisateur
 
Wololo
Légende vivante
Inscrit le: 13 Déc 2002
Messages: 385
Répondre en citant
Posté le : 17/01/2003 01:12:43 Sujet du message :

reste plus qu'à tester !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé 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 : 17/01/2003 09:32:04 Sujet du message :

Désolé d'intervenir (surtout aussi tard Very Happy), mais, n'aurait-il pas été plus simple de mettre le script sur le OnPerception des Golems ?

Ainsi comme ça a été dis, ça laisse une chance aux persos invisibles...

Enfin, je dis ça, je dis rien... Wink
_________________
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
 
Jedaï
Chevalier
Inscrit le: 14 Nov 2002
Messages: 89
Localisation: Le Havre, ville pourrie
Répondre en citant
Posté le : 19/01/2003 13:39:35 Sujet du message :

Euh... il n'aurait pas été plus simple d'utiliser GetLevelByClass() ?

Code :

#include "NW_I0_GENERIC"

void main()
{
    object oIntrus = GetEnteringObject();
    int nbre_de_GolemedeTarem = 2;

    if ( GetIsPC(oIntrus)
         && !GetLevelByClass(CLASS_TYPE_SORCERER, oIntrus)
         && !GetLevelByClass(CLASS_TYPE_WIZARD, oIntrus))
    {
        int i;
        for(i=0;i<nbre_de_GolemedeTarem;i++)
        {
            object oGolem = GetObjectByTag("GolemedeTarem"+IntToString(i));
            AssignCommand(oGolem, ActionAttack(oIntrus));
            AssignCommand(oGolem, DetermineCombatRound(oIntrus));
        }
    }
    else
    {
        int i;
        for(i=0;i<nbre_de_GolemedeTarem;i++)
        {
            object oGolem = GetObjectByTag("GolemedeTarem"+IntToString(i));
            AssignCommand(oGolem, SpeakString("Glad to see you My Master"));
        }
    }
}


J'ai également corrigé l'utilisation de DetermineCombatRound() et j'ai fait en sorte que tous les golems saluent. Mais à la base c'est le même script.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Dragull Hull
Grand Chevalier
Inscrit le: 23 Déc 2002
Messages: 115
Localisation: Quebec
Répondre en citant
Posté le : 19/01/2003 19:22:15 Sujet du message :

en fait jai tester ce que Wolo avais conquocter et ca marche vien sauf que si un perso entre dans la Guild et que les goleme lataque, il n'ont qua ce depecher de se rendre ou le trigger au sol se termine pour etre sauf, aussi si ils decident en voyant 2 goleme facher qui se dirigent ver eux de resortir dehors, les Goleme les suivent dans la ville jusque a leurs Destruction Totale ! , en fait jai penser placer un WP_ dans la guilde pour que les goleme, aussi tot desinterreser y retourne, mais quand je fait ca, les golemes attaque qu'un seul round les intrus...Aussi jaurais besoin de gree une faction pour les goleme, si je les met commoner, et que un perso entre dans le guild hall, les goleme devienent hostil envores eux, alors il ressortent du guild hall pour se rendre compte que tout la ville leurs est hostile !! HAAA
mais jai pas encore compris coment fonctionnent les faction, jen ai cree une autre et quand je vais dans les stats, sa ne montre pas les % envers les autre faction, seulement envers celle que je vien de cree. Anyways c'est pas mal d'ouvrage, je crois que je vais laisser ca comme ca pour l'instant et juste assayer de trouver une solution pour la faction.
merci a tous pour votre aide
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Numéro ICQ 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 27.19ms