La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 22/09/2024 04:20:18


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
sinquem
Ecuyer
Inscrit le: 28 Jan 2004
Messages: 68
Répondre en citant
Posté le : 05/10/2004 09:45:58 Sujet du message : Pieges récurrents

Bonjour,
Je suis étonné de ne pas avoir trouvé cela par une recherche menfin ...
scusez si ça déjà été posté mais voila, je recherche un moyen de réactiver les pieges d'une zone soit en sortant de la zone soit au bout d'un certains temps (genre 24h en temps de jeu) !!

2nde question :
Je souahiterais afin de pieger les joueurs Very Happy, pouvoir faire respawn un monstre à une dixaine d'endroit différent aléatoirement afin qu'il soient surpris et ne l'atttende pas à coup sur à tel ou tel endroit.

merci d'avance à tous ...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
sinquem
Ecuyer
Inscrit le: 28 Jan 2004
Messages: 68
Répondre en citant
Posté le : 06/10/2004 10:29:47 Sujet du message :


Citation :
2nde question :
Je souahiterais afin de pieger les joueurs Very Happy, pouvoir faire respawn un monstre à une dixaine d'endroit différent aléatoirement afin qu'il soient surpris et ne l'atttende pas à coup sur à tel ou tel endroit.
A propos de ce point auriez vous au moins un point de départ, car je suis un peu perdu, et ne sais par quel bout prendre le pb, connaissant trés mal le mode de fonctionnement des rencontres, j'aimerais bien un p'ti mode d'emploi.

Ce que j'aimerai :
Savoir ce qu'il faut faire via Aurora et ce qu'il faut code en script.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Léa
Novice
Inscrit le: 25 Oct 2003
Messages: 15
Répondre en citant
Posté le : 06/10/2004 12:23:02 Sujet du message :

Salut Sinquem,

Pour ta 2e question; je pense qu'il suffit de créer une rencontre avec ta créature et de placer plusieurs points de spawn (clic droit sur zone rencontre et ajouter un point de spawn)ce qui aura pour effet de faire apparaître ta créature au hasard sur un des points de spawn.

A mon avis celà n'a aucun rapport avec les scripts.

Voilà, bonne journée à toi
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Blackblood
Chevalier
Inscrit le: 20 Juil 2004
Messages: 80
Localisation: France
Répondre en citant
Posté le : 06/10/2004 12:29:00 Sujet du message : Re: Pieges récurrents

Salut,

Je vais essayer de te répondre :

sinquem a écrit :
je recherche un moyen de réactiver les pieges d'une zone soit en sortant de la zone soit au bout d'un certains temps (genre 24h en temps de jeu) !!
Tu as dans les propriétés du piège (de mémoir ils fonctionnent un peu comme les rencontres) une propriété qui permet de les activer soit une fois soit en continu et dans ce cas de définir le temps entre chaque activation. Mais comme je ne travail pas sur les pièges je ne suis pas certain de ce que j'avance... à confirmer.


Citation :
2nde question :
Je souahiterais afin de pieger les joueurs Very Happy, pouvoir faire respawn un monstre à une dixaine d'endroit différent aléatoirement afin qu'il soient surpris et ne l'atttende pas à coup sur à tel ou tel endroit.
Pour ce cas, je t'ais fait un petit script. Tu devras créer 10 point de rencontres dont le tag sera wp_creature1 à wp_creature10

Créer ensuite une point de rencontre vierge et place ce script dans le OnEnter de ce point de rencontre :
NWScript :
//Put this OnEnter
void main()
{

object oPC = GetEnteringObject();

if (!GetIsPC(oPC)) return;

object oTarget;
object oSpawn;
location lTarget;

switch( Random(10) + 1 )
{

case 1 :
{
oTarget = GetWaypointByTag("wp_creature1");
break;
}
case 2 :
{
oTarget = GetWaypointByTag("wp_creature2");
break;
}
case 3 :
{
oTarget = GetWaypointByTag("wp_creature3");
break;
}
case 4 :
{
oTarget = GetWaypointByTag("wp_creature4");
break;
}
case 5 :
{
oTarget = GetWaypointByTag("wp_creature5");
break;
}
case 6 :
{
oTarget = GetWaypointByTag("wp_creature6");
break;
}
case 7 :
{
oTarget = GetWaypointByTag("wp_creature7");
break;
}
case 8 :
{
oTarget = GetWaypointByTag("wp_creature8");
break;
}
case 9 :
{
oTarget = GetWaypointByTag("wp_creature9");
break;
}
case 10 :
{
oTarget = GetWaypointByTag("wp_creature10");
break;
}
}

lTarget = GetLocation(oTarget);

oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "resref_creature", lTarget);

oTarget = oSpawn;

SetIsTemporaryEnemy(oPC, oTarget);

AssignCommand(oTarget, ActionAttack(oPC));

AssignCommand(oTarget, DetermineCombatRound(oPC));

SetLocalInt(oPC, "iCreature", 1);

}
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.


attention, le script est activé à chaque fois que quelqu'un entre dans le point de rencontre. Donc le mieux est d'avoir une petite zone réservée à ce monstre, ainsi tu place le script sur le OnEnter de la zone et donc tu limite un peu plus l'activation u script.

J'espère avoir été clair Embarassed

bon courage
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
sinquem
Ecuyer
Inscrit le: 28 Jan 2004
Messages: 68
Répondre en citant
Posté le : 06/10/2004 12:52:04 Sujet du message :

Merci à toi aussi Léa, je ne connaissais pas cette fonction d'aurora.
Je l'ai testé mais les créature arrivent toujours du même point, en faite je me demande si elle ne spawn pas le plus loin possible du pj en fonction des point disponibles.

Blackblood, ouarf merci c'est géant !!
j'vais testé ça ... le spawn top !!

Pour les pieges j'ai déjà testé et cela ne change rien en ce qui concerne le desarmement du piege, un piege desarmé est desarmé à vie Embarassed
Cette fonctionnalité est ok pour ce qui est de déclanchement pour que si 10 perso passe dessus alors il se declanchera 10 fois.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
sinquem
Ecuyer
Inscrit le: 28 Jan 2004
Messages: 68
Répondre en citant
Posté le : 06/10/2004 14:19:25 Sujet du message :

Un p'ti pb technique, j'utilise la méthode de Léa pour créer les points de rencontre ?
car si oui je ne vois pas où mettre les noms !!

Sinon cela veut-il dire qu'il faille copier/coller 10 fois la même rencontre ? mais avec quelle parametre, car faudrait pas que les 10 rencontre se déclanche en même temps Laughing
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
sinquem
Ecuyer
Inscrit le: 28 Jan 2004
Messages: 68
Répondre en citant
Posté le : 06/10/2004 18:16:50 Sujet du message :

ça sert à quoi ça dans ton script ?
NWScript :
SetLocalInt(oPC, "iCreature", 1);
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.


trace de l'existant mais non utile pour mon cas non ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
grenwald
Novice
Inscrit le: 24 Jan 2003
Messages: 11
Répondre en citant
Posté le : 06/10/2004 22:21:23 Sujet du message :


sinquem a écrit :
ça sert à quoi ça dans ton script ?
NWScript :
SetLocalInt(oPC, "iCreature", 1);
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.


trace de l'existant mais non utile pour mon cas non ?
A première vu, quand je lis le script, tu n'as effectivement pas besoin de cette ligne (elle peut au besoin servir pour vérifier si le PJ a déjà déclenché la rencontre ou non)

Pour ton autre question sur les rencontres, je pense que tu t'es un peu embrouillé.... Blackblood te proposait une solution alternative a celle de Léa; a toi de voir celle qui te conviens le mieux

sinquem a écrit :
Merci à toi aussi Léa, je ne connaissais pas cette fonction d'aurora.
Je l'ai testé mais les créature arrivent toujours du même point, en faite je me demande si elle ne spawn pas le plus loin possible du pj en fonction des point disponibles.
... bizarre, il me semblait que le jeu prenait un de ces points au hasard, je regarderai ca un de ces jours......

Par contre, je peut te proposer une petite simplification du script de Blackblood :
NWScript :
]//Put this OnEnter
void main()
{

object oPC = GetEnteringObject();

if (!GetIsPC(oPC)) return;

object oTarget;
object oSpawn;
location lTarget;
oTarget = GetWaypointByTag ("wp_creature"+IntToString(Random(10)+1));

lTarget = GetLocation(oTarget);

oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "resref_creature", lTarget);

SetIsTemporaryEnemy(oPC, oSpawn);

AssignCommand(oSpawn, ActionAttack(oPC));

AssignCommand(oSpawn, DetermineCombatRound(oPC));

}
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.

bon courage....Razz
_________________
Un troll???? où ça?........ oups, pardon, je ne l'avais pas vu
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Yahoo Messenger MSN Messenger Ignorer l'utilisateur
 
Blackblood
Chevalier
Inscrit le: 20 Juil 2004
Messages: 80
Localisation: France
Répondre en citant
Posté le : 07/10/2004 07:18:42 Sujet du message :

salut, ahhhhhh que j'aime ce genre de réponse où j'apprend plein de choses. Et oui, quand on script, on a sa façon de voir les choses et ne connaissant pas toutes les ficelles, je ne me facilite pas la vie.

Avec ton astuce Grenwald, on s'affranchie de 10 lignes de script Razz

Pour ce qui est de la ligne inutile, j'utilise au départ un générateur de script alors il doit ajouter automatiquement quelque ligne qui ne sont pas nécessaire mais c'est un bon outil pour apprendre.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
sinquem
Ecuyer
Inscrit le: 28 Jan 2004
Messages: 68
Répondre en citant
Posté le : 07/10/2004 08:53:18 Sujet du message :

merci pour la simplification !!

c'est plus jolie ainsi Laughing

Et pour les Waypoint ajouté ... j'ai testé 10 fois de suite les créature spawn au même endroit, suffisait que je sorte par une autre porte pour qu'ils spawn à un autre point !!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
flmg
Novice
Inscrit le: 02 Sep 2004
Messages: 13
Répondre en citant
Posté le : 07/10/2004 12:18:48 Sujet du message :

Pour les pieges qui se reactive apres un desarmocage j'ai pas trouvé non plus. Autant reverouiller c'est pas dure, réenclencher le piège ...Sad
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
sinquem
Ecuyer
Inscrit le: 28 Jan 2004
Messages: 68
Répondre en citant
Posté le : 07/10/2004 15:16:59 Sujet du message :

Sur le script de sortie de zone il serait peut-être faisable de faire une boucle sur tout les pieges (pc comment les trouver ? instruction) et les réinitialiser (pb trouver aussi l'instruction).

je vais regarder dans cette voie, car l'avantage c'est que ça permet de ne pas retoucher à l'ensemble des pieges existants.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Blackblood
Chevalier
Inscrit le: 20 Juil 2004
Messages: 80
Localisation: France
Répondre en citant
Posté le : 08/10/2004 07:16:31 Sujet du message :

Salut,

pour les pièges tu pourrais essayer ceci : créer 3 waypoint sur ta zone piégée.

Place ce script sur OnExitArea des propriété de la zone :

NWScript :
void main()
{

object oPC = GetExitingObject();

if (!GetIsPC(oPC)) return;

object oTarget;
object oSpawn;
location lTarget;

/// creation du piege 1
oTarget = GetWaypointByTag("wp_piege1");

lTarget = GetLocation(oTarget);

oSpawn = CreateObject(OBJECT_TYPE_ITEM, "tag_du_piege1", lTarget);

/// creation du piege 2
oTarget = GetWaypointByTag("wp_piege2");

lTarget = GetLocation(oTarget);

oSpawn = CreateObject(OBJECT_TYPE_ITEM, "tag_du_piege2", lTarget);

/// creation du piege 3
oTarget = GetWaypointByTag("wp_piege3");

lTarget = GetLocation(oTarget);

oSpawn = CreateObject(OBJECT_TYPE_ITEM, "tag_du_piege3", lTarget);

}
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.


Pour les tags de pièges cherche dans les propriétés des pièges standards.
Sans garanti de succès car je ne sais pas si on peut "spawner" des pièges.
Il y a également les références de pièges comme ceci : TRAP_BASE_TYPE_MINOR_GAS
Mais je ne sais pas comment l'utiliser.

Bon courage
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
flmg
Novice
Inscrit le: 02 Sep 2004
Messages: 13
Répondre en citant
Posté le : 08/10/2004 09:23:16 Sujet du message :

Et pour faire réenclencher des pièges de coffres ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
sinquem
Ecuyer
Inscrit le: 28 Jan 2004
Messages: 68
Répondre en citant
Posté le : 08/10/2004 09:51:49 Sujet du message :

Ba merci à tous, mais en faite pour ne pas alourdire le plus simple est de dire qu'un piege desamorcé est désamorcé jusqu'au prochain relaod du module !!

C'est etrange que bioware n'est pas pensé à cela dans les fonctions de base !!

Il doit y avoir des astuces (faire poser les pieges par un pnj Laughing) mais c'est lourd !!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
lendraste
Grand Maître Chanteur du Conseil
Inscrit le: 20 Fév 2003
Messages: 1403
Localisation: Quelque part ailleurs
Répondre en citant
Posté le : 08/10/2004 16:13:05 Sujet du message :


sinquem a écrit :
Il doit y avoir des astuces (faire poser les pieges par un pnj Laughing) mais c'est lourd !!
Jusqu'à la version 1.62 cette solution ne marche pas. L'action de poser un piège ne peut être jouée que par un PJ. De ce fait, tout ce qui concerne la pose et la réactivation des pièges est impossible en script. C'est dommage mais c'est ainsi.
_________________
Lendraste de Loreval
Qui cherche la Vérité cherche celui qui la détient, car elle n'existe pas à l'état naturel.
La cité des mensonges - 1
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
sinquem
Ecuyer
Inscrit le: 28 Jan 2004
Messages: 68
Répondre en citant
Posté le : 09/10/2004 22:07:10 Sujet du message :

arf ba merci de l'info ...

concernant l'autre script, il faut effectivement 2 tests supplémentaire sur un mod multi-joueur.

1 pour indiquer que le joeur a déjà ou non déclenché le spwan (le fameux icreature) par contre un autre est doit etre effectué pour ne pas enclancher le spawn si la créature est déjà là.
imaginé un groupe de 5 PJ qui se pointe et se retrouve fasse à 5 dragons rouges Laughing

voila ma solution :
Tag de la créature NW_ZORZOR et son resref orca001
NWScript :
void main()
{

object oPC = GetEnteringObject();

if (GetObjectByTag("NW_ZORZOR")!= OBJECT_INVALID) return; // verifie si pas de spawn en cours
if (GetLocalInt(oPC,"iCreature") == 1) return;
if (!GetIsPC(oPC)) return;

location locLocation= GetLocation(GetObjectByTag("WP_0"+IntToString(Random(4)+1)));

CreateObject(OBJECT_TYPE_CREATURE, "orca001", locLocation);

SetLocalInt(oPC,"iCreature",1); // pou ne l'avoir qu'une fois
}
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 à tous ça semble marcher
 
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 55.717ms