Page 1 sur 1

[WeiDU] Commande REPLACE_BCS_BLOCK

Posté : lun. 03 déc. 2018, 19:40
par DrAzTiK
J'utilise la commande REPLACE_BCS_BLOCK mais j'ai remarqué que souvent les blocs sont un peu différents selon que l'on est sur la version EE ou la version vanilla. Est ce que vous l'avez remarqué ?

Par exemple dans le fichier AMNTRP01.bcs, la ligne suivante dans BG2EE : SetGlobalTimer("RepTrap","GLOBAL",TWO_HOURS)
Cette ligne dans BG2 vanilla est sous la forme suivante : SetGlobalTimer("RepTrap","GLOBAL",600)

Et aussi les lignes qui font apparaitrent des créatures changent en général, ce qui fait que une commande REPLACE_BCS_BLOCK pour BG2 vanilla ne marchera en général souvent pas pour BG2EE.


Donc ma question est comment faut -il faire ? Est ce que je dois écrire 2 commandes REPLACE_BCS_BLOCK dans mon fichier tp2, une pour BG2vanilla et une pour BG2EE ? Comment font les autres moddeurs ?

J'ai d'ailleurs remarqué que un composant de Atweak utilise la commande REPLACE_BCS_BLOCK et qu'elle marche justement pas sur BG2EE dans un des composants de ce mod.

Posté : mer. 05 déc. 2018, 20:12
par Freddy_Gwendo
Il me semble que tu devrais t'en sortir en déclarant des variables dans le bloc Always :

Exemple :

Code : Tout sélectionner

/* Face orientation for CreateCreature([xxx.yyy]%FACE_x%) */

Si le jeu est classique

    OUTER_SPRINT ~FACE_0~ ~,0~
    OUTER_SPRINT ~FACE_1~ ~,1~
    OUTER_SPRINT ~FACE_2~ ~,2~
    OUTER_SPRINT ~FACE_3~ ~,3~
    OUTER_SPRINT ~FACE_4~ ~,4~
    OUTER_SPRINT ~FACE_5~ ~,5~
    OUTER_SPRINT ~FACE_6~ ~,6~
    OUTER_SPRINT ~FACE_7~ ~,7~
    OUTER_SPRINT ~FACE_8~ ~,8~
    OUTER_SPRINT ~FACE_9~ ~,9~
    OUTER_SPRINT ~FACE_10~ ~,10~
    OUTER_SPRINT ~FACE_11~ ~,11~
    OUTER_SPRINT ~FACE_12~ ~,12~
    OUTER_SPRINT ~FACE_13~ ~,13~
    OUTER_SPRINT ~FACE_14~ ~,14~
    OUTER_SPRINT ~FACE_15~ ~,15~

Si le jeu est EE

    OUTER_SPRINT ~FACE_0~ ~,S~
    OUTER_SPRINT ~FACE_1~ ~,SSW~
    OUTER_SPRINT ~FACE_2~ ~,SW~
    OUTER_SPRINT ~FACE_3~ ~,SWW~
    OUTER_SPRINT ~FACE_4~ ~,W~
    OUTER_SPRINT ~FACE_5~ ~,NWW~
    OUTER_SPRINT ~FACE_6~ ~,NW~
    OUTER_SPRINT ~FACE_7~ ~,NNW~
    OUTER_SPRINT ~FACE_8~ ~,N~
    OUTER_SPRINT ~FACE_9~ ~,NNE~
    OUTER_SPRINT ~FACE_10~ ~,NE~
    OUTER_SPRINT ~FACE_11~ ~,NEE~
    OUTER_SPRINT ~FACE_12~ ~,E~
    OUTER_SPRINT ~FACE_13~ ~,SEE~
    OUTER_SPRINT ~FACE_14~ ~,SE~
    OUTER_SPRINT ~FACE_15~ ~,SSE~
Etc...

Je fais de même avec certains opcodes à ajouter dans les sorts selon les versions.

Quant aux valeurs du fichier GTIMES.IDS, vérifie qu'elles existent bien. Si oui, je pense que WeiDU comprendra que 600 = TWO_HOURS. Sinon, utilise une variable comme ci-haut.

Édit : Discussion déplacée dans la bonne section.

Posté : jeu. 06 déc. 2018, 21:50
par DrAzTiK
ok ç'est un peu compliqué mais ça devrait le faire. merçi Freddy