|
|
Auteur | Message |
---|
Inscrit le : 03/11/2008 Messages : 529
| Sujet: Points a répartirs Dim 11 Jan 2009 - 16:57 | |
| Bonsoir à tous, j'ai chercher partout et j'ai trouvé sur ce forum mais, lien mort ... Je cherche un script pour faire un système de répartition de point. Quans on monte de niveau on gagne par exemple 2 points qu'on peux répartir, en force, en vie, en magie, en vitesse, etc. Voila si quelqu'un a un lien pas mort de préférence ... Merci d'avance, et j'attends toujours le script pour personnalisé les barres de vie et magie en combat et dans le menu ! Merci à tous et bonne soirée. |
|
| |
Age : 30 Inscrit le : 22/11/2008 Messages : 3382
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 17:00 | |
| Je crois que Shadow possède ce script. |
|
| |
Voyageur Lv.10
Age : 31 Inscrit le : 16/08/2008 Messages : 467
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 17:16 | |
| Oui effectivement ! Tiens le voila : ( à placer au dessus de main, le reste ce fait tout seul ! ) - Spoiler:
- Code:
-
#============================================================================== # Simples Distribuição de Pontos #------------------------------------------------------------------------------ # Criado por CACAO # Versão 1.01 #============================================================================== # :: Como utilizar # # Utilisation ou de commande événement "Appeller Script" pour appeller une fenêtre de # Points de distribution. A l'intérieur de la boîte de texte qui apparaît fenêtre nd # Command "Appeller Script", ou inserer code suivante: # # $game_temp.next_scene = "points" # #==============================================================================
class Game_Interpreter alias _cbs_execute_command execute_command def execute_command if @index >= @list.size-1 command_end return true else return command_108_line if @list[@index].code == 108 end _cbs_execute_command end def command_108_line for i in 0...6 @params = @list[@index].parameters[0] command_108 break if @list[@index + 1].code != 408 @index += 1 end return true end def command_108 end end
class Scene_Map < Scene_Base alias _cbs_update_scene_change update_scene_change def update_scene_change return if $game_player.moving? update_scene_change_cao _cbs_update_scene_change end def update_scene_change_cao return if $game_player.moving? end end
module CAO; class Status #-------------------------------------------------------------------------- # Configuração do Script #-------------------------------------------------------------------------- # Número de pontos a ser ganho quando subir de nível #-------------------------------------------------------------------------- STATUS_POINT = 5 #-------------------------------------------------------------------------- # Máximo de pontos a serem adicionados a um atributo #-------------------------------------------------------------------------- MAX_SORT = 10 #-------------------------------------------------------------------------- # 1 ponto aumenta quantos pontos nos atributos? #-------------------------------------------------------------------------- UP_HP = 5 # HP UP_MP = 5 # MP UP_ATK = 1 # Ataque UP_DEF = 1 # Defesa UP_SPI = 1 # Inteligência UP_AGI = 1 # Agilidade #-------------------------------------------------------------------------- # Frase de pontos restantes #-------------------------------------------------------------------------- INFOS_REMAINING_POINT = "Points restants :"
end; end
class Game_Actor < Game_Battler attr_accessor :spoint alias _cao_setup_status setup def setup(actor_id) @spoint = 0 _cao_setup_status(actor_id) end alias _cao_level_up_status level_up def level_up _cao_level_up_status $game_actors[self.id].spoint += CAO::Status::STATUS_POINT end end
class Scene_Map < Scene_Base alias _update_scene_change_cao_spoint update_scene_change_cao def update_scene_change_cao _update_scene_change_cao_spoint if $game_temp.next_scene == "points" $game_temp.next_scene = nil $scene = Scene_ActorSelect_S.new end end end
class Scene_Menu < Scene_Base def start_spoint(type = 0) @from_spoint = type start_actor_selection end alias _cao_update_actor_selection_spoint update_actor_selection def update_actor_selection if Input.trigger?(Input::C) && @from_spoint == 0 @from_spoint = nil Sound.play_decision actor_id = $game_party.members[@status_window.index].id $scene = Scene_StatusPoint.new(actor_id, @command_window.index) end _cao_update_actor_selection_spoint end end
class Window_ParaStatus < Window_Base def initialize(actor_id) super(132, 28, 280, 128) @actor = $game_actors[actor_id] refresh end def refresh draw_actor_name(@actor, 2, WLH * 0) draw_actor_class(@actor, 2, WLH * 1) draw_actor_hp(@actor, 2, WLH * 2) draw_actor_mp(@actor, 2, WLH * 3) for i in 0...4 draw_actor_parameter(@actor, 132, WLH * i, i) end end def draw_actor_parameter(actor, x, y, type) case type when 0 parameter_name = Vocab::atk parameter_value = actor.atk when 1 parameter_name = Vocab::def parameter_value = actor.def when 2 parameter_name = Vocab::spi parameter_value = actor.spi when 3 parameter_name = Vocab::agi parameter_value = actor.agi end self.contents.font.color = system_color self.contents.draw_text(x, y, 72, WLH, parameter_name) self.contents.font.color = normal_color self.contents.draw_text(x + 72, y, 40, WLH, parameter_value, 2) end end
class Window_StatusPoint < Window_Selectable def initialize(actor_id) super(132, 156, 280, 176) @actor = $game_actors[actor_id] @spoint = @actor.spoint @psort = Array.new(6, 0) s = CAO::Status @s_rate = [s::UP_HP, s::UP_MP, s::UP_ATK, s::UP_DEF, s::UP_SPI, s::UP_AGI] @dumy_status = Array.new(6, 0) @item_max = 6 @index = 0 refresh end def refresh self.contents.clear s_name = [Vocab.hp, Vocab.mp, "ATA", "DEF", "INT", "AGI"] for i in 0...6 self.contents.font.color = system_color self.contents.draw_text(0, WLH * i, 48, WLH, s_name[i], 1) gauge(WLH * i, @psort[i]) total_point = @psort[i] * @s_rate[i] if total_point < 10 total_point = "000" + total_point.to_s elsif total_point < 100 total_point = "00" + total_point.to_s elsif total_point < 1000 total_point = "0" + total_point.to_s end self.contents.font.color = normal_color self.contents.draw_text(184, WLH * i, 16, WLH, "+", 2) self.contents.draw_text(200, WLH * i, 48, WLH, total_point, 2) end end def gauge(y, point) color = Color.new(200, 200, 200) g1, g2 = Color.new(240, 120, 30), Color.new(230, 160, 50) for i in 0...point x = 120 / CAO::Status::MAX_SORT * i + 58 w = 80 / CAO::Status::MAX_SORT self.contents.fill_rect(x + 2, y + 3, w, 18, color) self.contents.gradient_fill_rect(x + 3, y + 4, w - 2, 16, g1, g2) end end def update if cursor_movable? last_index = @index if Input.repeat?(Input::DOWN) cursor_down(Input.trigger?(Input::DOWN)) end if Input.repeat?(Input::UP) cursor_up(Input.trigger?(Input::UP)) end if Input.repeat?(Input::RIGHT) cursor_right refresh end if Input.repeat?(Input::LEFT) cursor_left refresh end if @index != last_index Sound.play_cursor end end update_cursor call_update_help end def cursor_right if @actor.spoint > 0 && @psort[@index] < CAO::Status::MAX_SORT status = [ @actor.maxhp, @actor.maxmp, @actor.atk, @actor.def, @actor.spi, @actor.agi ] @psort[@index] == 0 ? ps = 1 : ps = @psort[@index] if @index < 2 && status[@index] + @s_rate[@index] * ps < 9999 Sound.play_cursor @actor.spoint -= 1 @psort[@index] += 1 elsif status[@index] + @s_rate[@index] * ps < 999 Sound.play_cursor @actor.spoint -= 1 @psort[@index] += 1 else Sound.play_buzzer end end end def cursor_left if @psort[@index] > 0 Sound.play_cursor @actor.spoint += 1 @psort[@index] -= 1 end end def update_cursor if @index < 0 self.cursor_rect.empty else row = @index / @column_max if row < top_row self.top_row = row end if row > bottom_row self.bottom_row = row end rect = item_rect(@index) rect.x = 50 rect.width = 134 rect.y -= self.oy self.cursor_rect = rect end end def cancel_sort @actor.spoint = @spoint end def decision_sort for i in 0...6 case i when 0 ; @actor.maxhp += @s_rate[i] * @psort[i] when 1 ; @actor.maxmp += @s_rate[i] * @psort[i] when 2 ; @actor.atk += @s_rate[i] * @psort[i] when 3 ; @actor.def += @s_rate[i] * @psort[i] when 4 ; @actor.spi += @s_rate[i] * @psort[i] when 5 ; @actor.agi += @s_rate[i] * @psort[i] end end end end
class Window_SpointInfos < Window_Base def initialize(actor_id) super(132, 332, 280, 56) @actor = $game_actors[actor_id] @spoint = @actor.spoint refresh end def refresh self.contents.clear self.contents.font.color = system_color text = CAO::Status::INFOS_REMAINING_POINT self.contents.draw_text(12, 0, 200, WLH, text) if @actor.spoint < 10 spoint_s = "00" + @actor.spoint.to_s elsif @actor.spoint < 100 spoint_s = "0" + @actor.spoint.to_s end self.contents.font.color = normal_color self.contents.draw_text(200, 0, 36, WLH, spoint_s, 1) end def update if @spoint != @actor.spoint @spoint = @actor.spoint refresh end end end
class Scene_StatusPoint < Scene_Base def initialize(actor_id, from = -1) @actor_id = actor_id @from = from end def start super create_menu_background @pstatus_window = Window_ParaStatus.new(@actor_id) @spoint_window = Window_StatusPoint.new(@actor_id) @sinfos_window = Window_SpointInfos.new(@actor_id) end def terminate super dispose_menu_background @pstatus_window.dispose @spoint_window.dispose @sinfos_window.dispose end def return_scene @from == -1 ? $scene = Scene_Map.new : $scene = Scene_Menu.new(@from) end def update super update_menu_background @pstatus_window.update @spoint_window.update @sinfos_window.update if Input.trigger?(Input::C) Sound.play_decision @spoint_window.decision_sort return_scene end if Input.trigger?(Input::B) Sound.play_cancel @spoint_window.cancel_sort return_scene end end end
class Scene_ActorSelect_S < Scene_Base def start super create_menu_background create_command_window end def post_start super open_command_window end def pre_terminate super close_command_window end def terminate super dispose_command_window dispose_menu_background end def update super update_menu_background @command_window.update if Input.trigger?(Input::B) Sound.play_cancel $scene = Scene_Map.new elsif Input.trigger?(Input::C) actor_id = $game_party.members[@command_window.index].id $scene = Scene_StatusPoint.new(actor_id) end end def update_menu_background super @menuback_sprite.tone.set(0, 0, 0, 128) end def create_command_window para = [] for i in 0...$game_party.members.size para[i] = $game_party.members[i].name end @command_window = Window_Command.new(172, para) @command_window.x = (544 - @command_window.width) / 2 @command_window.y = (416 - @command_window.height) / 2 @command_window.openness = 0 end def dispose_command_window @command_window.dispose end def open_command_window @command_window.open begin @command_window.update Graphics.update end until @command_window.openness == 255 end def close_command_window @command_window.close begin @command_window.update Graphics.update end until @command_window.openness == 0 end end
|
|
| |
Inscrit le : 03/11/2008 Messages : 529
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 17:17 | |
| Merci Altair |
|
| |
Voyageur Lv.10
Age : 31 Inscrit le : 16/08/2008 Messages : 467
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 17:18 | |
| De rien ! |
|
| |
Inscrit le : 03/11/2008 Messages : 529
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 17:22 | |
| Euh ... sa marche pas ^^", je monte de niveau et sa fait rien ! J'ai regardé partout mais aucune trace pour répartir des points ... |
|
| |
Voyageur Lv.10
Age : 31 Inscrit le : 16/08/2008 Messages : 467
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 17:26 | |
| C'est pas après le passage à un niveau sup !
Tu utilise la commande "Appeller Script" pour appeller une fenêtre de Points de distribution . Tu y insère ce code :
$game_temp.next_scene = "points"
En espèrent t'avoir aidé ! ( tout est dans le script ! ) |
|
| |
Inscrit le : 03/11/2008 Messages : 529
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 17:29 | |
| Oué je venais de remarquer ... Mais moi me faut quand on "lvl up" =/ Merci quand même si quelqu'un a le bon script ... |
|
| |
Voyageur Lv.10
Age : 31 Inscrit le : 16/08/2008 Messages : 467
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 17:34 | |
| Tu peut toujours demander à un scripteur de te modifier ce script ! Berka est assez fort en script tu pourrais toujours lui demander ! |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 17:36 | |
| Hihihi je sais moi Tu fais créer 2 variable : AvantCombat, AprésCombat Dans un even tu met AvantCombat = lvl du hero après tu lance le combat après le combat AprèsCombat = Lvl du hero Condition la variable AvantCombat != AprésCombat Et là sa veux dire que le hero est monté de niveau Donc tu insert le script là ! |
|
| |
Inscrit le : 03/11/2008 Messages : 529
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 17:40 | |
| Oui mais il faudra que je lance le combat moi même et pas qu'il se lance tous seul... bon bah si un bon scripteur peux me le faire ... merci d'avance. |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 17:45 | |
| Je l'avais traduit mais il n'est plus la en attendant voici la démo en anglais : http://www.roxburian.com/Project1.exe
EDIT : J'ai trouvé sur mon PC le tout traduit : http://www.megaupload.com/fr/?d=H3NFSSOP
Enjoy ! |
|
| |
Inscrit le : 03/11/2008 Messages : 529
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 18:00 | |
| Merci mais c'est bien se que je penser, il faut appeler le script avec un event, il ne s'enclenche pas tout seul après un "lvl up" ... |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 18:02 | |
| Tu veux qu'il s'enclenche après un level up ? C'est possible ^^ Je te fait ça pour demain ? ^^ |
|
| |
Inscrit le : 03/11/2008 Messages : 529
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 18:03 | |
| Ah oui, je veux bien merci ^^ même pour aujourd'hui si t'as le temps =° ... |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 18:11 | |
| Tu utilise quel système de combat ?
Dernière édition par Blockade le Dim 11 Jan 2009 - 18:14, édité 2 fois |
|
| |
Inscrit le : 03/11/2008 Messages : 529
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 18:13 | |
| Bah ... ^^" Je voulais utiliser le Tactical, mais j'y comprend rien donc je vais utiliser le SBS je pense. Ahlala que ferait-on sans ses scripteurs ? |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 18:15 | |
| Et tu utilise mon script ?
Si oui quel mode de calcul d'obtention des points tu utilise ? Le RO ou le normal ? |
|
| |
Inscrit le : 03/11/2008 Messages : 529
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 18:17 | |
| Bah j'utilise le script que tu viens de poster ^^" |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 18:21 | |
| Mais quel mode d'attribution des points celui par défaut ou le RO ? |
|
| |
Inscrit le : 03/11/2008 Messages : 529
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 18:23 | |
| C'est quoi la différence entre le RO et le normal ? |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 18:26 | |
| C'est expliqué dans le script ^^ - Citation :
- Normal : 1 point / caractéristiques
Exemple : Pour augmenter l'attaque vous utiliserez 1 points quelque sois sa valeur RO : Utiliser le système RO , les points a donner dépende de la valeur du stat. Explication: Dans RO, si vous avez des stats élevés, vous avez besoin de plus de points pour les augmenter. Donc si vous avez 90 d'attaque et 5 d'intel, Vous pouvez choisir d'utiliser 10 point pour 1 d'attaque de plus ou utiliser 10 points pour obtenir 6 d'intelligence Par défaut c'est le RO qui est mis ^^ |
|
| |
Inscrit le : 03/11/2008 Messages : 529
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 18:28 | |
| Le normal, par niveau up on gagne ... hmm ... 5 points et que si on a 70 d'attaque bah on utilise 1 point pour passer a 71. |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 18:30 | |
| Et on en gagne combien de point à chaque level ? Et pour augmenter ces caractéristiques est appelé à chaque fin de combat ou par une commande dans le menu ? |
|
| |
Inscrit le : 03/11/2008 Messages : 529
| Sujet: Re: Points a répartirs Dim 11 Jan 2009 - 18:33 | |
| 5 points, mais essaye de faire pour que je puisse changer si je change d'avis, si c'est pas trop demander ... sinon encore merci, je vais manger, donc je pourrai plus répondre aux questions pour un petit moment ^^". |
|
| |
| Sujet: Re: Points a répartirs | |
| |
|
| |
|