La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 17:52:31


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 18/08/2005 13:36:12 Sujet du message : le feu

salut !

je cherche un script pour que les animaux (du genre loup, cerfs, et autres bestioles de la foret) aient (raisonnablement) peur du feu des torches ou des feux de camp. en gros, je voudrais que lorsqu'on équipe la torche, ces animaux ou mobs ne spawnent pas quand le joueur s'approche de leur point de spawn. idem, quand les joueurs allument un feu de camp, les animaux ne viendront pas.

comment on peut faire ça ?

merci ^^ ++
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
kiky.le.magnifique
Homme très gay
Inscrit le: 19 Sep 2003
Messages: 907
Localisation: Camping de la nation martienne...
Répondre en citant
Posté le : 18/08/2005 15:43:27 Sujet du message : Re: le feu


warpShadow a écrit :
lorsqu'on équipe la torche, ces animaux ou mobs ne spawnent pas quand le joueur s'approche de leur point de spawn.
Comment est géré ton spawn, c'est un script? Une rencontre? Embarassed



Citation :
idem, quand les joueurs allument un feu de camp,
Le feu de camp c'est un objet posé au sol ou un effet visuel? Surprised


En attendant, un truc qu'est possible, c'est de balancer un effet de terreur
à tes animaux s'ils s'approchent à moins de 5 metres d'un perso tenant une torche. Ça t'irais? Cool

Sinon on peut aussi simplement les repousser plus loin, sans user de la terreur,
mais je trouvais l'idée rigolote Razz

Cela dit, j'attend tes réponses à mes questions avant de mettre les mains dans l'cambouis! Laughing
_________________
http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 18/08/2005 16:54:16 Sujet du message :

lol je t'avoue que j'y ai pensé aussi. mais un petit feu comme celui d'une torche ne ferait pas vraiment fuir de trouille une meute... ça la repousserait plutot. donc deuxieme option Smile

et le feu de camp, c'est un placeable.

par contre, pour les mobs (loups), j'ai pas vraiment encore réfléchi, mais je pense que ça sera des rencontres, et pour les animaux (cerfs, blaireaux, enfin les trucs innofensifs), ils sont là comme des pnj.

voila et merci. par contre, je peux pas le tester de suite, je suis pas chez moi Smile

++ ^^
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
kiky.le.magnifique
Homme très gay
Inscrit le: 19 Sep 2003
Messages: 907
Localisation: Camping de la nation martienne...
Répondre en citant
Posté le : 18/08/2005 19:47:23 Sujet du message : Re: le feu

Voilà mon premier jet.
C'est à base de perception, donc pas parfait,
passé par le Heartbeat est plus sûr mais plus couteux en ressource.
Je te ferais cette versoin plus tard...
Manque aussi la gestion des rencontres,
je ne sais pas trop comment m'y prendre en fait,
peut être en désactivant la rencontre... Je verrais ça demain soir ^^

Pour l'instant :

NWScript :
//OnPerception de l'animal
void main()
{
object oPC = GetLastPerceived();
object oNPC = OBJECT_SELF;
object oFeu = GetNearestObjectByTag("Tag_du_feu");

if ((GetIsPC(oPC)==TRUE) && (GetDistanceBetween(oPC, oNPC)<=5.0))
{ //si le PNJ porte une torche
  if((GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC)==GetObjectByTag("NW_IT_TORCH"))
 
  || (GetDistanceBetween(oPC, oFeu)<=2.0))
  {
  AssignCommand(oNPC, ClearAllActions());
  // Faire fuire l'animal a 50m du joueur.
  //Si tu veux que le npc court, mets la variable a TRUE, sinon mets FALSE
AssignCommand(oNPC, ActionMoveAwayFromObject(oPC, TRUE, 50.0));

 
  // DestroyObject(oNPC);
  }
}
}
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.

_________________
http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Ailesnoires
Grand Chevalier
Inscrit le: 21 Oct 2004
Messages: 110
Localisation: Vendée
Répondre en citant
Posté le : 18/08/2005 21:54:09 Sujet du message :

si les feux sont fixes (non transportable) pourquoi ne pas utiliser un trigger qui empecherais les animaux de renter une fois le feu allumé?

Pour la torche je ne vois pas mieux que le Onperception.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
kiky.le.magnifique
Homme très gay
Inscrit le: 19 Sep 2003
Messages: 907
Localisation: Camping de la nation martienne...
Répondre en citant
Posté le : 19/08/2005 14:35:47 Sujet du message :

Me voici de retour ^^

Alors la deuxieme solution,
par le HeartBeat :

NWScript :
//OnHeartBeat de l'animal
void main()
{
object oNPC = OBJECT_SELF;
object oFeu = GetNearestObjectByTag("Tag_du_feu");

//un objet a 5m de l'animal
object oPC = GetFirstObjectInShape(SHAPE_SPHERE, 5.0, GetLocation(OBJECT_SELF));

//l'objet existe bien, c'est un PJ
while((GetIsObjectValid(oPC)==TRUE)&&(GetIsPC(oPC)==TRUE))
{
  //si le PJ tient une torche
  if((GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC)==GetObjectByTag("NW_IT_TORCH"))
 
  || (GetDistanceBetween(oPC, oFeu)<=2.0))
  {
  // L'animal s'arrete
  AssignCommand(oNPC, ClearAllActions());
  // Faire fuire l'animal a 50m du joueur.
AssignCommand(oNPC, ActionMoveAwayFromObject(oPC, TRUE, 50.0));

 
  // DestroyObject(oNPC);
  }

oPC = GetNextObjectInShape(SHAPE_SPHERE, 5.0, GetLocation(OBJECT_SELF));
//un autre objet a 5m
}
}
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, à n'utiliser vraiment que si la premiere (par la perception)
ne te convient pas, car celle par HeartBeat te pompe davantage de ressource.



Et enfin, pour les rencontres :
NWScript :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.


Voilà, je n'ai rien testé, mais y'a pas de raison que ça foire, lol! Razz


@Ailesnoires -> warpShadow a dit : "quand les joueurs allument un feu de camp",
j'en ai donc déduit que ces feux n'étaient pas fixes, mais "crées" par le joueur. Wink
_________________
http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 20/08/2005 11:04:12 Sujet du message :

super, merci Smile

je te dirais si ça marche

^^ ++
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur 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 43.516ms