- DishiMembre
- Nombre de messages : 632
Age : 26
Localisation : Marseille
Distinction : Alias Dichie
Aussi alias Sherifa Luna de la commu' (je suis dichie et d'ailleurs )
Co-créateur du Nyan Xak
[Tétété]
Apprenti Pedobear
[Mémé nova]
Keupiteur de ponctuation.
[un sombre inconnu.]
Date d'inscription : 07/07/2011
Script de quêtes - Omegas7 1.1
Sam 30 Juil 2011 - 10:46
Salut à tous !
Voici une version évoluée du fameux script de quêtes créé par Omegas7, traduit par moi.
Screenshots (version non traduite) :
Script :
Téléchargez la démo ICI !
Voila, en espérant vous avoir satisfait
PS : Les images ne se trouve que dans la démo
Voici une version évoluée du fameux script de quêtes créé par Omegas7, traduit par moi.
Screenshots (version non traduite) :
- Spoiler:
Script :
- Spoiler:
- Code:
# =============================================================================
# Script de quêtes
# Version: 1.1
# Auteur: Omegas7
# Traduction par Dishi
# Site: http://omegas7.blogspot.com || http://omegadev.biz
# -----------------------------------------------------------------------------
# Ajouts de la versions 1.1:
# > Quêtes liées à des interrupteurs
# > Un message apparait lorsque l'interrupteur lié à la quête est activé
# > Le menu de quêtes est séparé en 3 catégories : toutes quêtes confondues, réussis et inachevées
# > Description des quêtes
# > Les descriptions de quêtes peuvent avoir un fond.
# > Chaque quête est représentée par une image de 90x90 pixels
# > Le menu est équipé d'une image de fond
# > Les quêtes inachevées sont liées à une image (90x90)
# > Le cursor est lié à une image (90x90)
# > Achievement bar image
# > Achievement complete & incomplete graphic for description screen
# -----------------------------------------------------------------------------
# Instructions :
# Voici la formule basique d'une quête
#
# Achievements[ID] = ["Name","GaphicName",SwitchID]
# Descriptions[ID] = ["Line1","Line2","Line3"]
#
# ID => l'ID de la quête que le script doit utiliser. Chaque quête en a un spécial.
# ATTENTION : Ne commence pas par "1,2,3", mais par "0,1,2". Commencez donc par zéro !
# ATTENTION : NE DOIT PAS ÊTRE ENTRE GUILLEMETS !!!
# "Name" => Le nom de la quête. Doit être entre guillemets.
# "GraphicnName" => L'image (90x90 pixels) correspondant à votre quête, située dans le dossier Graphics\Picture.
# Doit être entre guillemets. Deux quêtes peuvent avoir la même image.
# SwitchID => Le numéro de l'interrupteur correspondant à votre quête
# Vous pouvez également ajouter une description à votre quête
# Chaque ligne doit être entre guillemets et séparées par une virgule.
# =============================================================================
# Pour appelez le script, utilisez la formule suivante :
# $scene = Scene_Achievements.new
module AchievementsDATA
MenuBackground = "AchievementBG" # Dossier Pictures
LockedTrohyGraphic = "LockedTrophy" # Dossier Pictures (90x90)
TrophyCursorGraphic = "TrophyCursor" # Dossier Pictures (90x90)
DescriptionScreenGraphic = "DescriptionScreen" # Dossier Pictures
AchievementBarGraphic = "AchievementBar" ## Dossier Pictures
AchievementIsCompleteGraphic = "AchievementCompleted" # Dossier Pictures
AchievementIsIncompleteGraphic = "AchievementIncomplete" # Dossier Pictures
# Ces deux dernières images apparaissent en bas à droite de l'écran
# quand elles sont utilisées
Achievements = []
Descriptions = []
Achievements[0] = ["Gagner de l'argent","Trophy",1]
Descriptions[0] = ["Ouvrez 5 coffres","Une quête que n'importe quel noob peut réussir"]
Achievements[1] = ["Battez le Rouquin !","Trophy",2]
Descriptions[1] = ["Battez le Vilain Rouquin dans le jardin"]
Achievements[2] = ["Adorez Omegas7","Trophy",3]
Descriptions[2] = ["Montrez votre amour pour Omegas7 à un inconnu"]
end
class Achievements < Scene_Base
include AchievementsDATA
def initialize
create_background
create_menu
create_trohpies
@view = 'NONE'
@chosen = false
@locked = 0
@unlocked = 0
for i in 0...Achievements.size
if $game_switches[Achievements[i][2]]
@unlocked += 1
else
@locked += 1
end
end
end
def update
updateInput
updateMenus if !@chosen
@chosen = false
end
def updateMenus
case @view
when 'NONE'
@menu.update
when 'TROPHIES'
@trophyMenu.update
end
end
def updateInput
if Input.trigger?(Input::C) && @view == 'NONE'
case @menu.index
when 0 # All
@view = 'TROPHIES'
@trophyMenu.setView('all')
@trophyMenu.setOpacity(255)
Sound.play_decision
@chosen = true
return
when 1 # Unlocked
if @unlocked <= 0
Sound.play_buzzer
return
end
@view = 'TROPHIES'
@trophyMenu.setView('unlocked')
@trophyMenu.setOpacity(255)
Sound.play_decision
@chosen = true
return
when 2 # Locked
if @locked <= 0
Sound.play_buzzer
return
end
@view = 'TROPHIES'
@trophyMenu.setView('locked')
@trophyMenu.setOpacity(255)
Sound.play_decision
@chosen = true
return
when 3 # Exit
@trophyMenu.finish
@bg.dispose
@menu.dispose
$scene = Scene_Map.new
@chosen = true
return
end
end
if Input.trigger?(Input::B) && @view == 'NONE'
@trophyMenu.finish
@bg.dispose
@menu.dispose
$scene = Scene_Map.new
@chosen = true
return
end
if Input.trigger?(Input::B) && @view == 'TROPHIES' && !@trophyMenu.description?
@view = 'NONE'
@trophyMenu.setOpacity(0)
Sound.play_cancel
end
end
def create_background
@bg = Sprite_Base.new
@bg.bitmap = Cache.picture(MenuBackground)
@bg.z = 0
end
def create_menu
commands = ['Quêtes','Réussies','Inachevées','Retour']
@menu = Window_Command.new(130,commands)
@menu.contents.font.size = 20
@menu.refresh
@menu.opacity = 0
@menu.z = 9
end
def create_trohpies
@trophyMenu = AchievementTrophyMenuManager.new
@trophyMenu.setOpacity(0)
end
end
class AchievementTrophyMenuManager
include AchievementsDATA
def initialize
@trophies = []
draw_trophies('all')
@moved_y = 0
if !@trophies.empty?
@cursor = Sprite_Base.new
@cursor.bitmap = Cache.picture(TrophyCursorGraphic)
@cursor.z = 2
@cursor.x,@cursor.y = @trophies[0].sprite.x,@trophies[0].sprite.y
end
@cursorIndex = 0
@toBeY = 0
@viewingDescription = false
@description = Sprite_Base.new
@description.bitmap = Cache.picture(DescriptionScreenGraphic)
@description.z = 100
@description.opacity = 0
@descriptionWindow = Window_Base.new(30,90,544 - 60,270)
@descriptionWindow.opacity = 0
@name = Window_Base.new(12,-12,300,90)
@name.contents.font.size = 18
@name.opacity = 0
@block = false
end
def draw_trophies(view)
@trophies = []
@chart = []
trueIndex = 0
for i in 0...Achievements.size
if $game_switches[Achievements[i][2]]
if view == 'all' || view == 'unlocked'
@trophies.push(AchievementTrophy.new(trueIndex,true,Achievements[i][0]))
@chart.push(Descriptions[i])
trueIndex += 1
end
else
if view == 'all' || view == 'locked'
@trophies.push(AchievementTrophy.new(trueIndex,false,Achievements[i][0]))
@chart.push(Descriptions[i])
trueIndex += 1
end
end
end
end
def update
if !@viewingDescription
if Input.trigger?(Input::DOWN)
Sound.play_cursor
@cursorIndex += 4
end
if Input.trigger?(Input::UP)
Sound.play_cursor
@cursorIndex -= 4
end
if Input.trigger?(Input::RIGHT)
Sound.play_cursor
@cursorIndex += 1
end
if Input.trigger?(Input::LEFT)
Sound.play_cursor
@cursorIndex -= 1
end
checkCursorPosition
if Input.trigger?(Input::C)
@descriptionWindow.contents.clear
@name.contents.clear
@description.opacity = 255
for i in 0...@chart[@cursorIndex].size
@descriptionWindow.contents.draw_text(0,(20 * i),500,20,@chart[@cursorIndex][i].to_s)
end
@viewingDescription = true
@block = true
@name.contents.draw_text(0,0,300,20,@trophies[@cursorIndex].name)
@completed = Sprite_Base.new
if @trophies[@cursorIndex].obtained
@completed.bitmap = Cache.picture(AchievementIsCompleteGraphic)
else
@completed.bitmap = Cache.picture(AchievementIsIncompleteGraphic)
end
@completed.x = 544 - @completed.width
@completed.y = 416 - @completed.height
@completed.z = 300
return
end
else
if (Input.trigger?(Input::C) || Input.trigger?(Input::B)) && !@block
Sound.play_cancel
@descriptionWindow.contents.clear
@name.contents.clear
@description.opacity = 0
@viewingDescription = false
@completed.dispose
@completed = nil
return
end
end
@block = false
if Input.trigger?(Input::L)
print @description.opacity
end
end
def description?
return @viewingDescription
end
def checkCursorPosition
if @cursorIndex < 0
@cursorIndex = 0
end
if @cursorIndex > @trophies.size - 1
@cursorIndex = @trophies.size - 1
end
@toBeY = @trophies[@cursorIndex].sprite.y
a = false
while @toBeY >= 10 + (90 * 4)
moveY(-90)
a = true
end
if !a
while @toBeY < 10
moveY(90)
end
end
@cursor.x = @trophies[@cursorIndex].sprite.x
@cursor.y = @trophies[@cursorIndex].sprite.y
end
def moveY(y)
for i in 0...@trophies.size
@trophies[i].sprite.y += y
@toBeY += y
end
end
def setOpacity(n)
for i in 0...@trophies.size
@trophies[i].sprite.opacity = n
end
@cursor.opacity = n
end
def setView(view)
for i in 0...@trophies.size
@trophies[i].sprite.dispose
@trophies[i] = nil
end
@cursorIndex = 0
@trophies.compact!
@chart = []
draw_trophies(view)
end
def finish
@cursor.dispose
for i in 0...@trophies.size
@trophies[i].sprite.dispose
@trophies[i] = nil
end
@trophies.compact!
@description.dispose
@descriptionWindow.dispose
@name.dispose
end
end
class AchievementTrophy
include AchievementsDATA
attr_accessor :sprite
attr_reader :obtained
attr_reader :name
def initialize(index,obtained,name)
@sprite = Sprite_Base.new
if obtained
@sprite.bitmap = Cache.picture(Achievements[index][1])
else
@sprite.bitmap = Cache.picture(LockedTrohyGraphic)
end
@sprite.z = 1
@sprite.x = 180 + (90 * (index % 4))
@sprite.y = 10 + (90 * (index / 4))
@obtained = obtained
@name = name
end
end
class Game_Party
alias omega_achievements_initialize initialize
attr_accessor :achievements
def initialize
omega_achievements_initialize
@achievements = []
for i in 0...AchievementsDATA::Achievements.size
@achievements.push([AchievementsDATA::Achievements[i][2],
$game_switches[AchievementsDATA::Achievements[i][2]]])
end
end
end
class AchievementBar
include AchievementsDATA
attr_reader :finished
def initialize(id)
@sprite = Sprite_Base.new
@sprite.bitmap = Cache.picture(AchievementBarGraphic)
@sprite.z = 300
@sprite.x = 272 - (@sprite.width/2)
@sprite.y = 416 - @sprite.height
@sprite.zoom_x = 0.1
@sprite.zoom_y = 0.1
@timer = -1
@leaving = false
@finished = false
end
def update
if @sprite.zoom_x < 1.0
@sprite.zoom_x += 0.05
@sprite.zoom_y += 0.05
if @sprite.zoom_x >= 1.0
@timer = 140
end
end
if @timer > 0
@timer -= 1
else
if !@leaving && @sprite.zoom_x >= 1.0
@leaving = true
end
end
if @leaving
@sprite.opacity -= 3
if (@sprite.opacity <= 0) && (!@finished)
finish
end
end
end
def finish
@sprite.dispose
@finished = true
end
end
class Scene_Map
alias omegaAchievementInitialize initialize
alias omegaAchievementUpdate update
alias omegaAachievementTerminate terminate
def initialize
omegaAchievementInitialize
@achievements = []
end
def update
omegaAchievementUpdate
for i in 0...@achievements.size
@achievements[i].update
if @achievements[i].finished
@achievements[i] = nil
end
end
@achievements.compact!
end
def terminate
omegaAachievementTerminate
for i in 0...@achievements.size
@achievements[i].finish
end
end
def addAchievementBar(id)
@achievements.push(AchievementBar.new(id))
end
end
class Game_Interpreter
alias omegaAchievementsSwitch command_121
def command_121
omegaAchievementsSwitch
if $scene.is_a?(Scene_Map)
for i in 0...$game_party.achievements.size
if $game_party.achievements[i][1] != $game_switches[$game_party.achievements[i][0]]
if $game_switches[$game_party.achievements[i][0].to_i]
$game_party.achievements[i][1] = $game_switches[$game_party.achievements[i][0]]
$scene.addAchievementBar(i)
break
end
end
end
end
end
end
Téléchargez la démo ICI !
Voila, en espérant vous avoir satisfait
PS : Les images ne se trouve que dans la démo
- BalbereithStaffeux retraité
- Nombre de messages : 4129
Age : 32
Localisation : dans l'ombre...
Distinction : Péripatéticienne à temps perdu
Helly n°666 [Coco' ;D]
mon ptit balbounet p'tit jardinier en herbe(les râteaux ça le connait) [tonton Adurna]
Cultivateur professionnel de la commu' (il a de bons outils en de nombreux exemplaires ) [Coco' ]
Date d'inscription : 13/05/2009
Re: Script de quêtes - Omegas7 1.1
Sam 30 Juil 2011 - 19:53
https://rpgmakervx.1fr1.net/t10076-traduction-omegas7-achievements
Pour l'ancienne version.
Merci Dishi.
Pour l'ancienne version.
Merci Dishi.
- Jo69allMembre
- Nombre de messages : 47
Age : 26
Localisation : Lyon
Distinction : aucune
Date d'inscription : 08/10/2011
Re: Script de quêtes - Omegas7 1.1
Lun 31 Oct 2011 - 10:02
Désoler du nécro-post mais comment on fais de nouvelles quêtes?
- BalbereithStaffeux retraité
- Nombre de messages : 4129
Age : 32
Localisation : dans l'ombre...
Distinction : Péripatéticienne à temps perdu
Helly n°666 [Coco' ;D]
mon ptit balbounet p'tit jardinier en herbe(les râteaux ça le connait) [tonton Adurna]
Cultivateur professionnel de la commu' (il a de bons outils en de nombreux exemplaires ) [Coco' ]
Date d'inscription : 13/05/2009
Re: Script de quêtes - Omegas7 1.1
Lun 31 Oct 2011 - 12:35
En réalité ce n'est pas un script de quête à proprement dit, c'est un sript de trophés comme sur ps3 ou autre.
Sinon tout se fait par évent et grace aux interrupteurs.
Sinon tout se fait par évent et grace aux interrupteurs.
- Jo69allMembre
- Nombre de messages : 47
Age : 26
Localisation : Lyon
Distinction : aucune
Date d'inscription : 08/10/2011
Re: Script de quêtes - Omegas7 1.1
Lun 31 Oct 2011 - 14:32
ok merci
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum