La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 18/05/2024 05:48:14


  Page 2 sur 2 ¤ Aller à la page Précédente  1, 2

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Noon
Héros
Inscrit le: 15 Jan 2005
Messages: 272
Localisation: Entre Vannes et les RO
Répondre en citant
Posté le : 29/03/2006 16:57:06 Sujet du message :

Essaye de rajouter
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.
juste après le ActionAttack.

Il faut au tout debut (avant le void main)
NWScript :
#include "NW_I0_GENERIC"
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.
.
_________________
Beshaba me protège, Tymora guide mes tirs.

The Cake is a lie !

Mes modules NwN2:De Vieilles Rencontres! et De Vieilles Rencontres2
Double Avenir sur le Nwvault
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Nemo700
Chevalier
Inscrit le: 18 Mar 2006
Messages: 90
Répondre en citant
Posté le : 29/03/2006 18:14:24 Sujet du message :

je viens d'essayer..ça n'a rien changé.. snif snif
 
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 : 29/03/2006 20:32:02 Sujet du message :

Bon, je suis arrivé à quelque chose de convenable.
Seulement j'ai tellement bidouillé dans tous les coins,
que je ne sais comment t'expliquer tout ça proprement...
Aussi, je te file directement mon module de test,
histoire que tu vois à quoi ça ressemble :
[http]

Ne fait pas gaffe au fantome au début,
c'est parce que j'ai repris un autre module,
il ne t'intéresse pas ici ^^

Par contre il y a de l'or par terre, prend le,
tu en aura besoin pour embaucher Daelan derrière la porte! mdr!

Prépare toi à combattre et pousse la seconde porte
(prend un perso costaud, lol! J'ai mis un bon golem de fer en ennemi -,-")

Tu verra par toi même qu'il y a encore quelques défaut :
tout d'abord l'effet de paralysie bloque bien le Henchman sur place,
mais si l'ennemie s'approche trop pres, il pourra quand même l'attaquer.

Ensuite, il y a encore un léger cafouillage dans l'ordre des actions je crois,
mais j'en suis pas sûr...

Cela dit, l'ossature est là, tu pourra te baser dessus pour la suite. Very Happy
_________________
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!
Dernière édition par kiky.le.magnifique le 30/03/2006 03:41:19; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Nemo700
Chevalier
Inscrit le: 18 Mar 2006
Messages: 90
Répondre en citant
Posté le : 29/03/2006 21:23:40 Sujet du message :

bon alors déja merci du temps que tu prends pour m'aider, je viens de tester et c'est vrai que ça marche... sauf que j'ai ré-essayé plusieurs fois et qu'en fait dans ton mod Daelan tue le Golem avec un sort Embarassed

Et moi j'ai besoin que le hench dans mon mod il achève le boss avec un coup de l'épée magique autour de la quelle la fin de l'aventure à tourné. Du coup je ne sais pas (encore) si tu as trouvé LA solution à mon problème. Je vais mettre le nez dans le toolset et les yeux dans ton module (et rien de plus hein Wink ) en espérant y trouver la réponse à toutes mes questions.

EDIT : Ah bah oui c'est confirmé :
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.

Et du coup c'est vrai que ça marche mais ça ne règle pas mon problème Crying or Very sad

EDIT 2 : WOOHOO !! j'ai remis un ActionAttack, j'ai allongé les timers avant la mise à mort du golem et... ça marche !! milles fois merci !!

C'est top !

bon maintenant il me reste à comparer tes scripts et ceux de -MeteZ- et réintégrer les modifs que moi j'avais fait (effets visuels, phrases affichées et timings) pour avoir tout résolu (je croise les doigts)

EDIT 3 : ouille tu as zappé toute la partie ou le hench ramasse l'épée magique... j'ai un peu de boulot pour remettre tous dans l'ordre en espérant que ça ne fasse pas tout coincer. Et puis je dois mettre la partie commande qui immobilse le hench à part car elle doit intervenir dans un mini dialogue juste avant où le joueur dit au hench que le boss ne peut etre touché que par l'épée magique et que donc il reste en retrait. Je tenterai de faire ça demain et je te dirai
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Nemo700
Chevalier
Inscrit le: 18 Mar 2006
Messages: 90
Répondre en citant
Posté le : 30/03/2006 09:59:41 Sujet du message :

aaargh je m'arrache les cheveux Confused

bon j'ai réessayé de remettre la partie ou le hench vient ramasser l'épée et "l'équipe" mais pour l'instant j'ai des problèmes de timing.. enfin ça je devrais pouvoir en venir à bout (j'espère)

par contre le truc que je n'arrive pas à comprendre :
ta formule de calcul des points de vie semble ne pas fonctionner car le combat s'arrête très vite (le boss est "à peine blessé")

j'ai essayé de remettre celle de -MeteZ- (avec GetPercentageHPLoss) et là c'est incompréhensible : je copie la ligne exactement identique et pourtant il me dit qu'il manque un right bracket.. je comprends rien du tout tout est pareil entre les 2 scripts (le sien et le tien avec cette ligne modifiée) et pourtant le sien compile avec 0 erreur et le tiens refuse une fois cette modif effectuée

je commence à croire que je suis maudit
 
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 : 30/03/2006 12:15:45 Sujet du message :

Lol! Ha oui, j'avais oublié ce détail :
le calcul fonctionne très bien j'ai juste mis 90% au lieu de 10%,
afin de gagner du temps lors de mes tests ^^
(le combat dur beaucoup moins longtemps, ça c'est sûr! Ptdr!)

Pour remettre ça comme il faut, ouvre le script du roundEnd,
et change :
if(GetCurrentHitPoints(oBoss) < (GetMaxHitPoints(oBoss)*90)/100)
par :
if(GetCurrentHitPoints(oBoss) < (GetMaxHitPoints(oBoss)*10)/100)

Bon courage pour la suite 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
 
Nemo700
Chevalier
Inscrit le: 18 Mar 2006
Messages: 90
Répondre en citant
Posté le : 31/03/2006 10:19:19 Sujet du message :

ah bah oui j'aurais du y penser.. merci pour ça, le problème est réglé.

Par contre je n'arrive pas à venir à bout de la question du hench qui ramasse l'épée...

Bon déja j'ai mis un trigger un peu avant d'arriver à proximité du boss, ça décleche un dialogue, le joueur dit que puisque seul l'épée qu'il porte peut blesser le boss, le hench devra rester en retrait (et là j'active le EffectCutsceneImmobilize)

Ensuite par contre j'ai rencontré plusieurs difficultées allant de la non prise en compte de la partie concernant l'épée, au boss qui se remet à attaquer le joueur, en passant par le hench qui ramasse l'épée sur le point ou il était bloqué avant de se rapprocher du joueur.

Je vous donne le script en l'état ou il en est rendu ce matin, j'ai peut être passé trop de temps à essayer de comprendre et si ça se trouve un truc évident m'échappe :

NWScript :
#include "nw_i0_plot"
#include "nw_i0_spells"

void main()
{
object oJoueur = GetLocalObject(OBJECT_SELF, "ENNEMI_DU_BOSS");
object oHenchman = GetLocalObject(oJoueur, "ASSOCIE");
// D'apres l'ancien script, on a deja verifier si oJoueur est bien PJ
object oBoss = OBJECT_SELF;
effect eVis= EffectVisualEffect (VFX_FNF_WAIL_O_BANSHEES);

if(GetIsDead(oJoueur) == TRUE)
{
// Si le joueur est mort, le boss reprend sa vie
SetLocalInt(OBJECT_SELF, "PERCEPTION", 0); // la perception de st_aboss_percept revien a zero au cas ou ...
RemoveEffects(oBoss);
ActionCastSpellAtObject(SPELL_RESTORATION, oBoss,METAMAGIC_ANY, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, TRUE);
}

if(GetIsDead(oHenchman) == TRUE)
{
SetLocalInt(OBJECT_SELF, "PERCEPTION", 0); // la perception de st_aboss_percept revien a zero au cas ou ...
}

    if(GetCurrentHitPoints(oBoss)<(GetMaxHitPoints(oBoss)*10)/100) // si le boss n'a plus que 10% de sa vie
    {
        if(GetLocalInt(OBJECT_SELF, "COMBAT_TERMINE") != 1)
        {
    SetLocalInt(OBJECT_SELF, "COMBAT_TERMINE", 1); // le combat est termine
    ClearAllActions(TRUE);
    AssignCommand(oJoueur, ClearAllActions(TRUE));
    AssignCommand(oHenchman, ClearAllActions(TRUE));
    //SurrenderToEnemies();  //marche pas?
    ChangeToStandardFaction(OBJECT_SELF, STANDARD_FACTION_COMMONER);
    SetCommandable(FALSE,oJoueur);
    ActionWait(1.0);
    //ActionSpeakString("Tu est a ma merci, meurt !");
    ActionWait(0.5);
    ActionCastFakeSpellAtObject(SPELL_FIRE_STORM, oJoueur, PROJECTILE_PATH_TYPE_DEFAULT); // Lance le sort
    DelayCommand(0.1, ApplyEffectToObject (DURATION_TYPE_TEMPORARY, eVis, OBJECT_SELF, 5.0));
    DelayCommand(3.2, AssignCommand(oJoueur, ActionPlayAnimation(ANIMATION_LOOPING_DEAD_BACK, 0.0, 14.0))); // Le joueur se retrouve a terre
    DelayCommand(3.7, FloatingTextStringOnCreature("", oJoueur, FALSE));
    DelayCommand(3.7, ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectCutsceneImmobilize(), oBoss));
    SetCommandable(TRUE,oJoueur);
        // c'est a ce moment que le henchman revient pour sauver le PJ
        if(GetLocalInt(oJoueur, "HENCHMAN_PRESENT") != 1) // Si le henchman n'est pas encore revenu
        {

        ActionDoCommand(RemoveSpecificEffect(EFFECT_TYPE_CUTSCENEIMMOBILIZE, oHenchman));
        DelayCommand(3.8, AddHenchman(oJoueur, oHenchman));
        DelayCommand(3.9, ActionDoCommand(RemoveSpecificEffect(EFFECT_TYPE_CUTSCENEIMMOBILIZE, oHenchman)));
        DelayCommand(4.0, AssignCommand(oHenchman, ActionMoveToObject(oJoueur, TRUE)) );
        DelayCommand(4.1, SetLocalInt(oJoueur, "HENCHMAN_PRESENT", 1));
        } // Break : if(GetLocalInt(oJoueur, "HENCHMAN_PRESENT") != 1)
        object oArme = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oJoueur); //larme du PJ
        if(oArme != OBJECT_INVALID)
        {
        DelayCommand(7.6, AssignCommand(oHenchman, ActionTakeItem(oArme, oJoueur))); // on retire l'arme du PJ "elle glisse"
        DelayCommand(7.8, AssignCommand(oHenchman, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 1.0, 2.0))); // le henchman se baisse pour ramasser lepee
        DelayCommand(7.9, FloatingTextStringOnCreature( "", oJoueur, FALSE));
        DelayCommand(8.6, AssignCommand(oHenchman, ActionEquipItem(oArme, INVENTORY_SLOT_RIGHTHAND)));
        }
    DelayCommand(9.6, AssignCommand(oHenchman, ActionSpeakString("")));
    DelayCommand(11.2, AssignCommand(oHenchman, ActionSpeakString(" ")));
    DelayCommand(11.6, AssignCommand(oHenchman, ActionAttack(oBoss))); // Le henchman attaque le boss
    DelayCommand(15.4, FloatingTextStringOnCreature("", oJoueur, FALSE));
    effect eDamage = EffectDamage(5000, DAMAGE_TYPE_NEGATIVE, DAMAGE_POWER_NORMAL); // 5000 de degats au boss = mort du boss
    // DelayCommand(12.2, ActionTakeItem(GetItemInSlot(I NVENTORY_SLOT_RIGHTHAND, oHenchman), oHenchman));
    // DelayCommand(9.4, ActionSpeakString("Aaaaaa h !"));
    DelayCommand(16.8, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oBoss, 0.5)); // On inflige eDamage

    // DelayCommand(18.0, AssignCommand(oJoueur, ActionJumpToObject(GetObjectBy Tag("enterfinalpool" ))));

        } // Break : if(GetLocalInt(OBJECT_SELF, "COMBAT_TERMINE") != 1)
    // Arret du combat : debut de la fin !
    } // Break : if(GetHitDice(oJoueur) &amp;lt; GetMaxHitPoints(oJoueur)/2)
} // Break : void main()
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.


Je me demande si le problème c'est pas par rapport aux boucles if et aux { } j'ai peut être pas inséré ça au bon endroit ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Nemo700
Chevalier
Inscrit le: 18 Mar 2006
Messages: 90
Répondre en citant
Posté le : 31/03/2006 15:31:31 Sujet du message :

sans rien changer au script mais en re jouant plusieurs fois la scene j'ai constaté que ça se passe très différement en fonction de la detection ou pas du boss par le hench (ou réciproquement)

du coup parfois le hench se rue au combat en ignorant le script sur l'épée à ramasser, d'autres fois il vient pas du tout,

et une fois ou j'ai "bidouillé" en lui faisant à nouveau "tenir la position" avant que le scripte lui fasse quitter le groupe, puis en le ré-engageant et en le faisant re-quitter l'équipe tout ça par les menus et avant que le script se déclenche et bien là pour la première fois la fin s'est passée à la perfection.

Cette dernière phrase est complètement tordue mais ma question serait plutôt de savoir si : en jouant sur la faction du hench et du boss à divers moments du script on pourrait éviter que leur agressivités mutuelles fasse ignorer le script ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Noon
Héros
Inscrit le: 15 Jan 2005
Messages: 272
Localisation: Entre Vannes et les RO
Répondre en citant
Posté le : 31/03/2006 16:05:27 Sujet du message :

Je ne sais pas si c'est ajoutable au script ci-dessus, mais peut-être qu'avec une condition pour que le hench n'attaque le boss que s'il a ramassé l'arme (variable ou verification de l'inventaire), le hench ne sauterait plus sur le boss immédiatement .
_________________
Beshaba me protège, Tymora guide mes tirs.

The Cake is a lie !

Mes modules NwN2:De Vieilles Rencontres! et De Vieilles Rencontres2
Double Avenir sur le Nwvault
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Nemo700
Chevalier
Inscrit le: 18 Mar 2006
Messages: 90
Répondre en citant
Posté le : 31/03/2006 17:04:49 Sujet du message :

ce serait une possibilité, mais je crains que ça ne "verouille" qu'un seul sens et que le boss lui attaque le hench s'il est trop prêt (et du coup zappe la suite des actions scriptées)

mais c'est peut être parcequ'elle sont dans une boucle if, ou que peut être que je pourrais geler le boss par un autre moyen ? j'ai essayé de lui mettre un immobilize comme au hench mais il a l'air de s'en moquer Confused
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Noon
Héros
Inscrit le: 15 Jan 2005
Messages: 272
Localisation: Entre Vannes et les RO
Répondre en citant
Posté le : 31/03/2006 19:01:39 Sujet du message :

Je ne me rappelle plus, le boss est censé attaquer le hench ou le PC pendant la scène (une fois qu'il est <10%de PV) ou attend-il simplement son coup fatal ?
Sinon dans ce cas si tu passes le boss en faction neutre par rapport au hench, voire au PC, pendant que ce dernier est à terre, ça devrait aller.
_________________
Beshaba me protège, Tymora guide mes tirs.

The Cake is a lie !

Mes modules NwN2:De Vieilles Rencontres! et De Vieilles Rencontres2
Double Avenir sur le Nwvault
 
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 : 01/04/2006 04:05:43 Sujet du message :


Noon a écrit :
Je ne me rappelle plus, le boss est censé attaquer le hench ou le PC pendant la scène (une fois qu'il est <10%de PV) ou attend-il simplement son coup fatal ?
Sinon dans ce cas si tu passes le boss en faction neutre par rapport au hench, voire au PC, pendant que ce dernier est à terre, ça devrait aller.
Heu... Sauf votre respect messieurs, c'est ce que j'avais fait, y'a un :
ChangeToStandardFaction(OBJECT_SELF, STANDARD_FACTION_COMMONER);
qui se balade dans le script, c'est pas normal qu'il continue d'attaquer. Surprised
_________________
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
 
Nemo700
Chevalier
Inscrit le: 18 Mar 2006
Messages: 90
Répondre en citant
Posté le : 01/04/2006 11:41:29 Sujet du message :

Tout à fait d'accord avec toi kiky.le.magnifique mais c'est pourtant bien ce qui se passe : il se remet souvent (pas à chaque fois) à ré-attaquer le joueur qui est à terre.

Concernant la distance entre le hench et le boss le problème c'est que si je suis trop près le hench se rue au combat et ne tiens pas compte du script et si je suis loin après quelques secondes de bagarre le hench se téléporte subitement à côté du joueur (alors que le hench ne fait à ce moment là plus partie du groupe)

La seule parade qui marche pour l'instant :
Quand le hench vient juste d'être immobilisé (sur le trigger) et avant qu'il soit exclu de l'équipe par le script OnPerception du boss, je lui donne la commande manuellement de "tenir la position" et là tout se passe à la perfection.

Pourquoi et comment ? J'en sais rien. Et le pire c'est que si je met une commande pour le faire passer automatiquement sur "tenir la position" dans le script (avant le RemoveHenchman) ça ne semble pas marcher

Je commence à désespérer d'y arriver un jour...
 
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 : 01/04/2006 14:35:33 Sujet du message :

Bon, j'ai tout refait en utilisant le Heartbeat au lieu du RoundEnd.
Le Heartbeat se lance toute les 6 secondes (je crois), quoi qu'il se passe,
alors que franchement le RoundEnd, j'ai l'impression qu'il se lance quand il veut! lol!
En fait, je n'utilise le Heartbeat que pour le calcul, ce qui fait un script plutôt léger,
ensuite je lance un autre script propre via la commande ExecuteScript.

Le HeartBeat :
NWScript :
void main()
{
object oJoueur = GetLocalObject(OBJECT_SELF, "ENNEMI_DU_BOSS");
object oHenchman = GetLocalObject(oJoueur, "ASSOCIE");
int iVieBoss = GetCurrentHitPoints(OBJECT_SELF);
int iViepour = ((GetMaxHitPoints(OBJECT_SELF)*50)/100);

if(iVieBoss <= iViepour)
{
// si le boss n'a plus que 50% de sa vie
if(GetLocalInt(OBJECT_SELF, "FIN") == 0)
{
ClearAllActions(TRUE);
AssignCommand(oJoueur, ClearAllActions(TRUE));
SetCommandable(FALSE,oJoueur);
AssignCommand(oHenchman, ClearAllActions(TRUE));
ActionSpeakString("Pouce!");
FloatingTextStringOnCreature("pouce!", GetFirstPC(), FALSE);
SurrenderToEnemies(); //marche pas?
ChangeToStandardFaction(OBJECT_SELF, STANDARD_FACTION_COMMONER);
SetLocalInt(OBJECT_SELF, "COMBAT_TERMINE", 1);
  SetCommandable(TRUE,oJoueur);
SetLocalInt(OBJECT_SELF, "FIN", 1);
ExecuteScript("final", OBJECT_SELF);
}
}
}
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.


Le script lancé (nommé "final") :
NWScript :
#include "nw_i0_spells"

void main()
{
FloatingTextStringOnCreature("C'est la fin!", GetFirstPC(), FALSE);
object oJoueur = GetLocalObject(OBJECT_SELF, "ENNEMI_DU_BOSS");
object oHenchman = GetLocalObject(oJoueur, "ASSOCIE");
object oBoss = OBJECT_SELF;
effect eVis = EffectVisualEffect(VFX_FNF_WAIL_O_BANSHEES);
string sArme = "tag2larme";
object oArme = GetItemPossessedBy(oJoueur, sArme);
string sResArme = GetResRef(oArme);

SetLocalString(oHenchman, "BossTag", GetTag(OBJECT_SELF));
AssignCommand(oJoueur, ClearAllActions(TRUE));
AssignCommand(oHenchman, ClearAllActions(TRUE));
SurrenderToEnemies(); //marche pas?
ChangeToStandardFaction(OBJECT_SELF, STANDARD_FACTION_DEFENDER);
ActionWait(1.0);
ActionSpeakString("Tu es a ma merci, meurt !");
ActionWait(0.5);
ActionCastFakeSpellAtObject(SPELL_FIRE_STORM, oJoueur, PROJECTILE_PATH_TYPE_DEFAULT); // Lance le sort
ActionDoCommand(ApplyEffectToObject (DURATION_TYPE_TEMPORARY, eVis, OBJECT_SELF, 5.0));
//ActionPutDownItem(GetItemPos sessedBy(oJoueur, sArme);
ActionDoCommand(AssignCommand(oJoueur, ActionPlayAnimation(ANIMATION_LOOPING_DEAD_BACK, 1.0, 14.0))); // Le joueur se retrouve a terre
ActionDoCommand(FloatingTextStringOnCreature("", oJoueur, FALSE));
ActionDoCommand(ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectCutsceneImmobilize(), oBoss));

//ActionDoCommand(AddHenchman( oJoueur, oHenchman));
ActionDoCommand(RemoveSpecificEffect(EFFECT_TYPE_CUTSCENEIMMOBILIZE, oHenchman));
SetLocalInt(oJoueur, "HENCHMAN_PRESENT", 1);
if (GetLocalObject(oJoueur, "ASSOCIE")!= OBJECT_INVALID) FloatingTextStringOnCreature(GetName(oHenchman)+" valid", GetFirstPC(), FALSE);
//ExecuteScript("fin_merc ", oHenchman);

AssignCommand(oHenchman, ActionSpeakString("Nooonnnn!!!!"));
AssignCommand(oHenchman, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oHenchman)));
AssignCommand(oHenchman, ActionMoveToObject(oJoueur, TRUE));
AssignCommand(oHenchman, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oHenchman)));
AssignCommand(oHenchman, ActionTakeItem(oArme, oJoueur));
AssignCommand(oHenchman, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 1.0, 2.0));
CreateItemOnObject(sResArme, oHenchman);
object oArme2 = GetItemPossessedBy(oHenchman, sArme);
AssignCommand(oHenchman, ActionWait(2.0));
if (oArme2 != OBJECT_INVALID) AssignCommand(oHenchman, ActionSpeakString("*lance un regard plein de rage*"));
AssignCommand(oHenchman, ActionEquipItem(oArme2, INVENTORY_SLOT_RIGHTHAND));
AssignCommand(oHenchman, ActionWait(2.0));
AssignCommand(oHenchman, ActionSpeakString(""));
ChangeToStandardFaction(OBJECT_SELF, STANDARD_FACTION_HOSTILE);
AssignCommand(oHenchman, ActionAttack(oBoss));
AssignCommand(oHenchman, ActionSpeakString(""));
effect eDamage = EffectDamage(5000, DAMAGE_TYPE_NEGATIVE, DAMAGE_POWER_NORMAL); // 5000 de degats au boss = mort du boss
DelayCommand(16.0, AssignCommand(oBoss, ActionSpeakString("Aaaaaah !")));
DelayCommand(16.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oBoss, 0.5)); // On inflige eDamage
DelayCommand(16.0, ActionDoCommand(AddHenchman(oJoueur, oHenchman)));
}
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.


Il est à noté que je ne joins le Hench qu'à la fin de l'anim,
car je crois que le script gérant cela fout la merde.
Dans mon script, j'ai désigné l'épée comme ayant pour tag "tag2larme",
veille bien à modifier, soit l'arme, soit le script, en conséquence.

Le combat se stop et plus personne n'attaque -> ok
Le hench accourt auprès de son maître -> ok
Le Hench se baisse pour prendre l'arme -> ok
L'arme est prise au joueur -> ok
Le Hench s'équipe de l'arme -> FATAL ERROR!

Là, y'a une cacahuète poilue dans l'potage.
Il semblerait que cette fichue épée disparaisse tout simplement,
et n'arrive jamais dans l'inventaire du Henchman...
J'ai même couplé avec un createItem mais c'est pas mieux!

Le Hench attaque le boss -> ok
Le boss meurt dans d'atroces soufrances -> ok
Le Hench est de nouveau associé au joueur -> ok
J'en ai marre et j'ai même pas de malabar -> ok


J'espère que ça t'aidera quand même, bon courage,
je pars en week end, je rejetterai un coup d'oeil Lundi ^^
_________________
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
 
Nemo700
Chevalier
Inscrit le: 18 Mar 2006
Messages: 90
Répondre en citant
Posté le : 01/04/2006 16:04:30 Sujet du message :

je te remercie sincèrement de tous tes efforts, et j'espère que tu reussiras à comprendre ce qui ne passe pas.

Malheureusement je dois avouer que là on est très loin au dessus de mon niveau de compréhension.

Je vais continuer de bidouiller avec ce que tu m'as fourni et essayer de contourner les difficultés avec mes maigres connaissances en script.

Je vais aussi continuer à tenter d'associer ton premier script avec une commande "stand ground" car c'est pour l'instant la seule manip qui ait permis à la scène de se dérouler normalement à l'écran (mais comme je l'ai dit pour l'instant uniquement en l'activant manuellement pendant le jeu)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Nemo700
Chevalier
Inscrit le: 18 Mar 2006
Messages: 90
Répondre en citant
Posté le : 02/04/2006 16:42:23 Sujet du message :

Ladies and gentlemen... (roulement de tambours)...

CA MARCHE !!! C'est top ! C'est top ! C'est top !

En jouant sur la position de départ du boss et en ajoutant la commande "stand ground" non plus dans le OnPerception du boss mais dans le trigger au sol 0.2, secondes après le "Immobilize" : ça passe !!

Un énorme MERCI principalement à -MeteZ- et kiky.le.magnifique pour leur travail sur le script principal et à tous ceux qui y sont allés de leurs conseils

Encore quelques retouches "cosmétiques" (rien de technique) et le mod sera fini.

Vraiment un grand merci
 
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 : 02/04/2006 18:55:54 Sujet du message :

J'ai pas trop compris pourquoi ça marchait pas, mais bon,
ce qui compte c'est que ça fonctionne finalement ^^
Content pour toi Wink 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
 
-MeteZ-
Seigneur
Inscrit le: 19 Mar 2006
Messages: 205
Localisation: Région Parisienne (95)
Répondre en citant
Posté le : 02/04/2006 19:11:49 Sujet du message :

Smile J'ai bien fait d'arreter de faire cette partie du script vu comment vous avez galéré. Hi hi en tout cas encore une victoire des canards.

Règle d'or du programmeur : (ouay j'en ait pleins des règles d'or moi Razz)
-Un code clair, compréhensif, théorique ne marche jamais.
-Un code bourriné, anarchique, bricolé de ci de là à plus de chances de fonctionner.
A plus de chances de fonctionner, ca veut pas dire qu'il fonctionnera. Alors que le code théorique qui ne fonctionne pas, lorsqu'on le montre aux autres, ils peuvent aider. Smile
_________________
"Ne dit pas affronter les ténèbres celui qui n'a jamais connu la tombée de la nuit."
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 2 sur 2 ¤ Aller à la page Précédente  1, 2


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 65.948ms