La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 22/11/2024 22:55:26
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
ballestolive Ecuyer Messages: 64 Localisation: A 35 KM Sud de Paris. |
Bonsoir à tous.
J'ai découvert ( par la fonction recherhce ) ce script dans la bibliothèque dans la section NWN1. Et j'arrive pas à le faire fonctionner en NWN2, je crois que c'est un problème de définition des variables oPC et Item, quelqu'un pourrait-il m'aider SVP ???? NWScript :
////////////////////////// //////////////////// //:: Created By: David "The Shadowlord" Corrales //:: Created On: August 20 2002 ////////////////////////// //////////////////// #include "NW_I0_GENERIC" //VARIABLES START - EDIT AT OWN PLEASURE string WARNING1 = ""; string WARNING2 = ""; string WARNING3 = "";//Move to Player string ATTACK_MSG = "";//Attack here string COMPLY_REPLY = "Bien, merci."; float WARN_DISTANCE = 100.0;//Distance in which to spot player float ANGER_DUR = 30.0; //Length of time (sec) that will remain angry at the pc //END OF VARIABLES void main() { object oPC; object item; oPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF); if(oPC != OBJECT_INVALID && (GetDistanceBetween(OBJECT_SELF,oPC) < WARN_DISTANCE) && GetObjectSeen(oPC) && !GetIsEnemy(oPC)) { if((item = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC))!=OBJECT_INVALID) { if(GetLocalObject(OBJECT_SELF,"LastOffender")==oPC) { if(GetLocalInt(OBJECT_SELF,"OffenseCount")==2) { SpeakString(ATTACK_MSG); SetIsTemporaryEnemy(oPC,OBJECT_SELF,TRUE,ANGER_DUR); ActionAttack(oPC); } else if(GetLocalInt(OBJECT_SELF,"OffenseCount")==1) { ActionMoveToObject(oPC,TRUE); SetLocalInt(OBJECT_SELF,"OffenseCount",2); SpeakString(WARNING3); } else { SetLocalInt(OBJECT_SELF,"OffenseCount",1); SpeakString(WARNING2); } } else { DeleteLocalInt(OBJECT_SELF,"OffenseCount"); SpeakString(WARNING1); SetLocalObject(OBJECT_SELF,"LastOffender",oPC); } } else { if( GetLocalObject(OBJECT_SELF,"LastOffender")!= OBJECT_INVALID) SpeakString(COMPLY_REPLY); DeleteLocalObject(OBJECT_SELF,"LastOffender"); DeleteLocalInt(OBJECT_SELF,"OffenseCount"); } } if(GetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY)) { if(TalentAdvancedBuff(40.0)) { SetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY, FALSE); return; } } if(GetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING)) { int nDay = FALSE; if(GetIsDay() || GetIsDawn()) { nDay = TRUE; } if(GetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT") != nDay) { if(nDay == TRUE) { SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", TRUE); } else { DeleteLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT"); } WalkWayPoints(); } } if(!GetHasEffect(EFFECT_TYPE_SLEEP)) { if(!GetIsPostOrWalking()) { if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget())) { if(!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN))) { if(!GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL) && !IsInConversation(OBJECT_SELF)) { if(GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS) || GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS_AVIAN)) { PlayMobileAmbientAnimations(); } else if(GetIsEncounterCreature() && !GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN))) { PlayMobileAmbientAnimations(); } else if(GetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS) && !GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN))) { PlayImmobileAmbientAnimations(); } } else { DetermineSpecialBehavior(); } } else { //DetermineCombatRound(); } } } } else { if(GetSpawnInCondition(NW_FLAG_SLEEPING_AT_NIGHT)) { effect eVis = EffectVisualEffect(VFX_IMP_SLEEP); if(d10() > 6) { ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF); } } } if(GetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT)) { SignalEvent(OBJECT_SELF, EventUserDefined(1001)); } } Merci pour vos réponses. _________________ Coordinateur du projet LanceDragon VF un module pour NWN2. [http] |
Revenir en haut | |
HeroineFantasy Acolyte Messages: 21 |
ton script appelle un autre script ou une bibliotheque (par la commande #include)
es-tu sur que ce second script est disponible sur ton module ? (peut etre besoin de l'adapter ou tout au moins le copier en un emplacement ou il serait "lisible" ) de plus, peut etre que ce script fera egalement appelle a un autre script ou une bibliotheque... c'est la premiere reponse que je vois, sinon faudrait que je decortique ton script, mais j'avoue que je n'ai pas la patience, et peut etre meme pas la connaissance necessaire a cela... |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
|
Revenir en haut | |
ballestolive Ecuyer Messages: 64 Localisation: A 35 KM Sud de Paris. |
Ha, j'ai oublier de vous le dire, mais c'est bon le script fonctionne fallais juste faire un compil de tous les scripts dans l'editeur.
Merci à tous. _________________ Coordinateur du projet LanceDragon VF un module pour NWN2. [http] |
Revenir en haut | |
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