[PSP, Tuto]Créer un combat contre un pokémon sauvage personnalisé

6 Réponses • 2688 Vues

Hello hello les gens, j'ai remarqué que cette section est plutôt vide
alors voici un petit tuto utile pour ceux qui utilise les starter kit pokémon.

Bon, les personnes les plus avancer en Ruby vont peut être rire mais pour
les autres, ça peut toujours être utile ^^

Astuce : Combat contre un pokémon sauvage personnalisé
(Oui, j'aime les gros titres !)

Ce que je trouve dommage, c'est que dans tout les starter kits, on ne pouvais pas démarrer
un combat total custom contre un pokémon sauvage prédéfini, or contre un dresseur, ou encore
les hordes de pokémons, c'est possible, du coups, j'ai plus ou moins remédier ça.

Difficulté : -1
Niveau en scripting : Ultra néophyte
Niveau en mapping : Heu.....
Niveau en graphisme : Non mais y'a pas besoin...
Niveau.... BON ! ON VA PEUT ETRE POUVOIR COMMENCER !
(Je pars en vrille...)

Pour commencer, aller dans le script : Interpreter
puis, au dessous de :
  #-----------------------------------------------------------------------------
  # call_battle_wild
  # Appel d'un combat contre un Pokémon sauvage quelconque
  # (Pour un pokémon perso, cf fonction suivante)
  # id: id Pokémon
  # level: niveau du Pokémon sauvage
  #-----------------------------------------------------------------------------
  def call_battle_wild(id_data, level, shiny = false, ia = false)
  $game_temp.map_bgm = $game_system.playing_bgm
  $game_system.bgm_stop
  if id_data.type == Fixnum
  id = id_data
  elsif id_data.type == String
  id = id_conversion(id_data)
  end
  pokemon = Pokemon.new(id, level, shiny)
  $scene = Pokemon_Battle_Wild.new($pokemon_party, pokemon, ia)
  @wait_count = 2
  return true
  end
  alias demarrer_combat call_battle_wild

collez :
ça
  #-----------------------------------------------------------------------------
  # demarre_combat_param(hash)
  # Appel d'un combat contre un Pokémon sauvage défini
  # (Pour un légendaire mobile, cf fonction suivante)
  # id: id Pokémon
  # level: niveau du Pokémon sauvage
  #-----------------------------------------------------------------------------
  def demarre_combat_param(hash)
  if hash["ID"] == nil or hash["NV"] == nil
  return
  end
  pokemon = Pokemon.new(hash["ID"], hash["NV"], hash["SHINY"])
  if hash["GR"] != nil and [0, 1, 2, "F", "G", "I"].include?(hash["GR"])
  pokemon.set_gender(hash["GR"])
  end
  if hash["FORM"] != nil
  pokemon.form = hash["FORM"]
  end
  if hash["MOVE"] != nil and hash["MOVE"].type == Array
  i = 0
  for skill in hash["MOVE"]
  if skill != nil and skill != "AUCUN"
  pokemon.skills_set[i] = Skill.new(Skill_Info.id(skill))
  end
  if skill == "AUCUN"
  pokemon.skills_set[i] = nil
  end
  i += 1
  end
  pokemon.skills_set.compact!
  end
  if hash["OBJ"] != nil
  if hash["OBJ"].type == Fixnum
  pokemon.item_hold = hash["OBJ"]
  elsif hash["OBJ"].type == String
  pokemon.item_hold = Item.id(hash["OBJ"])
  end
  end
  if hash["STAT"] != nil and hash["STAT"].type == Array and
  hash["STAT"].length == 6
  pokemon.dv_modifier(hash["STAT"])
  end
  if hash["IA"] == nil
  hash["IA"] = false
  end
  $scene = Pokemon_Battle_Wild.new($pokemon_party, pokemon, hash["IA"])
  @wait_count = 2
  return true
  end

Voila, et la vous allez vous dire :
Citer
Oh, le joli poney !
Heu... Oui mais non, vous allez me dire,
pour les plus attentif d'entre vous :
Citer
Mais, j'ai déjà vu ça quelque part...
Et oui, il s'agit de la même méthode utiliser pour ajouter des pokémons
custom à son équipe.
Spoiler
Mais si, vous savez :
ajouter_pokemon_param({ "ID" => A, "NV" => B, "OBJ" => C, "MOVE" => ["ATK1", "ATK2", "ATK3", "ATK4"], "STAT" => [HP, AT, DF, VI, AS, DS], "GR" => D, "SHINY" => E, "FORM" => F })
(Comment ça je triche ?)
Donc voilà, vous pouvez maintenant créer un combat contre un pokémon prédéfini perso. (C'est long à dire).
Ah oui, j'allais oublié !
Pour l'appeler, faites :
demarre_combat_param(hash)
Et à la place de hash, mettez :
{ "ID" => A, "NV" => B, "OBJ" => C, "MOVE" => ["ATK1", "ATK2", "ATK3", "ATK4"], "STAT" => [HP, AT, DF, VI, AS, DS], "GR" => D, "SHINY" => E, "FORM" => F , "IA" => false/true}

Et voilà, je vous laisse la suite, en espérant qu'il sera utile à quelqu'un ^^

Le mot de la fin
J'ai remarqué sur PSP 0.8 en tout cas, je sais pas pour les autres, mais quand on ajoute un pokémon,
on peut pas mettre un DO, un surnom ou une ball, du coup, pour y remédier :
Dans le script Interpreter, cherchez ça :
    if hash["STAT"] != nil and hash["STAT"].type == Array and 
  hash["STAT"].length == 6
  pokemon.dv_modifier(hash["STAT"])
  end
Puis en dessous, collez :
    if hash["DO"] and hash["DO"].type == String
  pokemon.trainer_name = hash["DO"]
  end
  if hash["IDo"] and hash["IDo"].type == String
  pokemon.trainer_id = hash["IDo"]
  end
  if hash["SURNOM"] and hash["SURNOM"].type == String
  pokemon.given_name = hash["SURNOM"]
  end
  if hash["BALL"] and hash["BALL"].type == Fixnum
  pokemon.ball_data = $data_ball[hash["BALL"]]
  end
Et voià, je pense avoir fini ^^

Sur ce, bon making à vous ^^
PS : Je m'excuse pour les potentiels faute =)

Script Tuto Script PSP Tuto Making

GiraKoth

Programmeur

Merci pour le tuto!
Avec ta permission, les modifications seront apportées à la prochaine version de PSP ^^

Toujours en vie (je crois)
Citer
Merci pour le tuto!
Avec ta permission, les modifications seront apportées à la prochaine version de PSP ^^
Sans problem' ^^ Si ça peux aider =)

Nuri Yuri

HostMaster

Sympa ce petit tutoriel :3

Je vais créer l'index des tutoriels et ajouter ceci.
ln(yo) = <3
Merci du partage, c'est très complet.
J'ajoute tout ça de suite.
Ah c'est vraiment cool, merci du partage !
Ça change tout pour moi de pouvoir faire ça, je l'ajoute tout de suite à mon projet x)

Loupio44

Graphiste

Depuis le temps que j'en rève! Merci :love: avec un grand M comme Mama mia! :mmh: ou Maror

There was an error while thanking
Thanking...