| | Forge | |
|
+2le breton 2detension Dark_Nite-Angel 6 participants | Auteur | Message |
---|
Dark_Nite-Angel lvl 11 : Platinum Apprentice
Nombre de messages : 111 Alias : DNA Date d'inscription : 16/07/2004
| Sujet: Forge Sam 2 Juil à 22:52 | |
| Pour faire un forge pour devai créer l'objet sa c'est simple pui fou devai faire
Condition Truc'X'present dans l'inventaire Condition Truc'Y' present dans l'inventaire Afficher Choix : forgé pour 'X' Gils diminuer argent par 'X' ajouté truc 'Z' retiré truc'X' retiré Truc'Y' Ne par forgé end end Je rajouterai des screen bientot marche pour Tous | |
| | | le breton 2detension lvl 25 : Gold Battler
Nombre de messages : 674 Date d'inscription : 27/10/2004
| Sujet: Re: Forge Sam 2 Juil à 23:22 | |
| petits problemes: _on ne sait pas ce qu'on forge alors c'est un peu au pif _on ne sait pas ce qu'on obtient alors c'est beaucoup au pif
comme choix il faudrait plutot mettre: _x+y=z _autre _quitter | |
| | | Dark_Nite-Angel lvl 11 : Platinum Apprentice
Nombre de messages : 111 Alias : DNA Date d'inscription : 16/07/2004
| Sujet: Re: Forge Sam 2 Juil à 23:43 | |
| C'est la version V1 que j'avai trouvé sur le net sinon tu rajoute des message etc tu personnalise c'ets juste le sript après tu personalise | |
| | | le breton 2detension lvl 25 : Gold Battler
Nombre de messages : 674 Date d'inscription : 27/10/2004
| Sujet: Re: Forge Dim 3 Juil à 13:56 | |
| non ce n'est pas un script mais un tuto un script est par exemple en ruby, c+, c++ il ne faut pas confondre les deux! oui en fait c'est la base tiens je vais essayer de le faire en script car je suis une dauube en programmation et il faudrait que je m'entraine un petit peu! je vais voir! | |
| | | Dark_Nite-Angel lvl 11 : Platinum Apprentice
Nombre de messages : 111 Alias : DNA Date d'inscription : 16/07/2004
| Sujet: Re: Forge Dim 3 Juil à 14:01 | |
| j'apelle sa un script moi | |
| | | Xanatos lvl 20 : Gold Fighter
Nombre de messages : 407 Date d'inscription : 27/02/2005
| Sujet: Re: Forge Dim 3 Juil à 14:03 | |
| Eh bien tu ne devrais pas^^ Les tutos sont des actions a effectuer dans des évenements alors que les scripts ( même si pour certains on peut les faire agir a un certain moment) il sont actifs tout au long du jeu ( exemple : script de modification d'un menu) ... | |
| | | Dark_Nite-Angel lvl 11 : Platinum Apprentice
Nombre de messages : 111 Alias : DNA Date d'inscription : 16/07/2004
| Sujet: Re: Forge Dim 3 Juil à 14:07 | |
| | |
| | | le breton 2detension lvl 25 : Gold Battler
Nombre de messages : 674 Date d'inscription : 27/10/2004
| Sujet: Re: Forge Dim 3 Juil à 15:13 | |
| un script c'est ca: - Code:
-
#============================================================================== # ■ Game_Temp #------------------------------------------------------------------------------ # セーブデータに含まれない、一時的なデータを扱うクラスです。このクラスのイン # スタンスは $game_temp で参照されます。 #==============================================================================
class Game_Temp #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_accessor :map_bgm # マップ画面 BGM (バトル時記憶用) attr_accessor :message_text # メッセージ 文章 attr_accessor :message_proc # メッセージ コールバック (Proc) attr_accessor :choice_start # 選択肢 開始行 attr_accessor :choice_max # 選択肢 項目数 attr_accessor :choice_cancel_type # 選択肢 キャンセルの場合 attr_accessor :choice_proc # 選択肢 コールバック (Proc) attr_accessor :num_input_start # 数値入力 開始行 attr_accessor :num_input_variable_id # 数値入力 変数 ID attr_accessor :num_input_digits_max # 数値入力 桁数 attr_accessor :message_window_showing # メッセージウィンドウ表示中 attr_accessor :common_event_id # コモンイベント ID attr_accessor :in_battle # 戦闘中フラグ attr_accessor :battle_calling # バトル 呼び出しフラグ attr_accessor :battle_troop_id # バトル トループ ID attr_accessor :battle_can_escape # バトル 逃走可能フラグ attr_accessor :battle_can_lose # バトル 敗北可能フラグ attr_accessor :battle_proc # バトル コールバック (Proc) attr_accessor :battle_turn # バトル ターン数 attr_accessor :battle_event_flags # バトル イベント実行済みフラグ attr_accessor :battle_abort # バトル 中断フラグ attr_accessor :battle_main_phase # バトル メインフェーズフラグ attr_accessor :battleback_name # バトルバック ファイル名 attr_accessor :forcing_battler # アクション強制対象のバトラー attr_accessor :shop_calling # ショップ 呼び出しフラグ attr_accessor :shop_goods # ショップ 商品リスト attr_accessor :name_calling # 名前入力 呼び出しフラグ attr_accessor :name_actor_id # 名前入力 アクター ID attr_accessor :name_max_char # 名前入力 最大文字数 attr_accessor :menu_calling # メニュー 呼び出しフラグ attr_accessor :menu_beep # メニュー SE 演奏フラグ attr_accessor :save_calling # セーブ 呼び出しフラグ attr_accessor :debug_calling # デバッグ 呼び出しフラグ attr_accessor :player_transferring # プレイヤー場所移動フラグ attr_accessor :player_new_map_id # プレイヤー移動先 マップ ID attr_accessor :player_new_x # プレイヤー移動先 X 座標 attr_accessor :player_new_y # プレイヤー移動先 Y 座標 attr_accessor :player_new_direction # プレイヤー移動先 向き attr_accessor :transition_processing # トランジション処理中フラグ attr_accessor :transition_name # トランジション ファイル名 attr_accessor :gameover # ゲームオーバーフラグ attr_accessor :to_title # タイトル画面に戻すフラグ attr_accessor :last_file_index # 最後にセーブしたファイルの番号 attr_accessor :debug_top_row # デバッグ画面 状態保存用 attr_accessor :debug_index # デバッグ画面 状態保存用 attr_accessor :god_mode #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize @map_bgm = nil @message_text = nil @message_proc = nil @choice_start = 99 @choice_max = 0 @choice_cancel_type = 0 @choice_proc = nil @num_input_start = 99 @num_input_variable_id = 0 @num_input_digits_max = 0 @message_window_showing = false @common_event_id = 0 @in_battle = false @battle_calling = false @battle_troop_id = 0 @battle_can_escape = false @battle_can_lose = false @battle_proc = nil @battle_turn = 0 @battle_event_flags = {} @battle_abort = false @battle_main_phase = false @battleback_name = '' @forcing_battler = nil @shop_calling = false @shop_id = 0 @name_calling = false @name_actor_id = 0 @name_max_char = 0 @menu_calling = false @menu_beep = false @save_calling = false @debug_calling = false @player_transferring = false @player_new_map_id = 0 @player_new_x = 0 @player_new_y = 0 @player_new_direction = 0 @transition_processing = false @transition_name = "" @gameover = false @to_title = false @last_file_index = 0 @debug_top_row = 0 @debug_index = 0 @god_mode = false end end
et un tuto c'est ca: - Code:
-
<>condition: objet potion activé <>afficher image n°1 :"potion" donc quand tu appelles ca un script tu fais une erreure(au fait le script au dessus est un script de base)[/code] | |
| | | Dark_Nite-Angel lvl 11 : Platinum Apprentice
Nombre de messages : 111 Alias : DNA Date d'inscription : 16/07/2004
| Sujet: Re: Forge Dim 3 Juil à 21:36 | |
| Condition Truc'X'present dans l'inventaire Condition Truc'Y' present dans l'inventaire message je peu forgé Z avec X + Y Afficher Choix : forgé pour 'X' Gils diminuer argent par 'X' ajouté truc 'Z' retiré truc'X' retiré Truc'Y' choix:Ne par forgé end end | |
| | | Riful lvl 18 : Bronze Fighter
Nombre de messages : 339 Alias : Un mec...je suis un mec...xD... Date d'inscription : 24/06/2005
| Sujet: Re: Forge Dim 3 Juil à 21:44 | |
| ben vous savez en gros il faut refaire l'évenement de la forge pour chaque NPC qui sera placé (C'est a dire qu'il se peut que il y a plein de forgeron placé dans le monde). je reprend le tuto de Dark Nite : - Code:
-
<>Message: Salut tu souhaite forger ? <>Choix : <>Potion <= <>Message: Es-tu sûr ? <>Choix : <>Oui <>Condition: "Herbe Médical" présent dans l'inventaire <>Condition: "Larme de Phoenix" présent dans l'inventaire <>Condition: "Fiole" présent dans l'inventaire <>Ajout : Potion x5 <>Retiré "Herbe Médical" <>Retiré "Larme de Phoenix" <>Retiré "Fiole" <>Non <>Message: bien quelle objet veut tu forger ? <>Ether <>Queue de phoenix <>Larme de joie <>Partir J'aimerai Rajouté que pour faire une Forge il faut faire une quête* et que tu n'a pas besoin de payé donc.. *si tu a pris soin de rassemblé toi même les objets ce n'est pas la peine de payé.. | |
| | | Dark_Nite-Angel lvl 11 : Platinum Apprentice
Nombre de messages : 111 Alias : DNA Date d'inscription : 16/07/2004
| Sujet: Re: Forge Dim 3 Juil à 23:40 | |
| Forge Multi version - Code:
-
<>Message: Salut tu souhaite forger ? <>Choix : <>Es-tu sûr ? <>Choix : <>Oui <>Condition: "A" présent dans l'inventaire "<>Condition: "X présent dans l'inventaire"facultatif "<>Condition: "Y" présent dans l'inventaire"facultatif <>Ajout : Z ( autant qu'on veux) <>Retiré "A" <>Retiré "X"obligé si on rajoute d'autre objet <>Retiré "Y" obligé si on rajoute d'autre objet <>Non <>Partir voila le code version base inspiré du code de Cloud77 qui c'est lui mème inspiré de mon code lol | |
| | | le breton 2detension lvl 25 : Gold Battler
Nombre de messages : 674 Date d'inscription : 27/10/2004
| Sujet: Re: Forge Lun 4 Juil à 13:47 | |
| bon j'ai trouvé un script pour faire une forge je vais donc faire un copier/coller comme je sais si bien le faire (les commentaires ne sont donc pas de moi) Il s 'agit d' une forge, c' est-à-dire que pouvez créer un objet en combinant plusieurs autres. Dans l' exemple ci dessous on explique comment créer une epée Mythril avec, un fruit, une tablette et une carte. Voila une petite traduction de ce que j' ai pu voir (et comprendre) : 1.INGREDIENTS 1. L' étalage des objets utilisés pour l' objet désiré. Ces étélages consistent simplement en un index des onjets dans la base de données.Par exemple, dans l' image ci-dessous, l' ID de la tablette est de 30, l' ID de la carte et du fruit est de 31 et 32. Si nous voulons faire un récipient qui utilise ces trois objets, celà devra être comme suivant: [30,31,32] note: vous DEVEZ mettre les crochets ! 2. Vous pouvez vouloir que vos recipients ne soit pas consistués uniquement d' objets. Peut-être voulez vous un recipient qui transforme une épée normale en épée de feu avec un souffle de dragon. Pour faire ceci vous devrez spécifier le type d' objet que vous utilisez avec un numéro. -les objets sont de type 0 -les armures sont de type 1 -les armes sont de type 2 Dans cas, l' étalage des objets devra donner le code suivant [0,0,0] 3. Maintenant que nous connaissons l' ID et le type de nos ingrédients, que devons-nous faire maintenant ? Vous l' avez deviné ! Le nombre d' objet du même type que requiert le recipient. Supposons que nous voulons un objet du même type alors notre code sera [1,1,1] 2.LE RESULTAT 1. De même que pour les ingrédient, vous devez préciser l' ID de l' objet que vous voulez créer. La seule différence est que maintenant il n' y a aucun besoin de le mettre dans un étalage. Par exemple, si vous voulez créer une epée mythril son ID sera de 4 (dans la base de données). 2. De même que pour les ingredients, vous devez dire au recipient quel type d' objet voulez vous créer (comme dit précedament, 0 pour objet, 1 pour amures et 2 pour les armes) Encore une fois, ce n' est pas un étage. Par exemple, pour créer un récipient faisant que pour créer un épée Mythril, une carte, une tablette et un fruit sont requis, utiliser le code suivant: - Code:
-
igredients = [30,31,32] types = [0,0,0] quantities = [1,1,1] sword=Game_Recipe.new(ingredients, types, quantities,4,2) Le mot "sword" ne compte pas car dans le craft screen (j' ignore ce que ca doit être ndt)le nom de l' objet crée va être affiché, pas le nom de l' objet Maintenant que le nouveau recipient à été crée, ' équipe doit l' apprendre.Pour ce, faites le code suivant : - Code:
-
$game_party.learn_recipe(sword) Enfin pour entrer dans le menu de forge faites le code suivant: - Code:
-
$scene=Scene_Craft.new Par défaut, sortir de l' écran de forge vous améne au mnu principal. | |
| | | le breton 2detension lvl 25 : Gold Battler
Nombre de messages : 674 Date d'inscription : 27/10/2004
| Sujet: Re: Forge Lun 4 Juil à 13:48 | |
| Maintenant, voila le code: - Code:
-
#================================ # CRAFTING PROGRAM #---------------------------------------------------------------- #-written by Deke #-yes_no window code created by Phsylomortis #---------------------------------------------------------------- #================================
#updates to Game_Party class
class Game_Party
attr_accessor :recipes
alias crafting_party_initialize initialize
def initialize crafting_party_initialize @recipes=[] end
#---------------------------------------------------------------------- def know?(recipe, version = 1) unless recipe.is_a?(Game_Recipe) recipe = get_recipe_from_master_list(recipe, version) end return $game_party.recipes.include?(recipe) end
#---------------------------------------------------------------------- def learn_recipe(recipe , version = 1) unless recipe.is_a?(Game_Recipe) recipe = get_recipe_from_master_list(recipe, version) end if recipe.is_a?(Game_Recipe) unless know?(recipe) @recipes.push(recipe) end end end
#---------------------------------------------------------------------- def forget_recipe(recipe , version = 1) if !recipe.is_a?(Game_Recipe) recipe = get_recipe_from_master_list(recipe, version) end if recipe.is_a?(Game_Recipe) for i in 0...@recipes.size if recipe == @recipes[i] index = i break end end if index != nil @recipes.delete(@recipes[index]) end end end
#---------------------------------------------------------------------- def get_recipe_from_master_list(item, version) index = nil for i in 0...$game_temp.recipe_list.size if item[0] == $game_temp.recipe_list[i].result and item[1] ==$game_temp.recipe_list[i].result_type version -= 1 if version == 0 index = i break end end end if index.is_a?(Integer) return ($game_temp.recipe_list[index]) else return false end end
end # of Game_Party updates
#================================ class Game_Recipe
attr_reader :ingredients attr_reader :quantities attr_reader :result attr_reader :result_type attr_reader :ingredient_types
#---------------------------------------------------------------------- def initialize( ingredients, ingredient_types, quantities, result, result_type) @ingredients = ingredients @ingredient_types = ingredient_types @quantities = quantities @result = result @result_type = result_type end
#---------------------------------------------------------------------- def name case @result_type when 0 name = $data_items[@result].name when 1 name = $data_armors[@result].name when 2 name = $data_weapons[@result].name end return name end
#---------------------------------------------------------------------- def have have_all = true for i in 0...@ingredients.size case @ingredient_types[i] when 0 if $game_party.item_number(@ingredients[i]) < @quantities[i] have_all=false end when 1 if $game_party.armor_number(@ingredients[i]) < @quantities[i] have_all=false end when 2 if $game_party.weapon_number(@ingredients[i]) < @quantities[i] have_all=false end end end return have_all end
#---------------------------------------------------------------------- def decrement for i in 0...@ingredients.size case @ingredient_types[i] when 0 $game_party.lose_item(@ingredients[i], @quantities[i]) when 1 $game_party.lose_armor(@ingredients[i], @quantities[i]) when 2 $game_party.lose_weapon(@ingredients[i], @quantities[i]) end end end
#---------------------------------------------------------------------- def make if have case @result_type when 0 $game_party.gain_item(@result, 1) when 1 $game_party.gain_armor(@result, 1) when 2 $game_party.gain_weapon(@result, 1) end decrement end end
#---------------------------------------------------------------------- def == (recipe) if recipe.is_a?(Game_Recipe) equal = true if recipe.ingredients != self.ingredients equal = false end if recipe.ingredient_types != self.ingredient_types equal = false end if recipe.quantities != self.quantities equal = false end if recipe.result != self.result equal=false end if recipe.result_type != self.result_type equal = false end else equal = false end return equal end
end # of Game_Recipe class
#===================================
class Window_Craft < Window_Selectable
#-------------------------------------------------------------------------- def initialize super(0, 64, 240, 416) @column_max = 1 refresh self.index = 0 end
#-------------------------------------------------------------------------- def recipe return @data[self.index] end
#-------------------------------------------------------------------------- def refresh if self.contents != nil self.contents.dispose self.contents = nil end @data = [] for i in 0...$game_party.recipes.size @data.push($game_party.recipes[i]) end @item_max = @data.size if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * 32) self.contents.font.name = $fontface.is_a?(String) ? $fontface : $defaultfonttype self.contents.font.size = $fontsize.is_a?(Integer) ? $fontsize : $defaultfontsize for i in 0...@item_max draw_item(i) end end end
#-------------------------------------------------------------------------- def draw_item(index) recipe = @data[index] self.contents.font.color = recipe.have ? normal_color : disabled_color x = 16 y = index * 32 self.contents.draw_text(x , y, self.width-32, 32, recipe.name, 0) end
#-------------------------------------------------------------------------- def update_help current_recipe = recipe if current_recipe.is_a?(Game_Recipe) case current_recipe.result_type when 0 description = $data_items[current_recipe.result].description when 1 description = $data_armors[current_recipe.result].description when 2 description = $data_weapons[current_recipe.result].description end else description = "" end @help_window.set_text(description) @help_window.update end
end # of Window_Craft
#======================================= class Window_CraftResult < Window_Base
#-------------------------------------------------------------------------- def initialize super(240, 64, 400, 184) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface.is_a?(String) ? $fontface : $defaultfonttype self.contents.font.size = 20 @result = nil @type = nil end
#-------------------------------------------------------------------------- def refresh self.contents.clear case @type when 0 item = $data_items[@result] if item.recover_hp_rate > item.recover_hp hp_string = "HP Recovery% :" hp_stat = item.recover_hp_rate else hp_string = "HP Recovery Points:" hp_stat = item.recover_hp end if item.recover_sp_rate > item.recover_sp sp_string = "SP Recovery% :" sp_stat = item.recover_sp_rate else sp_string = "SP Recovery Points:" sp_stat = item.recover_sp end @strings = [hp_string, sp_string, "Phy. Def:" , "Mag Def:", "Accuracy:", "Variance:"] @stats = [hp_stat, sp_stat, item. pdef_f, item.mdef_f, item.hit, item.variance, $game_party.item_number(@result)] @bitmap = RPG::Cache.icon(item.icon_name) when 1 item = $data_armors[@result] @strings = ["Phy. Def:", "Mag. Def:", "Evasion plus:", "Strength plus:", "Dex. plus:", "Agility plus:", "Int. plus:"] @stats = [item.pdef, item.mdef, item.eva, item.str_plus, item.dex_plus, item.agi_plus, item.int_plus, $game_party.armor_number(@result) ] @bitmap = RPG::Cache.icon(item.icon_name) when 2 item = $data_weapons[@result] @strings =["Attack Power:", "Phy. Def:", "Mag. Def:", "Strength plus:", "Dex. plus:", "Agility plus:", "Int. plus:"] @stats = [item.atk, item.pdef, item.mdef, item.str_plus, item.dex_plus, item.agi_plus, item.int_plus, $game_party.weapon_number(@result) ] @bitmap = RPG::Cache.icon(item.icon_name) end for i in 0...@strings.size x = i%2 * 184 y = i /2 *28 +32 self.contents.font.color = normal_color self.contents.draw_text(x,y,100, 28,@strings[i]) self.contents.font.color = system_color self.contents.draw_text(x + 110, y, 45, 28, @stats[i].to_s) end self.contents.blt(0, 0, @bitmap, Rect.new(0, 0, 24, 24), 255) self.contents.font.color= normal_color self.contents.draw_text(40, 0, 300, 28, "Quantity curentley owned:") self.contents.font.color = system_color count = @stats[@stats.size - 1].to_s self.contents.draw_text(294, 0, 45, 28, count ) end #---------------------------------------------------------------------- def set_result(result , type) @result = result @type = type refresh end
end #of Window_CraftResult
#======================================= class Window_CraftIngredients < Window_Base
#-------------------------------------------------------------------------- def initialize super(240, 248, 400, 232) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface.is_a?(String) ? $fontface : $defaultfonttype self.contents.font.size = 20 @ingredients = [] @types = [] @quantities = [] @item = nil @count = 0 end | |
| | | le breton 2detension lvl 25 : Gold Battler
Nombre de messages : 674 Date d'inscription : 27/10/2004
| Sujet: Re: Forge Lun 4 Juil à 13:48 | |
| - Code:
-
#-------------------------------------------------------------------------- def refresh self.contents.clear for i in 0...@ingredients.size case @types[i] when 0 @item = $data_items[@ingredients[i]] @count = $game_party.item_number(@ingredients[i]) when 1 @item = $data_armors[@ingredients[i]] @count = $game_party.armor_number(@ingredients[i]) when 2 @item = $data_weapons[@ingredients[i]] @count = $game_party.weapon_number(@ingredients[i]) end y = i *26 self.contents.blt(0, y, RPG::Cache.icon(@item.icon_name), Rect.new(0, 0, 24, 24), 255) self.contents.font.color = @count >= @quantities[i] ? normal_color : disabled_color self.contents.draw_text(30, y, 280, 28, @item.name) self.contents.draw_text(300, y, 45, 28, @quantities[i].to_s) self.contents.font.color = system_color self.contents.draw_text(245, y, 45, 28, @count.to_s ) end end #-------------------------------------------------------------------------- def set_ingredients(ingredients , types, quantities) @ingredients = ingredients @types = types @quantities = quantities refresh end
end # of Window_CraftIngredients
#====================================== class Scene_Craft
#-------------------------------------------------------------------------- def initialize(craft_index=0, return_scene = "menu") @craft_index=craft_index @return_scene = return_scene end
#-------------------------------------------------------------------------- def main @craft_window = Window_Craft.new @craft_window.index=@craft_index @confirm_window = Window_Base.new(120, 188, 400, 64) @confirm_window.contents = Bitmap.new(368, 32) @confirm_window.contents.font.name = $fontface.is_a?(String) ? $fontface : $defaultfonttype @confirm_window.contents.font.size = $fontsize.is_a?(Integer) ? $fontsize : $defaultfontsize @help_window = Window_Help.new @craft_window.help_window = @help_window @result_window=Window_CraftResult.new @ingredients_window=Window_CraftIngredients.new @yes_no_window = Window_Command.new(100, ["Yes", "No"]) @confirm_window.visible = false @confirm_window.z = 1500 @yes_no_window.visible = false @yes_no_window.active = false @yes_no_window.index = 1 @yes_no_window.x = 270 @yes_no_window.y = 252 @yes_no_window.z = 1500 @label_window = Window_Base.new(450,200,190,52) @label_window.contents=Bitmap.new(@label_window.width - 32,@label_window.height - 32) @label_window.contents.font.size=20 @label_window.contents.font.color = @label_window.normal_color @label_window.contents.font.name = $fontface.is_a?(String) ? $fontface : $defaultfonttype @label_window.contents.draw_text(0, 0, @label_window.contents.width, 20, " Have Need") Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @help_window.dispose @craft_window.dispose @result_window.dispose @ingredients_window.dispose @confirm_window.dispose @yes_no_window.dispose @label_window.dispose end
#-------------------------------------------------------------------------- def update @craft_window.update @ingredients_window.update if $game_party.recipes.size > 0 @result_window.set_result(@craft_window.recipe.result, @craft_window.recipe.result_type) @ingredients_window.set_ingredients(@craft_window.recipe.ingredients, @craft_window.recipe.ingredient_types, @craft_window.recipe.quantities) end if @craft_window.active update_craft return end if @yes_no_window.active confirm_update return end end
#-------------------------------------------------------------------------- def update_craft if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) if @return_scene == "menu" $scene = Scene_Menu.new(0) else $scene = Scene_Map.new end return end if Input.trigger?(Input::C) @recipe = @craft_window.recipe if @recipe.have @yes_no_window.active = true @craft_window.active = false else $game_system.se_play($data_system.buzzer_se) return end end end
#-------------------------------------------------------------------------- def confirm_update @craft_index = @craft_window.index @confirm_window.visible = true @confirm_window.z = 1500 @yes_no_window.visible = true @yes_no_window.active = true @yes_no_window.z = 1500 @yes_no_window.update string = "Create " + @recipe.name + "?" cw = @confirm_window.contents.text_size(string).width center = @confirm_window.contents.width/2 - cw /2 unless @drawn @confirm_window.contents.draw_text(center, 0, cw, 30, string) @drawn = true end if Input.trigger?(Input::C) if @yes_no_window.index == 0 $game_system.se_play($data_system.decision_se) @recipe.make $game_system.se_play($data_system.save_se) $scene=Scene_Craft.new(@craft_index) else $game_system.se_play($data_system.cancel_se) $scene=Scene_Craft.new(@craft_index) end end if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) $scene=Scene_Craft.new(@craft_index) end end
end # of Scene_Craft Maintenant, vous êtes en train de vous dire:"Wow ! Comment vais-je créer tout ces recipients ? Et comment ca marche tout ce bazar ?" Ne vous inquitez pas, j' ai trouvé un moyen de faire rapidement des tonnes de recipients, mais vous allez devoir faire un peu de code (ne vous inquitez pas ce n' est pas difficile) Tout ce que vous aurez à faire est de taper l' ID, le type et le nombre des objets dans le recipient (comme expliqué plus haut) #================================ # Sample master list for crafting scrîpt #---------------------------------------------------------------- #-written by Deke #---------------------------------------------------------------- #================================ class Game_Temp attr_reader :recipe_list alias crafting_temp_initialize initialize def initialize crafting_temp_initialize @recipe_list=[] get_recipe_list end def get_recipe_list ingredients = [ 30,31,32] ingredient_types = [ 0,0,0] quantities = [ 1,1,1] result = 4 result_type = 2 @recipe_list.push(Game_Recipe.new(ingredients,ingredient_types,quantities,result,result_type)) ingredients = [color:67e5=red:67e5]]29,30] ingredient_types = [0,0] quantities = [ 1,2] result = 8 result_type = 1 @recipe_list.push(Game_Recipe.new(ingredients,ingredient_types,quantities,result,result_type)) ingredients = [ 30,31,1] ingredient_types = [ 0,0,1] quantities = [ 1,1,3] result = 4 result_type = 0 @recipe_list.push(Game_Recipe.new(ingredients,ingredient_types,quantities,result,result_type)) end # of get_recipe_list method end # of updates to Game_Temp Class les SEULES choses que vous devez modifier sont en rouge, le typte, l' ID et le nombre des igredients et le type et l' iD du résultat Tout ce que avez à faire est de copier-coller ceci autant de fois que avez besoin de recipients. Finalement, si vous voulez que votreéquipe apprennes le recipient (ou comment forger des objets ndt), utilisez les lignes de codes suivantes: - Code:
-
$game_party.learn_recipe([4,2]) $game_party.learn_recipe([8,1]) $game_party.learn_recipe([4,0]) La premiere vous montre comment créer l' épée dont l' ID est 4 (le 2 c' es le type d' objet, souvenez-vous-en) La seconde, pour créer la 8eme armure la troisieme le 4eme objet Comme je l' ai dit plus tôt, je vous ai montré comment faire plusieurs récipients pour le mêe objet en résultat. Supposons que nous avons mis le code suivant aprés les récipients : - Code:
-
ingredients = [30,31] ingredient_types = [0,0] quantities = [1,1] result = 4 result_type = 0 @recipe_list.push(Game_Recipe.new(ingredients,ingredient_types,quantities,result,result_type)) Vous preciserez qu' il y a recipient pour le quatrieme objet (le parfum).Si vous voulez quel' équipe apprennes ce recipient faites ce code: - Code:
-
$game_party.learn_recipe([4,0],2) Ajouter le 2 pour spécifier que l' équipe apprends le recipient du scrîpt. Devinez comment cela marche pour la version 3,4,5,6 ... Voila, j' espere avoir été utile et que vous saurez faire quelque chose de ca. detens:Et voilaaaaaaaaaa je me sis contenté de pleins de copier/coller et j'ai tout compri donc si vous n'avez pas compri relisez c'est vraiment simple | |
| | | Riful lvl 18 : Bronze Fighter
Nombre de messages : 339 Alias : Un mec...je suis un mec...xD... Date d'inscription : 24/06/2005
| Sujet: Re: Forge Lun 4 Juil à 15:49 | |
| tu copie/coller trop >.< j'ai la flemme de lire mais sinon on fait ce que t'a dit de faire ... ca se rajoute au base de donné la forge? | |
| | | le breton 2detension lvl 25 : Gold Battler
Nombre de messages : 674 Date d'inscription : 27/10/2004
| Sujet: Re: Forge Lun 4 Juil à 17:03 | |
| si tu avais lu tu saurais comment ca marche donc lis et tu verras et juste une chose:quand je fais un copier coller c'est que c'est tres bien expliqué et que ce n'est pas la peine quue je le fasse moi meme pendant une demie heure!!! lis et tu verras que c'est tres simple et tres pratique! | |
| | | Dark_Nite-Angel lvl 11 : Platinum Apprentice
Nombre de messages : 111 Alias : DNA Date d'inscription : 16/07/2004
| Sujet: Re: Forge Lun 4 Juil à 17:06 | |
| c'est bien 2detens t'es fort pour trouvé les truc qui faut | |
| | | Xanatos lvl 20 : Gold Fighter
Nombre de messages : 407 Date d'inscription : 27/02/2005
| Sujet: Re: Forge Lun 4 Juil à 17:07 | |
| Eh ouais ! 2detens il est vraiment doué pour les tuto le king du making lol | |
| | | Riful lvl 18 : Bronze Fighter
Nombre de messages : 339 Alias : Un mec...je suis un mec...xD... Date d'inscription : 24/06/2005
| Sujet: Re: Forge Lun 4 Juil à 17:13 | |
| le king du making et du rpg making (j'ador les rhimes ) | |
| | | le breton 2detension lvl 25 : Gold Battler
Nombre de messages : 674 Date d'inscription : 27/10/2004
| Sujet: Re: Forge Lun 4 Juil à 17:16 | |
| tricheur c'est le meme mot a la fin boah moi je fais juste des tutos pour le moment je ne suis pas encore tres doué pour les scripts! | |
| | | Xanatos lvl 20 : Gold Fighter
Nombre de messages : 407 Date d'inscription : 27/02/2005
| Sujet: Re: Forge Lun 4 Juil à 17:17 | |
| ui clad et rimes ya pas de "h" lol Mais 2detens ya quand même une grande différence de difficulté entre les tuto et les scripts ! | |
| | | le breton 2detension lvl 25 : Gold Battler
Nombre de messages : 674 Date d'inscription : 27/10/2004
| Sujet: Re: Forge Lun 4 Juil à 17:19 | |
| bah oui et puis faut pas croire hein je ne suis pas tres doué pour le making j'ai encore beaucoup de progres a faire! | |
| | | Larc ange lvl 1 : Newcomer
Nombre de messages : 1 Date d'inscription : 04/12/2005
| Sujet: Re: Forge Dim 4 Déc à 18:43 | |
| Vous pouvez mieux expliquer quels sont les scripts a mettre ?Et donner un exemple !Car là y a trop de script et on ne comprend pas très bien !J' ai compris le principe mais c' est au niveau des scripts à entrer où sa ne colle pas ! Car j' arrive a avoir le menu forge mais le probléme c' est qu' il n' y a pas les objets qui vont servir a faire un nouvel objet !Et lorsque j' appuye sur une case vide où normalement il y a les objets il me disent qu' il y a eu une erreur dans le script alors que j' ai collé les deux pages de script que tu a donné !Je les ai mis dans les scripts ,au dessus de main et je l' ai appelé Crafting Mais sa ne marche pas !Aidez moi !Si vous voulez en echange je peux vous donner des scripts pour faire un black Jack ou une roulette ! | |
| | | Aquatika lvl 2 : Iron Newbie
Nombre de messages : 2 Date d'inscription : 08/08/2005
| Sujet: Re: Forge Sam 24 Déc à 22:25 | |
| | |
| | | Xanatos lvl 20 : Gold Fighter
Nombre de messages : 407 Date d'inscription : 27/02/2005
| Sujet: Re: Forge Dim 25 Déc à 19:43 | |
| J'ai jamais vu 2detens expliquer aussi bien un tuto alors remuez vous les méninges et suivez les instructions a la lettre. [Ouais ok j'ai la flemme d'expliquer] mais 2detens l'a donné pour que ca soit facile^^ Essayez encore et si vous y arrivez pas repostez et je me donnerais la peine de mieux expliquer. Qui ne tente rien n'a rien essayez toutes les solutions | |
| | | le breton 2detension lvl 25 : Gold Battler
Nombre de messages : 674 Date d'inscription : 27/10/2004
| Sujet: Re: Forge Ven 30 Déc à 20:25 | |
| Les coms sont pas de moi xanatos, je l'ai dit D'ailleurs je ne sais plus où je l'ai chopé ce script, honte à moi ... | |
| | | Xanatos lvl 20 : Gold Fighter
Nombre de messages : 407 Date d'inscription : 27/02/2005
| Sujet: Re: Forge Ven 30 Déc à 21:03 | |
| Comment ca tu ne mets pas la source 2detens !! xD | |
| | | Contenu sponsorisé
| Sujet: Re: Forge | |
| |
| | | | Forge | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |