Page 1 sur 1

[MOD] Besoin d'un coup de main, je suis bloqué avec une carte et un objet

Posté : lun. 29 déc. 2014, 10:45
par Cocrane
J'avance doucement dans la réalisation de mon mod suite à des problèmes techniques.

Je continue en laissant des trous. Puis j'en résout certains grâce à l'aide des membres de la Couronne mais certains deviennent bloquants pour poursuivre en étant sur d'arriver à les régler. Et je m’interroge sur la qualité de mon installation BGT...

Je vais arrêter d'avancer le temps de trouver une solution à ces fameux "trous".

J'ai fait un TP2 avec l'ensemble des points ci-dessous. En démarrant une partie BG1 en mode BGT pour se retrouver devant l'auberge de Château-suif : http://www.mediafire.com/download/u6hxdd2jrs1eqcp/test.rar


Voici la liste et le détail afin d'avoir à nouveau de l'aide:

1- Ajouter un objet à un pnj du jeu qui ne fait pas partie du groupe
Résultat actuel: j'arrive à ajouter un objet si le code est dans le script du pnj et si il n'y a pas de test de variable.
sinon il n'y a pas d'objet dans l'inventaire. Si je fais la même chose avec 'PLAYER1", l'objet est présent.

Code : Tout sélectionner

[U]Script dans l'AREA[/U]

IF
  GLOBAL("testa","GLOBAL",0)
THEN
  RESPONSE #100
  SETGLOBAL("testa","GLOBAL",1)
  createcreature("siradri",[1100.650],2) // apparition Siradri ok
END

// ajout des objets pour test sur le charname
if 
 GLOBAL("testb","GLOBAL",0)
then
 response #100
 SETGLOBAL("testb","GLOBAL",1)
 ActionOverride("sirAdri",CreateItem("ringp002",0,0,0)) // L'objet n'est pas dans l'inventaire
 ActionOverride(PLAYER1,CreateItem("ringp002",0,0,0))  // L'objet est dans l'inventaire. test sort invocation limon
 ActionOverride(PLAYER1,CreateItem("ringp005",0,0,0))  // L'objet est dans l'inventaire. test sort dissipation magie 
end


[U]Script siradri[/U]

if
then
 response #100
 CreateItem("shld20",0,0,0) // Le bouclier (objet du jeu) apparait dans l'inventaire. Script en boucle donc plusieurs fois le même objet.
end

if
 GLOBAL("TEST","GLOBAL",0)
then
 response #100
 SETGLOBAL("TEST","GLOBAL",1)
 CreateItem("ringp005",0,0,0) // L'objet n'apparait pas dans l'inventaire (sort dissipation magie)
end

2- Créer une nouvelle carte à partir d'une autre en modifiant juste une zone graphique à l'image.
Résultat actuel: le jeu plante lorsque j'arrive sur la carte.

J'attends le retour de Luren.


3- Créer un objet invoquant une créature
Résultat actuel:
-j'arrive à lancer une invocation si je fais appel à un sort d'invocation (Exemple: invocation d'un élémental de feu).
- sinon une fois le pouvoir lancé, j'ai le message "objet vide" qui apparait.
A noter: j'ai le même résultat avec la figurine araignée de BG2.

fichier: RINGP002.itm
-pouvoir via l’icône sac à dos et fait apparaitre un limon.


4- Créer un objet qui lance une dissipation magique
Résultat actuel:
- le sort est lancé et atteint les personnages environnant. Aucuns ne subissent la dissipation magique.

fichier: RINGP005.itm
-pouvoir via l’icône sac à dos.

Posté : mar. 30 déc. 2014, 16:40
par deratiseur
Ajouter un objet à une creature du jeu : pas besoin de script, weidu peut le faire avec la commande ADD_ITEM (voir tutorial de Weidu et voir cette commande utilisé dans les tp2 de nombreux mods)

Créer un objet qui invoque des créature : base toi sur la baguette d'invocation de créature, ou sur le parchemin d'invocation de démon, ou sur la fiole du génie, ou sur la figurine d'araignée.

Créer un objet qui dissipe : base toi sur le parchemin de dissipation du prêtre

Astuce : toujours regarder comment font les autres.

Posté : mar. 30 déc. 2014, 20:29
par Cocrane
Salut Dérat,

merci pour tes réponses.

"Ajouter un objet à une creature du jeu : pas besoin de script, weidu peut le faire avec la commande ADD_ITEM (voir tutorial de Weidu et voir cette commande utilisé dans les tp2 de nombreux mods)"

j'ai besoin d'ajouter un objet au pnj selon un tirage aléatoire. Une fois le tirage effectué, je sais quel objet ajouter. Je ne peux donc pas utiliser Weidu + tp2.
De plus, j'ai vu cette commande dans un autre mod donc j'imagine que c'est censé marcher...


"Créer un objet qui invoque des créature : base toi sur la baguette d'invocation de créature, ou sur le parchemin d'invocation de démon, ou sur la fiole du génie, ou sur la figurine d'araignée."


Avec un parchemin existant telle que l'élémental de feu j'y arrive.
La figurine araignée quand je clique, j'ai le msg "objet vide" en bas de l'écran d'où mon inquiétude sur la qualité de mon install BGT.
Pour faire simple, je veux pouvoir invoquer un limon.


"Créer un objet qui dissipe : base toi sur le parchemin de dissipation du prêtre"
ok, j'irai voir.

Posté : jeu. 01 janv. 2015, 19:39
par deratiseur
Pour l'objet vide, j'avais le même problème quand j'ai crée le Casque béni de Lathandre pour le Seigneur de guerre. En fait j'ai trouvé pourquoi : il faut que le fichier "tooltips.2da" inclut la référence de ton objet. J'ai corrigé ça en patchant ce fichier dans le DUKP, voit comment j'ai fais en cherchant PXL7041 dans le TP2 du dukp.

Pour la création d'un objet aléatoire sur une créature du jeu, essaie ceci : ajoute dans les effets de la créatures (onglet "effectes" sous DLTCEP) un effet #143 -> tu peux paramétrer quel objet et dans quel slot, et tu lui met comme probabilité ce que tu veux, en l’occurrence 51->100. cet effet sera généré une seule fois, à la création de la créature sur la carte.

Posté : ven. 02 janv. 2015, 15:33
par Cocrane
Je pense objectivement que mon installation BGT est foireuse.

J'ai crée l'item AMUL01 dans l'équipement du Charname. L'objet est tiré du jeu et présente 25 charges. Je l'utilise une fois (nombre de charges non visible à la base) et ensuite le nombre de charges restantes apparait et il est énorme...

Autre cas, via script j'ajoute un objet dans l'équipement d'un PNJ qui ne fait pas parti de mon équipe.
Si je le prends ensuite dans mon équipe, l'objet n'est pas là. (mon éternel problème...)

si je le tue, l'objet est sur son cadavre...

J'y comprends rien... la seule explication est que j'ai un problème d'environnement.

Je vais faire une pause car j'en ai un peu assez de passer des heures et des heures sans avancer ou de laisser des trous...

Je ferai une nouvelle installation dans quelques jours. Si ça ne marche toujours pas j'arrête...

Posté : dim. 04 janv. 2015, 09:50
par Luren
Salut Cocrane,

C'est quoi le soucis avec ta map ?
Tu pourrais nous passer une archive contenant tous les fichiers (.are, .wed, .tis, .bmp...) afin qu'on puisse jeter un coup d'oeil sous le capot ?
Tu l'as testée uniquement sous BGT ?

Quant à ton installation, je ne sais pas si il faut vraiment la mettre en doute : si le jeu tourne bien avec, c'est qu'elle est bonne. Le problème quand on modde c'est qu'on se choppe parfois des erreurs dont on ne comprend pas du tout la cause à tel point qu'on en vient à douter de l'installation, mais c'est rarement le cas.

Posté : mer. 07 janv. 2015, 00:28
par Cocrane
Salut Luren,

Concernant la map, je t'ai envoyé un lien, il y a quelque temps. Tu n'as rien reçu???

Concernant l'installation, j'ai jamais vraiment fait une partie avec, j'ai installé BGT dans le but de faire mon mod et de le tester au fur et à mesure.

Ce we, je vais réinstaller le jeu et tester sur BG2 seul pour voir le comportement.

En l'état, j'avance plus donc il faut que je trouve une explication et une solution sinon je ne peux pas moder...

Posté : mer. 07 janv. 2015, 01:04
par Luren
Je comprends pas très bien. Tu veux parler du fichier "test.rar" indiqué ci-dessous ? Mais il ne contient pas les fichiers de la map.
Autrement si tu m'as envoyé un lien en MP, j'ai rien reçu, non.
Pour pouvoir tester ta map, le mieux est d'avoir tous les fichiers de base qui la composent :
.are, .tis, .wed, et les 3 .bmp
C'est le meilleur moyen pour pouvoir la tester et voir ce qui ne va pas. On pourrait appeler ça un test de niveau 1 : la map sans rien, juste pour voir si elle fonctionne.

Ensuite on peut passer au "niveau 2", en intégrant, si c'est le cas, des animations particulières, des script ou des objets, et en joignant donc les fichiers qui vont avec.

Pas la peine de faire un fichier d'installation, je le ferai manuellement en copiant tout dans le dossier override.

Posté : jeu. 08 janv. 2015, 00:32
par Cocrane
Salut Luren,
je t'avais envoyé un lien avec l'ensemble des fichiers Map en décembre. Mal envoyé? Mal reçu? Ce n'est pas grave. ^^

Voici le lien:
http://www.mediafire.com/download/xz8bqztgfyljvm8/AR9999.rar
Essai bidon avec un phare proposé dans l'outil

http://www.mediafire.com/download/xz8bqztgfyljvm8/AR9999.rar
Essai avec ma rampe devant le palais


Lorsque j'arrive sur la carte, je n'ai pas le temps de la voir que le jeu plante.

En gros, comment j'ai fait:
-je lance Tileset map editor
-j'ouvre la map AR7300 je modife les propriétés pour avoir un AR9999.wed et un AR9999.BCS
-je passe en édition pour avoir accès à l'ajout d'image, je selectionne ma rampe que je positionne. Je la valide. Je sauvegarde tous les fichiers possibles.

Posté : sam. 10 janv. 2015, 19:53
par Luren
Salut Cocrane,

J'ai téléchargé et testé ta map sous BGT, elle plantait effectivement. La cause venait d'un réglage à la con, que tu as oublié de faire :
- il s'agit de décocher l'option "Extended night" dans les paramètres de la carte (tu peux le faire sous IETME ou DLTCEP)

Dans BG1/BG2, certaines maps (principalement les villes, et toutes les maps de la Porte de Baldur en font bien entendu partie !) sont dotées d'une version nocturne. Dans ce cas, en plus des fichiers 7 fichiers .are, .tis, .wed, .mos et les 3 .bmp, on a 4 fichiers, qui servent matérialiser cette version nocturne, principalement pour les éclairages. On peut ainsi avoir une toile de fond (fichier .tis) avec des effets d'éclairage comme des lampadaires projettant des lumières ou autres qui ne sont pas présents dans la version diurne, et ne peuvent pas être générés par le moteur : le moteur peut afficher des animations par-dessus la toile de fond d'une map, mais il est incapable de créer un éclairage, puisque l'image est en 2D ! Le concepteurs ont donc trouvé cette solution de faire une version nocturne de la map avec :
- ARxxxxN.TIS : c'est le fichier graphique, la toile de fond de la carte, en version nocturne, ou xxxx correspond au nom de la carte normale
- ARxxxxN.MOS : c'est la carte réduite, qui s'affiche dans le jeu lorsqu'on accède à l'option Map.
- ARxxxxN.WED : qui contient les informations sur la « matérialisation » de la carte : portes et murs. (IETME ne gère pas la création de ce fichier en tant que carte nocturne, et je crois qu'aucun autre programme, DLTCEP compris ne le fait - il faut bidouiller pour le créer)
- ARxxxxLN.BMP : ce sont les informations d'éclairage qui s'appliquent à la carte nocturne.


Comme ta map ne possède pas ces fichiers, mais que tu indiques dans les paramètres (en cochant "Extended Night") qu'ils existent, le moteur du jeu les cherche lors de son chargement, ne les trouve pas, se fâche, et te renvoie sur le bureau sans ménagements !

Posté : dim. 11 janv. 2015, 17:37
par Cocrane
Merci Luren pour ton retour.

J'ai localisé la case à décocher sous DLTCEP et IETME. Je suis un peu surpris que l'on soit obligé de décocher cette case alors que la carte d'origine est cochée.
Mais j'avoue je suis dépassé par les possibilités de paramétrage et leurs règles...

J'ai donc effectué un test. La nouvelle carte ne plante pas et j'ai réussi à voir ma rampe sous. C'est déja un gros progres. ^^

Mais j'ai un soucis pour déterminer ma rampe comme un objet et qu'on ne peut y monter que par l'escalier. D'ailleurs ma rampe remplace un charriot et je vois bien que le passage bloque à ce niveau.

Comment supprimer la zone paramétrée bloquante pour le charriot et ajouter celui de la rampe?
Avec IETME:
j'ai sélectionné la case à cocher "wallgroup". Je matérialise les zones bloquées pour circuler sur la carte et donc celle du chariot.
j'ai supprimé cette zone en cliquant droit dessus et choix "delete".

J'ai refait une zone en cliquant droit et en traçant une zone bloquante. J'ai paramétré la zone en tant que 'wall'. Elle est paramétrée comme les autres.

Je sauvegarde et je teste sur l'override. L'ancien paramétrage des wall est toujours actifs et le nouveau inexistant.

Sais tu où est le pb? ^^

Posté : lun. 12 janv. 2015, 07:27
par Luren
Je suis un peu surpris que l'on soit obligé de décocher cette case alors que la carte d'origine est cochée.
Ben non, puisque la map que tu as réutilisée, d'origine comporte une version nocturne (toutes les maps "citadines" de BG1 en comportent une quasiment, c'est facile à vérifier avec Near Infinity par exemple, en repérant par exemple les fichier .tis ou .mos qui se finissent par xxxxN). Il est donc normal que par défaut elle ait ce réglage.
Et il est tout aussi normal de le décocher si tu ne crées pas une version nocturne de la nouvelle map.

...ce qui risque d'ailleurs d'être un problème.
Mais j'ai un soucis pour déterminer ma rampe comme un objet et qu'on ne peut y monter que par l'escalier. D'ailleurs ma rampe remplace un charriot et je vois bien que le passage bloque à ce niveau.
C'est du côté de la map gérant les déplacements (search map -> ARxxxxSR.bmp) qu'il faut voir. Le meilleur outil pour affiner ce fichier est de loin DLTCEP. Il est difficile d'être précis avec IETME.
Les wallgroups (Wall) ne gèrent pas du tout ça. Il servent à simuler le passage derrière un volume (création d'un transparence par le moteur sur la zone définie). Le terme de "wall" prête à confusion, puisqu'ils ne définissent aucune contrainte de déplacement.
C'est la search map (fichier .bmp) et elle seule qui permet de matérialiser, par projection au sol, les volumes présents. Il faut alors utiliser la couleur correspondant au volume que tu veux indiquer.
0 : Obstacle infranchissable, produisant une ombre (RVB : 0,0,0)
1 : sable (RVB : 128,0,0)
2 : Bois 2 (RB : 0,128,0)
3 : Bois 3 (RVB : 128,128,0)
4 : Pierre 1 (RVB : 0,0,128)
5 : Tapis (RVB : 128,0,128)
6 : Eau peu profonde (franchissable) (RVB : 0,128,128)
7 : Pierre 2 (RVB : 192,192,192)
8 : Obstacle infranchissable, sans ombre (RVB : 128,128,128)
9 : Bois 1 (RVB : 255,0,0)
10 (A) : Mur de face (RVB : 0,255,0)
11 (B) : neige (RVB : 255,255,0)
12 (C) : Eau profonde - infranchissable (RVB : 0,0,255)
13 (D) : Toit - infranchissable (RVB : 255,0,255)
14 (E): Sortie de la carte (envoi vers la WorldMap) (RVB : 0,255,255)
15 (F: herbe (RVB : 255,255,255)

Posté : dim. 18 janv. 2015, 21:29
par Cocrane
Je suis parvenu à ajouter l'estrade et à gérer la nouvelle circuclation à l'entrée du Palais.

Merci Luren pour tes explications qui m'ont permis de résoudre mon problème de plantage et d'accès à la rampe.

Voici le résultat.

Cérémonie devant le palais où le Charname reçoit le titre de Protecteur de Baldur
Image

Ca fait plaisir de pouvoir avancer!