Citadin Lv.7
Age : 25 Inscrit le : 24/09/2011 Messages : 200
| Sujet: Système de Rangs v1.1 [VX] Sam 13 Oct 2012 - 22:25 | |
| voici un script créé par LeonBlade qui permet d'assigner des rangs à vos personnages par le moyen d'interrupteurs. Très utilisé dans les projets à long terme. But : Les rangs ne servent pas à grand chose, excepté à indiquer un grade, un niveau (qui est en fait pas un niveau) pour vos persos. Un rang qui indique un accomplissement de votre héros : genre niv. 1 tu es un civil, niv. 75 tu es une légende!!! Script : - Code:
-
#=============================================================================== # RANKING SYSTEM # By: Leon Blade #=============================================================================== # Features: # # * Dynamically Add, Remove, or Change Ranking for different Heros # * Display Soldier's Rank in Message Boxes # #------------------------------------------------------------------------------- # Adding, Removing, or Changing Ranking: # # Add Hero To Soldier: $game_rank.AddSoldier(hero_id, rank) # Remove Hero From Soldier: $game_rank.RemoveSoldier(hero_id) # Change Hero's Rank: $game_rank.ChangeSoldier(hero_id, rank) # #------------------------------------------------------------------------------- # Displaying Messages: # # Typing \sr[id]: SR stands for Soldier Rank. Pass in the ID to get the rank # #------------------------------------------------------------------------------- # NOTE: If you see anything commented out with the word "print" in it # Those can be used for DEBUGING Just un comment them and then they # Will provide you with basic information. Read them to figure it out # #------------------------------------------------------------------------------- # Thats all for comments # Hope you enjoy this script! # # --Leon Blade #===============================================================================
class RankSystem
attr_reader :soldiers # Read in the Soldiers attr_reader :ranks # Read in the Ranks attr_accessor :hero_id # Get the hero's id attr_accessor :rank # Get the hero's rank
def initialize @hero = 0 # The Current Hero ID @rank = 0 # The Current Rank @soldiers = [] # The Heros Array @ranks = [] # The Rank Array end
#----------------------------------------------------------------------------- # Add Soldier: To add a soldier type in $game_rank.AddSoldier(hero_id, rank) #----------------------------------------------------------------------------- def AddSoldier(hero_id, rank) @hero = hero_id @rank = rank i=0 pick = true while i < @soldiers.length if @hero == @soldiers[i] # print "The Soldier #{$game_actors[@hero].name} is already a Soldier" pick = false end i += 1 end if pick == true @soldiers[@hero] = @hero @ranks.push[@hero] = @rank # print "You added #{$game_actors[@hero].name} to Soldier at Rank #{@rank}" end end
#----------------------------------------------------------------------------- # Remove Soldier: To remove a soldier type in $game_rank.RemoveSoldier(hero_id) #----------------------------------------------------------------------------- def RemoveSoldier(hero_id) @hero = hero_id i=0 while i < @soldiers.size if @hero == @soldiers[i] @soldiers.delete_at(i) @ranks.delete_at(i) # print "You removed #{$game_actors[@hero].name} from Soldier" end i += 1 end end
#----------------------------------------------------------------------------- # Change Soldier: To change a soldier type in # $game_rank.AddSoldier(hero_id, rank) #----------------------------------------------------------------------------- def ChangeSoldier(hero_id, rank) @hero = hero_id @rank = rank i=0 while i < @soldiers.length if @hero == @soldiers[i] # print "#{$game_actors[@hero].name}'s current Rank is #{@ranks[i]}" @ranks[i] = @rank # print "You changed #{$game_actors[@hero].name}'s Rank to #{@rank}" end i += 1 end end
end
#=============================================================================== # Window Message #------------------------------------------------------------------------------- # This will allow for easy naming for Soldier Members and there Ranks # Simply type \SR[id] To get the Rank of the Soldier #=============================================================================== class Window_Message < Window_Selectable
alias rank_special_character convert_special_characters
def convert_special_characters rank_special_character @text.gsub!(/\\SR\[([0-9]+)\]/i) { $game_rank.ranks[$1.to_i] } end
end
#=============================================================================== # Menu Window #=============================================================================== class Window_MenuStatus < Window_Selectable
alias rank_refresh refresh
def refresh rank_refresh self.contents.clear @item_max = $game_party.members.size for actor in $game_party.members draw_actor_face(actor, 2, actor.index * 96 + 2, 92) x = 104 y = actor.index * 96 + WLH / 2 draw_actor_name(actor, x, y) draw_actor_class(actor, x + 120, y) draw_actor_level(actor, x, y + WLH * 1) draw_actor_state(actor, x, y + WLH * 2) draw_actor_hp(actor, x + 120, y + WLH * 1) draw_actor_mp(actor, x + 120, y + WLH * 2) i=0 while i < $game_rank.soldiers.length+1 if actor.index+1 == $game_rank.soldiers[i+1] self.contents.font.color = system_color self.contents.draw_text(x, y+WLH*1+20,300,32,"Rank") self.contents.font.color = normal_color self.contents.draw_text(x+50, y+WLH*1+20,300,32,$game_rank.ranks[i+1]) i = $game_rank.soldiers.length end i += 1 end end end
end
#=============================================================================== # This will add $game_rank for refrence to the RankSystem Class #=============================================================================== class Scene_Title < Scene_Base
alias rank_game_object create_game_objects
def create_game_objects rank_game_object $game_rank = RankSystem.new end
end
Toutes les instructions sont dans les premières lignes du script; tout est bien expliqué. Icompatibilité :Je n'ai remarqué aucun script incompatible avec celui-ci, alors vous devreiz avoir aucun problème sinon laissez un message et je vous répondrai dans les plus brefs délais.Citrus Mettez des balises code pour les scripts, svpMerci du partage ! +2 points de participation ! Peut-être un screen, que l'on puisse constater, pourrait être utile
Dernière édition par CitrusPrenium le Dim 14 Oct 2012 - 21:26, édité 1 fois |
|
Croisé Lv.14
Age : 26 Inscrit le : 22/05/2011 Messages : 1141
| Sujet: Re: Système de Rangs v1.1 [VX] Dim 14 Oct 2012 - 17:26 | |
| il sert a quoi ce projet au juste ? que veut tu dire au juste par rangs ? - Citation :
- Toutes les instructions sont dans les premières lignes du script; tout est bien expliqué.
je parle pas anglais ... |
|
Citadin Lv.7
Age : 25 Inscrit le : 24/09/2011 Messages : 200
| Sujet: Re: Système de Rangs v1.1 [VX] Dim 14 Oct 2012 - 21:25 | |
| je vais éditer pour être plus clair. |
|
| Sujet: Re: Système de Rangs v1.1 [VX] | |
| |
|