Sujet n°13951
Posté par Carnistus le 7 Juil - 22:58 (2014)
Titre : [Résolue]Petit problème avec le système de quête
Bonjours,

J'ai un petit problème avec le système de quête.
La quête se lance et s'affiche correctement mais quand je remplis l'objectif de la quête ne se finit pas.
La quête en question:
Spoiler

Code:
@tab_def_quete[0] = { "lancement"  => ["SPECIAL"],
                            "nom"  => "Test de quete",
                            "desc" => "petit test pour ;e system de"+
                                     "\nquete"+
                                     "\n"+
                                     "\n",
                            "but"  => [["VOIR",2,"NIRONDELLE"],["CAPTURER",1,"NIRONDELLE"],["CAPTURER",1,"LINEON"]],
                            "gain" => [["ARGENT",5000]]}


Quand je capture un Nirondelle la quête est toujours à PRIS: 0/1 même chose avec les autres objectifs.

Posté par FinalArt le 7 Juil - 23:04 (2014)
Peut-être que je dit de la merde, mais le point-virgule dans "petit test pour ;e system de" fait peut-être chier.

Posté par Carnistus le 7 Juil - 23:09 (2014)
Ah je l'avais pas vu(faute de frappe) mais le problème n'est pas de la.

Posté par Tokeur le 7 Juil - 23:20 (2014)
Nop, le ; est dans une chaine de caractères donc normalement ça ne doit pas influer. Je ne connais pas et n'ai pas le system de quête donc je ne peux pas résoudre ton problème :/

Posté par Schneitizel le 7 Juil - 23:24 (2014)
L'un des scripts de quete est custom?

Posté par Carnistus le 7 Juil - 23:30 (2014)
Non je n'ai rien modifié sauf la quête elle-même

Posté par myko le 8 Juil - 05:40 (2014)
Ben si le nom du en mettant le nom du pokémon, ici Nirondelle, tu peux essayer de mettre son ID, les deux méthodes fonctionnent normalement, donc à voir si ça fonctionne pour toi avec l'ID Gros matou qui ronronne

Par exemple ici pour la capture d'un Nirondelle ça donnerait plutôt : ["CAPTURER",1,276]

Essaye déjà ça Gros matou qui ronronne

Posté par Carnistus le 8 Juil - 05:58 (2014)
J'ai essayé et ça ne marche pas non plus...
J'ai aussi test les autres objectifs mais pareil les objectifs ne se valident pas.

Posté par myko le 8 Juil - 06:31 (2014)
Ben moi jusqu'à maintenant toutes mes quêtes fonctionnent, mais quand j'essaye ta quête chez moi ça ne marche pas non plus, donc je ne sais pas pourquoi, je peux pas t'aider, désolé :/

Posté par Carnistus le 8 Juil - 19:56 (2014)
Tu peux copier une de tes quêtes ici?
J'ai peut-être mal fait un truc...

Posté par Ku'rei le 8 Juil - 21:53 (2014)
Essaie de remplacer le nom des pokémons par leur id national
je ne connais pas ce système, mais dans le topic d'origine Zelda parle d'ID pas de noms
Tiens nous au courant Imbécile heureux

Posté par Schneitizel le 8 Juil - 22:16 (2014)
Ku'rei a raison, il faut mettre l'id national!

J'ai maté les scripts qui interagissent avec les quêtes, comme les scripts de combat, et ils valident l'id, pas le nom Clin d'œil foireux

Posté par Carnistus le 9 Juil - 22:35 (2014)
J'ai déjà essayé avec les id mais ça ne marche pas.
Pourtant dans les quêtes qui sont déjà dans le script comme exemple il y a bien le nom des pokémon et pas leur id

Édit:J'ai testé avec d'autres quêtes et il semble que les quêtes qui ne marchent pas soie lier au combat...(La capture et voir)
Je suis sous PSPOG et il me semble que le script de combat a été modifier dans ce SK.

Posté par Nuri Yuri le 10 Juil - 09:27 (2014)
C'est bien possible, regarde si le système valide les objectifs :p

Posté par Carnistus le 10 Juil - 19:17 (2014)
Je crois qu'un des scripts de base s'occupe justement de valider les objectifs.
Spoiler

Code:
class Game_Event
  alias qu_start start
  def start
    if $pokemon_party != nil
      if @event.name != "FALSE"
        $pokemon_party.quete_parler(@event.name)
      end
    end
    qu_start
  end
end

class Interpreter
  alias qu_command_126 command_126
  def command_126
    value = operate_value(@parameters[1], @parameters[2], @parameters[3])
    $pokemon_party.quete_tr_obj(@parameters[0],value)
    qu_command_126
  end
end

module POKEMON_S
  class Pokemon_Battle_Trainer < Pokemon_Battle_Core
    alias qu_initialize initialize
    def initialize(party, trainer_id, ia = false, run_able = false, lose_able = false, capturable = false, niveau = 2)
      qu_initialize(party, trainer_id, ia, run_able, lose_able, capturable, niveau)
      $pokemon_party.quete_voir_pokemon(@enemy.id)
    end
   
    alias qu_catch_pokemon catch_pokemon
    def catch_pokemon(ball_data)
      $pokemon_party.quete_capturer_pokemon(@enemy.id)
      qu_catch_pokemon(ball_data)
    end
  end
 
  class Pokemon_Battle_Wild < Pokemon_Battle_Core
    alias qu_initialize initialize
    def initialize(party, pokemon, ia = false, lose_able = false)
      qu_initialize(party, pokemon, ia, lose_able)
      $pokemon_party.quete_voir_pokemon(@enemy.id)
    end
   
    alias qu_catch_pokemon catch_pokemon
    def catch_pokemon(ball_data)
      $pokemon_party.quete_capturer_pokemon(@enemy.id)
      qu_catch_pokemon(ball_data)
    end
  end
 
  class Pokemon_Battle_Core
    alias qu_enemy_down enemy_down
    def enemy_down
      $pokemon_party.quete_vaincre_pokemon(@enemy.id)
      qu_enemy_down
    end
  end
end



Edit:Ce problème est présent seulement sur le stater kit PSPOG pour le résoudre il faut seulement déplacer le script fonction quête dans la section communauté de PSPOG