La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 14/06/2024 03:53:24


  Page 1 sur 2 ¤ Aller à la page 1, 2  Suivante

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 : 01/01/2003 16:44:32 Sujet du message : Compteur de monstre

Voilà, pour le module: les modules reliés entre eux, j'ai une mini-quête qui consiste à tuer tous les gobs en dehors de la ville. J'avais pensé utiliser simplement un objet quelconque qui se trouverait sur le chef, mais ils pourraient simplement aller tuer le chef et ce serait fini.

Il me faudrait donc un compteur de monstres et au bout de X monstres, paf, le donneur de quête dirait qu'on a fini. Je sais pas trop comment faire. Si vous avez d'autres manières de faire, je serais très interessé.

Il y a eu une message similaire, mais j'arrive pas à le trouver.
_________________
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
 
coolstar
Grand Chevalier
Inscrit le: 16 Oct 2002
Messages: 148
Localisation: Les Mondes - Chambre 270997
Répondre en citant
Posté le : 01/01/2003 18:09:00 Sujet du message :

Ouaip! Salut aussi et de rien d'avance... Wink

Sinon, tu peux utiliser le OnExhausted des 'Recontres' je crois bien... Very Happy
_________________
Very Happy Ca c'est Envoyé!

Docteur Cool! Honorable Canard Cool
 
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 : 01/01/2003 18:27:13 Sujet du message :

Ben pquoi pas tout simplement ca: (a rajouter dans le ondeath des mobs)
Code :

    int cpt = GetLocalInt(GetModule(),"cptmobs");
    SetLocalInt(GetModule(),"cptmobs",cpt+1);
 
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 : 02/01/2003 04:17:29 Sujet du message :

Merci, j'essaie ça demain.
_________________
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
 
coolstar
Grand Chevalier
Inscrit le: 16 Oct 2002
Messages: 148
Localisation: Les Mondes - Chambre 270997
Répondre en citant
Posté le : 02/01/2003 05:02:30 Sujet du message :

Wink
_________________
Very Happy Ca c'est Envoyé!

Docteur Cool! Honorable Canard Cool
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur 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 : 02/01/2003 12:36:44 Sujet du message :

Par contre avec ça tu ne peux pas utiliser d'Encounters, vu que le nombre de monstres qui sont générés dépend du niveau des joueurs, tu risques de ne pas tomber sur le nombre de monstres prévu au départ.
_________________
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
 
coolstar
Grand Chevalier
Inscrit le: 16 Oct 2002
Messages: 148
Localisation: Les Mondes - Chambre 270997
Répondre en citant
Posté le : 02/01/2003 13:22:11 Sujet du message :

Effectivement Cassin... si ce n'est que le nombre n'est peut-être pas une fin en soi cependant (après tout, l'essentiel est de tuer tous les mobs, point!)... Wink
_________________
Very Happy Ca c'est Envoyé!

Docteur Cool! Honorable Canard Cool
 
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 : 02/01/2003 13:53:41 Sujet du message :

Non, j'utilise pas d'encounter. Donc, ça devrait marcher.

Edit: Euh, Void main avant et après ou pas?
_________________
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
 
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 : 02/01/2003 14:05:31 Sujet du message :

Heu... Avant ou après quoi ? Surprised

Moi je ferais quelque chose comme ça :
Code :

object oKiller = GetLastKiller();
int cpt = GetLocalInt(oKiller, "gob");

void main()
{
SetLocalInt(oKiller, "gob", cpt+1);
}


Bon j'ai pas testé mais ça devrait marcher.
_________________
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
 
Serguai
Grand Chevalier
Inscrit le: 07 Déc 2002
Messages: 104
Répondre en citant
Posté le : 02/01/2003 14:19:57 Sujet du message :

Vi cassin mais tout le pb après est de connaître le nombre à tester pour la fin de la quête (et la récompense ?) ...
Si tu mets la variable sur OKiller et que plusieurs personnages participent à la tuerie, ca va être difficile d'arriver à tes fins ... Ceci dis avec ma solution ce n'est pas beaucoup mieux: un fois tout les gobs tués, le premier arrivé est le premier servis pour la récompense ... Embarassed
 
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 : 02/01/2003 14:54:29 Sujet du message :

et en utilisant les 2 solutions ? à savoir que tous les monstres sont morts (solution de Serquai) et le PJ a participé au massacre (la solution de Cassin), hein ? Sinon, ben on peut mettre un quota de gob mort pour toucher la récompense ...
 
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 : 02/01/2003 15:05:11 Sujet du message : Vi

Oui, ça me semble un bon compromis, parce qu'autrement je ne vois pas comment faire ...
 
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 : 02/01/2003 16:33:09 Sujet du message :

Oui, c'est vrai, j'ai tendance à toujours penser solo et pas assez multi...

Bah c'est pas un gros problème, suffit de stocker la variable en question sur le PNJ qui donne la quête, comme ça pas de problème.

Remplace le
Code :
object oKiller = GetLastKiller();

par
Code :
object oPNJ = GetObjectByTag("TagDuPNJ");


et le tour est joué ! Wink

(par contre pense à remplacer tous les oKiller du script par des oPNJ)
_________________
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 : 03/01/2003 04:20:00 Sujet du message :

Bon ça marche pas donc, je l'affiche: (p.s: le donneur de quête n'est pas dans la même zone que les mobs)

Code :
//::///////////////////////////////////////////////
//:: Default:On Death
//:: NW_C2_DEFAULT7
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
    Shouts to allies that they have been killed
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 25, 2001
//:://////////////////////////////////////////////
#include "NW_I0_GENERIC"

void main()
{
    int nClass = GetLevelByClass(CLASS_TYPE_COMMONER);
    int nAlign = GetAlignmentGoodEvil(OBJECT_SELF);
    if(nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL))
    {
        object oKiller = GetLastKiller();
        AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5);
    }

    SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK);
    //Shout Attack my target, only works with the On Spawn In setup
    SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK);
    if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
    {
        SignalEvent(OBJECT_SELF, EventUserDefined(1007));
    }


    object oPNJ = GetObjectByTag("maire");
    int cpt = GetLocalInt(oPnj, "cptmobs_sortie");

    void main()
    {
    SetLocalInt(oPnj, "cptmobs_sortie", cpt+1);
    }
}


Il y a un void main de trop, mais ça m'affiche ceci:

cptmobs_add.nss(35): ERROR: VARIABLE DEFINED WITHOUT TYPE
_________________
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
 
coolstar
Grand Chevalier
Inscrit le: 16 Oct 2002
Messages: 148
Localisation: Les Mondes - Chambre 270997
Répondre en citant
Posté le : 03/01/2003 12:02:34 Sujet du message :

Heeuuu... jamais de 'void main' ensemble, Diantre! 'main' veut dire 'Majeur" ... il ne peut y avoir 2 Majeurs! enfin, bon... gaffe aussi à la déclaration de tes Variables (oPNJ != oPnj)... Very Happy


Code :

//://////////////////////////////////////////////
//:: Default:On Death
//:: NW_C2_DEFAULT7
//:: Copyright (c) 2001 Bioware Corp.
//://///////////////////////////////////////////
/*
Shouts to allies that they have been killed
*/
//://///////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 25, 2001
//://///////////////////////////////////////////
#include "NW_I0_GENERIC"

void main()
{
    object oNPC = OBJECT_SELF;
    int nClass = GetLevelByClass(CLASS_TYPE_COMMONER);
    int nAlign = GetAlignmentGoodEvil(oNPC );

    if(nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL))
    {
        object oKiller = GetLastKiller();
        AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5);
    }

    int nTalkVolume = TALKVOLUME_SILENT_TALK;
    SpeakString("NW_I_AM_DEAD", nTalkVolume );
    //Shout Attack my target, only works with the On Spawn In setup
    SpeakString("NW_ATTACK_MY_TARGET", nTalkVolume );

    if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
        SignalEvent(oNPC , EventUserDefined(1007));

    // Partie concernant le comptage des Mobs a tuer :
    object oPNC = GetObjectByTag("maire");
    string sVarName = "cptmobs_sortie";
    int cpt = GetLocalInt(oPNC, sVarName);
    SetLocalInt(oPNC, sVarName, cpt+1);
}

_________________
Very Happy Ca c'est Envoyé!

Docteur Cool! Honorable Canard Cool
 
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 : 03/01/2003 13:52:54 Sujet du message :

Bon Cassin qu'est-ce que tu as à dire pour ta défense(je le savais que le 2e était de trop)
_________________
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
 
coolstar
Grand Chevalier
Inscrit le: 16 Oct 2002
Messages: 148
Localisation: Les Mondes - Chambre 270997
Répondre en citant
Posté le : 03/01/2003 14:01:09 Sujet du message :

Ben... vu qu'il savait pas quelle utilisation tu voulais faire de sa proposition, je le comprends bien... et de rien tout de même... Very Happy

Wink

_________________
Very Happy Ca c'est Envoyé!

Docteur Cool! Honorable Canard Cool
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Daermon
Légende vivante
Inscrit le: 07 Déc 2002
Messages: 356
Localisation: Près de 4-1
Répondre en citant
Posté le : 03/01/2003 17:20:27 Sujet du message :

ho, les gars, doucement avec vos scripts Embarassed ! j'y comprend rien ! je trouve ça vachement dur à comprendre...
_________________
"Dans la vie, chacun prend son propre chemin. Mais en fin de compte, on se retrouve tous au même endroit..."
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
coolstar
Grand Chevalier
Inscrit le: 16 Oct 2002
Messages: 148
Localisation: Les Mondes - Chambre 270997
Répondre en citant
Posté le : 03/01/2003 17:42:24 Sujet du message :

Bôah... tu sais Daermon, là c un peu normal qu'on est mis un Script comme ça, vu que c une reprise du "Script par défaut" du 'OnDeath' des Créatures... Et pis, perso, je m'y suis mis il y a juste un mois, tu sais... Wink
_________________
Very Happy Ca c'est Envoyé!

Docteur Cool! Honorable Canard Cool
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur 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 : 03/01/2003 17:45:07 Sujet du message :


Ak Darkster a écrit :
Bon Cassin qu'est-ce que tu as à dire pour ta défense(je le savais que le 2e était de trop)
Hein, quoi, comment, quid ?

Ben moi je t'ai donné un script avec UN SEUL void main(), après je pouvais pas savoir que tu voulais compiler 2 scripts en un seul !


Sinon, le fait que le PNJ ne soit pas dans la même zone ne change rien si tu utilises "GetObjectByTag("tag")", ça va chercher dans toutes les zones.
_________________
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
 
Daermon
Légende vivante
Inscrit le: 07 Déc 2002
Messages: 356
Localisation: Près de 4-1
Répondre en citant
Posté le : 03/01/2003 17:53:00 Sujet du message :

Coolstar, tu me rassure ! mais comment tu as fait pour tout comprendre ? Surprised
_________________
"Dans la vie, chacun prend son propre chemin. Mais en fin de compte, on se retrouve tous au même endroit..."
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé 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 : 03/01/2003 18:04:10 Sujet du message :

Bon ça marche toujours pas. Ça doit être au niveau de la vérification du nombre. Ça devrait être quoi le script?

Moi, j'ai utilisé le script de vérification(comme quand tu veux qu'un perso qui a déjà parlé au Pnj ne se fasse pas dire la même chose quand il lui reparle. Je l'ai pas sous la main, c'est mon frère qui a l'ordi là. Quelqu'un peut m'aider avec ça?
_________________
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
 
Wololo
Légende vivante
Inscrit le: 13 Déc 2002
Messages: 385
Répondre en citant
Posté le : 03/01/2003 21:06:15 Sujet du message :

bah fais "crier" les variables par le PNJ quand les PJS reviennent pour vois si la quête est finie ...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé 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 : 04/01/2003 03:27:24 Sujet du message :

Désolé, mais je comprends vraiment pas ce que tu veux dire. Je dis que mon vérificateur pour le compteur à pas l'air de fonctionner. Dès que je peux je poste mon script utilisé.
_________________
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
 
Wololo
Légende vivante
Inscrit le: 13 Déc 2002
Messages: 385
Répondre en citant
Posté le : 04/01/2003 03:40:11 Sujet du message :

bah en gros faut débugger à la main le script .. alors moi je fais des crier (SpeakString en shout/crier) de l'état de mes variables histoires de voir si les bons scripts se sont déclenchés ...

après il faut juste commenter les lignes et voilà, il n'y parait plus ...

donc, si tu faisais afficher artificiellement les variables tu verais si le compte de monstres correspond ou pas au nombre de monstre tués ...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 2 ¤ Aller à la page 1, 2  Suivante


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 185.875ms