Page 1 sur 1

[SCRIPT] Comment faire de son ennemi un prisonnier transportable ?

Posté : mar. 15 juil. 2014, 21:01
par Cocrane
Pendant certains combats, j'ai besoin que
1-le Charname puisse décider au moment d'achever son ennemis de le tuer ou de l’épargner pour avoir un prisonnier.
1-A c'est l’ennemi qui demandera sa clémence.
1-B c'est contre sa volonté, l’ennemi est assommé.

2- ce prisonnier deviendra un objet de l'équipement du personnage. Objet pouvant faire réapparaitre le prisonnier en tant que créature à l'écran inversement.


Voici mes idées sur la partie technique
1-A Je suppose l'on peut jouer sur le statut "mourant du personnage", pour lancer un dialogue lié à la créature.
Soit le Charname l'épargne et le combat s'arrête. Suite au choix dans le dialogue, l'ennemi disparait de l'écran et devient un objet 'personne' dans l'équipement du Charname.
Soit le Charname refuse et l’ennemi meurt.

1-B L'ennemi s'écroule , il est encore en vie (comme les Troll).
Soit le Charname porte le dernier coup pour l'achever.
Soit il fouille dans son équipement. Si il prend l'objet 'personne', l'ennemi disparait de l'écran, il est fait prisonnier.

2-L'objet 'personne' a une propriété activable comme les objets magiques. Cette propriété le fait disparaitre de l'équipement et apparaitre à l'écran.
Un dialogue est possible avec le personnage dans lequel, on peut assommer à nouveau le prisonnier.

Qu'en pensez-vous? Quelles sont vos idées?

Cocrane

Posté : mar. 15 juil. 2014, 21:39
par deratiseur
Technique :
Tu mets sur le personnage un objet (non dropable, non "volable)" qui fait effet "HP: Minimum Limit [208]" calé à 1 (1 pv minimum, ne peut pas tomber en dessous), ceci afin de t'assurer qu'il ne soit pas tué avant que ne se déclenche le dialogue.

Tu lui ajoute un script qui fait :

Code : Tout sélectionner

IF
    !StateCheck(Myself,STATE_HELPLESS)[I] (il ne le fait pas s'il est indisposé)[/I]
    HasItem("nom de code de ton objet",myself) [I](il ne le fait que s'il porte l'objet qui le limite à un pv maximum)[/I]
    See(Nearestenemyof(Myself))[I] (il ne le fait pas s'il n'a personne à qui parler)[/I]
    HPLT(Myself,10)[I] (il le fait s'il à moins de 10 pvs - il est donc agonisant mais ne peux toujours pas mourir)[/I]
THEN
    RESPONSE #100
        Dialogue ([PC)] [U][B]ou[/B][/U] Dialogue (LastAttackerOf(Myself)) [I](pour déclencher le dialogue)[/I]
        DestroyItem("nom de code de ton objet") [I](pour que l'objet ne se voit plus si on l’engage dans l'équipe, pour qu'il puisse mourir si on réengage le combat et pour que le script ne tourne pas en boucle)[/I]
    END

Posté : ven. 18 juil. 2014, 18:50
par Cocrane
Merci Dérat pour ton retour.

Je vais tester ton code et voir si ça colle bien à mon besoin. Je te dirai.

Je compte attaquer bientôt mes premières lignes de modding.

Cocrane