Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

[help] Habillement aleatoire d'un pnj.

Par PesteLaMenace le 26/1/2003 à 18:54:02 (#3105119)

Bonjour. Ca fait quatres heures que je passe sur ce probleme et malgré des solutions de remplacement j'aimerais arriver a faire fonctionner cela.

Je voudrais pouvoir simuler une activité citadine, c'est a dire des passants qui passent, des gens qui font leur course etc...et tout cela de manière aléatoire.

Le choix aleatoire des objets n'est pas un probleme, par contre c'est l'habillement aléatoire qui en est un.

J'ai travaillé a partir du module de peuplement automatique de la taverne.

J'ai un include comme ceci.(directement repompé de la taverne)

void habiller(object moi , int male) {
object fringue;
if (male)
switch (d10()) {
case 1: fringue = CreateItemOnObject("citadin001"); break;
case 2: fringue = CreateItemOnObject("citadin002"); break;
case 3: fringue = CreateItemOnObject("citadin003"); break;
case 4: fringue = CreateItemOnObject("citadin004"); break;
case 5: fringue = CreateItemOnObject("citadin005"); break;
case 6: fringue = CreateItemOnObject("citadin006"); break;
case 7: fringue = CreateItemOnObject("citadin007"); break;
case 8: fringue = CreateItemOnObject("citadin008"); break;
case 9: fringue = CreateItemOnObject("citadin009"); break;
case 10: fringue = CreateItemOnObject("citadin010"); break;
};
ActionEquipItem(fringue, INVENTORY_SLOT_CHEST);

}


Les "citadin001" a 010 sont des habits creés dans la palette personnalisé.(blueprint)

Le OnEnter de la Zone crée un pnj citadin a un waypoint aleatoire. (pas de soucis pour cela).

Et dans le OnSpawn du citadin en question il y a bien la fonction habiller et le include.

#include "NW_O2_CONINCLUDE"
#include "NW_I0_GENERIC"
#include "inclu_citadin"

void main()
{

SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);
SetListeningPatterns();
habiller (OBJECT_SELF,TRUE);
WalkWayPoints();
}

Le pnj se crée bien mais ne s’habille pas. Je n’ai pas encore digéré les fonctions de debugage, ca pourrait aider je pense pour savoir si l’habit est bien crée dans son inventaire.

J’ai epuisé mes ressources. Si quelqu’un de plus habile pourrait me remettre sur les rails. Merci a lui.

Par Azrael07 le 26/1/2003 à 22:29:29 (#3106896)

alors attention, il me semble que CreateObject utilise le blueprint de l'objet et non pas le tag.

Tu as peut etre fait une erreur a ce niveau la, pasque ton script me semble bon

Par PesteLaMenace le 26/1/2003 à 23:08:20 (#3107198)

Oui oui pas de soucis ce sont bien les blueprints qui sont entre " ".
Mais rien du tout....:enerve:

Par sounéva le 26/1/2003 à 23:16:43 (#3107265)

[edite]
t'a essayé avec un DelayCommand ?

Par Jaha Effect le 26/1/2003 à 23:20:54 (#3107297)

Le problème viens de là

ActionEquipItem(fringue, INVENTORY_SLOT_CHEST);

Un ActionEquipItem nécessite le tag d'un objet pour qu'il soit équipé. Or, ta variable fringue récupère les blueprint, ce qui est valable pour la création de l'objet mais pas pour son équipement.
Donc pour pouvoir équiper ton objet il va falloir que tu récupère son Tag à un moment donné dans ton scripte.
La solution à mon avis, donner les même Tag et Blueprint a tes vétements (le tout en minuscules bien sûr)

Jaha Effect :D

Par PesteLaMenace le 26/1/2003 à 23:40:40 (#3107455)

Les objets ont bien le meme Tag et Blueprint. Le DelayCommand n'a pas d'effet.
Je me demande si il ne s'agit pas d'un probleme entre Tag et Blueprint.
Ce qui m'etonne c'est que ce script fonctionne tres bien la ou je l'ai recupéré, c'est a dire sur la première version de la taverne animée.

Je continuerais encore a chercher demain en espérant un sauveur mais il se fait tard et si je ne veux pas avoir le BluePrint d'un Zombie au boulot demain, dodo!! ;)

Merci de vos reponses.

Par Templier le 27/1/2003 à 0:54:18 (#3107902)

J'ai moi même travaillé sur un script du même genre et j'avais rencontré le même genre de bug en le testant. Et il me semble que mon scripteur m'avait conseillé de mettre un AssignCommand avant le ActionEquipItem pour forcer le NPC à s'habiller, alors test ça çar on ne sait jamais ca se trouve c'est tout simplement de là que vient le problème :D.


J'essayerais de te trouver une copie de cet ancien script pour vérifier si c'est bien comme ça que l'on avait passé le problême.

JOL Archives 1.0.1
@ JOL / JeuxOnLine