rpgmakerxp.frbb.net

Un forum basé sur le rpg making via rmxp
 
AccueilPortailFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez | 
 

 Un systeme de quete

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Plettro
Chevalier
Chevalier
avatar

Masculin
Nombre de messages : 174
Age : 25
Localisation : Saturne
Projet en cours: : Heu top secret...
Date d'inscription : 30/09/2007

niveau du maker
mapping:
0/100  (0/100)
events:
0/100  (0/100)
scriptage:
3/100  (3/100)

MessageSujet: Un systeme de quete   Sam 20 Oct - 15:08

Voila je voudrais un petit renseignement : comment faire des quetes du genre aller dans la foret, tuer 3 monstres et revenir au demandeur et il donne la récompense ? Et aussi peut on lorsqu'on bat un monstre gagner un objet, pour faire un truc du genre: tuer 3 abeilles et ramener leurs ailes...Et bien sur apres il ne faut pas que le gars qui donne la quete me donne a meme... Razz
Et aussi est il possible de faire un livre de quetes, on l'on peut voir les quetes en cours ? pale

Je vous remercie geek
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
berka
Admin
Admin
avatar

Masculin
Nombre de messages : 842
Age : 27
Localisation : Devant mon ordi!
Projet en cours: : Secret ^^
Date d'inscription : 16/03/2007

niveau du maker
mapping:
0/100  (0/100)
events:
50/100  (50/100)
scriptage:
100/100  (100/100)

MessageSujet: Re: Un systeme de quete   Sam 20 Oct - 15:31

Il existe un script pour faire un livre des quetes, mais il est tres compliqué et difficile a utiliser... cherche un peu, mais je doute que tu arrives a un resultat satisfaisant... Il faut connaitre un peu de ruby, pour l'utiliser !

_________________

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rpgmakerxp.frbb.net
Plettro
Chevalier
Chevalier
avatar

Masculin
Nombre de messages : 174
Age : 25
Localisation : Saturne
Projet en cours: : Heu top secret...
Date d'inscription : 30/09/2007

niveau du maker
mapping:
0/100  (0/100)
events:
0/100  (0/100)
scriptage:
3/100  (3/100)

MessageSujet: Re: Un systeme de quete   Sam 20 Oct - 16:52

et sinon pour faire des quetes ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
berka
Admin
Admin
avatar

Masculin
Nombre de messages : 842
Age : 27
Localisation : Devant mon ordi!
Projet en cours: : Secret ^^
Date d'inscription : 16/03/2007

niveau du maker
mapping:
0/100  (0/100)
events:
50/100  (50/100)
scriptage:
100/100  (100/100)

MessageSujet: Re: Un systeme de quete   Sam 20 Oct - 18:10

Pour faire des quetes, il faut que tu utilises, soit un script (comme un livre de quetes, qui gere egalement les quetes) soit des events:
tu peux activer un interrupteur des que ton hero a accompli sa quete... Long et compliqué...

_________________

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rpgmakerxp.frbb.net
Plettro
Chevalier
Chevalier
avatar

Masculin
Nombre de messages : 174
Age : 25
Localisation : Saturne
Projet en cours: : Heu top secret...
Date d'inscription : 30/09/2007

niveau du maker
mapping:
0/100  (0/100)
events:
0/100  (0/100)
scriptage:
3/100  (3/100)

MessageSujet: Re: Un systeme de quete   Sam 20 Oct - 18:13

lol okay je vais chercher ça
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Widowan
Chevalier
Chevalier
avatar

Masculin
Nombre de messages : 185
Age : 35
Localisation : Region Rouennaise
Projet en cours: : Utopia - Mafioso
Date d'inscription : 29/09/2007

niveau du maker
mapping:
0/100  (0/100)
events:
2/100  (2/100)
scriptage:
0/100  (0/100)

MessageSujet: Re: Un systeme de quete   Sam 20 Oct - 18:51

Alors petit tuto:
Il va falloir créer 2 interrupteurs:[quete1] et [quete1fini].
Dans la premiere page:

<>Message: va me chercher 3 ailes d'abeille.
<>Interrupteur [0001:quete1] activé


Il faut que tu crée ton objet (ici "ailes x3" pour simplifier) et le monstre qui va te le donner. Pour accelerer les choses, fait un copier/coller d'un monstre existant et rempli la case "objet laissé" avec ton objet "ailes x3".
N'oublie pas de l'inserer à un groupe de monstres.

Crée une deuxieme page dans ton PNJ avec comme condition: L'interrupteur [0001:quete1] est activé et met ca:

<>Message: As tu les ailes ?
<>Condition: si l'objet [ailes x3] est possédé
<>Message: Merci beaucoup !
<>Interrupteur [0002:quete1fini] activé
<>Sinon
<>Message: Désolé, tu n'as pas les ailes...
<>fin


Crée enfin une troisieme page avec comme condition: L'interrupteur [0002:quete1fini] est activé avec ca:

<>Interrupteur [0001:quete1] désactivé
<>Message: Mission déja faite !


Et voila le travail!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rpgmakervx.1fr1.net
Plettro
Chevalier
Chevalier
avatar

Masculin
Nombre de messages : 174
Age : 25
Localisation : Saturne
Projet en cours: : Heu top secret...
Date d'inscription : 30/09/2007

niveau du maker
mapping:
0/100  (0/100)
events:
0/100  (0/100)
scriptage:
3/100  (3/100)

MessageSujet: Re: Un systeme de quete   Sam 20 Oct - 21:45

waouh merci Windowan !
you're the best ! xD
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Un systeme de quete   Sam 20 Oct - 22:05

Oui, en effet, c'est très pratique!
mais tu peux afficher un panneau avec toutes les quêtes réalisées ou non en plus de cela...
je te donnerai la technique plus tard , pour l'instant je dois me coucher.
Revenir en haut Aller en bas
Plettro
Chevalier
Chevalier
avatar

Masculin
Nombre de messages : 174
Age : 25
Localisation : Saturne
Projet en cours: : Heu top secret...
Date d'inscription : 30/09/2007

niveau du maker
mapping:
0/100  (0/100)
events:
0/100  (0/100)
scriptage:
3/100  (3/100)

MessageSujet: Re: Un systeme de quete   Sam 20 Oct - 22:09

tretian--} merci beaucoup
windowan--} heu probleme en apparence je mets un gars normal quoi mais sur la map quand on joue on ne le voit pas...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Widowan
Chevalier
Chevalier
avatar

Masculin
Nombre de messages : 185
Age : 35
Localisation : Region Rouennaise
Projet en cours: : Utopia - Mafioso
Date d'inscription : 29/09/2007

niveau du maker
mapping:
0/100  (0/100)
events:
2/100  (2/100)
scriptage:
0/100  (0/100)

MessageSujet: Re: Un systeme de quete   Dim 21 Oct - 4:58

Petite precision (désolé je ne floode pas):
Moi c'est WIDOWAN les gars...
Pas Windowan!
Mais c'est pas grave lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rpgmakervx.1fr1.net
Plettro
Chevalier
Chevalier
avatar

Masculin
Nombre de messages : 174
Age : 25
Localisation : Saturne
Projet en cours: : Heu top secret...
Date d'inscription : 30/09/2007

niveau du maker
mapping:
0/100  (0/100)
events:
0/100  (0/100)
scriptage:
3/100  (3/100)

MessageSujet: Re: Un systeme de quete   Dim 21 Oct - 10:00

alors comment ça se fait qu'on ne voit pas le queteur ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Un systeme de quete   Dim 21 Oct - 16:31

créez un nouveau script au dessus de 'Main'.
Nommez ce script " Scene_Mission " et collez le code.

Utilisation :

Dans la gestions des objets, mettez un nombre d'objet supérieur à 500. Tous les objets après le 500e seront des missions.
Nommez-les comme vous le voulez, mettez-y aussi le descriptif, et placez-les en "non-consomables".

ATTENTION : l'objet N°500 n'est ni un objet ni une mission. Laissez le vide !

Exemple : vous avez 100 missions dans votre jeu, donc vous créez 600 objets et placez les missions du 501e au 600e.
Ensuite vous créez 100 switchs.

Pour les switchs : 0 la mission n'est pas effectuée.
1 la mission est accomplie.

Pour entrer dans le menu des missions depuis un évènement (exemple : évènement commun appuie d'une touche) vous faites "insérer un script " et vous mettez :

$scene = Scene_Mission.new


Code:
#==============================================================================
# ■ Scene_Mission
#------------------------------------------------------------------------------
# Script créé par Sunmat
#==============================================================================

class Scene_Mission
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
# ヘルプウィンドウ、アイテムウィンドウを作成
@help_window = Window_Help.new
@item_window = Window_Mission.new
# ヘルプウィンドウを関連付け
@item_window.help_window = @help_window
# ターゲットウィンドウを作成 (不可視・非アクティブに設定)
@target_window = Window_Target.new
@target_window.visible = false
@target_window.active = false
# トランジション実行
Graphics.transition
# メインループ
loop do
# ゲーム画面を更新
Graphics.update
# 入力情報を更新
Input.update
# フレーム更新
update
# 画面が切り替わったらループを中断
if $scene != self
break
end
end
# トランジション準備
Graphics.freeze
# ウィンドウを解放
@help_window.dispose
@item_window.dispose
@target_window.dispose
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
# ウィンドウを更新
@help_window.update
@item_window.update
@target_window.update
# アイテムウィンドウがアクティブの場合: update_item を呼ぶ
if @item_window.active
update_item
return
end
# ターゲットウィンドウがアクティブの場合: update_target を呼ぶ
if @target_window.active
update_target
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(0)
return
end
# C ボタンが押された場合
if Input.trigger?(Input::C)
# アイテムウィンドウで現在選択されているデータを取得
@item = @item_window.item
# 使用アイテムではない場合
unless @item.is_a?(RPG::Item)
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
return
end
# 使用できない場合
unless $game_party.item_can_use?(@item.id)
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
return
end
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# 効果範囲が味方の場合
if @item.scope >= 3
# ターゲットウィンドウをアクティブ化
@item_window.active = false
@target_window.x = (@item_window.index + 1) % 2 * 304
@target_window.visible = true
@target_window.active = true
# 効果範囲 (単体/全体) に応じてカーソル位置を設定
if @item.scope == 4 || @item.scope == 6
@target_window.index = -1
else
@target_window.index = 0
end
# 効果範囲が味方以外の場合
else
# コモンイベント ID が有効の場合
if @item.common_event_id > 0
# コモンイベント呼び出し予約
$game_temp.common_event_id = @item.common_event_id
# アイテムの使用時 SE を演奏
$game_system.se_play(@item.menu_se)
# 消耗品の場合
if @item.consumable
# 使用したアイテムを 1 減らす
$game_party.lose_item(@item.id, 1)
# アイテムウィンドウの項目を再描画
@item_window.draw_item(@item_window.index)
end
# マップ画面に切り替え
$scene = Scene_Map.new
return
end
end
return
end
end
#--------------------------------------------------------------------------
# ● フレーム更新 (ターゲットウィンドウがアクティブの場合)
#--------------------------------------------------------------------------
def update_target
# B ボタンが押された場合
if Input.trigger?(Input::B)
# キャンセル SE を演奏
$game_system.se_play($data_system.cancel_se)
# アイテム切れなどで使用できなくなった場合
unless $game_party.item_can_use?(@item.id)
# アイテムウィンドウの内容を再作成
@item_window.refresh
end
# ターゲットウィンドウを消去
@item_window.active = true
@target_window.visible = false
@target_window.active = false
return
end
# C ボタンが押された場合
if Input.trigger?(Input::C)
# アイテムを使い切った場合
if $game_party.item_number(@item.id) == 0
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
return
end
# ターゲットが全体の場合
if @target_window.index == -1
# パーティ全体にアイテムの使用効果を適用
used = false
for i in $game_party.actors
used |= i.item_effect(@item)
end
end
# ターゲットが単体の場合
if @target_window.index >= 0
# ターゲットのアクターにアイテムの使用効果を適用
target = $game_party.actors[@target_window.index]
used = target.item_effect(@item)
end
# アイテムを使った場合
if used
# アイテムの使用時 SE を演奏
$game_system.se_play(@item.menu_se)
# 消耗品の場合
if @item.consumable
# 使用したアイテムを 1 減らす
$game_party.lose_item(@item.id, 1)
# アイテムウィンドウの項目を再描画
@item_window.draw_item(@item_window.index)
end
# ターゲットウィンドウの内容を再作成
@target_window.refresh
# 全滅の場合
if $game_party.all_dead?
# ゲームオーバー画面に切り替え
$scene = Scene_Gameover.new
return
end
# コモンイベント ID が有効の場合
if @item.common_event_id > 0
# コモンイベント呼び出し予約
$game_temp.common_event_id = @item.common_event_id
# マップ画面に切り替え
$scene = Scene_Map.new
return
end
end
# アイテムを使わなかった場合
unless used
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
end
return
end
end
end
#================================================


Ensuite entrez dans le script Window_Item, a la ligne 39 vous avez

for i in 1...$data_items.size

remplacez par

for i in 1...499



Créez un nouveau script nommé " Window_Mission " au dessus de " Main " et mettez ceci :


Code:
#==============================================================================
# ■ Window_Mission
#------------------------------------------------------------------------------
# Créé par Sunmat
#==============================================================================

class Window_Mission < Window_Selectable
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
super(0, 64, 640, 416)
@column_max = 2
refresh
self.index = 0
# 戦闘中の場合はウィンドウを画面中央へ移動し、半透明にする
if $game_temp.in_battle
self.y = 64
self.height = 256
self.back_opacity = 160
end
end
#--------------------------------------------------------------------------
# ● アイテムの取得
#--------------------------------------------------------------------------
def item
return @data[self.index]
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []

# アイテムを追加

for i in 500...$data_items.size
if $game_party.item_number(i) > 0
@data.push($data_items[i])
end
end
# 戦闘中以外なら武器と防具も追加

# 項目数が 0 でなければビットマップを作成し、全項目を描画
@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

#--------------------------------------------------------------------------
# ● 項目の描画
# index : 項目番号
#--------------------------------------------------------------------------
def draw_item(index)
item = @data[index]
case item
when RPG::Item
number = $game_party.item_number(item.id)
end
if item.is_a?(RPG::Item) and
$game_party.item_can_use?(item.id)
self.contents.font.color = normal_color
else
self.contents.font.color = disabled_color
end
x = 4 + index % 2 * (288 + 32)
y = index / 2 * 32
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, item.name, 0)
self.contents.draw_text(x + 240, y, 16, 32, "x", 1)
self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
end
#--------------------------------------------------------------------------
# ● ヘルプテキスト更新
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end
#==============================================
Revenir en haut Aller en bas
Plettro
Chevalier
Chevalier
avatar

Masculin
Nombre de messages : 174
Age : 25
Localisation : Saturne
Projet en cours: : Heu top secret...
Date d'inscription : 30/09/2007

niveau du maker
mapping:
0/100  (0/100)
events:
0/100  (0/100)
scriptage:
3/100  (3/100)

MessageSujet: Re: Un systeme de quete   Dim 21 Oct - 16:37

Ensuite vous créez 100 switchs.

Pour les switchs : 0 la mission n'est pas effectuée.
1 la mission est accomplie.

Pour entrer dans le menu des missions depuis un évènement (exemple : évènement commun appuie d'une touche) vous faites "insérer un script " et vous mettez :

$scene = Scene_Mission.new

Ici je ne comprends pas très bien. Le script qui suit il faut le nommer $scene = Scene_Mission.new ? Et swich c'est quoi ?
Merci beaucoup
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Un systeme de quete   Dim 21 Oct - 16:40

pour appeler l'écran de quêtes, crée un evenement où tu mets:
-insérer un script:
$scene = Scene_Mission.new

voilà!

un switch c'est un interrupteur
Revenir en haut Aller en bas
Plettro
Chevalier
Chevalier
avatar

Masculin
Nombre de messages : 174
Age : 25
Localisation : Saturne
Projet en cours: : Heu top secret...
Date d'inscription : 30/09/2007

niveau du maker
mapping:
0/100  (0/100)
events:
0/100  (0/100)
scriptage:
3/100  (3/100)

MessageSujet: Re: Un systeme de quete   Dim 21 Oct - 16:44

j'aimerais encore un petit détail: pour les switch je dois faire quoi exactement ?
J'ai cree un event et tout c'est bon quand je le lance on voit le truc et tout merci !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Un systeme de quete   Dim 21 Oct - 16:56

de rien!
pour les switchs, c'est simple!
0 la mission n'est pas effectuée.
1 la mission est accomplie.
tu changes leur valeur!
0=désactivé
1=activé
Revenir en haut Aller en bas
Plettro
Chevalier
Chevalier
avatar

Masculin
Nombre de messages : 174
Age : 25
Localisation : Saturne
Projet en cours: : Heu top secret...
Date d'inscription : 30/09/2007

niveau du maker
mapping:
0/100  (0/100)
events:
0/100  (0/100)
scriptage:
3/100  (3/100)

MessageSujet: Re: Un systeme de quete   Dim 21 Oct - 16:58

oui mais je les fais ou ces switch ? Je fais l'event avec le script et la dedans je les mets ? je comprends pas trop trop.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Un systeme de quete   Dim 21 Oct - 17:03

Oh là là!^^
ces switchs seront liés à tes objets!
Very Happy
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Un systeme de quete   

Revenir en haut Aller en bas
 
Un systeme de quete
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» systeme de delestage des coffres
» Reflexions d'un juge sur le systeme judiciaire haitien
» J'ai perdu la quete journaliere du lvl 152 :(
» prochaine modif du systeme PvP et conquete de territoires
» [Spoil] Quete des nagas

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
rpgmakerxp.frbb.net :: Une question, un bug ? :: Un truc que vous n'arrivez pas à faire?-
Sauter vers: