Page 1 sur 1

[SCRIPT] Comment faire apparaître des ennemis sous conditions ?

Posté : mer. 02 nov. 2005, 17:01
par Pélagie
Hello
Comment puis-je faire apparaitre de nouveau ennemis prés de mon groupe s'ils attaquent un pnj particulier (comme les assassins qui se téléportent près d'Aran Linvail lorsqu'on attaque ce dernier après avoir accepté de se rallier à lui. Ces assassins qui vous détruisent en qq secondes pour éviter toute incohérence dans le jeu).

J'ai essayé de produire cet effet en introduisant la commande CreateCreature, et CreateCreatureObect dans le script AR (area), sans oublier de préciser le moment où ils doivent apparaitre à l'aide de la commande Global (numerotee), mais..... j'ai beau attaquer, les créatures n'apparaissent pas.

Maaaa que se passe t il ? Maaa qu'est ce qui se passe ? :snif:

Posté : mer. 02 nov. 2005, 17:51
par Angelus Crow
Hmm.. déjà, un petit (même un gros) bout de ton script pourrait aider à voir ce qu'il ne va pas ;) .

Ensuite, ton bout de script est-il bien rajouté à la zone en question ? As-tu essayé de mettre ce bout de script dans le le script de la victime ?

Sinon, une recherche avec Near Infinity de "Arkanis" dans les différents .bcs du jeu devrait pouvoir t'aider ^^ .

En cas de soucis, n'hésite pas à reposter j'aurais peut-être trouvé autre chose (et certainement approfondi ces pistes).

Posté : jeu. 03 nov. 2005, 00:47
par Isaya
Pour reprendre l'idée d'Angelus, j'ai suivi la piste Arkanis. En réalité, ce n'est pas à partir de la zone mais plutôt à partir des scripts de personnage que l'invocation d'Arkanis est réalisée. Je l'ai trouvé notamment dans MVALLY.BCS.
La commande utilisée est:
CreateCreatureObject("STDEATH",Player1,0,0,0)
En fait "STDEATH" est le nom du fichier CRE d'Arkanis, version tueur de perso principal (il existe aussi la version qui aide à combattre les vampires).

Pour provoquer l'apparition, il faudrait que tu utilises un principe d'identification d'attaque. C'est probablement pour ça qu'il est nécessaire d'utiliser un script de personnage plutôt qu'un script de zone (je ne pense pas qu'il soit possible d'identifier l'hostilité à partir d'autre chose qu'un personnage). Un perso peut facilement savoir si on lui est hostile (il y a un exemple de code dans le même script, en particulier via la condition AttackedBy([GOODCUTOFF],DEFAULT)).

Je n'ai pas compris ce que tu voulais dire par "préciser le moment ... avec Global()". Peux-tu présenter ton code, comme le suggérait Angelus ?

Posté : jeu. 03 nov. 2005, 18:58
par Pélagie
Merci pour ces conseils avises, et merci Isaya pour le travail d'investigation :fleur:
En fait j'ai reussi a produire l'effet desire en introduisant la commande CreateCreatureObject etc. dans le fichier dialogue. Mais en effet il serait certainement preferable de faire ca a partir dues scripts. Aussi je vais etudier les fichiers MVALLY et STDEATH des ce soir. Pour les Global, en fait je me suis juste un peu complique la vie, oublions. MERCI pour tout.

Autre question si vs voulez bien (question un peu niaise mais bon, on ose...lol): Ou puis-je trouver une explication des differences entre script overide, default script, general script, class script, etc, que l'on trouve dans les fichiers CRE. Jusque la je n'ai pas eu de problemes mais je les ai attribue un peu a l'aveuglette. Merci

Posté : jeu. 03 nov. 2005, 23:40
par Isaya
Pour une telle explication, une lecture de ce tutorial s'impose.
Les différents emplacements sont liés à une question de priorité d'exécution qui est décrite dans le tutorial, si je me souviens bien. Le mieux est souvent de prendre exemple sur ce qui est déjà fait dans le jeu et d'attribuer à chaque niveau de script le même genre de traitement que dans les exemples fournis par le jeu ou les mods.

Posté : sam. 05 nov. 2005, 12:43
par Angelus Crow
Merci Isaya, je cherchais ce tuto ^^ . Il me semblait aussi qu'il y avait une histoire de priorité, mais je n'en étais pas sur.

Malinconia, le problème c'est qu'en mettant cette commande dans un dialogue, c'est que justement, ben... ça se passe lors d'une réplique... Ce qui signifie dialogue obligatoire :/
En même temps, je ne connais pas ton idée, c'est peut-être voulu après tout. Mais ça s'écarte quand même un peu de ce que tu désirais dans le premier post :) .

Posté : lun. 07 nov. 2005, 16:14
par Pélagie
Voila un tutorial fort utile camarades!!!! :hein:
Merci bien.

Angelus, oui c est apres un dialogue que les vilaines creatures apparaissent :) . Un dialogue provoque par une attaque. A ce moment la d'infame necromaciens viennent pulveriser le groupe he he. C est juste histoire de preserver la logique du jeu. Je peux donc l'inserrer dans le dial ou dans le script, au choix.

Merci pour votre aide a tous les deux :fleur: