Script pour enlever les corps dans une arène

Le langage des scripts.
Répondre
Avatar du membre
Lysandus
Traducteur chevronné
Traducteur chevronné
Messages : 482

Script pour enlever les corps dans une arène

Message par Lysandus »

Bonjour chers amis scripteurs, dans le cadre d'une traduction, un mod d'arène pour être plus précis, je me suis rendu compte d'un truc qui pouvait être fâcheux à la longue en restant là-bas dans l'arène. Je veux parler des corps qui en s'accumulant ferait ramer le jeu, j'ai donc pensé à un script pour faire disparaître les corps et l'auteur me dit qu'il n'arriverait pas à scripter le truc.

Je vais donc chercher le script de la Leveler tower car il y a une arène dedans avec un script qui enlève les corps pendant une explosion, je le trouve :pompom: , je l'ouvre pour voir à peu près comment cela se présente :surprise: , je vais mettre le script en question, je ne sais pas par contre si j'ai le droit de le faire mais WillieSea dit qu'il met ses ressources à disposition de tous mais uniquement les siennes pour les autres dont il s'est servis pour son mod il faut demander à leurs auteurs respectifs :
► Afficher le texte
Je triche en recopiant ce qui m'interesse car je ne veux pas transférer l'inventaire des PNJ dans un coffre donc je passe le " akTarget.RemoveAllItems(akTransferTo = LevelersArenaChestREF)" , ensuite le akTarget.Disable je ne sais pas s'il est indispensable mais le akTarget.Delete oui s'il sert vraiment à effacer le " target " , Bon de ce que j'ai ou crois avoir compris en parcourant ce script c'est qu'il faut dire au jeu que si en activant le levier le " target " est mort, il doit enlever tous les objets et effacer le " target ", est-ce que je me trompe ? Je vais vous mettre mon essai de script :
► Afficher le texte
Je me doute bien que ce n'est pas aussi simple car mon script n'est pas très grand par rapport au script de Williesea, d'abord j'aimerais pouvoir attacher ce script au bouton d'activation des combats de sorte que lorsqu'on appuie dessus, pour sortir de l'arène, le script se lance et enlève les corps en activant un effet magique ( une explosion par exemple) pour ne pas voir les corps disparaître par magie.

En écrivant ce message j'ai vu le "RegisterForUpdateGameTime()" qui fait que l'on peut effectuer une action tout les X intervalle d'heure de jeu ( mais la notre ou celle du jeu ? ), ne serait-il pas plus simple dans ce cas de faire un script qui nettoierais l'arène tous les X heures ?

En tout cas merci de m'avoir lu et si vous avez une solution ou un script tout fait sachez que je le prendrais avec plaisir et vous serez crédité pour votre travail sur le script.
claustro
Moddeur aspirant
Moddeur aspirant
Messages : 16

Re: [Question]Script pour enlever les corps dans une arène

Message par claustro »

Bonjour,

Sur oblivion on pouvait faire un reset de la cellule qui la rendait à son état d'origine.. Tu en trouveras plus ici https://www.creationkit.com/index.php?title=Cell_Reset
Avatar du membre
Gerauld
Confrère
Messages : 2439

Re: [Question]Script pour enlever les corps dans une arène

Message par Gerauld »

Faire un reset de la CELL est une solution un peu hard à mon avis car le joueur perdrait tout ce qui a été déposé et cela aurait pas mal de conséquences désastreuses à mon avis suivant ce que contient la CELL.

Une des nombreuses solutions à ton soucis serait de faire une version modifiée du script vanilla retirant les cadavres des persos du jeu et mettant leurs possessions dans des cercueils : WIDeadBodyCleanupScript.psc
C'est un script du type extends actor donc à placer sur un actor (la victime dans l'arêne).

Il suffit de virer la partie concernant le cercueil et ça devrait le faire. Juste une chose : les corps ne sont retirés que si le joueur n'est pas dans la CELL dans le script vanilla. Il est possible au pire de remplacer la condition is3Dloaded() sur une testant si le joueur regarde dans cette direction...

Sinon, si tu veux placer le script sur le bouton de ton arène, tu créé un script avec un event onactivate pour ne pas avoir à passer par un effet (pas besoin dans ce cas). Si tes combattants sont dans un reference alias il suffit d'agir dessus sinon il faudra détecter les cadavres pour les retirer un à un => pas pratique mais faisable.

On peut aussi utiliser une variable globale. Elle est à zéro et les scripts sur les combattants morts attendent son passage à 1 pour effacer le corps. Quand tu actionnes ton bouton, la variable globale passe à 1, faisant disparaitre les cadavres.

Le mieux, c'est d'utiliser une quête pour chaque type de combat de l'arêne, associer un referencealias à chaque combattant et de gérer les vagues les unes après les autres. Il est possible bien sûr de réutiliser ces quêtes pour faire plusieurs fois le même genre de combat.
Pour mieux comprendre ce dont je parle, tu ouvres le CK, tu vas dans les quêtes et tu tapes "arena" dans le filtre en haut à gauche. Il y a plusieurs quêtes vanilla prêtes pour une arène qui n'a jamais été ajoutée... Il suffit de t'inspirer du fonctionnement pour faire un truc à ta sauce.

En clair, il y a une multitude de solutions qui dépendent principalement de la manière dont sont ajoutés et gérés les combattants de ton arène.
Avatar du membre
Lysandus
Traducteur chevronné
Traducteur chevronné
Messages : 482

Re: [Question]Script pour enlever les corps dans une arène

Message par Lysandus »

Je vous remercie de vos réponse mais l'auteur du mod m'a dit qu'il avait trouvé quelqu'un qui pourrais l'aider, enfin d'après ce que j'ai compris car le mec veux lui faire des quête liées à cette arène, donc s'il est capable de scripter des quêtes il devrait sans doute pouvoir faire cela.

En tout cas un truc est sûr avec les scripts, c'est qu'hier soir et ce matin je me suis tellement documenté sur eux que j'ai l'impréssion de rien connaitre tellement tout se mélange :grimace: , enfin pas tout mais c'est surtout pour les "property", "object reference" et tout ce que CKPE complète pas tout seul, enfin je pense que cela doit être comme tout, il faut bien se documenter et expérimenter pour pouvoir arriver à un bon niveau de maitrise.

En tout cas je vous tire mon chapeau, même si en ce moment c'est plus bonnet, amis scripteurs.
Avatar du membre
Lucead
Moddeur aspirant
Moddeur aspirant
Messages : 286

Re: [Question]Script pour enlever les corps dans une arène

Message par Lucead »

Hors-sujet
Lysandus a écrit :[...]tout ce que CKPE complète pas tout seul[...]
De part ton expérience, tes éventuels retours m'intéressent sur ce point-là. Quelles sont ces choses qui te manquent ? J'en prendrai ainsi note pour la prochaine version :top:
Tu peux bien sûr me répondre par MP pour éviter de polluer le topic, ou bien sur le topic dédié à CKPE : cela ne m'importe peu.
Merci à toi donc !
Sinon, je n'ai rien à rajouter concernant ton problème (de toute façon, que peut-on rajouter après un passage de Super Ours :maitre: ). A l'époque, pour l'un de mes scripts (qu'il faudrait que je reprenne), j'avais utilisé la méthode du script que tu présentes : cela marche bien, mais ce n'est pas si simple à mettre en place pour que ce soit vraiment efficace.
Enfin, si tu n'as plus besoin de t'embêter avec les scripts, tant mieux pour toi ^^
Répondre

Retourner vers « Entraide sur les scripts »