RPG Creator : créez votre MMORPG ou RPG sans aucune connaissance en programmation


Disponible le 4 Juin !




- Jouez à votre jeu sur tablettes tactiles, Smartphones et navigateurs Web
- Personnalisez vos menus
- Dessinez facilement et rapidement vos cartes
- Créez des actions pour le combat A-RPG


www.rpgcreator.net


Heures au format UTC + 1 heure [ Heure d’été ]


Règles du forum


Consultez la liste des Scripts : cliquez ici



Publier un nouveau sujet Répondre au sujet  [ 6 messages ] 
Auteur Message
 Sujet du message: Système de réputation
MessagePublié: 14 Avr 2007, 23:24 
Bourgeois (Nv 3)
Avatar de l’utilisateur

Inscrit le: 25 Aoû 2006, 00:00
Messages: 247
Niveau RPG Maker: Plutôt pas mal! ^^
Logiciel(s) préféré(s): RPGMXP
Point(s) Fort(s): Eventing à fond! ^^
Sexe: Masculin
Points d'aide: 1/60

Créations :

Voir ses créations

Voici un petit script très sympa... Il permet de donner un système de réputation au héros et de faire des groupes, par exemple la famille royale, l'Ordre Blanc, etc.

1°/ Le script:
À mettre au-dessus de Main avec n'importe quel nom...:
Code: Tout sélectionner
#==============================================================
#   Kio's Reputation System v1.2
#==============================================================

class Game_System
    attr_accessor :fac_rep
    attr_accessor :fac_active
 
  alias rep_initialize initialize
  def initialize
    rep_initialize
    @fac_rep=[]
    @fac_active=[]
  end
end

class Scene_Title
 alias cng command_new_game
 def command_new_game
  cng
  #Determine the initial settings for the faction's reputations here
  $game_system.fac_rep = [50, 44, 75, 24, 9, 56, 100]
  #Determine the inital factions you can see here.
  $game_system.fac_active = ["active", "active", "active", "active", "active", nil, nil]
 end
end

class Scene_Reputation
  def main
    @status_window = Window_Reputation.new
    @sprite = Spriteset_Map.new
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @status_window.dispose
    @sprite.dispose
  end

  def update
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(5)
      return
    end
  end
end

class Window_Reputation < Window_Base
    attr_accessor :factions
    attr_accessor :fac_rep
    attr_accessor :reptypes
    attr_accessor :fac_active

  def initialize
    super(0, 0, 640, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Tahoma"
    self.contents.font.size = 22
    self.contents.font.color = text_color(0)
    self.back_opacity = 120
    @factions = ["Famille Royale", "Église d' Avelius", "Nobles", "Paysans", "Étrangers", "Ordre Blanc", "Crestguarde"]
    @rep = ["Heroique", "Honoré", "Amical", "Neutre", "Froid", "Détesté", "Horripilé"]
    refresh
  end
 
  def draw_repbar(x, y, width, height, current, max)
    x -= 10
    for i in 0..(height+2)
      self.contents.fill_rect(x-3+i, y - 1 + i, width+5, 1, Color.new(255, 255, 255, 255))
    end
    for i in 0..height
      self.contents.fill_rect(x+i, y+i, width+1, 1, Color.new(0, 0, 0, 255))
    end
    for i in 0..height
      for j in 0..current
        self.contents.fill_rect(x+j+i, y+i, 1, 1, Color.new(0, 0 + (1.25*j), 255 - (1.25*j), 255 - (5*i)))
      end
    end
  end

  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.font.size = 32
    self.contents.draw_text(20, 40, 184, 32, "Réputation", 2)
    self.contents.font.size = $fontsize
    for i in 0...@factions.size
      y = 80 + (i * 70)
      x = -30
      if i > 4
        x = 280
        y = 80 + ((i - 5) * 70)
      end
      if $game_system.fac_rep[i] > 100
        $game_system.fac_rep[i] = 100
      end
      if $game_system.fac_rep[i] < 0
        $game_system.fac_rep[i] = 0
      end
      if $game_system.fac_active[i] == "active"
        draw_fac(x, y, i)
      end
      self.contents.font.color = normal_color
    end
  end
 
  def draw_fac(x, y, i)
    self.contents.draw_text(x+40, y, 160, 32, @factions[i], 0)
    draw_repbar(x+90, y+32,  200, 14, 2 * $game_system.fac_rep[i], 100)
    self.contents.font.color = system_color
    if $game_system.fac_rep[i] >= 90
      self.contents.draw_text(x+210, y, 96, 32, @rep[0], 2)
    elsif $game_system.fac_rep[i] >= 75
      self.contents.draw_text(x+210, y, 96, 32, @rep[1], 2)
    elsif $game_system.fac_rep[i] >= 55
      self.contents.draw_text(x+210, y, 96, 32, @rep[2], 2)
    elsif $game_system.fac_rep[i] >= 45
      self.contents.draw_text(x+210, y, 96, 32, @rep[3], 2)
    elsif $game_system.fac_rep[i] >= 25
      self.contents.draw_text(x+210, y, 96, 32, @rep[4], 2)
    elsif $game_system.fac_rep[i] >= 10
      self.contents.draw_text(x+210, y, 96, 32, @rep[5], 2)
    else
      self.contents.draw_text(x+210, y, 96, 32, @rep[6], 2)
    end
  end
end


2°/ Instructions:
Vers la ligne 22, vous pouvez changer la réaction de base des groupes et s'ils vous connaissent.
Vers la ligne 68, vous pouvez donner un nom aux groupes et aux stades : Amical, Héroique, Détesté...
Vers la ligne 118, vous pouvez définir la valeur qu'il faut pour avoir chaque stade.
Pour ajuster la réputation:
Code: Tout sélectionner
$game_system.fac_rep[i] += n


En changeant i par l'ID du groupe, + (pas "+=" ! Seulement le "+") par un moins ou un plus selon la situation, et n par le chiffre lui-même.

3°/ Un screen:

Image

EDIT: J'oubliais:
Auteur : Kyo
Trouvé sur : RXMP.org

_________________
Ce message ne comportant aucune faute involontaire d'orthographe vous a été présenté par Ewinnol (ou Magnagnananabobomichoux pour les intimes).

Sachez que je suis un très bon event-maker en particulier pour les systèmes marrants (Heures, cuisine, ou toute bizarrerie que votre esprit dément aura pu imaginer).

Actuellement, j'aide:

    -Shaolan66


Haut
 Profil  
 
 Sujet du message: Re: Système de réputation
MessagePublié: 28 Juin 2010, 21:07 
Villageois (Nv 4)

Inscrit le: 10 Nov 2008, 01:00
Messages: 65
Niveau RPG Maker: 8.5/10 env.
Logiciel(s) préféré(s): rpg maker xp
Point(s) Fort(s): event maker
Sexe: Masculin
Points d'aide: 0/60

Créations :

- sortir renter de la voiture


Voir ses créations

Bonjour

petite question:

comment mettre ce screen sur ton jeu(il faut inserer quoi pour l'afficher)

dany96


Haut
 Profil  
 
 Sujet du message: Re: Système de réputation
MessagePublié: 28 Juin 2010, 22:37 
Garde
Garde
Avatar de l’utilisateur

Inscrit le: 26 Sep 2006, 00:00
Messages: 1973
Points d'aide: Illimité

Créations :

Voir ses créations

Oo...essaie d'être plus clair quand même, ca ne veut rien dire là.

Si la question est "comment afficher ce qu'on voit dans le screen", alors tu peux par exemple utiliser "insérer un script" et :
Citer:
$scene = Scene_Reputation.new


Si tu veux rajouter une option dans le menu qui mène à ce script, c'est plus compliqué.
Surtout que là, quand tu quittes ça te ramène au menu, et non à la map.

Si tu veux que ça te remette sur la map en quittant, tu cherches ces lignes :
Code: Tout sélectionner
if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(5)
      return
    end


Que tu remplaces par :
Code: Tout sélectionner
if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end

(et oui, il n'y a qu'une seule ligne qui change)

_________________
Image
Image


Haut
 Profil  
 
 Sujet du message: Re: Système de réputation
MessagePublié: 11 Déc 2011, 13:39 
Villageois (Nv 1)

Inscrit le: 13 Mar 2010, 20:16
Messages: 5
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

Excuser moi mais j'ai essayer de mettre dans insert script
$game_system.fac_rep[i] += n
en changeant par exemple:
$game_system.fac_rep[1] + 10
mais rien ne change, je ne sais pas si c'est moi qui est fait une mauvaise manipulation mais je ne sais pas comme résoudre le problème pourriez vous m'aider s'il vous plait. u)


Haut
 Profil  
 
 Sujet du message: Re: Système de réputation
MessagePublié: 11 Déc 2011, 22:48 
Artisan (Nv 5)
Avatar de l’utilisateur

Inscrit le: 13 Avr 2011, 17:19
Messages: 183
Niveau RPG Maker: Correct
Logiciel(s) préféré(s): RMXP
Point(s) Fort(s): Scenario
Sexe: Masculin
Points d'aide: 6/60

Créations :

Voir ses créations

Il faut un "=" après le "+".
Cette syntaxe permet de dire, ma variable est égale à ma variable + 10.

_________________
Genesis : Démo 1b disponible
Toujours à la recherche d'un bon mappeur.

Si quelqu'un vous a aidé, récompensez le avec des points d'aides (PA).
http://forum.rpgcreative.net/f96-demandez-a-un-moderateur-de-recompenser-un-membre-par-des-pa-t101279.html


Haut
 Profil  
 
 Sujet du message: Re: Système de réputation
MessagePublié: 12 Déc 2011, 21:34 
Villageois (Nv 1)

Inscrit le: 13 Mar 2010, 20:16
Messages: 5
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

Je te remercie pour ton aide :D


Haut
 Profil  
 
Afficher les messages depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 6 messages ] 

Heures au format UTC + 1 heure [ Heure d’été ]


Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 2 invités


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Rechercher pour:
Sauter vers:  
cron
RPG Creative Forum version 5 ; Tous droits réservés
phpBB Group (Traduit par Xaphos)
Optimisé pour une résolution 1024*728