Topic d'aide RPG Maker

Pages: 1 ... 13 14 15 16 17 [18] 19 20 21

DrBisounours

  • Membre
  • 30 posts
01 décembre 2017, 16:30
Bonjour,

J'ai pas mal avancé sur mon jeu et je me posais deux questions pour l'améliorer :

 - Connaissez-vous une technique pour rendre l'eau animée sans que cela ne ralentisse le jeu ? J'ai créé des tilesets d'eau et un système d'event qui change l'apparence de chaque case au bout de X frames, mais cela est trop lourd à gérer pour le jeu et ça le ralentit.

 - J'avais aussi en tête de créer un mode New Game +, c'est à dire lorsque le joueur a terminé sa partie qu'il puisse la recommencer avec des options différentes. J'avais en tête deux manières de faire cela : un interrupteur qui s'active à la fin du jeu et qui est détecté lorsqu'on crée une nouvelle partie (mais je ne sais pas activer des interrupteurs entre les sauvegardes). Ou bien réinitialiser la sauvegarde en cours mais cela me semble beaucoup plus difficile ...

CinéAsle

  • Membre
  • 2 posts
04 décembre 2017, 13:32
Salut :)
Alors moi ,j'ai un petit problème...  :(
Au début de mon fangame, un pnj nous donne un Pokémon qui est sensé avoir déjà un surnom... Sauf que je ne sais pas comment faire... En fait, c'est expliqué sur le site de Krosk (avec les variables) sauf qu'il manque des informations, l'explication est incomplète... Du coup je rame et je ne sais pas comment m'y prendre...

D'ailleurs, ce Pokémon doit toujours être avec nous et on ne doit pas le mettre au pc... Il doit surement y avoir un script pour ça non ?
Merci d'avance?

Docteur13

  • Membre
  • 1 posts
09 décembre 2017, 19:51
Bonjour ou bonsoir,

Alors voilà, je crée mon jeu pokémon, mais quand tu perds un combat.
Sa marque choisit ton point retour, donc j'ai cherché mais je n'est pas trouvé.
Quelqu'un peut-il m'aider.

la phrase Réglez votre point de retour!  :domo: !!!!!!!!!!!
« Modifié: 09 décembre 2017, 19:58 par Docteur13 »

Nuri Yuri

  • Modérateur de section
  • 575 posts
11 décembre 2017, 18:20
J'ai répondu par MP à Docteur13, pour le reste, je pourrais pas spécialement répondre, mon HDD est mort et par conséquent ce qu'il y avait dedans aussi :v

Gweath

  • Membre
  • 8 posts
28 janvier 2018, 02:49
Salut je suis actuellement entrain de me faire un petit projet pokemon j'ai PSP 0.7+ j'aimerais savoir comment faire plus de 8 badges (j'aimerais en faire 16) mais je ne comprend pas comment éditer le script intégrer que faut t-il modifier ?

Nuri Yuri

  • Modérateur de section
  • 575 posts
28 janvier 2018, 11:38
C'est surement le script CDD qu'il faudrait modifier mais après je ne l'ai pas donc je peux pas vraiment t'aider ^^'

Gweath

  • Membre
  • 8 posts
28 janvier 2018, 18:11
D'accord je te fait un copier coller du script ^^

Spoiler
# ■ Carde Dresseur
#    Script Communauté PSP - Louro
#    Remis en forme par Krosk
#-----------------------------------------------------------------------------
# Support de carte dresseur
#-----------------------------------------------------------------------------
# Pour changer l'image de vos badges, réglez les noms juste en dessous
# Pour afficher un badge, Insérez un script: badgex où x est le num du badge
# Pour afficher un objectif, Insérez un script: objectifx où x est le num de
#   l'objectif
#-----------------------------------------------------------------------------
# Variables occupées : 200, 1000, 1500
# Interrupteurs occupés : 1001-1008, 1500-1505
#-----------------------------------------------------------------------------

module POKEMON_S_TCARD
  # Script crée par Louro pour les membres de la communautée de PSP
  # qui veulent s'en servir
 
  # Les noms d'icones pour chaque badge
  BADGE1 = "badgeroch.png"
  BADGE2 = "baie02.png"
  BADGE3 = "baie03.png"   
  BADGE4 = "baie04.png"   
  BADGE5 = "baie05.png"   
  BADGE6 = "baie06.png"   
  BADGE7 = "baie07.png"   
  BADGE8 = "baie08.png"
 
  # Réglez les coordonnées horizontales de vos badges ici,
  # si vous avez un décalage !
  BADGE1_X = 59
  BADGE2_X = 128
  BADGE3_X = 197 
  BADGE4_X = 266   
  BADGE5_X = 335   
  BADGE6_X = 404   
  BADGE7_X = 473   
  BADGE8_X = 542   
 
  # Numéro de la variable stockant le nombre de badge acquit   
  VAR = 200
 
  # Nom des objectifs
  OBJECTIF1 = "PREMIER OBJECTIF"
  OBJECTIF2 = "DEUXIEME OBJECTIF"
  OBJECTIF3 = "TROISIEME OBJECTIF"
  OBJECTIF4 = "QUATRIEME OBJECTIF"
  OBJECTIF5 = "CINQUIEME OBJECTIF"
end

class TrainerCardWindow < Window_Base   
  attr_accessor :devant
  include POKEMON_S_TCARD
  include POKEMON_S
 
  def initialize(devant)
    super(0, 0, 640, 480)   
    self.contents = Bitmap.new(width - 32, height - 32)   
    self.contents.font.name = $fontface   
    self.contents.font.size = $fontsizebig   
    self.contents.font.color = Color.new(60,60,60)   
    @captured = 0
    @devant = devant
    for i in 1..$data_pokedex.length-1   
      if $data_pokedex[1]   
        @captured += 1   
      end   
    end   
    refresh   
  end   
 
  def refresh   
    self.contents.clear
    if @devant == true
      @total_sec = Graphics.frame_count / Graphics.frame_rate   
      hour = @total_sec / 60 / 60   
      min = @total_sec / 60 % 60   
      temps = sprintf("%02d:%02d", hour, min)   
      wd1 = self.contents.text_size($pokemon_party.money.to_s+"$").width   
      wd2 = self.contents.text_size(@captured.to_s).width   
      wd3 = self.contents.text_size(Player.id.to_s).width   
      self.contents.font.color = Color.new(110,110,110, 85) 
      self.contents.draw_text(48+2, 99+2+12, 160, 64, "NOM ")       
      self.contents.draw_text(48+3, 99+2+12, 160, 64, "NOM ")
      self.contents.draw_text(48+3, 99-1+12, 160, 64, "NOM ")   
      self.contents.draw_text(48+2, 99-1+12, 160, 64, "NOM ")     
      self.contents.font.color = Color.new(60,60,60) 
      self.contents.draw_text(48, 99+12, 160, 64, "NOM ")   
      self.contents.draw_text(48+1, 99+12, 160, 64, "NOM ")
      self.contents.draw_text(48, 99-1+12, 160, 64, "NOM ")   
      self.contents.font.color = Color.new(110,110,110, 85) 
      self.contents.draw_text(130+2, 99+2+12, 160, 64, Player.name)   
      self.contents.draw_text(130+2, 99-1+12, 160, 64, Player.name)   
      self.contents.font.color = Color.new(110,110,110) 
      self.contents.draw_text(130, 99+12, 160, 64, Player.name)
      self.contents.draw_text(130, 99-1+12, 160, 64, Player.name)   
      self.contents.font.color = Color.new(60,60,60) 
      self.contents.font.color = Color.new(110,110,110, 85) 
      self.contents.draw_text(48+2, 171+2+12, 160, 64, "ARGENT ")   
      self.contents.draw_text(48+3, 171+2+12, 160, 64, "ARGENT ")   
      self.contents.draw_text(48+3, 171-1+12, 160, 64, "ARGENT ")   
      self.contents.draw_text(48+2, 171-1+12, 160, 64, "ARGENT ")   
      self.contents.font.color = Color.new(60,60,60) 
      self.contents.draw_text(48, 171+12, 160, 64, "ARGENT ")   
      self.contents.draw_text(48+1, 171+12, 160, 64, "ARGENT ")   
      self.contents.draw_text(48, 171-1+12, 160, 64, "ARGENT ")   
      self.contents.font.color = Color.new(110,110,110, 85) 
      self.contents.draw_text(340 - wd1+2, 171+2+12, 160, 64, $pokemon_party.money.to_s+"$")   
      self.contents.draw_text(340 - wd1+2, 171-1+12, 160, 64, $pokemon_party.money.to_s+"$")   
      self.contents.font.color = Color.new(110,110,110) 
      self.contents.draw_text(340 - wd1, 171+12, 160, 64, $pokemon_party.money.to_s+"$")   
      self.contents.draw_text(340 - wd1, 171-1+12, 160, 64, $pokemon_party.money.to_s+"$")   
      if $data_pokedex[0] == true   
        self.contents.font.color = Color.new(110,110,110, 85) 
        self.contents.draw_text(48+2, 220+2+12, 160, 64, "POKéDEX ")   
        self.contents.draw_text(48+3, 220+2+12, 160, 64, "POKéDEX ")   
        self.contents.draw_text(48+3, 220-1+12, 160, 64, "POKéDEX ")   
        self.contents.draw_text(48+2, 220-1+12, 160, 64, "POKéDEX ")   
        self.contents.font.color = Color.new(60,60,60) 
        self.contents.draw_text(48, 220+12, 160, 64, "POKéDEX ")   
        self.contents.draw_text(48+1, 220+12, 160, 64, "POKéDEX ")   
        self.contents.draw_text(48, 220-1+12, 160, 64, "POKéDEX ")   
        self.contents.font.color = Color.new(110,110,110, 85) 
        self.contents.draw_text(340 - wd2+2, 220+2+12, 160, 64, @captured.to_s)   
        self.contents.draw_text(340 - wd2+2, 220-1+12, 160, 64, @captured.to_s)   
        self.contents.font.color = Color.new(110,110,110)     
        self.contents.draw_text(340 - wd2, 220+12, 160, 64, @captured.to_s)   
        self.contents.draw_text(340 - wd2, 220-1+12, 160, 64, @captured.to_s)   
      end
      self.contents.font.color = Color.new(110,110,110, 85) 
      self.contents.draw_text(48+2, 268+2+12, 160, 64, "DUREE JEU ")   
      self.contents.draw_text(48+3, 268+2+12, 160, 64, "DUREE JEU ")   
      self.contents.draw_text(48+3, 268-1+12, 160, 64, "DUREE JEU ")   
      self.contents.draw_text(48+2, 268-1+12, 160, 64, "DUREE JEU ")   
      self.contents.font.color = Color.new(60,60,60) 
      self.contents.draw_text(48, 268+12, 160, 64, "DUREE JEU ")   
      self.contents.draw_text(48+1, 268+12, 160, 64, "DUREE JEU ")   
      self.contents.draw_text(48, 268-1+12, 160, 64, "DUREE JEU ")   
      self.contents.font.color = Color.new(110,110,110, 85) 
      self.contents.draw_text(257+2, 268+2+12, 160, 64, temps)   
      self.contents.draw_text(257+2, 268-1+12, 160, 64, temps)   
      self.contents.font.color = Color.new(110,110,110)     
      self.contents.draw_text(257, 268+12, 160, 64, temps)   
      self.contents.draw_text(257, 268-1+12, 160, 64, temps)   
      self.contents.font.color = Color.new(230,230,230, 225) 
      self.contents.draw_text(370, 25+1+12, 160, 64, "N°ID")   
      self.contents.draw_text(370, 25+2+12, 160, 64, "N°ID ")   
      self.contents.draw_text(370+1, 25+1+12, 160, 64, "N°ID")   
      self.contents.draw_text(370+1, 25+2+12, 160, 64, "N°ID ")   
      self.contents.draw_text(370+2, 25+12, 160, 64, "N°ID ")   
      self.contents.draw_text(370+3, 25+12, 160, 64, "N°ID ")   
      self.contents.font.color = Color.new(60,60,60) 
      self.contents.draw_text(370, 25+12, 160, 64, "N°ID ")   
      self.contents.draw_text(370+1, 25+12, 160, 64, "N°ID ")   
      self.contents.draw_text(370, 25-1+12, 160, 64, "N°ID")   
      self.contents.font.color = Color.new(230,230,230, 225) 
      self.contents.draw_text(370 + wd3+2, 25+2+12, 160, 64, Player.id.to_s)   
      self.contents.draw_text(370 + wd3+2, 25-1+12, 160, 64, Player.id.to_s)   
      self.contents.font.color = Color.new(110,110,110) 
      self.contents.draw_text(370 + wd3, 25+12, 160, 64, Player.id.to_s)   
      self.contents.draw_text(370 + wd3, 25-1+12, 160, 64, Player.id.to_s)   
    elsif @devant == false
      wd1 = self.contents.text_size($pokemon_party.money.to_s+"$").width   
      wd2 = self.contents.text_size(@captured.to_s).width   
      wd3 = self.contents.text_size(Player.id.to_s).width   
      self.contents.font.color = Color.new(110,110,110, 85) 
      self.contents.draw_text(30+2, 25+2+12, 550, 64, "CARTE DRESSEUR de "+Player.name, 2)       
      self.contents.draw_text(30+3, 25+2+12, 550, 64, "CARTE DRESSEUR de "+Player.name, 2)
      self.contents.draw_text(30+3, 25-1+12, 550, 64, "CARTE DRESSEUR de "+Player.name, 2)   
      self.contents.draw_text(30+2, 25-1+12, 550, 64, "CARTE DRESSEUR de "+Player.name, 2)     
      self.contents.font.color = Color.new(60,60,60) 
      self.contents.draw_text(30, 25+12, 550, 64, "CARTE DRESSEUR de "+Player.name, 2)
      self.contents.draw_text(30+1, 25+12, 550, 64, "CARTE DRESSEUR de "+Player.name, 2)
      self.contents.draw_text(30, 25-1+12, 550, 64, "CARTE DRESSEUR de "+Player.name, 2)
      if $game_switches[1500] == true
        wd4 = self.contents.text_size($game_variables[1500].to_s).width   
        self.contents.font.color = Color.new(110,110,110, 85) 
        self.contents.draw_text(48+2, 99+15+2, 160, 64, "PANTHEON")       
        self.contents.draw_text(48+3, 99+15+2, 160, 64, "PANTHEON")
        self.contents.draw_text(48+3, 99+15-1, 160, 64, "PANTHEON")   
        self.contents.draw_text(48+2, 99+15-1, 160, 64, "PANTHEON")     
        self.contents.font.color = Color.new(60,60,60) 
        self.contents.draw_text(48, 99+15, 160, 64, "PANTHEON ")   
        self.contents.draw_text(48+1, 99+15, 160, 64, "PANTHEON")
        self.contents.draw_text(48, 99+15-1, 160, 64, "PANTHEON")
        self.contents.font.size += 2
        self.contents.font.color = Color.new(242,118,214) 
        self.contents.draw_text(570-wd4+3, 99+15, 160, 64, $game_variables[1500]) 
        self.contents.draw_text(570-wd4, 99+15+3, 160, 64, $game_variables[1500]) 
        self.contents.draw_text(570-wd4+1, 99+15+3, 160, 64, $game_variables[1500]) 
        self.contents.draw_text(570-wd4+2, 99+15+3, 160, 64, $game_variables[1500]) 
        self.contents.draw_text(570-wd4+3, 99+15+3, 160, 64, $game_variables[1500]) 
        self.contents.font.color = Color.new(190,0,0) 
        self.contents.draw_text(570-wd4, 99+15, 160, 64, $game_variables[1500]) 
        self.contents.font.size -= 2
      end
      if $game_switches[1501] == true
        wd4 = self.contents.text_size($game_variables[1501].to_s).width   
        self.contents.font.color = Color.new(110,110,110, 85) 
        self.contents.draw_text(48+2, 147+15+2, 380, 64, OBJECTIF1)       
        self.contents.draw_text(48+3, 147+15+2, 380, 64, OBJECTIF1)
        self.contents.draw_text(48+3,147+15-1, 380, 64, OBJECTIF1)   
        self.contents.draw_text(48+2, 147+15-1, 380, 64, OBJECTIF1)     
        self.contents.font.color = Color.new(60,60,60) 
        self.contents.draw_text(48, 147+15, 380, 64, OBJECTIF1)   
        self.contents.draw_text(48+1, 147+15, 380, 64, OBJECTIF1)
        self.contents.draw_text(48, 147+15-1, 380, 64, OBJECTIF1)
        self.contents.font.size += 2
        self.contents.font.color = Color.new(242,118,214) 
        self.contents.draw_text(570-wd4+3, 147+15, 160, 64, $game_variables[1501].to_s) 
        self.contents.draw_text(570-wd4, 147+15+3, 160, 64, $game_variables[1501].to_s) 
        self.contents.draw_text(570-wd4+1, 147+15+3, 160, 64, $game_variables[1501].to_s) 
        self.contents.draw_text(570-wd4+2, 147+15+3, 160, 64, $game_variables[1501].to_s) 
        self.contents.draw_text(570-wd4+3, 147+15+3, 160, 64, $game_variables[1501].to_s) 
        self.contents.font.color = Color.new(190,0,0) 
        self.contents.draw_text(570-wd4, 147+15, 160, 64, $game_variables[1501].to_s)   
        self.contents.font.size -= 2
      end
      if $game_switches[1502] == true
        wd4 = self.contents.text_size($game_variables[1502].to_s).width   
        self.contents.font.color = Color.new(110,110,110, 85) 
        self.contents.draw_text(48+2, 195+15+2, 380, 64, OBJECTIF2)       
        self.contents.draw_text(48+3, 195+15+2, 380, 64, OBJECTIF2)
        self.contents.draw_text(48+3,195+15-1, 380, 64, OBJECTIF2)   
        self.contents.draw_text(48+2, 195+15-1, 380, 64, OBJECTIF2)     
        self.contents.font.color = Color.new(60,60,60) 
        self.contents.draw_text(48, 195+15, 380, 64, OBJECTIF2)   
        self.contents.draw_text(48+1, 195+15, 380, 64, OBJECTIF2)
        self.contents.draw_text(48, 195+15-1, 380, 64, OBJECTIF2)
        self.contents.font.size += 2
        self.contents.font.color = Color.new(242,118,214) 
        self.contents.draw_text(570-wd4+3, 195+15, 160, 64, $game_variables[1502].to_s) 
        self.contents.draw_text(570-wd4, 195+15+3, 160, 64, $game_variables[1502].to_s) 
        self.contents.draw_text(570-wd4+1, 195+15+3, 160, 64, $game_variables[1502].to_s) 
        self.contents.draw_text(570-wd4+2, 195+15+3, 160, 64, $game_variables[1502].to_s) 
        self.contents.draw_text(570-wd4+3, 195+15+3, 160, 64, $game_variables[1502].to_s) 
        self.contents.font.color = Color.new(190,0,0) 
        self.contents.draw_text(570-wd4, 195+15, 160, 64, $game_variables[1502].to_s)   
        self.contents.font.size -= 2
      end
      if $game_switches[1503] == true
        wd4 = self.contents.text_size($game_variables[1503].to_s).width   
        self.contents.font.color = Color.new(110,110,110, 85) 
        self.contents.draw_text(48+2, 243+15+2, 380, 64, OBJECTIF3)       
        self.contents.draw_text(48+3, 243+15+2, 380, 64, OBJECTIF3)
        self.contents.draw_text(48+3,243+15-1, 380, 64, OBJECTIF3)   
        self.contents.draw_text(48+2, 243+15-1, 380, 64, OBJECTIF3)     
        self.contents.font.color = Color.new(60,60,60) 
        self.contents.draw_text(48, 243+15, 380, 64, OBJECTIF3)   
        self.contents.draw_text(48+1, 243+15, 380, 64, OBJECTIF3)
        self.contents.draw_text(48, 243+15-1, 380, 64, OBJECTIF3)
        self.contents.font.size += 2
        self.contents.font.color = Color.new(242,118,214) 
        self.contents.draw_text(570-wd4+3, 243+15, 160, 64, $game_variables[1503].to_s) 
        self.contents.draw_text(570-wd4, 243+15+3, 160, 64, $game_variables[1503].to_s) 
        self.contents.draw_text(570-wd4+1, 243+15+3, 160, 64, $game_variables[1503].to_s) 
        self.contents.draw_text(570-wd4+2, 243+15+3, 160, 64, $game_variables[1503].to_s) 
        self.contents.draw_text(570-wd4+3, 243+15+3, 160, 64, $game_variables[1503].to_s) 
        self.contents.font.color = Color.new(190,0,0) 
        self.contents.draw_text(570-wd4, 243+15, 160, 64, $game_variables[1503].to_s)   
        self.contents.font.size -= 2
      end
      if $game_switches[1504] == true
        wd4 = self.contents.text_size($game_variables[1504].to_s).width   
        self.contents.font.color = Color.new(110,110,110, 85) 
        self.contents.draw_text(48+2, 291+15+2, 380, 64, OBJECTIF4)       
        self.contents.draw_text(48+3, 291+15+2, 380, 64, OBJECTIF4)
        self.contents.draw_text(48+3,291+15-1, 380, 64, OBJECTIF4)   
        self.contents.draw_text(48+2, 291+15-1, 380, 64, OBJECTIF4)     
        self.contents.font.color = Color.new(60,60,60) 
        self.contents.draw_text(48, 291+15, 380, 64, OBJECTIF4)   
        self.contents.draw_text(48+1, 291+15, 380, 64, OBJECTIF4)
        self.contents.draw_text(48, 291+15-1, 380, 64, OBJECTIF4)
        self.contents.font.size += 2
        self.contents.font.color = Color.new(242,118,214) 
        self.contents.draw_text(570-wd4+3, 291+15, 160, 64, $game_variables[1504].to_s) 
        self.contents.draw_text(570-wd4, 291+15+3, 160, 64, $game_variables[1504].to_s) 
        self.contents.draw_text(570-wd4+1, 291+15+3, 160, 64, $game_variables[1504].to_s) 
        self.contents.draw_text(570-wd4+2, 291+15+3, 160, 64, $game_variables[1504].to_s) 
        self.contents.draw_text(570-wd4+3, 291+15+3, 160, 64, $game_variables[1504].to_s) 
        self.contents.font.color = Color.new(190,0,0) 
        self.contents.draw_text(570-wd4, 291+15, 160, 64, $game_variables[1504].to_s)   
        self.contents.font.size -= 2
      end
      if $game_switches[1505] == true
        wd4 = self.contents.text_size($game_variables[1505].to_s).width   
        self.contents.font.color = Color.new(110,110,110, 85) 
        self.contents.draw_text(48+2, 339+15+2, 380, 64, OBJECTIF5)       
        self.contents.draw_text(48+3, 339+15+2, 380, 64, OBJECTIF5)
        self.contents.draw_text(48+3,339+15-1, 380, 64, OBJECTIF5)   
        self.contents.draw_text(48+2, 339+15-1, 380, 64, OBJECTIF5)     
        self.contents.font.color = Color.new(60,60,60) 
        self.contents.draw_text(48, 339+15, 380, 64, OBJECTIF5)   
        self.contents.draw_text(48+1, 339+15, 380, 64, OBJECTIF5)
        self.contents.draw_text(48, 339+15-1, 380, 64, OBJECTIF5)
        self.contents.font.size += 2
        self.contents.font.color = Color.new(242,118,214) 
        self.contents.draw_text(570-wd4+3, 339+15, 160, 64, $game_variables[1505].to_s) 
        self.contents.draw_text(570-wd4, 339+15+3, 160, 64, $game_variables[1505].to_s) 
        self.contents.draw_text(570-wd4+1, 339+15+3, 160, 64, $game_variables[1505].to_s) 
        self.contents.draw_text(570-wd4+2, 339+15+3, 160, 64, $game_variables[1505].to_s) 
        self.contents.draw_text(570-wd4+3, 339+15+3, 160, 64, $game_variables[1505].to_s) 
        self.contents.font.color = Color.new(190,0,0) 
        self.contents.draw_text(570-wd4, 339+15, 160, 64, $game_variables[1505].to_s)   
        self.contents.font.size -= 2
      end
    end
  end   
end   

class TCARD
  include POKEMON_S_TCARD
 
  def main   
    @tcard = TrainerCardWindow.new(true)
    @tcard.opacity = 0   
    @background = Plane.new(Viewport.new(0,0,640,480))   
    @background.bitmap = RPG::Cache.picture("tcard.png")   
    @badge1 = Sprite.new   
    @badge2 = Sprite.new   
    @badge3 = Sprite.new   
    @badge4 = Sprite.new   
    @badge5 = Sprite.new   
    @badge6 = Sprite.new   
    @badge7 = Sprite.new   
    @badge8 = Sprite.new   
    $game_variables[VAR] = 0   
    unless $game_switches[1001] == true then @badge1.visible = false else @badge1.visible = true and $game_variables[VAR] += 1 end   
    unless $game_switches[1002] == true then @badge2.visible = false else @badge2.visible = true and $game_variables[VAR] += 1 end   
    unless $game_switches[1003] == true then @badge3.visible = false else @badge3.visible = true and $game_variables[VAR] += 1 end   
    unless $game_switches[1004] == true then @badge4.visible = false else @badge4.visible = true and $game_variables[VAR] += 1 end   
    unless $game_switches[1005] == true then @badge5.visible = false else @badge5.visible = true and $game_variables[VAR] += 1 end   
    unless $game_switches[1006] == true then @badge6.visible = false else @badge6.visible = true and $game_variables[VAR] += 1 end   
    unless $game_switches[1007] == true then @badge7.visible = false else @badge7.visible = true and $game_variables[VAR] += 1 end   
    unless $game_switches[1008] == true then @badge8.visible = false else @badge8.visible = true and $game_variables[VAR] += 1 end   
    @badge1.bitmap = RPG::Cache.icon(BADGE1)   
    @badge2.bitmap = RPG::Cache.icon(BADGE2)   
    @badge3.bitmap = RPG::Cache.icon(BADGE3)   
    @badge4.bitmap = RPG::Cache.icon(BADGE4)   
    @badge5.bitmap = RPG::Cache.icon(BADGE5)   
    @badge6.bitmap = RPG::Cache.icon(BADGE6)   
    @badge7.bitmap = RPG::Cache.icon(BADGE7)   
    @badge8.bitmap = RPG::Cache.icon(BADGE8)   
    @badge1.x = BADGE1_X
    @badge1.y = 363 + 12
    @badge2.x = BADGE2_X
    @badge2.y = 363 + 12
    @badge3.x = BADGE3_X
    @badge3.y = 363 + 12
    @badge4.x = BADGE4_X
    @badge4.y = 363 + 12
    @badge5.x = BADGE5_X
    @badge5.y = 363 + 12
    @badge6.x = BADGE6_X
    @badge6.y = 363 + 12
    @badge7.x = BADGE7_X
    @badge7.y = 363 + 12
    @badge8.x = BADGE8_X
    @badge8.y = 363 + 12
    @perso = Sprite.new   
    if $game_variables[1000] == nil or $game_variables[1000] == 0
      @perso.bitmap = RPG::Cache.picture("persogars.png")
    end
    if $game_variables[1000] == 1   
      @perso.bitmap = RPG::Cache.picture("persogars.png")   
    end
    if $game_variables[1000] == 2   
      @perso.bitmap = RPG::Cache.picture("persofille.png")   
    end   
    @perso.x = 434
    @perso.y = 150 + 12   
    Graphics.transition   
    loop do   
      Graphics.update   
      Input.update   
      update   
      if $scene != self   
        break   
      end   
    end   
    Graphics.freeze   
    unless @tcard == nil then @tcard.dispose end
    unless @background == nil then @background.dispose end
    unless @badge1 == nil then @badge1.dispose end
    unless @badge2 == nil then @badge2.dispose end
    unless @badge3 == nil then @badge3.dispose end
    unless @badge4 == nil then @badge4.dispose end
    unless @badge5 == nil then @badge5.dispose end
    unless @badge6 == nil then @badge6.dispose end
    unless @badge7 == nil then @badge7.dispose end
    unless @badge8 == nil then @badge8.dispose end
    unless @perso == nil then @perso.dispose end
  end   
   
  def update   
    if Input.trigger?(Input::C)   
      if @tcard.devant == false
        $game_system.se_play($data_system.cancel_se)   
        $scene = Scene_Map.new   
        return
      end
      if @tcard.devant == true
        @tcard.devant = false
        $game_system.se_play($data_system.decision_se)   
        @badge1.dispose   
        @badge2.dispose   
        @badge3.dispose   
        @badge4.dispose   
        @badge5.dispose   
        @badge6.dispose   
        @badge7.dispose   
        @badge8.dispose   
        @perso.dispose   
        @tcard.dispose
        @tcard = TrainerCardWindow.new(false)
        @tcard.opacity = 0   
        @background.bitmap = RPG::Cache.picture("backcard.png")   
      end
    end
   
    if Input.trigger?(Input::B)   
      $game_system.se_play($data_system.cancel_se)   
      $scene = Scene_Map.new   
      return   
    end   
  end   
end 


class Interpreter
  def ligue_finie
    @total_sec = Graphics.frame_count / Graphics.frame_rate   
    hour = @total_sec / 60 / 60   
    min = @total_sec / 60 % 60   
    sec = @total_sec % 60
    temps = sprintf("%02d:%02d:%02d", hour, min, sec)
    $game_variables[1500] = temps
    $game_switches[1500] = true
  end

  def objectif1
    $game_switches[1501] = true
  end

  def objectif2
    $game_switches[1502] = true
  end

  def objectif3
    $game_switches[1503] = true
  end

  def objectif4
    $game_switches[1504] = true
  end

  def objectif5
    $game_switches[1505] = true
  end

  def fille
    $game_variables[1000] = 2
  end

  def gars
    $game_variables[1000] = 1
  end

  def badge1
    $game_switches[1001] = true
  end

  def badge2
    $game_switches[1002] = true
  end

  def badge3
    $game_switches[1003] = true
  end

  def badge4
    $game_switches[1004] = true
  end

  def badge5
    $game_switches[1005] = true
  end

  def badge6
    $game_switches[1006] = true
  end

  def badge7
    $game_switches[1007] = true
  end

  def badge8
    $game_switches[1008] = true
  end

  def carte_dresseur
    $scene = TCARD.new
  end

end

# Merci à Zellyunie qui a changé les couleurs de l'ancienne version pour
# arranger la mise en page, ce qui m'a donné envi de l'améliorer entièrement.
« Modifié: 29 janvier 2018, 16:33 par Yago »

Gweath

  • Membre
  • 8 posts
29 janvier 2018, 16:04
Hmm et j'ai un autre petit problème j'ai changer le niveau max des pokémons dans config panel (j'ai mis 250)  mais lorque je me give un pokémon
de niveau 100 la barre d'expérience bleu est bloquer comment puis-je remédier à sa ?

Minirock

  • Membre
  • 84 posts
03 février 2018, 17:13
Salutation,

petit problème relatif aux défaites. En espérant que vous aurez une idée.

Lorsque je meurs en combat; dresseur ou pokémon sauvage, je suis bien transféré au point de retour où l'équipe est soignée.

Par contre, lorsque je meurs hors combat (poison). L'équipe est bien soignée, et je suis bien téléportée, mais l'aspect graphique ne change pas.
En gros si je suis dans une zone de 50-50 je continuerais à voir le héros dans la même zone mais réduite à la taille de mon centre pokémon 15-15 par exemple. Je peux me déplacer dans la zone de la même façon... mais je suis obligé d'ouvrir le menu pour voir l'aspect visuel de la map changer.

Si quelqun a une idée je suis preneur :)

Nuri Yuri

  • Modérateur de section
  • 575 posts
06 février 2018, 18:00
Quel starter kit utilises tu ?

Minirock

  • Membre
  • 84 posts
07 février 2018, 01:30
Quel starter kit utilises tu ?

PSP 0.8 Si je dis pas de connerie. Pour résumé, il m'amène bien aux coordonnées x y de la map; mais pour voir la map changer...obligation d'ouvrir le menu. Et c'est bien juste un problème graphique parce que si j'essaie d’interagir avec des events visible de l'ancienne map...ils n'existent plus sur cette map là.


Un autre point,
J'ai aussi remarqué quelque chose en testant le combat contre mon premier champion d'arène avec pour moi un magicarpe niveau 100 à coup de trempette pour bien voir comment ça se passait ^^

En face j'avais un Tartard :  Gonflette / Coup croix / Poing glace/ Cascade

Je me demandais s'il n'y avait pas une "probabilité caché" sur les attaques faisant que la plus forte attaque est lancé la plus souvent.

Parce que  en gros il m'a utilisé les 5 coup croix d'affilé; avant de passer sur des cascades ...il a bien alterné une ou deux fois avec gonflette et poing glace...mais c'était tellement minime par rapport à la succession du reste que j'en viens à me poser la question^^

Est-ce qu'il y a une option pour paramétrer la probabilité d'une attaque ? Un truc de ce genre.

["COUP CROIX"=>20,"GONFLETTE"=>50,"POING GLACE"=>10,"CASCADE"=>20]

J'ai farfouillé un peu mais j'ai pas réussi à voir.

Merci à toi ;)

Gweath

  • Membre
  • 8 posts
07 février 2018, 16:49
Salut désoler je ne sais pas du tout si ont peut changer les probabilité des attaques par contre je suis embêter j'aurais aimer faire plus de 100 niveau dans
mon jeu mais je n'arrive pas à savoir comment faire j'ai changer le level max à 250 mais rien à faire la barre d'exp ce bloque au level 100 si une solution
existe je suis prenant merci ^^

Nuri Yuri

  • Modérateur de section
  • 575 posts
07 février 2018, 23:15
@Minirock : Ouhla, bah non pour le coup c'est pas possible de changer ça. Pour ce qui est du bug graphique, je pense que ça vient du MapLink mais je suis pas sûr ^^ Essaie de désactiver complètement le script pour voir. Après PSP 0.8 est pas la dernière version de PSP donc je te conseille de télécharger PSP 0.9.2 qui a plusieurs corrections (et certaines sur l'IA je crois, cela dit tu pourras pas dire d'attaquer plus une attaque qu'une autre ^^').

@Gweath : Si tu as bien changé la constante MAX_LEVEL de Config Pannel normalement les Pokémon devraient dépasser le niveau 100. Après il y a un bug dans la courbe d'expérience (Erratique) qui fait qu'il failles un nombre de point d'expérience négatif du niveau 100 (ou 99) à 101 (ou 100) du coup ça fait ptet le blocage de la courbe d'expérience.

Gweath

  • Membre
  • 8 posts
08 février 2018, 00:25
D'accord merci donc en gros si j'ai bien comprit ces juste un bug visuel par exemple si je suis niveau 100 ma barre et du coup au max à cause du bug
imaginons qu'il faut 1000 xp pour être 101 ma barre ne bougera pas mais une fois les 1000 xp atteint automatiquement je passerai 101 ces bien sa ? (la barre d'exp bleu reste bloquer au niveau 100 mais ce n'est que visuel) ?

Gweath

  • Membre
  • 8 posts
08 février 2018, 01:01
Ou alors j'ai pas comprit et il faut faire perdre de l'expérience quand la barre est à fond au lvl 100 mais dans ce cas la comment faire pour faire perdre de l'expérience ?

Minirock

  • Membre
  • 84 posts
08 février 2018, 03:18
Citer
@Minirock : Ouhla, bah non pour le coup c'est pas possible de changer ça. Pour ce qui est du bug graphique, je pense que ça vient du MapLink mais je suis pas sûr ^^ Essaie de désactiver complètement le script pour voir. Après PSP 0.8 est pas la dernière version de PSP donc je te conseille de télécharger PSP 0.9.2 qui a plusieurs corrections (et certaines sur l'IA je crois, cela dit tu pourras pas dire d'attaquer plus une attaque qu'une autre ^^').

Dac merci. Tu aurais un lien pour le 0.9.2 ? Je vais voir si j'arrive à trouver ça. Dans le cas où je le téléchargerais tout est compatible normalement dans le sens où en transférant les fichiers je ne devrais rien perdre en terme de gestion de map et d'event ?

Que veux-tu dire par désactiver le script ? J'ai essayé d'aller voir dans scripts.rxdata s'il n'y avait pas un truc à bidouiller mais le fichier doit être une composante assembleur vu que je n'ai pas le bon encodage pour le lire.

Autre question sans rapport mais un peu du coup^^

Le code source de tout ça il est disponible quelque part, sur un repository github ou autre ? J'avoue que je serais curieux d'y jeter un coup d'oeil, voir si je pourrais pas bidouiller quelques trucs par dessus; j'ai pas spécialement de connaissance en C++; mais ça doit pas être bien différent d'un langage objet classique. En fait je sais pas du tout si PSP est open source donc^^

Nuri Yuri

  • Modérateur de section
  • 575 posts
08 février 2018, 21:50
@Gweath : Bah c'est pas forcément un bug visuel, tu as vraiment bien changé la variable MAX_LEVEL dans Config Pannel ?
@Minirock : Pour les scripts ça s'ouvre avec RPG Maker XP, c'est la touche F11 sous RMXP.
Tu peux télécharger PSP 0.9.2 ici : https://pokemonworkshop.com/forum/index.php?topic=1385.0
Je te recommande de relire intégralement le manuel de PSP, la solution pour désactiver le Maplink est dedans : https://pokemonworkshop.com/psp/psp_manuel.html

Pour mettre à jour ton projet tu as juste besoin de coller tes Map (Fichiers Data/Map***.rxdata) dans le dossier Data de PSP 0.9.2.

Minirock

  • Membre
  • 84 posts
10 février 2018, 19:53
Bon, j'ai fais la migration, en rajoutant les graphics, mais là je me heurte à un petit hic^^

Lorsque je teste, j'arrive à un point où j'ai l'erreur suivante: No such file or directory - Audio/BGM/005-Boss01

Ce fichier 005-Boss01 correspond au fond musical de ma première map. Je me suis donc dis qu'il suffisait que je rajoute 005-Boss01 de l'ancien dossier Audio/BGM dans le nouveau....sauf que....il n'est pas non plus présent dans mon ancien projet (ou en tout cas pas dans le répertoire BGM).

Du coup je comprends que ça plante...mais je comprends pas pourquoi l'ancien ne plante pas x)

La fonction étant la même dans les deux scripts

def bgm_play(bgm)
    @playing_bgm = bgm
    if bgm != nil and bgm.name != ""
      Audio.bgm_play("Audio/BGM/" + bgm.name, bgm.volume, bgm.pitch)
    else
      Audio.bgm_stop
    end
    Graphics.frame_reset
  end

Nuri Yuri

  • Modérateur de section
  • 575 posts
10 février 2018, 22:11
L'ancien avait les RTP d'RPG Maker, le nouveau les a pas. Tu devrais copier le fichier depuis les RTP pour l'avoir et être sûr que tous les joueurs n'auront pas de problèmes.

Gweath

  • Membre
  • 8 posts
20 février 2018, 16:17
Salut je suis bloqué sur la cs flash je n'arrive pas à comprendre le système comme faire pour qu'une grotte soit sombre puis éclairer via le cs flash sans que toutes les maps soit sombre après ? c'est à dire assombrir que cette map et l'éclairer avec le cs flash merci d'avance .

Nuri Yuri

  • Modérateur de section
  • 575 posts
20 février 2018, 21:25
Faut que tu désactive le système de flash dans les évènements de sortie de la grotte.

Gweath

  • Membre
  • 8 posts
21 février 2018, 13:59
Parfait merci de ton aide :)

Minirock

  • Membre
  • 84 posts
28 février 2018, 16:51
Hello,

bon je reviens un peu par ici au gré de mes pauses^^

Bref, j'ai un peu farfouillé pour chercher ou on faisait la décision des attaques dans les combats.
J'ai fini par trouver le script en question.

Il s'agit du script Pokemon_Battle_Trainer

Et plus particulièrement la méthode suivante:

#------------------------------------------------------------ 
    # Déroulement
    #------------------------------------------------------------
    def enemy_skill_decision
      action = true
      # ------- ---------- --------- --------
      #    Saut de phase de sélection (ennemi)
      #   action = false  : saut
      #   action = true   : pas de saut
      # ------- ---------- --------- --------
      action = phase_jump(true)
     
      @enemy_action = 1
     
      # Décision skill ennemi
      if not(@actor.dead?) and action
        list = []
        for i in 0..@enemy.skills_set.size - 1
          list.push(i)
        end
        list.shuffle!
        # Skill sans PP // Lutte
        @enemy_skill = Skill.new(165)
        # ----------
        for i in list
          if @enemy.skills_set[i].usable?
            @enemy_skill = @enemy.skills_set[i]
          end
        end
      end
     
     
      # Trainer IA
      if @ia and not(@actor.dead?) and action
        # Skill sans PP // Lutte
        @enemy_skill = Skill.new(165)
       
        rate_list = {}
        i = 0
        for skill in @enemy.skills_set
          if skill.usable?
            rate_list[i] = ia_rate_calculation(skill, @enemy, @actor)
          else
            rate_list[i] = 0
          end
          i += 1
        end
       
        # Tri dans l'ordre decroissant de valeur
        sorted_list = rate_list.sort {|a,b| b[1]<=>a[1]}
       
        #for element in sorted_list
        #  print(@enemy.skills_set[element[0]].name)
        #  print(element[1])
        #end
       
        # Decision prioritaire: max dégat ou soin
        # Valeur seuil: 200
        # si une attaque/défense dépasse ce seuil, il est choisi
        if sorted_list[0][1] > 200
          @enemy_skill = @enemy.skills_set[sorted_list[0][0]]
        else
          # Decision par pallier
          i = rand(100)
          # Taux de decision
          taux = [100, 25, 5, 0]
          for a in 0..3
            if i <= taux[a] and sorted_list[a] != nil and sorted_list[a][1] != 0
              @enemy_skill = @enemy.skills_set[sorted_list[a][0]]
            end
          end
        end
      end
     
      if not(action) # Reprise du skill précédent
        @enemy_skill = $battle_var.enemy_last_used
      end
    end


Comme vous pouvez le voir, le script indique bel et bien que le choix de la compétence se fait par rapport au dégât max des compétences.
Il y a donc clairement quelque chose à bidouiller ici pour essayer d'obtenir une IA de bien meilleure qualité.

Je vais essayer d'étudier le problème, de remonter les attributs des objets concernés pour essayer de pondre un truc potable mais ça va pas être facile vu que je sais pas de quel langage il s'agit et que je vais devoir décrypter un peu en profondeur une partie des com en asiatique si je dois remonter dans les méthodes :(

Fin bref si j'arrive à un résultat je vous tiens au courant, je pense que ça peut intéresser des gens d'avoir une IA potable dans les combats qui se contente pas de bêtement lancer l'attaque la plus puissante.

Nuri Yuri

  • Modérateur de section
  • 575 posts
01 mars 2018, 10:18
C'est du Ruby, sinon tu utilises quelle version de PSP car il me semble que sur la dernière version l'IA est un peu plus performante.

Minirock

  • Membre
  • 84 posts
01 mars 2018, 13:43
J'avais dl la version 0.9.2 mais j'ai pas retouché au RTP du coup mon truc est pas tout à fait fonctionnel.

En ce qui concerne l'IA justement, j'ai check entre la version 0.9 et 0.8 et c'est la même chose, du moins sur le passage sélectionné.

Ce qui me gène avec la version actuelle c'est que si tu veux un pokémon d'arène un peu "fort" qui aurait comme compétences quelque chose comme gonflette ou malédiction...le skill sera jamais utilisé avant la fin, car sans dégat.


Après je t'avouerais que j'ai pas re-testé les combats sur la version 0.9, possible qu'il y ait des changements dans l'IA à un autre niveau, mais en tout cas sur cette méthode en particulier, c'est exactement la même.

Ok pour Ruby, ça me fera une bonne occasion de rajouter ça sur mon CV :D

Nuri Yuri

  • Modérateur de section
  • 575 posts
03 mars 2018, 19:05
Ok, ptet que l'amélioration n'est pas encore sortie alors ^^'
Je pourrais pas spécialement plus t'aider sur ce soucis car une IA c'est très complexe ^^

TUT7P

  • Membre
  • 1 posts
19 mars 2018, 10:57
bonjour , si ça se trouve vous avez déjà répondu a cette question , mais j'ai un problème, comment on teste le jeu (chuis sur psp0.8) je veux dire quand j'appuie sur play ça me met le jeu de psp , vous savez comment allez dans les villes qu'on a crées? car a cause de ça je peux pas tester mon jeu  :domo:

Nuri Yuri

  • Modérateur de section
  • 575 posts
19 mars 2018, 11:19
Il faut utiliser des téléportations (commande d'évènement page 2).

Minirock

  • Membre
  • 84 posts
27 mars 2018, 22:36
Un autre "problème" dont je me suis rendu compte.
La commande effacer l’événement n'est pas permanente.

Ex: On ramasse un objet, on efface l'objet, on change de map, on revient sur la map de l'objet qui est apparu de nouveau.
Bien entendu on peut gérer ça avec des variables en mode afficher l'event que si une variable x n'a pas été modifié. Mais je trouve ça un peu fastidieux ce qui me fait penser que je m'y prends peut-être pas de la bonne façon pour ramasser des objets^^

Weby

  • Membre
  • 56564 posts
28 mars 2018, 14:21
Au lieu d'effacer l'event quand tu ramasses l'objet, modifie la variable, et quand tu rentres dans la map, efface l'objet si cette variable est modifiée.

Pages: 1 ... 13 14 15 16 17 [18] 19 20 21    En haut ↑