Sujet n°3651
Posté par Brendan75 le 28 Avr - 19:21 (2009)
Titre : Compresseur de pokémon
Salut à tous !

Voilà mon premier script, il sert à compresser, puis à décompresser un pokémon. Je m'explique, si vous voulez programmer les pokémons de votre jeu à plusieurs, ce script permet de convertir les données d'un pokémon en un fichier que vous pourrez envoyer à un autre membre de l'équipe. Pour cela tous les membres concernés doivent mettre ce script au dessus de main, puis dans le jeu appuyez sur la touche F8, choisissez le pokémon, un fichier rxdata se crée, envoyez ce fichier. Pour le décompresser, mettez le fichier dans le dossier du jeu puis lancez le jeu une fenêtre s'affiche pour chaque fichier de pokémon dans le dossier, suivez les instruction et voilà.

Quelques précisions :
  • On peut peut-être faire plus court ou autrement, donc j'attends l'aide de tout les scripteurs, merci d'avance !
  • Cette version n'est compatible qu'avec PSP4g+ !
  • Pour ceux qui on une introduction personnalisée, le Scene Title est dans ce script
  • On peut compresser de nombreux pokémons en même temps
  • Afin d'alléger le démarrage, vous pouvez supprimer les fichier une fois qu'ils ont été décompressés

code
Code:
#==============================================================================
# ■ Pack and Unpack
#    by Brendan75
#==============================================================================

#==============================================================================
# ■ Game Temp
#==============================================================================
class Game_Temp
  attr_accessor :pack_calling
end

#==============================================================================
# ■ Game Map
#==============================================================================
class Scene_Map

  def update
    loop do
      $game_map.update
      $game_map.refresh
      $game_system.map_interpreter.update
      $game_player.update
      $game_system.update
      $game_screen.update
      unless $game_temp.player_transferring
        break
      end
      transfer_player
      if $game_temp.transition_processing
        break
      end
    end
   
    $use_rec_item = false
   
    @spriteset.update
    @message_window.update
   
    if $game_temp.gameover
      $scene = Scene_Gameover.new
      return
    end
   
    if $game_temp.to_title
      $scene = Scene_Title.new
      return
    end
   
    if $game_temp.transition_processing
      $game_temp.transition_processing = false
      if $game_temp.transition_name == ""
        Graphics.transition(20)
      else
        Graphics.transition(40, "Graphics/Transitions/" +
          $game_temp.transition_name)
      end
    end
   
    if $game_temp.message_window_showing
      return
    end
   
    # Comptage Rencontre aléatoire
    if $random_encounter != [0] and $game_player.encounter_count == 0
      tag = $game_player.terrain_tag
      unless $game_system.map_interpreter.running? or
              $game_system.encounter_disabled or
              tag == 0
       
        enemy_list = $random_encounter[tag]
        if enemy_list != nil and enemy_list.length > 1
          $game_temp.battle_calling = true
        end
      end
    end
   
    if Input.trigger?(Input::B)
      unless $game_system.map_interpreter.running? or
             $game_system.menu_disabled
        $game_temp.menu_calling = true
        $game_temp.menu_beep = true
      end
    end
   
    if Input.trigger?(Input::A)
      unless $game_system.map_interpreter.running? or
             $rec_item_id == nil
        $use_rec_item = true
      end
    end
   
    if $DEBUG and Input.press?(Input::F9)
      $game_temp.debug_calling = true
    end
   
    if $DEBUG and Input.press?(Input::F8)
      $game_temp.pack_calling = true
    end
   
    # Map monde
    if $game_map.map_id == POKEMON_S::_WMAPID
      $game_temp.menu_calling = false
      $game_temp.menu_beep = false
      $game_temp.debug_calling = false
      if Input.trigger?(Input::B)
        $game_temp.back_calling = true
      end
      if Input.dir4 == 2 or Input.dir4 == 4 or Input.dir4 == 6 or
          Input.dir4 == 8
        $game_temp.world_map_event_checking = true
      end
      unless $game_player.moving?
        $game_player.check_world_map
      end
    end
   
    unless $game_player.moving?
      if $game_temp.battle_calling
        call_battle
      elsif $game_temp.shop_calling
        call_shop
      elsif $game_temp.name_calling
        call_name
      elsif $game_temp.menu_calling
        call_menu
      elsif $game_temp.save_calling
        call_save
      elsif $game_temp.debug_calling
        call_debug
      elsif $game_temp.back_calling
        call_back_world_map
      elsif $use_rec_item
        int = Interpreter.new
        int.utiliser($rec_item_id)
      elsif $game_temp.pack_calling
        call_pack
      end
      $pokemon_party.maj_quetes
    end
   
  end

  def call_pack
    $game_temp.pack_calling = false
    $game_system.se_play($data_system.decision_se)
    $game_player.straighten
    $scene = Scene_Pack.new
  end
 
end
 
#==============================================================================
# ■ Scene Pack
#==============================================================================
class Scene_Pack
  include POKEMON_S
 
  def main
    @z_level = 200
   
    @spriteset = Spriteset_Map.new
    @text_window = Pokemon_Window_Help.new
    @text_window.draw_text("Choisissez le pokémon à compresser puis validez.")
    @text_window.visible = true
   
    @sprite_gene = Window_Base.new(285, 8, 192, 192 + 128)
    @sprite_gene.contents = Bitmap.new(160,160 + 128)
    @sprite_gene.z = @z_level + 40
    @sprite_gene.visible = true
    @sprite_gene.active = true
    @sprite_gene.contents.font.name = $fontface
    @sprite_gene.contents.font.size = $fontsize
    @sprite_gene.contents.font.color = @sprite_gene.normal_color
     
    @id_gene = Window_Base.new(8, 138, 150, 64)
    @id_gene.contents = Bitmap.new(150-32, 32)
    @id_gene.z = @z_level + 40
    @id_gene.contents.font.name = $fontface
    @id_gene.contents.font.size = $fontsize
    @id_gene.active = true
    @id_gene.visible = true
    @id_gene.contents.font.color = @id_gene.normal_color
    @id_gene_index = 0 # Index Digit: 0 unité, 1 dizaines, 2 centaines
   
    @id = 1
    refresh_sprite
 
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @spriteset.dispose
    @text_window.dispose
    @id_gene.dispose
    @sprite_gene.dispose
  end
   
  #--------------------------------------------------------------------------
  # ● Update
  #--------------------------------------------------------------------------
  def update
    @spriteset.update
    @text_window.update
    @id_gene.update
    if @id_gene.active
      update_gen_id
      return
    end
  end
 
  def update_gen_id
    if Input.trigger?(Input::LEFT)
      if @id_gene_index == 2
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      @id_gene_index += 1
      refresh_id
    end
   
    if Input.trigger?(Input::RIGHT)
      if @id_gene_index == 0
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      @id_gene_index -= 1
      refresh_id
    end
   
    if Input.repeat?(Input::UP)
      if @id >= $data_pokemon.length-1
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      @id += 10 ** @id_gene_index
      if @id >= $data_pokemon.length-1
        @id = $data_pokemon.length-1
      end
      while Pokemon_Info.name(@id) == "-------"
        @id += 1
        if @id > $data_pokemon.length-1
          @id = 1
        end
      end
      refresh_sprite
      refresh_id
      return
    end
   
    if Input.repeat?(Input::DOWN)
      if @id <= 1
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      @id -= 10 ** @id_gene_index
      if @id <= 1
        @id = 1
      end
      while Pokemon_Info.name(@id) == "-------"
        @id -= 1
        if @id < 1
          @id = $data_pokemon.length-1
        end
      end
      refresh_sprite
      refresh_id
      return
    end
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.decision_se)
      refresh_sprite
      $scene = Scene_Map.new
    end
   
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      pack(@id)
      refresh_sprite
      $scene = Scene_Map.new
      return
    end
  end
 
  def refresh_sprite
    @sprite_gene.contents.clear
    src_rect = Rect.new(0, 0, 160, 160)
    ida = sprintf("%03d", @id)
    bitmap = RPG::Cache.battler("Front_Male/" + ida + ".png", 0)
    @sprite_gene.contents.blt(0, 0, bitmap, src_rect, 255)
    string = POKEMON_S::Pokemon_Info.name(@id)
    @sprite_gene.contents.draw_text(0, 160, 160, 32, string, 1)
    @sprite_gene.contents.draw_text(0, 192, 160, 32, "ID: "+ida.to_s, 1)
    @sprite_gene.contents.draw_text(0, 224, 160, 32, "Nv: "+@level.to_s, 1)
  end
 
  def refresh_id
    @id_gene.contents.clear
    @id_gene.contents.draw_text(0, 0, 118, 32, "ID")
    string = ("000" + @id.to_s)[-3..-1]
    for i in 0..2
      if $data_pokedex[@id] == nil
        $data_pokedex[@id] = [false, false]
      end
      if i == @id_gene_index
        @id_gene.contents.font.color = @id_gene.text_color(2)
      end
      @id_gene.contents.draw_text(0, 0, 118 - 22*i, 32, string[2-i..2-i], 2)
      @id_gene.contents.font.color = @id_gene.normal_color
    end
    @id_gene.contents.font.color = @id_gene.normal_color
  end
 
  #--------------------------------------------------------------------------
  # ● Pack(id)
  #--------------------------------------------------------------------------
  def pack(id)
    data = []
    data[0] = $data_pokemon[id]
    data[1] = $data_classes[id]
    data[2] = $data_weapons[id]
    data[3] = $data_armors[id]
    data[4] = $data_enemies[id]
    ida = sprintf("%03d", id)
    file_name = "Pkm_" +ida
    save_data(data, "#{file_name}.rxdata")
  end
 
end

#==============================================================================
# ■ Game Title
#==============================================================================
class Scene_Title
  include POKEMON_S
 
  def main
    if $BTEST
      battle_test
      return
    end
   
    for i in 1..500
      @pkm_load = false
      ida = sprintf("%03d", i)
      file_name = "Pkm_" +ida
      if FileTest.exist?("#{file_name}.rxdata")
        print("Fichier de pokémon compressé détecté.\n\nAppuyez sur Entrée, puis sur Entrée pour charger, ou Echap pour continuer.")
        loop do
        Graphics.update
        Input.update
          if Input.trigger?(Input::C)
            data = load_data("#{file_name}.rxdata")
            $data_pokemon[i] = data[0]
            $data_classes[i] = data[1]
            $data_weapons[i] = data[2]
            $data_armors[i] = data[3]
            $data_enemies[i] = data[4]
            @pkm_load = true
            break
          end
          if Input.trigger?(Input::B)
            break
          end
        end
      end
    end
   
    if FileTest.exist?("SaveAuto.rxdata")
      print("Sauvegarde de secours détectée.\n\nAppuyez sur Entrée, puis sur Echap pour charger, ou Entrée pour continuer.")
      loop do
        Graphics.update
        Input.update
        if Input.trigger?(Input::C)
          File.delete("SaveAuto.rxdata")
          break
        end
        if Input.trigger?(Input::B)
          @auto_load = true
          break
        end
      end
    end
   
    if $game_system == nil
      $data_actors        = load_data("Data/Actors.rxdata")
      $data_classes       = load_data("Data/Classes.rxdata")
      $data_skills        = load_data("Data/Skills.rxdata")
      $data_items         = load_data("Data/Items.rxdata")
      $data_weapons       = load_data("Data/Weapons.rxdata")
      $data_armors        = load_data("Data/Armors.rxdata")
      $data_enemies       = load_data("Data/Enemies.rxdata")
      $data_troops        = load_data("Data/Troops.rxdata")
      $data_states        = load_data("Data/States.rxdata")
      $data_animations    = load_data("Data/Animations.rxdata")
      $data_tilesets      = load_data("Data/Tilesets.rxdata")
      $data_common_events = load_data("Data/CommonEvents.rxdata")
      $data_system        = load_data("Data/System.rxdata")
      $picture_data       = load_data("Data/Library.rxdata")
     
      $game_system = Game_System.new
    end
   
    if not @auto_load and not MAPINTRO and not @pkm_load
   
      # -----------------------------------------------------------------
      #     La scène d'intro commence ici (non MAPINTRO)
      # -----------------------------------------------------------------
      # Elle est bien sûr modifiable à votre goût.
      # -----------------------------------------------------------------
      view = Viewport.new(0,0,640,480)
      view.z = -5
      #view = Viewport.new(0,25,640,430)
      #view.z = 0
      background = Plane.new(view)
      background.bitmap = RPG::Cache.title("Opening2.jpg")
      #background.oy += 25
      background.z = 0
      background.tone = Tone.new(0,0,0,255)
     
      #view = Viewport.new(0,0,640,480)
      #view.z = -5
      #background_bis = Plane.new(view)
      #background_bis.bitmap = RPG::Cache.title("Opening2.jpg")
      #background_bis.z = -5
     
      band_top = Sprite.new
      band_top.bitmap = RPG::Cache.title("Opening3.png")
      band_top.z = 5
      band_bottom = Sprite.new
      band_bottom.bitmap = RPG::Cache.title("Opening3.png")
      band_bottom.z = 5
      band_bottom.y = 450
     
      band_mid = Plane.new(Viewport.new(0,0,640,480))
      band_mid.bitmap = RPG::Cache.title("Opening4.png")
      band_mid.z = 5
     
      middle = Sprite.new
      middle.bitmap = RPG::Cache.title("Opening1.png")
      middle.z = 2
     
      title1 = Sprite.new
      title1.bitmap = RPG::Cache.title("Opening6.png")
      title1.z = 3
      title1.opacity = 0
      title1.color = Color.new(255,255,255,255)
     
      title2 = Sprite.new
      title2.bitmap = RPG::Cache.title("Opening7.png")
      title2.z = 4
      title2.opacity = 0
      title2.color = Color.new(255,255,255,255)
     
      flash = Sprite.new
      flash.bitmap = RPG::Cache.title("Opening8.png")
      flash.z = 10
      flash.opacity = 0
     
      mid = Sprite.new
      mid.bitmap = RPG::Cache.title("Opening5.png")
      mid.z = 5
      mid.visible = false
     
      screen = Sprite.new
      screen.bitmap = RPG::Cache.title("Opening10.png")
      screen.z = 2
      screen.visible = false
     
      start = Sprite.new
      start.bitmap = RPG::Cache.title("Opening11.png")
      start.z = 5
      start.visible = false
     
      Graphics.transition(5)
     
      $game_system.bgm_play($data_system.title_bgm)
      Audio.me_stop
      Audio.bgs_stop
     
      timer = 0
      loop do
        Graphics.update
        Input.update
       
        timer += 1
        background.ox -= 12
        #background_bis.ox += 6
       
        if timer == 210
          background.tone.gray = 0
        end
       
        if timer > 210 and background.tone.red > 0
          background.tone.red -= 25
          background.tone.green -= 25
        end
         
        if timer > 210 and timer % (150 + rand(50)) == 0
          background.tone.red = background.tone.green = 250
        end
       
        if flash.opacity > 0
          flash.opacity -= 15
        end
       
        if timer > 5 and not band_top.disposed?
          band_top.x += 13
          if band_top.x > 640
            band_top.dispose
          end
        end
       
        if timer > 73 and not band_bottom.disposed?
          band_bottom.x -= 13
          if band_bottom.x < -640
            band_bottom.dispose
          end
        end
       
        if timer > 150 and not band_mid.disposed?
          band_mid.ox -= 20
          if timer > 210
            band_mid.dispose
            mid.visible = true
          end
        end
       
        if timer > 210 and not title1.disposed? and title1.opacity < 255
          title1.opacity += 15
          title1.color.alpha -= 15
        end
       
        if timer > 240 and not title1.disposed? and title1.opacity == 255
          title1.color.alpha += 15
        end
       
        if timer == 270
          flash.opacity = 255
          title1.dispose
          mid.dispose
          middle.dispose
          screen.visible = true
        end
       
        if timer > 270 and not title2.disposed? and title2.opacity < 255
          title2.opacity += 15
          title2.color.alpha -= 15
          if title2.opacity >= 255
            title2.dispose
          end
        end
       
        if timer > 290 and timer%20 == 0
          start.visible = !start.visible
        end
       
        if Input.trigger?(Input::C)
          $game_system.se_play($data_system.decision_se)
          break
        end
       
        if timer > 3750
          Audio.bgm_fade(1000*5)
        end
       
      end
     
      Graphics.freeze
      background.dispose if not background.disposed?
      #background_bis.dispose if not background_bis.disposed?
      band_top.dispose if not band_top.disposed?
      band_bottom.dispose if not band_bottom.disposed?
      band_mid.dispose if not band_mid.disposed?
      mid.dispose if not mid.disposed?
      middle.dispose if not middle.disposed?
      title1.dispose if not title1.disposed?
      title2.dispose if not title2.disposed?
      flash.dispose if not flash.disposed?
      start.dispose if not start.disposed?
      screen.dispose if not screen.disposed?
      Graphics.transition
      Graphics.freeze
     
      Audio.bgm_stop
     
      # -----------------------------------------------------------------
      #     Fin de la scène d'intro
      # -----------------------------------------------------------------
   
    elsif MAPINTRO.type == Array and $_temp_map_intro == nil
      $_temp_map_intro = true
      $map_link = {}
      Audio.bgm_stop
      Graphics.frame_count = 0
      $game_temp          = Game_Temp.new
      $game_system        = Game_System.new
      $game_switches      = Game_Switches.new
      $game_variables     = Game_Variables.new
      $game_self_switches = Game_SelfSwitches.new
      $game_screen        = Game_Screen.new
      $game_actors        = Game_Actors.new
      $game_party         = Game_Party.new
      $game_troop         = Game_Troop.new
      $game_map           = Game_Map.new
      $game_player        = Game_Player.new
      # ---- Pas forcément nécessaire
      $pokemon_party = POKEMON_S::Pokemon_Party.new
      $data_storage = [[0]]
      $pokemon_party.create_box
      Player.set_trainer_code(rand(2**32))
      $random_encounter = Array.new(7)
      $random_encounter[0] = 0
      $battle_var = POKEMON_S::Pokemon_Battle_Variable.new
      $existing_pokemon = []
      $string = []
      POKEMON_S::set_SAVESLOT = @index
      Player.trainer_trade_code
      # ---- Pas forcément nécessaire
      $game_variables[5000] = {"menu_dp" => POKEMON_S::MENU_DP, "banque" => [BANQUE::Banque.new], "list_img" => [], "quete" => Data_Quete.new, "radio" => Radio.new, "version" => "PSP4G+", "zarbi" => [], "baies" => [], "progs" => [], "tutos" => {}}
      $game_variables[5000]["baies"][MAPINTRO[0]] = []
      $game_party.setup_starting_members
      $game_map.setup(MAPINTRO[0])
      $game_player.moveto(MAPINTRO[1], MAPINTRO[2])
      $game_player.refresh
      $game_map.autoplay
      $game_map.update
      $scene = Scene_Map.new
      return
    end
   
    Audio.bgm_stop
    $_temp_map_intro = nil
   
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.title($data_system.title_name)
   
    number = 0 # Nombre de cadres de sauvegarde à générer
    for i in 0..2
      if FileTest.exist?("Save#{i+1}.rxdata")
        number += 1
      end
    end
    @number = number
   
    @new_game_window = Window_Base.new(30, 30 + 83*@number, 580, 80)
    @new_game_window.contents = Bitmap.new(548, 48)
    set_window(@new_game_window)
    @new_game_window.contents.draw_text(9,3,548,48,"NOUVELLE PARTIE")
   
    @save_game_window_list = []
    for i in 1.. @number
      window = Window_Base.new(30, 30 + 83*(i-1), 580, 80)
      window.contents = Bitmap.new(548, 48)
      @save_game_window_list.push(window)
    end
   
    @index = 0
   
    @background = Plane.new(Viewport.new(0,0,640,480))
    @background.bitmap = RPG::Cache.picture("fondsaved.png")
    @background.z -= 10
   
    refresh_all
    Graphics.transition
   
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
   
    Graphics.freeze
   
    @new_game_window.dispose
    @background.dispose
    for window in @save_game_window_list
      window.dispose
    end
  end
 
end

Posté par Solfay1 le 28 Avr - 19:23 (2009)
:shock: bien jouer brendan !  Bouche extensiblek:

Posté par Lén le 28 Avr - 19:48 (2009)
Ou alors tu donnes a tes potes l'id le level + attaque du pokémon !!

Mais j'avoue que reunir et ameliorer (j'ai pas tout lu le script) comme tu l'a fait c'est un gros boulot.

Posté par Brendan75 le 28 Avr - 21:57 (2009)
Lén a écrit:
Ou alors tu donnes a tes potes l'id le level + attaque du pokémon !!


Je pense que c'est quand même mieux car ça donne toute les infos :
  • ID
  • Nom
  • ID Secondaire
  • Stat
  • Types
  • etc...

C'est plus simple et puis si chacun doit remettre tout, c'est comme programmer le pokémon 2 fois... non?

Posté par Tinei le 2 Sep - 16:23 (2010)
Bug à la ligne 27

Ligne 27:
 
Code:
break



Posté par RevengeOfShadow le 4 Sep - 14:28 (2010)
Chez moi ça marche du tonnerre mais est-ce qu'il serait possible de l'adapter pour PSP DS ? Comme ça je passerai le Pokémon spécial d'un de mes projets à l'autre ...

Posté par Brendan75 le 6 Sep - 21:18 (2010)
Tient, ça fait longtemps que je n'avais pas vu ce script, c'est bien qu'il ne soit pas mort X)
Je penserai à l'adapter à PSPDS, après tout c'est pas bien, long à faire.

Posté par Sphinx le 7 Sep - 11:33 (2010)
Imbécile heureux Si j'ai bien compris, c'est un moyen de transmettre un bout de sa BDD à un autre maker afin de faciliter le partage de nos bébêtes préférées entre plusieurs projets, c'est bien ca ?

Posté par Solfay1 le 7 Sep - 11:54 (2010)
Exactement Sphinx^^.


Ceci est un message pour dire que j'aime les pommes.

Posté par Sphinx le 7 Sep - 15:59 (2010)
^o^ Une idée serait de permettre des échanges entre pokémons qui ne sont pas d'une même version (qui n''existent pas dans la BDD du projet) mais ca ouvrirait tout de suite beaucoup de failles du style le joueur crée un pokémon de la mort qui tue et gagne Imbécile heureux

Posté par og_loc-TATOO le 7 Sep - 22:54 (2010)
Sphinx a écrit:
^o^ Une idée serait de permettre des échanges entre pokémons qui ne sont pas d'une même version (qui n''existent pas dans la BDD du projet) mais ca ouvrirait tout de suite beaucoup de failles du style le joueur crée un pokémon de la mort qui tue et gagne Imbécile heureux




Il n'y a que les boulets pour faire se genre de pokemon ^^
Ceux la ils dégagent =)
Les autres qui veulent bien joué n'on qu'a s'échanger les pokemon =)

Posté par Brendan75 le 8 Sep - 07:35 (2010)
C'est une très bonne idée qui permettrait de connecté les nombreuses régions PSP entre elles j'y travaillerai aussi, c'est promis ^^

Posté par Sphinx le 8 Sep - 08:20 (2010)
Clin d'œil foireux Avant de bosser là dessus, je crois qu'il faudrait limiter les pokémons possibles :p

Des idées ? ^o^

-> Limiter les stats du pokémon recu ?
-> Limiter le nombre de pokémons / attaques recues ?

:p Le codage sera ensuite bien plus simple lorsqu'on aura ces limites :p

Posté par Brendan75 le 8 Sep - 12:59 (2010)
Moi je propose que chaque jeu ai un ID propre, ainsi, chaque chef de proj' pourra décider d'autoriser les importations depuis tel ou tel jeu. C'est un moyen sûr (les script étant cachés) et qui permettra de poser des limites (par exemple si un tel ne veut pas des pokémons de tel ou tel jeu), et surtout, on ne peut pas juger d'un pokémon uniquement sur ses stats.

Posté par Sphinx le 9 Sep - 03:45 (2010)
Tu as déjà le tradegroup pour identifier les échanges Imbécile heureux

Par contre, je viens de réfléchir, ca risque de ne pas aller ^^" Les effets des attaques / capa spé d'origine auront peut être été modifiées dans la version de départ xD

Posté par RevengeOfShadow le 9 Sep - 18:47 (2010)
Sinon il y a le système de Pokémon d'origine : sans le badge tatata, on peut pas dépasser le niveau tatatatatata ...
Ca éviterait les échanges suspects ! Mais de toute façon vaut mieux supprimer ce script est surtout pour connecter les BDD entres-elles pour les makers et non pour les joueurs.

Sinon sur PSP 4G+ ça marche du tonnerre, bravo !

Posté par Brendan75 le 9 Sep - 20:06 (2010)
Ce script est et sera toujours réservé au Maker et donc inaccessible aux joueurs, en revanche, je travail sur un autre système qui permettra l'échange de pokémon entre des versions différentes, cette fois, uniquement pour les joueurs.