![]() |
| | |||||||
| 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. |
![]() |
| | Outils de la discussion | Noter la discussion |
| | #1 |
| Invités
Messages: n/a
|
Bon, je sais que le problème a déjà été évoqué, mais j'ai déjà lu les thread correspondants et ça ne résoud pas mon problème pour autant. Donc en un mot comme en cent : help ! Voici le code que je rajoute au script de l'area (et ce n'est pas une question d'extend_bottom foireux, je rajoute aussi des CreateCreature qui fonctionnent très bien) : Code: IF
*G("deja_fait", 0)
*Exist([ENEMY])
THEN
*RESPONSE #100
* *ActionOverride([ENEMY], DestroySelf())
END
IF
*G("deja_fait", 0)
THEN
*RESPONSE #100
* *SG("deja_fait", 1)
END
Et le script ci-dessus ne fait rien du tout. J'ai essayé sans la condition Exist en demandant la destruction de 4 ou 5 enemy puis le SG("deja_fait", 1), ça ne marche pas mieux. J'ai aussi essayé avec des Kill([ENEMY]), nada. A croire que je n'arrive pas à accéder aux enemies par [ENEMY]. Je pensais utilise le nom de death variable, mais malheureusement, les créatures que je souhaite supprimer n'en ont pas (semble-t-il, apres vérification avec NI). Donc je me demande ce qui foire et pourquoi... ? |
|
| | #2 | ||||||
| Berserker Ogre ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: avril 2003
Messages: 986
|
Tu pourrais juste expliquer plus précisément la situation, avec quels ennemis et où si possible ? Je ne suis plus trop dans le bain, il faut que je m'y remette sérieusement. Cependant j'avais eu un problème similaire, et j'ai ramé pour trouver une solution, mais ça a marché. Je ne crois pas que ce soit la technique la plus simple, en plus j'avais des problèmes car la zone n'avait pas de script propre. Cependant si tes ennemis ont un script unique tu peux faire beaucoup plus simple en leur allouant mon tout premier point (ci-dessous). Je te cite mon message : (copier-coller) Comment effacer un personnage qui a un script général ou n'en a pas... Pour complèter un peu le sujet de comment effacer un personnage, je voulais récemment enlever deux roturiers dans une maison du district du pont. Le problème est que l'on ne peut pas simplement faire un nouveau script et le rajoutter à celui qu'ils ont actuellement car tous les roturiers ont le même (en fait ils en ont même 3 de scripts... :..: )... Donc si je mettais "DestroySelf()", tous les roturiers du jeu y seraient passés... :omg: Alors, j'ai tout d'abord créé un nouveau script, que je nommerais V#BRAT1 par exemple (c'est un fichier .baf contenant) : (petite précision le PNJ que je voulais éliminer se nommais "BRAT1"). Citation:
Voilà ce que donne ce passage dans mon fichier .tp2 : Citation:
Citation:
Citation:
Citation:
Citation:
1) Utiliser un éditeur hexadécimal pour rajouter un 0 à la fin de V#BRAT1 (directement) 2) Soit utiliser cette commande qui le rajoute par l'intermédiaire de WeiDU et donc élimine le caractère parasite. Le 0x257 est l'endroit où cela doit être ajouté (à la fin de V#BRAT1) qui fait 7 lettres. Et voilà, lorsque vous entrez dans la map concernée, le bonhomme disparait. Donc, j'espère que ça peut t'aider.
__________________ Melandis - Cité de la Destruction | ||||||
| | |
| | #3 | |
| Invités
Messages: n/a
|
Si j'ai bien suivi sur IESDP, Dead() attends un nom de death variable, non ? Car justement les créatures que je veux supprimer ont pour death variable : NONE... ce qui n'est pas très classe, si ? Bon en tout cas, je suppose que je peux supprimer toutes les créature de ce type du jeu car en effet, on en trouve pas beaucoup. Bon, pour donner plus d'infos : SPOILER : Citation:
| |
|
| | #4 | ||||
| Berserker Ogre ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: avril 2003
Messages: 986
|
Mais ces créatures possèdent un script qui leur est propre ou non ? Je parle d'un script de combat, qui va dicter leurs actions etc. Le gros problème que j'ai eu est que le script était commun à tous les roturiers du jeu (attention, j'ai l'impression que tu confonds script et death variable). Et donc j'ai dû créé de nouveaux scripts spécialement pour eux et les allouer aux personnages. Si tu n'as pas ce problème tu n'auras pas besoin de te compliquer la vie comme moi. Si c'est le cas, il te suffit d'ajouter ceci au script : Citation:
Citation:
Citation:
Citation:
Sinon, si je me souviens bien, il me semble qu'avec l'éditeur de zone (je me rappelle plus le nom du programme) on peut "vider" les cartes, mais moi je ne connais pas du tout ça.
__________________ Melandis - Cité de la Destruction | ||||
| | |
| | #5 |
| Invités
Messages: n/a
|
En fait oui, il y a bien un script qui leur est propre, de ce coté là pas de problème (du coup il doit même pas y avoir besoin de changer de script, si ?) Je vais essayer en tout cas, et j'espere que ça ne m'en éliminera pas trop... |
|
| | #6 |
| Loup Vampirique ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
[ENEMY] ou [0.0.MEPHIT] ne servent à ma connaissance que comme "object" dans des triggers comme See([ENEMY]). Je ne pense pas que tu puisses les utiliser avec ActionOverride(). Je pense qu'il te faut effectivement utiliser une "death variable", désormais plus couramment appelée "script name" par les outils régulièrement mis à jour (DLTCEP, NI). [ENEMY] ne fonctionne que si les créatures deviennent hostiles (cercle rouge), par conséquent, il ne fonctionnerait de toute façon que lorsque les créatures te verraient, ce qui aurait l'effet assez bizarre de les tuer à vue. Les "death variable" ne sont pas toujours uniques. Tous les gobelins normaux ont la même, par exemple. L'intérêt de la "death variable" vient de la possibilité de personnifier des choses à partir de script (raison pour laquelle les gens l'appellent désormais plutôt "script name"). Ce n'est donc pas étonnant que beaucoup de créatures ne soient pas uniques de ce point de vue si aucun script n'a besoin de les identifier individuellement. Au passage, "NONE" est un nom tout à fait valable. Ce n'est pas comme si la variable était vide. Ici il est toujours possible de s'en servir pour le script. Si tu sais combien de créatures il y a, tu devrais plutôt utiliser une forme: Code: IF
G("deja_fait", 0)
THEN
RESPONSE #100
* ActionOverride("NONE", DestroySelf())
... autant de fois que nécessaire
* ActionOverride("NONE", DestroySelf())
* SG("deja_fait", 1)
END
Reste à savoir si le jeu sait se débrouiller avec le fait que le nom de script de plusieurs créatures que tu veux commander n'est pas unique... Dans le cas contraire, utilise la méthode proposée par Walar. Tu peux aussi ajouter une vérification sur la présence dans la zone qui t'intéresse (avec AreaCheck("ARxxxx")) pour être sûr que ton ordre ne s'applique pas ailleurs. |
| | |
| | #7 |
| Invités
Messages: n/a
|
Ok merci, ça marche : le CheckArea était ce qui me manquait (j'ai du le rater dans IESDP :timide: ). En tout cas cette solution marche. Cependant, la solution avec utilisation du "None" ne fait rien, ou peut-être que ça en tue qu'un... en tout cas ça ne tue pas toutes les créatures avec ce script name même si je met l'instruction le bon nombre de fois. Voila ! |
|
![]() |
| Liens sociaux |
| Tags |
| Aucune |
| Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s)) | |
| Outils de la discussion | |
| Noter la discussion | |
|
|
Discussions similaires | ||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| [BUG] AREA 0700 : la Promenade de Waukyne | Venolas | La Taverne d'Amkethran (Baldur's Gate 2) | 3 | 30/11/2005 15h03 |
| [BG]texte et area editing | nal'ex | Problèmes Techniques | 3 | 03/09/2004 10h49 |
| Découvrez notre boutique RPG en ligne et les meilleurs RPG au meilleur prix [ The Witcher Edition Collector | WAR Warhammer Online : Age of Reckoning Standard | WAR Warhammer Online : Age of Reckoning Collector | WoW World of Warcraft : La Colère du Roi Liche | WoW World of Warcraft : La Colère du Roi Liche Edition Collector | Age of Conan : Hyborian Adventures Edition Collector | Baldur's Gate 1 & 2 (Intégrale) | Assassin's Creed ] |
| Merci de soutenir La Couronne de Cuivre et le Wiki consacré à Baldur's Gate et aux RPG Fuseau horaire GMT +2. Il est actuellement 18h58. |