Sujet n°2531
Posté par Angi-MK le 29 Déc - 10:56 (2008)
Titre : ARMURE
J'était en plein combat passionnant entre un CHRYSACIER et un COCONFORT, chacun lancé son ARMURE respectif quand soudain... Le COCONFORT se mis (au bout de 5 tours à peu près) à me lancer des LUTE et mon CHRYSACIER lui continué tranquillement de lancer ARMURE et là, deuxième surprise, mon CHRYSACIER, à qui il ne reste plus qu'une vie, lance ARMURE... et meurs...
Qui pour m'expliquer ce bug lol Clin d'œil foireux

Posté par Empire1601 le 29 Déc - 11:31 (2008)
c'est un abr*** XD
Le chrysacier avait il monté sa défense au max ?
Le problème vient de l'IA de PSP qui est assez rudimentaire, mais personne n'a assez de connaissances en ce domaine pour l'améliorer :?

Posté par Aten974 le 29 Déc - 15:02 (2008)
Krosk ne peut rien y faire ?

après je n'ai aucune idée de où ça peut venir ...

Posté par Krosk le 30 Déc - 23:23 (2008)
Citation:
mon CHRYSACIER, à qui il ne reste plus qu'une vie, lance ARMURE... et meurs...

Il lui reste 1 de PV, il lance ARMURE, et il meurt? Et ton adversaire, il n'a pas attaqué ?

Si le bug se réitère, je jetterai un coup d'oeil


Et l'IA est programmable sans connaître forcément grand chose...

Posté par Angi-MK le 31 Déc - 00:12 (2008)
Oui ça c'est reproduit en fait quelques fois ou tu lance ARMURE bah tu prends des dégâts, c'est
pas systématique, c'est assez aléatoire.

Posté par Krosk le 31 Déc - 01:38 (2008)
mais qui joue avec armure de nos jours, qui plus est un duel coconfort/chrysacier... tu veux refaire la scène de l'anime ?

Posté par Angi-MK le 31 Déc - 09:35 (2008)
Non j'était juste en pleine forêt de jade pour tester ce que j'avais déjà placé de mon scénario et
dans cette forêt il y a des coconfort sauvage lol

Mais là c'était contre un dresseur et impossible de fuir...
Mon bulbizarre étant KO j'avais pas d'autre choix que d'appeler chrysacier :idea:

Posté par Sphinx le 31 Déc - 09:38 (2008)
J'ai également noté qu'au bout de très peu de tours, un CHRYSACIER ou un COCONFORT utilisait non plus ARMURE (alors qu'il lui restait des PP sur cette attaque) mais LUTTE ^_^"

Posté par Angi-MK le 31 Déc - 12:53 (2008)
Ouais, c'est ce que je voulais signaler en disant "au bout d'à peu près 5 tour"   :mrgreen:

Posté par Sphinx le 31 Déc - 13:19 (2008)
c'est réellement après 5 tours, g compté, & g même foutu des prints pr qu'à chaque tour il me donne le nbre de PPs restants à l'attaque ARMURE ^_^"

Posté par Krosk le 2 Jan - 11:05 (2009)
Ah, je sais pourquoi il lance des LUTTE. empire a bien pointé du doigt le probleme. C'est qu'au bout de 5 tours, l'IA dit que ca sert à rien de lancer ARMURE car ca n'augmentera pas plus la défense. Comme l'IA n'arrive pas à trouver d'attaque à lancer (puisqu'il n'à que ARMURE), PSP lance LUTTE à la place.

Posté par Sphinx le 2 Jan - 11:17 (2009)
xP Logique (sauf que ca devrait au moins le lancer une 6° fois, nn ? :shock:)


>> Faudrait court circuiter l'IA s'il reste - de 2 attaques possédant encore des PPs (s'il en reste une, ca la lance, s'il en reste 0 alors ca lance lutte)

Posté par Angi-MK le 2 Jan - 11:20 (2009)
Bah en tout cas normalement il devrais lancer des ARMURE jusqu'au bout (même si ça sert à rien)
Comme quoi c'est c** un POKEMON :mrgreen:

Posté par Angi-MK le 7 Jan - 16:38 (2009)
Toujours pas de solution ou problèmes mis de côté ?

Posté par Krosk le 7 Jan - 18:04 (2009)
dans le script Trainer IA, remplacer tous les
Code:
rate = 0

par
Code:
rate = 0.5


C'est pas très propre, mais c'est la seule façon de procéder que j'ai trouvé qui n'oblige pas à modifier PBC.

Posté par Sphinx le 7 Jan - 18:53 (2009)
sinn, krosk, au début du script de l'IA, y a pas moyen de mettre un truc vite fait du genre :

Code:
n = 0
for i in @enemy.skills_set
  n += 1 if i.pp > 0
end
case n
when 0
  #Lancer Lutte
when 1
  #Lancer cette attaque
end


?

Posté par Krosk le 7 Jan - 19:10 (2009)
PBC fait :
Code:
decision = LUTTE
for skill in @enemy.skills_set
  decision = skill if IA decide que skill vaut le coup et skill a des PP restants
end
lancer decision


Le script de l'IA gère seulement si ca vaut le coup de lancer une attaque ou non. Ce bout de script explique pourquoi il lancait LUTTE après quelques ARMURES...

Posté par Sphinx le 7 Jan - 20:24 (2009)
(et modifier 0 par 0.5 signifierait "cette attaque vaut un peu le coup, en tt k plus que lutte" ?)

Posté par Krosk le 7 Jan - 20:56 (2009)
0 signifie "cette attaque ne doit pas être lancée", ce qui est exactement équivalent à "elle n'a plus de PP" dans la manière que j'ai codé.
On aurait pu le remplacer par 1 (priorité de TREMPETTE) au lieu de 0.5, bien entendu. Fallait juste que ça ne vale pas 0, mais que ca soit suffisament bas pour ne pas prendre la priorité d'une attaque qui vaut le coup.

Posté par Angi-MK le 10 Jan - 08:14 (2009)
Ok mais ARMURE a bel et bien mis K.O. mon CHRYSACIER, et au passage POUDRE DODO enlève
"parfois" des PV à l'ennemi... Clin d'œil foireux lol

Posté par PiVa le 11 Jan - 11:20 (2009)
Mister-K a écrit:

POUDRE DODO enlève "parfois" des PV à l'ennemi... Clin d'œil foireux lol
Xd , c'est pas grave le pokémon s'est fait mal en tombant par terre XD

Posté par Krosk le 12 Jan - 22:54 (2009)
J'avoue ne pas avoir le courage de replonger mon nez dans PBC.

Posté par Angi-MK le 15 Jan - 19:17 (2009)
Je te comprends lol Clin d'œil foireux
Bah si quelqu'un à une idée, sinon ce n'est pas très gênant (enfin ça dépends pour qui) Yeux motorisés

Posté par Angi-MK le 16 Jan - 00:09 (2009)

Je post la vidéo ici aussi !

Posté par Krosk le 17 Jan - 19:02 (2009)
Après retest et retest... le bug n'apparaît pas chez moi. J'en déduis (à tort, peut-être) que c'est un bug qui est propre à ta version... Essaie de voir si ca arrive sur une version vierge de PSP.

Posté par Angi-MK le 17 Jan - 19:10 (2009)
lol ok je test et j'éditerais quand ce sera fait Clin d'œil foireux