Page 1 sur 1

[SCRIPT] Comment créer une créature à 2 m au dessus et 1 m à droite d'un personnage ?

Posté : lun. 24 mai 2004, 20:54
par Anury
Bonjour, bonjour,

Je commence à me mettre au scripting pour BG2 et je me suis posé une question en faisant une petite CutScene.

En fait, ce que je veux savoir c'est si on peut donner les informations concernant une position a partir de notre position actuelle.

Un petit exemple ne fait pas de mal :
CreateCreature("TROLL",[X+30.Y+30],0)
ou encore :
MoveToPoint([X+15.Y+15])
Voilà !

Posté : mar. 25 mai 2004, 19:48
par Isaya
A à ma connaissance, le moteur de BG2 ne permet pas d'utiliser des variables. En particulier, je ne pense pas qu'il y ait un moyen de récupérer dans des variables la position courante. J'ai bien peur que tu sois obligé d'utiliser les valeurs absolues.
De toute façon, je n'ai pas le sentiment que ce soit très utile dans une scène : tu veux généralement que le personnage atteigne une certaine position, et c'est bien plus facile de déterminer la valeur exacte en utilisant la touche L (ou X, je ne sais plus) au point souhaité. A moins d'avoir un compas dans l'oeil pour savoir ce que représente un écart de 15 ou 30 à l'écran.

Posté : mer. 26 mai 2004, 08:18
par Anury
Hum, je vois. Mais le probleme c'est que la cute scene peut se passer sur n'importe quelle carte (petite, moyenne, grande ...) et à n'importe quel endroit de la carte. Et j'aimerais que la créature crée vienne vers moi. Donc si je peux pas utiliser les positions relatives, y a t-il une fonction qui fait se diriger une créature vers un membre du groupe ?

Posté : mer. 26 mai 2004, 20:20
par Isaya
Ce doit être possible. Je t'invite à regarder comment le jeu fait pour faire apparaître le mage qui vient récupérer le matériel de Drizzt. Il apparaît toujours à côté du perso principal, donc la méthode utilisée correspondra peut-être à ce que tu cherches.

Posté : jeu. 27 mai 2004, 23:42
par Anury
Je cherche, je cherche, mais je trouve pas le script (.BCS) qui correspond à ce passage :..: si quelqu'un a une idée, je suis preneur :p

Sinon je suis passé en coordonnées absolues, mais si je trouve quelquechose qui réponds à ma question, je reviendrais

Posté : ven. 28 mai 2004, 12:03
par Walar
Pour qu'un personnage apparaisse à côté de joueur principal.

Code : Tout sélectionner

IF
  CheckStatGT(Player1,14,LEVEL)
  AreaType(OUTDOOR)
  AreaType(CITY)
  CombatCounter(0)
  OR(2)
    GlobalLT("Chapter","GLOBAL",4)
    GlobalGT("Chapter","GLOBAL",5)
    Global("b#CreateLug","GLOBAL",0)
THEN
  RESPONSE #100
    SetGlobal("b#CreateLug","GLOBAL",1)
    CreateCreatureObjectOffset("b#knitlg",Player1,[0.-100])
END
C'est un extrait du script du composant Chevalier de Sombre Renom du mod Improved Battle. Par contre je crois que le "ObjetOffset" n'est pas nécessaire. ;)

Posté : ven. 28 mai 2004, 17:53
par Anury
ok, merci, je vais voir ce que ça donne.

Posté : dim. 03 avr. 2016, 01:24
par Freddy_Gwendo
La syntaxe de l'action CreateCreatureObjectOffset est assez simple :

Je crée GWCTMg04 à 100 pixels au dessus et à gauche de Player1 :

Code : Tout sélectionner

CreateCreatureObjectOffset("GWCTMg04",Player1,[-100.-100])
Je crée GWCTMg04 à 100 pixels au dessus de Player1 :

Code : Tout sélectionner

CreateCreatureObjectOffset("GWCTMg05",Player1,[0.-100])
Je crée GWCTMg04 à 100 pixels au dessus et à gauche de Player1 :

Code : Tout sélectionner

CreateCreatureObjectOffset("GWCTMg06",Player1,[100.-100])
Je crée GWCTMg04 à 100 pixels à gauche de Player1 :

Code : Tout sélectionner

CreateCreatureObjectOffset("GWAymar",Player1,[-100.0])
Je crée GWCTMg04 à 100 pixels à droite de Player1 :

Code : Tout sélectionner

CreateCreatureObjectOffset("GWCTAyma",Player1,[100.0])
Je crée GWCTMg04 à 100 pixels en bas et à gauche de Player1

Code : Tout sélectionner

CreateCreatureObjectOffset("GWCTPa14",Player1,[-100.100])
Je crée GWCTMg04 à 100 pixels sous Player1

Code : Tout sélectionner

CreateCreatureObjectOffset("GWCTMg11",Player1,[0.100])
Je crée GWCTMg04 à 100 pixels en bas et à droite de Player1

Code : Tout sélectionner

CreateCreatureObjectOffset("GWCTMgCj",Player1,[100.100])
Pour résumer, CreateCreatureObjectOffset créée une créature à une certaine distance de Player1 :

Code : Tout sélectionner

[color="#FFFF00"]CreateCreatureObjectOffset("créature à afficher",Player1,[position relative horizontale.position relative verticale])[/color]

Posté : dim. 29 mars 2020, 20:17
par Faust
Freddy_Gwendo a écrit :La syntaxe de l'action CreateCreatureObjectOffset est assez simple :

Je crée GWCTMg04 à 100 pixels au dessus et à gauche de Player1 :

Code : Tout sélectionner

CreateCreatureObjectOffset("GWCTMg04",Player1,[-100.-100])
Je crée GWCTMg04 à 100 pixels au dessus de Player1 :

Code : Tout sélectionner

CreateCreatureObjectOffset("GWCTMg05",Player1,[0.-100])
Je crée GWCTMg04 à 100 pixels au dessus et à gauche de Player1 :

Code : Tout sélectionner

CreateCreatureObjectOffset("GWCTMg06",Player1,[100.-100])
Je crée GWCTMg04 à 100 pixels à gauche de Player1 :

Code : Tout sélectionner

CreateCreatureObjectOffset("GWAymar",Player1,[-100.0])
Je crée GWCTMg04 à 100 pixels à droite de Player1 :

Code : Tout sélectionner

CreateCreatureObjectOffset("GWCTAyma",Player1,[100.0])
Je crée GWCTMg04 à 100 pixels en bas et à gauche de Player1

Code : Tout sélectionner

CreateCreatureObjectOffset("GWCTPa14",Player1,[-100.100])
Je crée GWCTMg04 à 100 pixels sous Player1

Code : Tout sélectionner

CreateCreatureObjectOffset("GWCTMg11",Player1,[0.100])
Je crée GWCTMg04 à 100 pixels en bas et à droite de Player1

Code : Tout sélectionner

CreateCreatureObjectOffset("GWCTMgCj",Player1,[100.100])
Pour résumer, CreateCreatureObjectOffset créée une créature à une certaine distance de Player1 :

Code : Tout sélectionner

[color=#ffff00]CreateCreatureObjectOffset("créature à afficher",Player1,[position relative horizontale.position relative verticale])[/color]
Je me demandais, existe t-il un moment de prendre en compte l'orientation du personnage? Pour faire apparaître systématiquement la créature invoquée en face de lui.