Le forum des Fans des Final Fantasy
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
Le Deal du moment :
Funko POP! Jumbo One Piece Kaido Dragon Form : ...
Voir le deal

 

 Forge

Aller en bas 
+2
le breton 2detension
Dark_Nite-Angel
6 participants
AuteurMessage
Dark_Nite-Angel
lvl 11 : Platinum Apprentice
lvl 11 : Platinum Apprentice



Nombre de messages : 111
Alias : DNA
Date d'inscription : 16/07/2004

Forge Empty
MessageSujet: Forge   Forge EmptySam 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
Revenir en haut Aller en bas
le breton 2detension
lvl 25 : Gold Battler
lvl 25 : Gold Battler
le breton 2detension


Nombre de messages : 674
Date d'inscription : 27/10/2004

Forge Empty
MessageSujet: Re: Forge   Forge EmptySam 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
Revenir en haut Aller en bas
Dark_Nite-Angel
lvl 11 : Platinum Apprentice
lvl 11 : Platinum Apprentice



Nombre de messages : 111
Alias : DNA
Date d'inscription : 16/07/2004

Forge Empty
MessageSujet: Re: Forge   Forge EmptySam 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
Revenir en haut Aller en bas
le breton 2detension
lvl 25 : Gold Battler
lvl 25 : Gold Battler
le breton 2detension


Nombre de messages : 674
Date d'inscription : 27/10/2004

Forge Empty
MessageSujet: Re: Forge   Forge EmptyDim 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!
Revenir en haut Aller en bas
Dark_Nite-Angel
lvl 11 : Platinum Apprentice
lvl 11 : Platinum Apprentice



Nombre de messages : 111
Alias : DNA
Date d'inscription : 16/07/2004

Forge Empty
MessageSujet: Re: Forge   Forge EmptyDim 3 Juil à 14:01

j'apelle sa un script moi
Revenir en haut Aller en bas
Xanatos
lvl 20 : Gold Fighter
lvl 20 : Gold Fighter
Xanatos


Nombre de messages : 407
Date d'inscription : 27/02/2005

Forge Empty
MessageSujet: Re: Forge   Forge EmptyDim 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) ...
Revenir en haut Aller en bas
Dark_Nite-Angel
lvl 11 : Platinum Apprentice
lvl 11 : Platinum Apprentice



Nombre de messages : 111
Alias : DNA
Date d'inscription : 16/07/2004

Forge Empty
MessageSujet: Re: Forge   Forge EmptyDim 3 Juil à 14:07

merci bibi
Revenir en haut Aller en bas
le breton 2detension
lvl 25 : Gold Battler
lvl 25 : Gold Battler
le breton 2detension


Nombre de messages : 674
Date d'inscription : 27/10/2004

Forge Empty
MessageSujet: Re: Forge   Forge EmptyDim 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]
Revenir en haut Aller en bas
Dark_Nite-Angel
lvl 11 : Platinum Apprentice
lvl 11 : Platinum Apprentice



Nombre de messages : 111
Alias : DNA
Date d'inscription : 16/07/2004

Forge Empty
MessageSujet: Re: Forge   Forge EmptyDim 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
Revenir en haut Aller en bas
Riful
lvl 18 : Bronze Fighter
lvl 18 : Bronze Fighter
Riful


Nombre de messages : 339
Alias : Un mec...je suis un mec...xD...
Date d'inscription : 24/06/2005

Forge Empty
MessageSujet: Re: Forge   Forge EmptyDim 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é..
Revenir en haut Aller en bas
Dark_Nite-Angel
lvl 11 : Platinum Apprentice
lvl 11 : Platinum Apprentice



Nombre de messages : 111
Alias : DNA
Date d'inscription : 16/07/2004

Forge Empty
MessageSujet: Re: Forge   Forge EmptyDim 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
Revenir en haut Aller en bas
le breton 2detension
lvl 25 : Gold Battler
lvl 25 : Gold Battler
le breton 2detension


Nombre de messages : 674
Date d'inscription : 27/10/2004

Forge Empty
MessageSujet: Re: Forge   Forge EmptyLun 4 Juil à 13:47

bon j'ai trouvé un script pour faire une forge 10
je vais donc faire un copier/coller comme je sais si bien le faire 20 (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) :
Forge Screen33bj

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]

Forge Items9qf

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.
Revenir en haut Aller en bas
le breton 2detension
lvl 25 : Gold Battler
lvl 25 : Gold Battler
le breton 2detension


Nombre de messages : 674
Date d'inscription : 27/10/2004

Forge Empty
MessageSujet: Re: Forge   Forge EmptyLun 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
Revenir en haut Aller en bas
le breton 2detension
lvl 25 : Gold Battler
lvl 25 : Gold Battler
le breton 2detension


Nombre de messages : 674
Date d'inscription : 27/10/2004

Forge Empty
MessageSujet: Re: Forge   Forge EmptyLun 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
Revenir en haut Aller en bas
Riful
lvl 18 : Bronze Fighter
lvl 18 : Bronze Fighter
Riful


Nombre de messages : 339
Alias : Un mec...je suis un mec...xD...
Date d'inscription : 24/06/2005

Forge Empty
MessageSujet: Re: Forge   Forge EmptyLun 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?
Revenir en haut Aller en bas
le breton 2detension
lvl 25 : Gold Battler
lvl 25 : Gold Battler
le breton 2detension


Nombre de messages : 674
Date d'inscription : 27/10/2004

Forge Empty
MessageSujet: Re: Forge   Forge EmptyLun 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!
Revenir en haut Aller en bas
Dark_Nite-Angel
lvl 11 : Platinum Apprentice
lvl 11 : Platinum Apprentice



Nombre de messages : 111
Alias : DNA
Date d'inscription : 16/07/2004

Forge Empty
MessageSujet: Re: Forge   Forge EmptyLun 4 Juil à 17:06

c'est bien 2detens t'es fort pour trouvé les truc qui faut
Revenir en haut Aller en bas
Xanatos
lvl 20 : Gold Fighter
lvl 20 : Gold Fighter
Xanatos


Nombre de messages : 407
Date d'inscription : 27/02/2005

Forge Empty
MessageSujet: Re: Forge   Forge EmptyLun 4 Juil à 17:07

Eh ouais ! 2detens il est vraiment doué pour les tuto 10
le king du making lol
Revenir en haut Aller en bas
Riful
lvl 18 : Bronze Fighter
lvl 18 : Bronze Fighter
Riful


Nombre de messages : 339
Alias : Un mec...je suis un mec...xD...
Date d'inscription : 24/06/2005

Forge Empty
MessageSujet: Re: Forge   Forge EmptyLun 4 Juil à 17:13

le king du making et du rpg making (j'ador les rhimes 18)
Revenir en haut Aller en bas
le breton 2detension
lvl 25 : Gold Battler
lvl 25 : Gold Battler
le breton 2detension


Nombre de messages : 674
Date d'inscription : 27/10/2004

Forge Empty
MessageSujet: Re: Forge   Forge EmptyLun 4 Juil à 17:16

tricheur c'est le meme mot a la fin 20
boah moi je fais juste des tutos pour le moment je ne suis pas encore tres doué pour les scripts!
Revenir en haut Aller en bas
Xanatos
lvl 20 : Gold Fighter
lvl 20 : Gold Fighter
Xanatos


Nombre de messages : 407
Date d'inscription : 27/02/2005

Forge Empty
MessageSujet: Re: Forge   Forge EmptyLun 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 !
Revenir en haut Aller en bas
le breton 2detension
lvl 25 : Gold Battler
lvl 25 : Gold Battler
le breton 2detension


Nombre de messages : 674
Date d'inscription : 27/10/2004

Forge Empty
MessageSujet: Re: Forge   Forge EmptyLun 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!
Revenir en haut Aller en bas
Larc ange
lvl 1 : Newcomer
lvl 1 : Newcomer



Nombre de messages : 1
Date d'inscription : 04/12/2005

Forge Empty
MessageSujet: Re: Forge   Forge EmptyDim 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 !
Revenir en haut Aller en bas
Aquatika
lvl 2 : Iron Newbie
lvl 2 : Iron Newbie



Nombre de messages : 2
Date d'inscription : 08/08/2005

Forge Empty
MessageSujet: Re: Forge   Forge EmptySam 24 Déc à 22:25

J'ai exactement le meme probleme Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad

SVP aidez nous 82
Revenir en haut Aller en bas
Xanatos
lvl 20 : Gold Fighter
lvl 20 : Gold Fighter
Xanatos


Nombre de messages : 407
Date d'inscription : 27/02/2005

Forge Empty
MessageSujet: Re: Forge   Forge EmptyDim 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 19
Revenir en haut Aller en bas
le breton 2detension
lvl 25 : Gold Battler
lvl 25 : Gold Battler
le breton 2detension


Nombre de messages : 674
Date d'inscription : 27/10/2004

Forge Empty
MessageSujet: Re: Forge   Forge EmptyVen 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 Sad ...
Revenir en haut Aller en bas
Xanatos
lvl 20 : Gold Fighter
lvl 20 : Gold Fighter
Xanatos


Nombre de messages : 407
Date d'inscription : 27/02/2005

Forge Empty
MessageSujet: Re: Forge   Forge EmptyVen 30 Déc à 21:03

Comment ca tu ne mets pas la source 2detens !! xD
Revenir en haut Aller en bas
Contenu sponsorisé





Forge Empty
MessageSujet: Re: Forge   Forge Empty

Revenir en haut Aller en bas
 
Forge
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» La Forge

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le forum des Fans des Final Fantasy :: Projets des membres :: Tutoriaux-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser