Baldur's Gate et Dragon Age | La Couronne de Cuivre
 

Précédent   Baldur's Gate et Dragon Age | La Couronne de Cuivre > La Forge de GrondMarteau > La Forge des Apprentis > Problèmes Techniques

Problèmes Techniques
Un problème technique lors de la création d'un mod? Exposez votre probleme et les membres vous aideront de leur mieux.

Réponse
 
Outils de la discussion Noter la discussion
Vieux 01/04/2004, 20h59   #1
ferrumach
Berserker Ogre
 
Date d'inscription: janvier 2004
Messages: 1 017
Par défaut

5 questions pour la création de qq personnages (simple renseignement)

1)Peut on créer(modifier) un moine, gardant ses capacités de moine, mais qui puisse utiliser des sorts ou alors pouvant utiliser des parchemins dans les objets à portées ?
2)Peut on créer une arme qui à chaque coup lance un sort (par exemple souffle du dragon ou n'importe lequel autre ) sur la cible ?
3)Est il possible qu'un sort soit déclenché par une attaque adverse ? : par exemple chaque fois que le mage prend un coup un sort de brume mortelle est déclenché dans la zone
4)Peut on facilement permettre à un guerrier/ clerc l'utilisation d'armes tranchantes ou perforantes?
5)Peut on modifier un barde pour qu'il garde sa capacité de chant mais qu'il puisse utiliser des sorts de pretres?

edit: je ne veux pas de nouveaux kit à faire si possible....
je m'adresse plutot à ceux qui ont l'habitude d'utiliser les outils pour bg2...

merci d'avance

reedit: je précise que ce seront des npc non embauchables
ferrumach est déconnecté   Réponse avec citation
Vieux 01/04/2004, 22h15   #2
Isaya, Adepte de Grondmarteau
Minotaure
 
Date d'inscription: juillet 2003
Localisation: Plaisir
Messages: 1 786
Envoyer un message via MSN à Isaya
Par défaut

1) Oui. Puisque c'est un personnage non embauchable, il ne pourra utiliser des sorts ou des objets que par des scripts. Et par conséquent, tu pourras toujours forcer le personnage à lancer un sort ou utiliser un objet spécialement modifié pour lui en fonction des conditions dans ton script.

2) Oui. Prends une arme comme la masse améliorée à l'illithium (qui peut tuer d'un coup un mort-vivant) comme exemple.

3) Oui. Tu peux utiliser pour ça un script utilisant un trigger comme Hit() (ou quelque chose d'approchant) et qui déclenche alors ce que tu veux en désignant comme cible celui qui a attaqué par exemple (trigger du genre LastAttackerOf(Myself) peut-être). Les mages utilisent beaucoup de genre de choses dans leurs scripts, tu devrais y trouver des exemples.

4) Non (tu as dit facilement). Les restrictions de classes sont indiquées dans les objets eux-même, donc il faudrait tous les modifier. Ou alors faire un changement de classe, mais tu aurais d'autres problèmes. Cela dit, avec un personnage non embauchable, il est toujours possible de tricher puisque tu peux l'équiper d'un objet qu'il ne pourrait pas utiliser autrement. Reste à vérifier si le jeu l'accepte bien (et à changer les compétences en armes sinon le malus est pénalisant).

5) Oui (même raison qu'en 1).
Isaya est déconnecté   Réponse avec citation
Vieux 01/04/2004, 23h53   #3
ferrumach
Berserker Ogre
 
Date d'inscription: janvier 2004
Messages: 1 017
Par défaut

Merci pour les réponses (très instructives)
demande de précision cependant:

2)
Le sort, lancé par l'arme est il instantané sur la cible ( pas de temps d'incantation) ?
Par exemple si j'affecte à une arme le sort arret du temps (temps d'incantation de 6 , je crois) y aura t il ,après le coup, un délai avant l'effet du sort ? ( j'espère que non )

3)peut on affecter un %(probabilité) au trigger : par exemple: 10 % des coups recus par le mage déclenchent brume mortelle

6) peut on créer une arme avec effet aléatoire ? par exemple, à chaque coup:
30% de chance de lancer dissipation
20% de chance de lancer contagion sur la cible
10 % de chance de lancer dégenerescence sur la cible
5 % de chance de lancer comète sur la cible
1% de chance de lancer emprisonnement sur la cible

et l'animation du sort apparait elle ou non ?( pas grave)

7) lors du script est il possible (facile?) de permettre au personnage de lancer des sorts périodiquement , selon une période que l'on a soit meme choisi (1 tour par exemple) mais aussi avec choix des sorts aléatoires à chaque tour...par exemple : à chaque tour 20% de chance de lancer la combinaison de sort a , b , c , d ,ou e ?
(avant chaque début de tour rien n'est donc prévisible parmi les 5 choix possibles)

8) peut on avoir un sort de facon permanente (non dissipable, ni par le temps ni par les ennemis), par exemple un pretre avec sphère de lame qui resterait jusqu'à la mort

merci d'avance (je crois que c'est tout...)
ferrumach est déconnecté   Réponse avec citation
Vieux 02/04/2004, 17h03   #4
Walar, Patricien de Melandis
Berserker Ogre
 
Avatar de Walar
 
Date d'inscription: avril 2003
Messages: 1 004
Par défaut

Citation:
2)
Le sort, lancé par l'arme est il instantané sur la cible ( pas de temps d'incantation) ?
Par exemple si j'affecte à une arme le sort arret du temps (temps d'incantation de 6 , je crois) y aura t il ,après le coup, un délai avant l'effet du sort ? ( j'espère que non )
Oui je crois. Exemple : le katana de Kuroisan qui tire des flèches acide de Melf dès qu'il touche (donc il n'y a aucune forme de temps d'incantation).

Citation:
3)peut on affecter un %(probabilité) au trigger : par exemple: 10 % des coups recus par le mage déclenchent brume mortelle
Oui, ça se fait dans le script sous la forme. Par exemple

RESPONSE #50
a
RESPONSE #50
b

Il y a 50% de chance que ce produise l'effet a et de même pour l'effet b.

Citation:
6) peut on créer une arme avec effet aléatoire ? par exemple, à chaque coup:
30% de chance de lancer dissipation
20% de chance de lancer contagion sur la cible
10 % de chance de lancer dégenerescence sur la cible
5 % de chance de lancer comète sur la cible
1% de chance de lancer emprisonnement sur la cible
Oui, c'est tout à fait possible. Exemple : la hache du mod Kim.

Citation:
et l'animation du sort apparait elle ou non ?( pas grave)
Il me semble que oui, enfin c'est défini dans les paramètres de l'effet lors de la création de l'objet (ainsi on n'est pas cantonné à une certaine animation). Je suis pas à 100% sûr.

Citation:
7) lors du script est il possible (facile?) de permettre au personnage de lancer des sorts périodiquement , selon une période que l'on a soit meme choisi (1 tour par exemple)
C'est assez facile de le faire en utilisant la commande : SetGlobalTimer

Citation:
mais aussi avec choix des sorts aléatoires à chaque tour...par exemple : à chaque tour 20% de chance de lancer la combinaison de sort a , b , c , d ,ou e ?
(avant chaque début de tour rien n'est donc prévisible parmi les 5 choix possibles)
Oui c'est possible, comme pour avant avec les RESPONSE #100, d'ailleurs le script de mages améliorés fait par Weimer utilise ce genre de procédé me semble (de lancements aléatoires au début des combats). Ainsi cela rompt la monotonie.

Citation:
8) peut on avoir un sort de facon permanente (non dissipable, ni par le temps ni par les ennemis), par exemple un pretre avec sphère de lame qui resterait jusqu'à la mort
Oui.


Walar est déconnecté   Réponse avec citation
Vieux 02/04/2004, 17h35   #5
Isaya, Adepte de Grondmarteau
Minotaure
 
Date d'inscription: juillet 2003
Localisation: Plaisir
Messages: 1 786
Envoyer un message via MSN à Isaya
Par défaut

2) Pour supprimer le temps d'incantation, tu devras probablement recopier le sort sous un autre nom et modifier le temps d'incantation à 0 dans la copie. Il ne te reste qu'à utiliser le nouveau sort.
En fait ça dépend de la façon dont tu implémentes l'effet. Si tu ajoutes directement l'effet du sort, il y aura uniquement le délai que tu indiqueras par le paramètre délai de l'effet. Si par contre tu utilises l'effet Cast Spell pour lancer le sort, le temps d'incantation s'appliquera et tu devras recopier le sort et modifier la copie. Si tu veux récupérer sans effort les effets multiples d'un sort (aussi bien les effets que les animations, sons, ...) tu dois utiliser Cast Spell. Autrement, tu dois recopier l'intégralité des effets du sort dans ton objet, et dans ce cas, tu maîtrises le délai éventuel.

3) En complément de la réponse de Walar, tu peux indiquer dans un des choix que tu ne veux rien faire en utilisant la commande Continue().
Le moteur de script n'a pas bonne réputation sur la génération de valeur aléatoire : il semble que le premier choix de la liste a en fait une probabilité d'occurrence supérieure au poids relatif du RESPONSE par rapport aux autres. Alternativement, tu peux aussi utiliser la probabilité dans le sort lui-même, surtout si tu en fais une nouvelle version pour supprimer le temps d'incantation.

6) Oui. Je ne sais pas s'il y a un objet du jeu original qui le fait. La probabilité des effets s'exprime avec 2 valeurs qui définissent les bornes. Pour des effets à occurrence exclusive, tu mets des valeurs de probabilité qui ne se recouvrent pas:
0 - 30 Dissipation
31 - 50 Contagion
51 - 60 Dégénérescence
...

Pour que l'animation apparaisse, il faut soit que tu lances le sort par l'effet Cast Spell (et donc tous ses effets, y compris visuels), soit que tu recopies tous les effets du sort (par exemple dissipation, plus les effets visuels que le sort utilise) ce qui est un peu fastidieux mais élimine les problèmes de temps d'incantation et d'interruption.

7) Certes c'est possible, mais ce n'est pas forcément simple. En tout cas ça rend le script plus complexe en obligeant à utiliser plusieurs variables pour que tu puisses suivre le déroulement de chacune des séquences sans les mélanger.
Comme toujours, les exemples existants sont toujours plein d'enseignement.

8) Il existe plusieurs façons de procéder.
Tu peux ajouter les effets du sort au fichier CRE avec une indication d'effet permanent. Mais le personnage l'aura dès la première rencontre avant même que le combat ne commence.
Sinon, tu peux lancer le sort à partir d'un script spécifique attribué au personnage. Il te faudra créer une version modifiée du sort pour qu'il soit à effet permanent.
Dans les deux cas, tu devras aussi jouer sur le fait que l'effet du sort modifié (ou celui directement affecté au fichier CRE) soit bien indiqué non dissipable.
Isaya est déconnecté   Réponse avec citation
Vieux 02/04/2004, 18h56   #6
ferrumach
Berserker Ogre
 
Date d'inscription: janvier 2004
Messages: 1 017
Par défaut

Encore merci pour les réponses détaillées
qq précisions encore..

3)+6)
Pour ce qui est de la génération de valeur aléatoire:
Citation:

0 - 30 Dissipation
31 - 50 Contagion
51 - 60 Dégénérescence
et
Citation:
Le moteur de script n'a pas bonne réputation sur la génération de valeur aléatoire : il semble que le premier choix de la liste a en fait une probabilité d'occurrence supérieure au poids relatif du RESPONSE par rapport aux autres
dans ce cas appliqué( il y génération d'une valeur aléatoire) tu as l'air de dire que le poid relatif de dissipation (30) par rapport aux autres sera en fait plus élevé dans la réalité ? ( embetant ca...) pourtant walar cite la hache de kim (je dois dire que je ne la connais pas)

Citation:
Alternativement, tu peux aussi utiliser la probabilité dans le sort lui-même, surtout si tu en fais une nouvelle version pour supprimer le temps d'incantation.
c.a.d: je recopie un sort par ex brume tueuse (à la place de brume mortelle) ,je met son temps d'incantation à 0 et je modifie un paramètre permettant alors de lancer le sort dans 10 % des cas (aulieu de 100%) ?( pour reprendre l'exemple du point 3)?

7)
Citation:
Comme toujours, les exemples existants sont toujours plein d'enseignement
Justement je cherche un bon exemple de perso dans bg2 + mods ayant un script de cette complexité, je dis cela car j'ai l'impression que la majorité des scripts utilise un timer mais pour toujours la meme combinaison de sorts, pour mon cas cela serait un choix aléatoire à chaque tour avec mise en " boucle" de chacune des 5 combinaisons se répétant indéfiniment jusqu'à la mort du perso
(je ne demande qu'à etre contredis par un exemple similaire...)

merci pour les réponses
ferrumach est déconnecté   Réponse avec citation
Vieux 02/04/2004, 23h58   #7
Isaya, Adepte de Grondmarteau
Minotaure
 
Date d'inscription: juillet 2003
Localisation: Plaisir
Messages: 1 786
Envoyer un message via MSN à Isaya
Par défaut

3+6) Je ne suis pas sûr. J'ai lu sur un forum (TeamBG ?) que ce problème de non-respect des probabilités se produisait dans les scripts (apparemment la personne avait fait un nombre de tests suffisant pour mettre en doute la génération aléatoire). Je n'ai jamais lu rien de tel sur les valeurs aléatoires utilisés pour les probabilités d'effet d'objet ou de sort. Ce qui ne veut pas dire que le problème n'est pas le même.

Oui, ce que je proposais est bien d'indiquer la probabilité dans l'effet du sort lui-même.

7) Walar t'indiquait le script de mage qui fait partie du mod Tactics.
Les timers sont aussi parfois utilisés par certains pour s'assurer que les scripts respectent la durée des rounds. Sinon un mage peut lancer plusieurs sorts par round et n'est plus limité que par le temps d'incantation.
Dans ton cas, le timer sert surtout à modifier une variable qui t'indique quelle séquence va être utilisée pendant le tour. Une fois la séquence choisie, il te reste à coder la séquence de sorts que tu veux utiliser, en vérifiant à chaque fois que tu es bien dans la séquence que tu veux. Il te faut alors utiliser une deuxième variable pour indiquer ton avance dans la séquence.
Isaya est déconnecté   Réponse avec citation
Vieux 03/04/2004, 19h24   #8
ferrumach
Berserker Ogre
 
Date d'inscription: janvier 2004
Messages: 1 017
Par défaut

Merci encore , une dernière chose :
9) peut on désarmer un adversaire lors d'une attaque dans bg2 ? (script
nécessaire?), l'arme peut elle etre projetée au loin (aulieu de tomber à coté) ?


ferrumach est déconnecté   Réponse avec citation
Vieux 04/04/2004, 23h33   #9
Isaya, Adepte de Grondmarteau
Minotaure
 
Date d'inscription: juillet 2003
Localisation: Plaisir
Messages: 1 786
Envoyer un message via MSN à Isaya
Par défaut

9) Oui, c'est probablement possible. Dans TDD, il y a un kit qui le permet en théorie (je dis ça car je ne l'ai pas essayé). Par ailleurs, il y a aussi dans TDD un élémental de lave qui peut aussi à chaque coup te faire lâcher un objet.
Pour la réalisation, c'est soit un script soit un effet. Peut-être qu'en parcourant la liste des effets et des actions de script sur le site IESDP, tu trouverais la réponse (si le nom de l'effet ou de l'action est explicite, même s'il ne s'appelle pas désarmer).
Pour la lancer plus loin, c'est probablement plus compliqué.
Isaya est déconnecté   Réponse avec citation
Vieux 11/04/2004, 21h03   #10
ferrumach
Berserker Ogre
 
Date d'inscription: janvier 2004
Messages: 1 017
Par défaut

Merci encore ....
pour la pratique...( avec IEEP)
3)+6)
j'ai fait un essai pour créer une hache qui lance emprisonnenent dans 25 % des coups réussis ( c'est un essai évidemment...)
et qui déclenche brume mortelle dans 25% des coups recus par le porteur de la hache

J'utilise cast spell pour l'emprisonement, je met comme range de proba; 0%-25% :
pas de problème lors du test, ( en mettant le bon sort dans ressource key)

Par contre pour le sort de brume mortelle( je me suis inspiré de katana de kuroisan), utilisant cast spell condition, je mets:
target : self (logique)
ressource key: (sort de brume mortelle: SPWI614 )
proba: 0%- 25%
je mets 1 et 0 comme valeurs aux paramètres ( le sort est déclenché à chaque coup sur la target)

le sort ne se déclenche pas lorsque le porteur est touché de multiples fois
pourquoi?

j'ai fait pas mal d'essais en changeant les ranges( 26-51, 0-50) , qq fois j'obtiens un déclenchement mais alors dans 100% des cas (donc 5 coups recus , 5 brumes ) puis plus rien!!! comme si la hache était un objet à charges (évidemment que j'ai fait attention) ou autres explications.....?????)

pour résumer c'est tout ou rien (0% ou 100%) mais plutot rien.....

merci......
ferrumach est déconnecté   Réponse avec citation
Vieux 13/04/2004, 14h57   #11
ferrumach
Berserker Ogre
 
Date d'inscription: janvier 2004
Messages: 1 017
Par défaut

Vraiment je ne comprends pas le cloud kill est lancé dans 100% des cas meme avec une proba de 00 à 30....

j'ai posé la question sur les forums de la team bg, on me donne pas vraiment d'explications , ou alors modifier le sort en mettant à 30 % tous les effects:

il y a 3 effects spell pour un cloud kill
1) lightning 3d
2) damage ( pour les dommages acide)
3) EFF file ?

j'ai mis 30 % aux 3 effets, mis 0 au tps dincantation, donné 1 autre nom au sort
je teste ...et le problème reste le meme ! ( 100% de cast à chaque coups recus par le porteur de l'arme) ( en tous cas pour l'animation, pour les dégats c'est difficile pour se rencre compte)

y a til une explication, un autre moyen de procéder... , ou si qq a une idée?


ferrumach est déconnecté   Réponse avec citation
Vieux 13/04/2004, 18h55   #12
Walar, Patricien de Melandis
Berserker Ogre
 
Avatar de Walar
 
Date d'inscription: avril 2003
Messages: 1 004
Par défaut

Je ne connais que les bases de la création d'objet, donc j'ai pas d'idée précise. Mais si j'étais toi j'essayerai de le faire via un script. Enfin, le problème c'est que cette solution n'est valable que dans le cas ou cette arme ne finirait pas dans les mains du joueur je pense.

Du genre :

Citation:
IF
* * * touché ou blessé (je me souviens pas du code)
THEN
* RESPONSE #25
* * * ReallyForceSpell(cequetuveux,lecodedeBrumeMortelle)
* RESPONSE #75
* ** Continue() ou autre truc, je sais pas.
END
Malgré ce qu'a dit Isaya sur cette façon. J'espère qu'il y a pas de coquille dans ce que je viens d'écrire car j'ai pas trop le temps de vérifier la.

Si ça ne répond pas du tout à ton problème je tenterai peut-être de faire aussi un objet.
Walar est déconnecté   Réponse avec citation
Vieux 13/04/2004, 23h40   #13
Isaya, Adepte de Grondmarteau
Minotaure
 
Date d'inscription: juillet 2003
Localisation: Plaisir
Messages: 1 786
Envoyer un message via MSN à Isaya
Par défaut

On peut ajouter des effets aux objets de deux façons :
- quand tu le prends en main
- quand tu t'en sers

Dans le premier cas, ça permet d'ajouter des effets tant que tu portes l'arme par exemple. Ce n'est pas ce que tu recherches. Dans IEEP, ça se définit sur la première page (General) dans la partie Equipping effects.
Dans le deuxième, tu peux ajouter des "extensions headers" jusqu'au nombre de 3. Un d'entre eux désigne les coups portés (pour des armes), les autres servent à des fonctions spéciales (comme les sorts d'une baguette ou les apports spécifiques d'un objet comme la possibilité de lancer un sort une fois par jour). Ces effets se créent sur la troisième page (Other infos). Pour les coups d'une arme, il faut choisir "Weapon" dans "Use location", autrement c'est plutôt "Magical" (à vérifier dans des objets similaires à ceux que tu veux créer). Les effets s'ajoutent dans la partie Item effects.

Je t'invite à regarder comment sont réalisés certains objets du jeu qui ont le même effet que ton arme. Je pense en particulier au sceptre de terreur (N % de chances de perdre du charisme à chaque coup) qui porte le nom RODS05.ITM. Ou encore à l'épée annonciatrice : SW2H07.ITM.
Isaya est déconnecté   Réponse avec citation
Vieux 14/04/2004, 01h59   #14
ferrumach
Berserker Ogre
 
Date d'inscription: janvier 2004
Messages: 1 017
Par défaut

Bon excusez moi , c'est vrai qu'avec tous mes posts je dois vous embrouiller un peu...
Je dis cela, suite à :
Citation:
On peut ajouter des effets aux objets de deux façons :
- quand tu le prends en main
- quand tu t'en sers

Dans le premier cas, ça permet d'ajouter des effets tant que tu portes l'arme par exemple. Ce n'est pas ce que tu recherches
Eh bien en fait si !
mon arme crée lancera:
25% emprisonnement à chaque coup ( c'est donc les coups portés) (3 eme page)
(pas de probleme pour cet effet)
ET
30 % de cloud kill lors des coups recus par son porteur(1 ere page car c'est un effet indépendant des actions de celui qui porte l'arme (qu'il l'utilise ou non)

le katana de kuroisan utilise le meme principe (contre coup acide sur l'attaquant chaque fois que celui ci inflige des dégats au porteur du katana), j'ai donc utilisé les meme paramètres en changeant simplement la probabilité ( 30 % aulieu de 100%), ce qui ne marche pas puisque le cloud kill est lancé à chaque fois ( c'est le problème)

Heu bon je suis tjs au meme point...
NB: ISAYA je n'arrive pas à extraire les armes que tu me proposes avec IEEP( ou puis je les loader avec IEEP ?:elles ne sont pas dans l'override) , cela dit ce sont des armes qui infligent un effet lorsque que l'on utilise l'arme( j'ai regardé avec IE) donc pas vraiment mon problème ....
Edit:
walar pour ton idée :
IF
Hitby(LastHitter,0)
HasItemEquipedReal("EPEPE",Myself)
THEN
RESPONSE#20
ReallyForceSpell(Myself,WIZARD_DEATH_FOG)
RESPONSE#80
Continue()
END
puis association du script à l'item:
j'utilise le spell effect set IA en mettant le nom du script dans ressource key
avec paramètres o et o ( *.bcs mis dans l'override)

mais cela ne marche pas...( pas de death fog) :sad: WHY?
(plus tard si les responses cheatent je ferai avec les triggers random et hitby)
Reedit: je vais me pencher sur winbiff...(merci Walar)
ferrumach est déconnecté   Réponse avec citation
Vieux 14/04/2004, 02h04   #15
Walar, Patricien de Melandis
Berserker Ogre
 
Avatar de Walar
 
Date d'inscription: avril 2003
Messages: 1 004
Par défaut

Pour extraire des données (par exemple des armes) il faut utiliser Winbiff, le lien de téléchargement doit être mis dans le forum outil, et il doit y avoir un ou deux sujets traitant de ce programme simple à utiliser.

Cela extrait le fichier où tu veux et ensuite tu peux l'ouvrir avec IEEP.
Walar est déconnecté