V1.1  ÈjEalia_dialogueÙÐ¥/********************************************************************************/ /* */ /* Script pour Shamael */ /* */ /* Fonctions pour les Dialogues */ /* */ /* */ /* Ensemble de fonction pour tester les relations avec le PNJ avec qui il parle */ /* int AliaDialogueSocialNeutre() : retourne TRUE si neutre avec le PNJ */ /* int AliaDialogueSocialAmi() : retourne TRUE si ami avec le PNJ */ /* int AliaDialogueSocialEnnemi() : retourne TRUE si ennemi avec le PNJ */ /* void AliaDialogueSocialChangeNeutre() : change la relations en neutre */ /* void AliaDialogueSocialChangeAmi() : change la relations en ami */ /* void AliaDialogueSocialChangeEnnemi() : change la relations en ennemi */ /* */ /* */ /* Ensemble de fonction pour tester l'experience des joueur pendant une */ /* discution avec un PNJ */ /* int AliaDialogueNiveauXP(int iXP) : retourne TRUE si le joueur a moin */ /* d'XP que demander */ /* int AliaDialogueNiveauNiv(int iNiv) : retourne TRUE si le joueur est de */ /* niveau inferieur a celui demander */ /* */ /* */ /* Ensemble de fonction pour la gestion d'objets de quetes dans l'inventaire du */ /* PJ pendant un dialogue avec un PNJ */ /* int AliaDialogueItemTest(string sItemTag) : verifie que le joueur et */ /* bien l'item et retourne TRUE si il est la */ /* void AliaDialogueItemDetruit(string sItemTag) : detruit l'item que le */ /* joueur a sur lui */ /* */ /* */ /* Ensemble de fonction pour recompencer le joueur */ /* void AliaDialogueRecompenceOr(int iNbOr) : donne iNbOr or au joueur */ /* void AliaDialogueRecompenceXP(int iNbXP) : donne iNbXP XP au joueur */ /* void AliaDialogueRecompenceItem(string sTagItem) : donne l'objet de Tag */ /* sTagItem au joueur */ /* */ /* */ /* fonction pour teleporter le joueur a un WayPoint */ /* void AliaDialogueTeleporte(string sTagWP) */ /* */ /* */ /* fonction pour lancer le PNJ au combat sur le Joueur */ /* void AliaDialogueAttaque() : attention ca coupe le dialogue */ /* */ /* Alia Atreides(c)11/2006 */ /********************************************************************************/ /********************************************************************************/ // les Includes #include "ginc_actions" /********************************************************************************/ // Variable local utile pour les differente fonctions object oPlayer = GetPCSpeaker(); object oSelf = OBJECT_SELF; string sTagSelf = GetTag(oSelf); /********************************************************************************/ /* explication sur la variable iLocal : */ /* si a 0 (default) : relaction neutre */ /* si a 1 : relation ami */ /* si a -1 : relation ennemi */ /********************************************************************************/ int iLocal = GetLocalInt(oPlayer,sTagSelf); /********************************************************************************/ // Declaration des Fonctions dans "Conditions" int AliaDialogueSocialNeutre() ; int AliaDialogueSocialAmi() ; int AliaDialogueSocialEnnemi() ; int AliaDialogueNiveauXP(int iXP) ; int AliaDialogueNiveauNiv(int iNiv) ; int AliaDialogueItemTest(string sItemTag) ; /********************************************************************************/ // Declaration des Fonctions dans "Action" void AliaDialogueSocialChangeNeutre() ; void AliaDialogueSocialChangeAmi() ; void AliaDialogueSocialChangeEnnemi() ; void AliaDialogueItemDetruit(string sItemTag) ; void AliaDialogueRecompenceOr(int iNbOr) ; void AliaDialogueRecompenceXP(int iNbXP) ; void AliaDialogueRecompenceItem(string sTagItem) ; void AliaDialogueTeleporte(string sTagWP) ; void AliaDialogueAttaque() ; /********************************************************************************/ // fonction de teste int AliaDialogueSocialNeutre() { if(iLocal == 0) return TRUE ; return FALSE ; } int AliaDialogueSocialAmi() { if(iLocal == 1) return TRUE ; return FALSE ; } int AliaDialogueSocialEnnemi() { if(iLocal == -1) return TRUE ; return FALSE ; } int AliaDialogueNiveauXP(int iXP) { if(GetXP(oPlayer) < iXP) return TRUE ; return FALSE ; } int AliaDialogueNiveauNiv(int iNiv) { if(GetTotalLevels(oPlayer, 0) < iNiv) return TRUE ; return FALSE ; } int AliaDialogueItemTest(string sItemTag) { object oItem = GetItemPossessedBy(oPlayer, sItemTag) ; if(oItem != OBJECT_INVALID) return TRUE ; return FALSE ; } /********************************************************************************/ // fonction de changement de relation void AliaDialogueSocialChangeNeutre() { SetLocalInt(oPlayer,sTagSelf,0); } void AliaDialogueSocialChangeAmi() { SetLocalInt(oPlayer,sTagSelf,1); } void AliaDialogueSocialChangeEnnemi() { SetLocalInt(oPlayer,sTagSelf,-1); } /********************************************************************************/ // fonction de destruction de l'item void AliaDialogueItemDetruit(string sItemTag) { object oItem = GetItemPossessedBy(oPlayer, sItemTag) ; DestroyObject(oItem) ; } /********************************************************************************/ // fonction de recompence au joueur void AliaDialogueRecompenceOr(int iNbOr) { GiveGoldToCreature(oPlayer, iNbOr) ; } void AliaDialogueRecompenceXP(int iNbXP) { SetXP(oPlayer, iNbXP) ; } void AliaDialogueRecompenceItem(string sTagItem) { CreateItemOnObject(sTagItem, oPlayer, 1) ; } /********************************************************************************/ // fonction de teleportation du joueur void AliaDialogueTeleporte(string sTagWP) { object oWayPoint = GetObjectByTag(sTagWP) ; AssignCommand(oPlayer, ActionJumpToObject(oWayPoint)) ; } /********************************************************************************/ // fonction pour lancer l'attaque du PNJ sur le joueur void AliaDialogueAttaque() { StandardAttack(oSelf, oPlayer); }