JeuxOnLineForumsPlusCréer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Drop d'items non-systématique (2ème édition) ! RSS
   
Répondre
Partager Outils Rechercher
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 

Drop d'items non-systématique (2ème édition) !

Bon, j'ai déjà posté un topic concernant ce sujet mais c'était sans grande réussite étant donné que je suis une 'pine' en script et qu'il m'arrive de ne pas tout comprendre :
Le topic se trouve ici.

Je vais tout de même reprendre l'idée : gloire à celui qui m'expliquera simplement ce que j'estime être un point très important dans la confection d'un module (persistant qui plus est).

Un PNJ envoie un PJ aller chercher un ingrédient bien spécial dans une zone, un ingrédient qui se trouve sur un monstre bien précis. Bien entendu, je ne veux pas que cet ingrédient soit droppé par le premier monstre venu (même si c'est le type de monstre susceptible de porter l'ingrédient). Je voudrais que après avoir tué un certain nombre de monstre, l'ingrédient tombe sur le cadavre (je ne veux pas que l'item tombe systématiquement). Je ne sais pas par quel système y arriver : Nombre de monstres tués avant ? Facteur chance en % ?

Je vous implore ! AIDEZ-MOI !

PS : Je précise également que les monstres font partie d'un encounter.
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
Ce qu'il faudrat à ce moment là, bon là je ne peux pas te faire le script maintenant, devant me lever très tot demain...

Par contre, je peux te donner l'idée pour commencer .

Donc ton but c'est de faire un compteur de monstre que tu tueras si j'ai bien suivi.

Et aussi que même si tu as atteint le bon nombre de monstre tué, cela doit passer à une probabilité de laisser tomber l'objet.


Je pense que tout cela doit se passer dans l'encounter ou au moins une grosse partie.

donc en fait dans le onenter.

exemples :

OnEnter :

Code PHP:

object oPC
GetEnteringObject();
int MAX_MONSTER=20;
int PROB_INGREDIENT=20;
object oArea=GetArea(oPC);

if ( (
GetIsObjectValid(oPC) && GetIsPC(oPC))
int nCompt=GetLocalint(oPC,"COMPTEUR_MONSTER");


if (
nCompt>=MAX_MONSTER)
{
      if (
d100()<PROB_INGREDIENT
      
SetLocalInt(oArea,"ACTIVE_INGREDIENT",TRUE);

Dans le Ondeath de tes créatures tu rajoutes juste une ligne.

Code PHP:
object oKiller GetLastKiller();
SetLocalInt(oKiller ,"COMPTEUR_MONSTER",GetLocalInt(oKiller ,"COMPTEUR_MONSTER")+1); 
Dans le OnSpawn de ta créature :

Code PHP:
object oArea=GetArea(OBJECT_SELF);
string sRef="leresrefdetonitem";
if (
GetLocalInt(oArea,"ACTIVE_INGREDIENT")==TRUE)
CreateItemOnObject(sRef); 
Bon voilà vite fait une idée plausible, je ne dis pas du tout que c'est la meilleur et que le script ne contient aucun bug, l'ayant fait directement en écrivant mon post, et en me dépêchant car là je devrai déjà être dans mon lit en train de lire mon livre de programmation depuis au moins 15 minutes lol .

Enfin bon, si cela te convient tant mieux
Lien direct vers le message - Vieux
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
DONC personne ne sait répondre à ma recommandation ? J'ai essayé ces scripts-là mais ils comportent des erreurs. Personne pour m'aider ?
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
Heuu excuse moi, mais comment veux tu que je puisse t'aider, si tu ne me donnes pas les erreurs que cela te fais... car moi je n'ai pas l'editeur sur moi là pour tester ://



Code PHP:

object oPC
GetEnteringObject();
int MAX_MONSTER=20;
int PROB_INGREDIENT=20;
object oArea=GetArea(oPC);

if ( (
GetIsObjectValid(oPC)) && (GetIsPC(oPC)))

int nCompt=GetLocalint(oPC,"COMPTEUR_MONSTER");


if (
nCompt>=MAX_MONSTER)
{
      if (
d100()<PROB_INGREDIENT
      
SetLocalInt(oArea,"ACTIVE_INGREDIENT",TRUE);


Et je reprécise qu'il n'y a pas de void main là
Lien direct vers le message - Vieux
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
Mille excuses ! L'éditeur dit que ce sont des erreurs de déclarations. Notamment avec le premier scripts (en effet, je ne suis pas allé plus loin ) avec la ligne :

Code PHP:
if ( (GetIsObjectValid(oPC) && GetIsPC(oPC)) 
Aussi je voudrais savoir de qu'est exactement que ce COMPTEUR_MONSTRE ? Il faut que je le créé ?

PS : je peux paraître naïf, mais si l'erreur était ridicule, veuillez m'en excuser, je ne m'en sors pas en scripts (je l'aurais assez dit !) !
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
vivi je viens de le corriger , là normalement cela devrait passer, j'avais oublié une parenthèse.

Par contre le COMPTEUR_MONSTER, c'est à dire le GetLocalInt, tu n'as pas besoin de le déclarer, car au début, il va considérer que la variable est vide, si le PC n'est pas tagué.

Voila.
Lien direct vers le message - Vieux
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
Question
C'est quoi ACTIVE_INGREDIENT ? Je dois le remplacer ?
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
ACTIVE_INGREDIENT

C'est juste une variable locale que tu initialise à TRUE si toutes les conditions passent pour que le prochain spawn de monstre, cela crée donc l'ingredient que tu désires...

Donc tu n'as même pas à l'initialiser.
Lien direct vers le message - Vieux
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
Code PHP:
object oPCGetEnteringObject();
int MAX_MONSTER=20;
int PROB_INGREDIENT=20;
object oArea=GetArea(oPC);

if ( (
GetIsObjectValid(oPC)) && (GetIsPC(oPC)))

int nCompt=GetLocalint(oPC,"COMPTEUR_MONSTER");


if (
nCompt>=MAX_MONSTER)
{
      if (
d100()<PROB_INGREDIENT)
      
SetLocalInt(oArea,"ACTIVE_INGREDIENT",TRUE);

17/03/2003 21:21:03 : Erreur. 'onenter' n’est pas compilé.
onenter.nss(6): ERREUR : INVALID DECLARATION TYPE
Lien direct vers le message - Vieux
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
Donc (je voudrais qu'on se comprenne bien), quand tout ça marchera , et bien la rencontre générera des Monstre sans (le plus souvent) l'item et avec (le moins souvent) l'item ??
C'est ça hein ?
Tu saurais aussi me dire, si c'est le cas, à quel fréquence tomberont ses items et me l'illustrer dans le scripts (pour monter que j'ai de la bonne volonté et que j'essaye de comprendre )
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
Voila je viens de prendre un peu plus de temps lol maintenant je suis en retard

mais bon plus aucun bug


Code PHP:

object oPC
GetEnteringObject();
int MAX_MONSTER=20;
int PROB_INGREDIENT=20;
object oArea=GetArea(oPC);
int nCompt;

if ( (
GetIsObjectValid(oPC)) && (GetIsPC(oPC)))
nCompt=GetLocalInt(oPC,"COMPTEUR_MONSTER");


if (
nCompt>=MAX_MONSTER)
 {   if (
d100() < PROB_INGREDIENT)
      
SetLocalInt(oArea,"ACTIVE_INGREDIENT",TRUE);

 } 
Dsl,
Lien direct vers le message - Vieux
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
Citation:
Provient du message de Mel Ethybem
Donc (je voudrais qu'on se comprenne bien), quand tout ça marchera , et bien la rencontre générera des Monstre sans (le plus souvent) l'item et avec (le moins souvent) l'item ??
C'est ça hein ?
Tu saurais aussi me dire, si c'est le cas, à quel fréquence tomberont ses items et me l'illustrer dans le scripts (pour monter que j'ai de la bonne volonté et que j'essaye de comprendre )
Je cite mes propres messages !
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
Citation:
Provient du message de Mel Ethybem
Donc (je voudrais qu'on se comprenne bien), quand tout ça marchera , et bien la rencontre générera des Monstre sans (le plus souvent) l'item et avec (le moins souvent) l'item ??
C'est ça hein ?
Tu saurais aussi me dire, si c'est le cas, à quel fréquence tomberont ses items et me l'illustrer dans le scripts (pour monter que j'ai de la bonne volonté et que j'essaye de comprendre )

En clair tu auras à partie de 20 montres minimum, 20% de chances que le monstre possède l'item dans son inventaire...

Voilà,
Lien direct vers le message - Vieux
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
RHAA ! IL BUG TOUJOURS SUR LA MÊME LIGNE !!! Tu es sur que c'est pas moi le problème ??? Il m'affiche une erreur de déclarations !
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
ba moi je viens de le retester cela se compile parfaitement donc je ne vois pas ou est le problème là :////
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Drop d'items non-systématique (2ème édition) !
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 11h50.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite