Page 1 sur 1

[SPL] Comment appeler un script à partir d'un sort ?

Posté : mar. 18 mai 2004, 18:48
par Cilyan
Bonjour à tous !

J'aimerai créer un sort qui exécute un script (les données sont trop complexes pour exécuter un simple EFF), mais je sais pas comment appeler un script à partir du sort.

Voilà, c'est tout ....

Posté : mer. 19 mai 2004, 20:09
par Isaya
Je ne suis sûr que ce soit réalisable. Certains utilisent une technique consistant à invoquer une créature invisible dont le script associé réalise ce que tu veux accomplir à partir de ton sort puis se détruit.

Posté : mer. 19 mai 2004, 20:25
par ferrumach
1)Conseil : inscrit toi sur les forums de la team bg ( en anglais)
2)Voici la réponse du tutorial de simdingo :
How can I link a script with an item?
There are several ways you can run a script from an item or spell, and the most appropriate one will depend on what you want to do.

1)The first method it to use the 'change AI script' effect on the user to have them run an appropriate script on themselves. You can then change the script back when required via the script itself. The problems with this are that having a character run the script on himself can potentially cause stuttering, and also that it can interfere with other modifications which assign scripts to characters.

2)The second way is to summon an invisible creature. For more information on this, see the Invisible Creature section. The only disadvantage of this is that creating large numbers of creatures can be problematic, so it may be inappropriate in some situations.

3)The final way is to use either DPLAYER2/3.BCS or BALDUR.BCS. The latter is usually preferable, since the DPLAYERs are deactivated with party AI; however, in some circumstances, it cannot be used. The appropriate blocks in the script can be activated from the item by setting a variable.
-La meilleure méthode est donc semble t'il celle indiquée par Isaya

Posté : mer. 26 mai 2004, 11:33
par Cilyan
Merci de vos réponses, je vais opter pour la créature invisible.
Mais je me suis rendu compte qu'aucun des scripts que j'ai ajouté sur mon personnage ne fonctionnent. (Override, Class ... Défaut, ni même .bs!)
Un copain m'a dit que chez lui ça ne marchais pas non plus sauf si le script existait déjà dans la chitin.key.
Or j'aimerai bien pouvoir en creer un nouveau pour la créature invisible.
Comment faire?

Posté : mer. 26 mai 2004, 20:32
par Isaya
Rien à voir avec le fichier Chitin.key, sinon aucun mod ne fonctionnerait.

Il faut que tu mettes le script sur la créature invisible, pas sur ton personnage. Du coup tu dois aussi adapter le script vu qu'il ne sera pas exécuté sur ton personnage, mais par la créature invisible.
Si ton personnage fait partie de l'équipe, tu n'as pas la possibilité de modifier de script du personnage, à part le .bs. Les autres sont indispensables pour un joueur membre du groupe.

Posté : ven. 28 mai 2004, 17:48
par Cilyan
Justement, le problème est que le fichier .bs ne marche pas ...
Il est vrai que je n(ai aps encore testé sur la créature invisible, mais le début de script que j'ai fait pour mon perso ne marche pas, même en .bs. Pourtant j'ai été très simple, un appel de HotKey(), et d'autres triggers (je me souviens plus desquels) assez simple, et un DisplayStringHead() pour vérifié qu'il a été executé ... RIEN, nada !

Si j'ai le temps (je suis sur autre chose en ce moment) j'essayerai directement sur une créature ... Mais si le .bs ne marche pas, je me demande si ce ne sera pas la même chose pour le .bcs de la créature ...

Merci, Isaya,

Posté : ven. 28 mai 2004, 21:17
par Isaya
Essaie le script le plus simple du monde sur la créature invisible. Un truc sans Hotkey() car il est possible que ça ne fonctionne que sur un personnage joueur.
Par exemple, essaie quelque chose du genre :

Code : Tout sélectionner

IF
  See(Player1)
  Global("PARLE","LOCALS",0)
THEN
  RESPONSE #100
    DisplayStrinHead(un numéro quelconque, dont tu es sûr)
    SetGlobal("PARLE","LOCALS",1)
END
A propos des fichiers .bs, le pièce à c**, c'est quand l'IA est désactivée dans le jeu (icône en bas à droite) car le script n'est pas pris en compte.

Posté : mar. 31 mai 2005, 19:10
par Akadis
Dans BG2, en utilisant cette technique de créature invisivle je rencontre 2 problèmes :
  • Etant donné que c'est mon PJ qui lance le sort donc invoque la créature elle est sous mon controle donc partiellement visible. J'utilise l'effect Invisibility avec de NE.
  • Je n'arrive pas a annuler les effets visuels de l'invocation.
Si quelqu'un a déjà utilisé cette méthode comment faut-il faire pour ne pas avoir ses problème ?

Posté : mar. 31 mai 2005, 22:01
par ferrumach
Je ne vais pas t'aider mais je te conseille peut etre.... de regarder le script de Kangaxx de tactics, il y a de mémoire un rat invulnérable près de la liche qui doit bien servir à quelque chose..., pareillement quelques adversaires difficiles dans les mods ont autour d'eux 1 rat invulnérable (?)

Mais c'est peut etre aussi un bug/erreur/joke des concepteurs ( ou moi qui me fait des idées :wink: )

Posté : mer. 01 juin 2005, 11:24
par Akadis
Il y a effectivement un rat (rat01.cre) qui jouent un rôle dans la liche des docks et le gnome illusionniste des docks de tactics mais il n'a pas de script ( mais 300 pv et 90 en résistance slashing/percing/crushing/missile :rigoler: ) Il sert à cibler le personnage de manière indirecte.

Code : Tout sélectionner

CreateCreatureObject("rat01",LastSeenBy(Myself),0,0,0) // Rat
...
Spell("rat01",WIZARD_ABI_DALZIMS_HORRID_WILTING)
C'est intéressant mais ça ne résout pas mon problème.

Posté : mer. 01 juin 2005, 20:22
par Isaya
Les effets d'invocation sont tout simplement dans le sort d'invocation lui-même. Par exemple, l'invocation de Deva (SPPR726) fait appel à un fichier EFF qui lui-même utilise l'effet Summon creature. Parmi les paramètres du fichier EFF, il y a un fichier VVC qui, si je ne me trompe pas, doit provoquer l'animation d'invocation. Creuse de ce côté-là ton sort d'invocation, tu devrais trouver l'animation.

Pour l'invisibilité, je ne peux pas te donner d'exemple. Je te renvoie vers ce tutorial sur les scripts qui évoque le sujet (notamment les exigences sur la créature). Je ne sais pas si c'est suffisant pour t'aider.
Fais en sorte que la créature soit neutre et non alliée, et ton problème d'invisibilité partielle disparaîtra peut-être.

Posté : jeu. 02 juin 2005, 10:17
par Akadis
J'ai déjà creusé dur coté du VVC : si on en définit aucun (Animation : None) il affiche l'effet par défaut de l'invocation : un sorte de nuage de fumée.
Pour l'invibilité j'ai déjà lu le tutorial de SimDing0 mais il n'évoque pas mon problème.
Si quelqu'un a un exemple (fichiers SPL, EFF et CRE) je suis prenueur qu'il m'envoye un MP pour que je lui donne mon email.

EDIT
Pour l'animation ca ne marchait pas à cause d'un bug de Near Infinity : Lorsqu'on extrait un fichier EFF summon creature, qu'on l'ouvre et qu'on l'enregistre SANS L'AVOIR MODIFIE, le nouveau fichier est différent de celui extrait.
En extrayant le fichier de Cespenar(BOTSMITH.EFF) qui est conjuré sans effet visuel et en neutre (pas allié). Puis en l'ouvrant avec un éditeur hexa dans lequel on change juste le nom du fichier CRE
Ca marche ! :happy: