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 20:17:29


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Zanon-blood
Acolyte
Inscrit le: 25 Jan 2005
Messages: 38
Répondre en citant
Posté le : 25/02/2005 08:22:35 Sujet du message : Nourriture nécessaire pour se reposer

bon deja salut a tous voila mon problemme c'est que en faite j'ait un scripte de repos quand quand on se repos ben faut de la nouriture du tag "bouff" bref je voudrait rajoute un effet quand quand on se repos en plus qui faut de la nouriture que le joueur voit plus rien et que a la fin du repos sa vue redevient normale

voila le script
NWScript :
////////////////////////////// ///////////////////
//Pas de repos sans nourriture//////////////////
//script du Troubadour//////////////////// /////
////////////////////////////// //////////////////
//Mode d'emploi : placer ce script dans le "OnRest" du module"//
//Creer un ou plusieurs objets non stackable portant le tag "BOUFFE"//

//Ce qui suit est une nouvelle fonction, elle n'est pas de moi//
//Elle cherche un item donne dans l'inventaire du PJ//

object CheckInventoryForItem(object oPC, string sItemTag)
{
  object oItem = GetFirstItemInInventory (oPC);
  while (oItem != OBJECT_INVALID)
  {
    if (GetTag(oItem) == sItemTag)
      return oItem;
    oItem = GetNextItemInInventory (oPC);
  }
  return OBJECT_INVALID;
}


//Voici le script OnRest proprement dit//

void main()
{

  string sItemTag = "BOUFFE";
  object oPC = GetLastPCRested();
  object oItemRequis = CheckInventoryForItem(oPC, sItemTag);

//Lorsque le joueur click sur "se reposer" le script verifie la presence de l'item "bouffe"//
//S'il n'y en a pas le repos est annule et un message envoye au joueur//
    if (GetLastRestEventType() == REST_EVENTTYPE_REST_STARTED)
      {
      if (GetItemPossessedBy(oPC,"BOUFFE") == OBJECT_INVALID)
        {
        SendMessageToPC (oPC, "Impossible de vous reposer avec cette faim qui vous tenaille...");
        AssignCommand (oPC,ClearAllActions());
        }
//si l'item "bouffe" est present le repos est lance et un seul item de ce type detruit//
        else
        {
        DestroyObject(oItemRequis, 0.0);
      }
      eEff=GetNextEffect(); //chercher l'effet suivant
      (
effect eEff=GetFirstEffect();
while (GetIsEffectValid(eEff)) //Tant qu'on trouve un effet valide
  )
    if (GetEffectType(eEff)==EFFECT_TYPE_BLINDNESS) // On teste s'il s'agit d'un effet de type Blindness
    (
      //C'est le cas, on le le supprime
      RemoveEffect(oPC, eEff);
    )
    eEff=GetNextEffect(); //chercher l'effet suivant
  (
/* warning: 2 unclosed block {} */
/* warning: 1 unclosed parenthesis () */
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.


svp aide moi il me reste plus de cheveux lol non serieux si une personne pourait maide

merci davance:D

NdFinipe : pense à mettre des titres explicites dans tes messages, c'est plus clair pour tous. N'oublie pas non plus les jooooolies balises [ nwscript] et [ /nwscript] (sans espace) c'est beaaauuucoup plus lisible Cool
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Joubinator
Ecuyer
Inscrit le: 07 Jan 2003
Messages: 42
Localisation: Yvelines
Répondre en citant
Posté le : 25/02/2005 17:21:04 Sujet du message :

Voici ce que j'utilise sur le server Lunerousse

J'ai pas trop le temps de te faire une réponse personnalisée , désolé j'ai pas trop le temps Confused

NWScript :

//:Confused///////////////////////// /////////////////////
//:: Nom s3_MDL_dodo1
//:: Module Mer de Lune (Lunerousse)
//:Confused///////////////////////// ////////////////////

//:Confused///////////////////////// ////////////////////
//:: Created By: Jouby
//:: Created On: 2004
//:Confused///////////////////////// ////////////////////

void ClearDarkness(object oOwner)//effacer l'effet du noir de l'ecran
{
effect eTemp=GetFirstEffect(oOwner);
effect eEcranNoir = EffectVisualEffect(VFX_DUR_BLACKOUT);
while(GetIsEffectValid(eTemp))
{
if(GetEffectType(eTemp)==GetEffectType(eEcranNoir))
{
RemoveEffect(oOwner, eTemp);
}
eTemp=GetNextEffect(oOwner);
}
}


void main()//fonction principale
{
object oPC = GetLastPCRested();
object oTarget = oPC;
object oZone5 = GetArea(oPC);
object oPlaceable = GetFirstObjectInArea(oZone5);
string sTag = GetTag(oPlaceable);
string sReposInterdit = "s3_repos_interdi";
string sRepos_Interdit_animation = "A cause d'une animation encours, le repos est interdit dans la zone pour raison de RP";


while (GetIsObjectValid(oPlaceable))
{
if (sReposInterdit == sTag)
{
SendMessageToPC(oPC,sRepos_Interdit_animation);
AssignCommand(oPC, ClearAllActions());
return;
}
oPlaceable = GetNextObjectInArea(oZone5);
}



if (GetLastRestEventType()== REST_EVENTTYPE_REST_STARTED)
{
PlayVoiceChat(VOICE_CHAT_REST, oPC);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_DUR_BLACKOUT), oTarget);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_IMP_SLEEP), oTarget);
}

if (GetLastRestEventType()== REST_EVENTTYPE_REST_CANCELLED)
{
ClearDarkness(oTarget);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectSlow(), oTarget, 30.0f);
SendMessageToPC(oPC, "Le reveil suite a un repos interrompu est toujours tres difficile");
}

if (GetLastRestEventType()== REST_EVENTTYPE_REST_FINISHED)
{
ClearDarkness(oTarget);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectSlow(), oTarget, 10.0f);
SendMessageToPC(oPC, "S'arracher des bras de Sylune vous demande encore quelques instants");
}
}
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.

_________________
M'enfous si les pjs tuent mes monstres,.... j'en ai plein (paroles d'un DM d'expérience Wink )
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Zanon-blood
Acolyte
Inscrit le: 25 Jan 2005
Messages: 38
Répondre en citant
Posté le : 26/02/2005 06:41:45 Sujet du message :

merci a toi pour ta reponce mait en faite se que je veut c'est pas un autre scripte je sait je suis casse couille lol mait c'est me combinner mon scripte car moi j'ait essayer mait le blind ne foctionne pas on voit toujour.Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Mars
Seigneur
Inscrit le: 31 Mar 2004
Messages: 199
Répondre en citant
Posté le : 26/02/2005 13:16:57 Sujet du message :

Si tu pouvais mettre des balise [ code=php][ /code] (sans les espaces) pour rendre ton code plus clair Very Happy

Pour le moment ça ne donne pas envie de regarder:oops:
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Zanon-blood
Acolyte
Inscrit le: 25 Jan 2005
Messages: 38
Répondre en citant
Posté le : 27/02/2005 08:39:07 Sujet du message :

allor voila sa c'est le scripte naturelle

NWScript :
////////////////////////////// ///////////////////
//Pas de repos sans nourriture//////////////////
//script du Troubadour//////////////////// /////
////////////////////////////// //////////////////
//Mode d'emploi : placer ce script dans le "OnRest" du module"//
//Creer un ou plusieurs objets non stackable portant le tag "BOUFFE"//

//Ce qui suit est une nouvelle fonction, elle n'est pas de moi//
//Elle cherche un item donne dans l'inventaire du PJ//

object CheckInventoryForItem(object oPC, string sItemTag)
{
  object oItem = GetFirstItemInInventory (oPC);
  while (oItem != OBJECT_INVALID)
  {
    if (GetTag(oItem) == sItemTag)
      return oItem;
    oItem = GetNextItemInInventory (oPC);
  }
  return OBJECT_INVALID;
}


//Voici le script OnRest proprement dit//

void main()
{

  string sItemTag = "BOUFFE";
  object oPC = GetLastPCRested();
  object oItemRequis = CheckInventoryForItem(oPC, sItemTag);

//Lorsque le joueur click sur "se reposer" le script verifie la presence de l'item "bouffe"//
//S'il n'y en a pas le repos est annule et un message envoye au joueur//
    if (GetLastRestEventType() == REST_EVENTTYPE_REST_STARTED)
      {
      if (GetItemPossessedBy(oPC,"BOUFFE") == OBJECT_INVALID)
        {
        SendMessageToPC (oPC, "Impossible de vous reposer avec cette faim qui vous tenaille...");
        AssignCommand (oPC,ClearAllActions());
        }
//si l'item "bouffe" est present le repos est lance et un seul item de ce type detruit//
        else
        {
        DestroyObject(oItemRequis, 0.0);
      }

moi je veut rajouter sa sur mon scripte

    eEff=GetNextEffect(); //chercher l'effet suivant
      (
effect eEff=GetFirstEffect();
while (GetIsEffectValid(eEff)) //Tant qu'on trouve un effet valide
  )
    if (GetEffectType(eEff)==EFFECT_TYPE_BLINDNESS) // On teste s'il s'agit d'un effet de type Blindness
    (
      //C'est le cas, on le le supprime
      RemoveEffect(oPC, eEff);
    )
    eEff=GetNextEffect(); //chercher l'effet suivant
  (
/* warning: 2 unclosed block {} */
/* warning: 1 unclosed parenthesis () */
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.


mait je comprent pas le scripte se compile mait il a pas de noir autour du perso ou j'ait fait l'ereure aide moi Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
omega
Grand Chevalier
Inscrit le: 09 Jan 2004
Messages: 116
Répondre en citant
Posté le : 27/02/2005 11:08:20 Sujet du message :

Question tres bete :

puisque on sait que le script du repos est le script : x2_mod_def_rest, pourquoi, plutot que de faire un scritp de deux kilometre de long, faire un nouveau script dans le OnPlayerRest du genre :

(desole, je m'y connais pas assez en script, mais d'autre font se charger de traduire en language script ce que je vais ecrire Razz)


Citation :
Si on a le bon objet, lancer le scritp x2_mod_def_rest,
sinon, dire au joueur, que il lui manque un objet !
Ce script doit faire 5 ligne, et ca evite un pavé de deux km pratiquement icomprehensible pour les neophites.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Zanon-blood
Acolyte
Inscrit le: 25 Jan 2005
Messages: 38
Répondre en citant
Posté le : 01/03/2005 06:38:22 Sujet du message :

non mait c'est bon en faite pas vraiment besoin de se scripte je remerci toutes les personne qui mon aide

MERCI:D
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 01/03/2005 12:08:10 Sujet du message :

Déjà dans la partie de script que tu veux rajouter, tu as systématiquement mis des parenthèses au lieu de mettre des accolades, ça ne risque pas de compiler.
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Zanon-blood
Acolyte
Inscrit le: 25 Jan 2005
Messages: 38
Répondre en citant
Posté le : 02/03/2005 09:37:28 Sujet du message :

je te remerci pour ta proposistion mait Very Happy

dit moi peut tu juste me faire la petite partie du scripte que je veut rajoute pour que je voit car la je suis plus. et j'arrive a faire des scripte mait la je croiyer etre a la hauteur lol ben je croit que non enfin si tu a le temp ausi non laisse tomber Confused
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Luthor
Novice
Inscrit le: 12 Juil 2005
Messages: 12
Localisation: Liffenburg
Répondre en citant
Posté le : 01/08/2005 16:49:48 Sujet du message :

Escuser moi et si on veu qu'il utilise un Charge par repos

Example un pomme avec 3charges comment on fait
_________________
Module en cour de creation:
L'Ombre et le Phénix: 010 %

Je suis pas un scripteur.
envoyer moi un message si vous cherchez des idées de scénarios pour Modules ou tout ce qui est Folklore
ou imagination.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Elandil2
Chevalier
Inscrit le: 14 Fév 2005
Messages: 97
Localisation: sur mon ordi loir-et-cher
Répondre en citant
Posté le : 14/08/2005 18:14:06 Sujet du message :

Il suffit de rajouter une variable sur ta pomme égale a trois et a chaque repos elle déscend de un une fois a zéro, la pomme est détruite ...
_________________
Rejoignez nous sur notre forum
Aelor, module en construction
Vive Gimli

 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger 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 57.638ms