RPG MAKER XP
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

RPG MAKER XP

Vous êtes débutant du logiciel rpg maker xp et vous souhaitez en apprendre plus c'est ici qu'il faut chercher.Vous cherchez ressource, script, tutorial ou autre c'est ici aussi.Bonne visite à vous !
 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -45%
PC Portable LG Gram 17″ Intel Evo Core i7 32 Go ...
Voir le deal
1099.99 €

 

 Quêtes

Aller en bas 
AuteurMessage
Chasseur41
Admin
Admin
Chasseur41


Masculin
Nombre de messages : 49
Age : 31
Localisation : Vendôme (41) et Tours (37)
Loisirs : Création de jeu, musique, livre et sortit
Date d'inscription : 04/07/2007

Feuille de personnage
Prénom du Personnage: Brutus
Nom du Personnage: Macligan
Âge du Personnage: 28 ans

Quêtes Empty
MessageSujet: Quêtes   Quêtes Icon_minitimeSam 6 Oct - 12:46

Voici un petit script permettant la gestion de quêtes.

Appellez se script: Scene_Item


Code:
#==============================================================================
# ■ Scene_Item
#------------------------------------------------------------------------------
#  アイテム画面の処理を行うクラスです。
#==============================================================================

class Scene_Mission
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
# ヘルプウィンドウ、アイテムウィンドウを作成
@help_window = Window_Help.new
@item_window = Window_Mission1.new
@mission_desc = Window_Mission2.new
# ヘルプウィンドウを関連付け
@item_window.help_window = @help_window

Graphics.transition
# メインループ
loop do
# ゲーム画面を更新
Graphics.update
# 入力情報を更新
Input.update
# フレーム更新
update
# 画面が切り替わったらループを中断
if $scene != self
break
end
end
# トランジション準備
Graphics.freeze
# ウィンドウを解放
@help_window.dispose
@item_window.dispose
@mission_desc.dispose
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
# ウィンドウを更新
@help_window.update
@item_window.update
if @item_window.item != nil
name = @item_window.item_name
name = "Missions/"+name+".txt"
file = File.open(name)
@mission_desc.add_content(file.readlines)
file.close
end
@mission_desc.refresh
# アイテムウィンドウがアクティブの場合: update_item を呼ぶ
if @item_window.active
update_item
return
end
end
#--------------------------------------------------------------------------
# ● フレーム更新 (アイテムウィンドウがアクティブの場合)
#--------------------------------------------------------------------------
def update_item
# B ボタンが押された場合
if Input.trigger?(Input::B)
# キャンセル SE を演奏
$game_system.se_play($data_system.cancel_se)
# メニュー画面に切り替え
$scene = Scene_Menu.new(4)
return
end
end
end



Creéz ensuite un second script, que je nomme : Window_Item


Code:
#==============================================================================
# ■ Window_Item
#------------------------------------------------------------------------------
#  アイテム画面、バトル画面で、所持アイテムの一覧を表示するウィンドウです。
#==============================================================================

class Window_Mission1 < Window_Selectable
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
super(0, 64, 320, 416)
@column_max = 1
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# ● アイテムの取得
#--------------------------------------------------------------------------
def item
return @data[self.index]
end

def item_name
nom = String.new(@data[self.index].name)
nom[0] = ""
return nom
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
for i in 1...$data_items.size
if $game_party.item_number(i) > 0 and $data_items[i].name[0] == 42
@data.push($data_items[i])
end
end

@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
for i in 0...@item_max
draw_item(i)
end
end
end
#--------------------------------------------------------------------------
# ● fonction d'affichage des items
# index
#--------------------------------------------------------------------------
def draw_item(index)
item = @data[index]
number = $game_party.item_number(item.id)
if item.is_a?(RPG::Item) and number == 1
self.contents.font.color = normal_color
else
self.contents.font.color = disabled_color
end
case number
when 1
etat = "( En cours )"
when 2
etat = "( Terminée )"
when 3
etat = "( Annulée )"
when 4
etat = "( Perdue )"
end
x = 4
y = index * 32
nom = String.new(item.name)
nom[0] = ""
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
bitmap = RPG::Cache.icon(item.icon_name)
opacity = self.contents.font.color == normal_color ? 255 : 128
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
self.contents.draw_text(x + 28, y, 212, 32, nom + " "+etat, 0)
end
#--------------------------------------------------------------------------
# ● ヘルプテキスト更新
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end



Et voici le derniez script à ajoutez, vous l'appellerez : Window_Mission2


Code:
class Window_Mission2 < Window_Base

  def initialize
    super(0, 64, 320, 416)
    self.x = 320
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = 20
    @content = Array.new(1,"")
    refresh
  end

  def add_content(x)
    @content = x
  end
 
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    for i in 0...@content.size
      self.contents.draw_text(16, 16, 288, 16+i*32,@content[i], 0)
    end
  end
end



Vous créez un "nouveau dossier" dans le répertoire avec "graphismes" etc.

Vous mettez dedans des fichiers textes.
Vous leur mettez un nom.
ex:"Mercenaire"

Ajoutez ensuite un objet dans la base de données que vous appellerez par le nom que le fichier texte avec une "*" devant.

ex:"*Mercenaire".
Dans le fichier texte, vous mettrez les consignes de la mission.

Dans le répertoire, vous mettrez autant de fichiers textes qu'il y a de missions.
Ilvous faudra créer un objet pour chaque mission que vous souhaitez et qui commencera par (*) et qui portera le même nom que la mission.

Pour appelez la gestion de quêtes, vous mettez un évènement avec un script dedans.

Dans ce script, vous mettrez:

$scene = Scene_Mission.new
Revenir en haut Aller en bas
https://legend-rpg-2d.1fr1.net
 
Quêtes
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG MAKER XP :: Script :: Autres-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser