- PandaNekoMembre
- Nombre de messages : 13
Distinction : aucune
Date d'inscription : 05/06/2014
[résolu]A la recherche d'un script sur VX ACE... [Résolu]
Mer 2 Juil 2014 - 21:45
http://yamiworld.wordpress.com/yami-engine/text-display/pop-message/
Je recherche ce script depuis un moment mais le problème est que Drop(*Insulte que je vais censuré )Box. a bloqué tout les liens de téléchargement car il y en avait trop... Si quelqu'un à l'amabilité de le partager ca serait cool
Je recherche ce script depuis un moment mais le problème est que Drop(*Insulte que je vais censuré )Box. a bloqué tout les liens de téléchargement car il y en avait trop... Si quelqu'un à l'amabilité de le partager ca serait cool
Re: [résolu]A la recherche d'un script sur VX ACE... [Résolu]
Mer 2 Juil 2014 - 22:21
Tiens voilà, c'est cadeau:
- Code:
#==============================================================================
#
# ¥ Yami Engine Symphony - Pop Message
# -- Last Updated: 2013.01.29
# -- Level: Easy
# -- Requires: n/a
#
#==============================================================================
$imported = {} if $imported.nil?
$imported["YES-PopMessage"] = true
#==============================================================================
# ¥ Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2013.01.29 - Compatible with: YEA - Ace Message System Namebox.
# 2013.01.29 - Fixed a minor crash with Bubble Tag.
# 2013.01.28 - Finished Script.
# 2013.01.25 - Started Script.
#
#==============================================================================
# ¥ Introduction
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script provides bubble messages feature, which makes message window pop
# over player's or event's head.
#
#==============================================================================
# ¥ Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ¥ Materials/‘fÞ but above ¥ Main. Remember to save.
#
# -----------------------------------------------------------------------------
# Message Window text Codes - These go inside of your message window.
# -----------------------------------------------------------------------------
# Code: Effect:
# \bm[x] - Pops message on event ID x head.
# Set x to 0 for player pop.
# \cbm - Cancel pops message manually.
# \cbt[name] - Set bubble tag filename to name.
#
#==============================================================================
# ¥ Compatibility
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
# it will run with RPG Maker VX without adjustments.
#
#==============================================================================
#==============================================================================
# ¡ Configuration
#==============================================================================
module YES
module POP_MESSAGE
#===========================================================================
# - Limit Settings -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# The following below will adjust the limit options for pop message.
#===========================================================================
LIMIT_SETTING = { # Start.
:width => 0, # Set to 0 to disable limitation.
:lines => 4, # Set to 0 to disable limitation.
} # End.
#===========================================================================
# - Effect Settings -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# The following below will adjust the effect options for pop message.
#===========================================================================
EFFECT_SETTING = { # Start.
:default_face => false,# Use default face draw.
# Effects for non-default face draw.
:face_fade => true, # Makes face to be fading when start message.
:face_move => true, # Makes face to be moving in when start message.
# Bubble tag settings.
:bubble_tag => true, # Enables bubble tag for pop message.
:bubble_name => "BubbleTag", # Put bubble tag image into
# Graphics/System
:bubble_offset_y => -6,
} # End.
end
end
#==============================================================================
# ¥ Editting anything past this point may potentially result in causing
# computer damage, incontinence, explosion of user's head, coma, death, and/or
# halitosis so edit at your own risk.
#==============================================================================
#==============================================================================
# ¡ Window_MessageFace
#==============================================================================
class Window_MessageFace < Window_Base
#--------------------------------------------------------------------------
# initialize
#--------------------------------------------------------------------------
def initialize
super(0, 0, 120, 120)
self.opacity = 0
self.contents_opacity = 0
self.close
@move_x = 0
end
#--------------------------------------------------------------------------
# draw_content_face
#--------------------------------------------------------------------------
def draw_content_face
if $game_message.face_name.empty?
hide_face
else
self.y = - self.height
contents.clear
draw_face($game_message.face_name, $game_message.face_index, 0, 0)
end
end
#--------------------------------------------------------------------------
# fade_time
#--------------------------------------------------------------------------
def fade_time
17
end
#--------------------------------------------------------------------------
# move_time
#--------------------------------------------------------------------------
def move_time
17
end
#--------------------------------------------------------------------------
# move_rate
#--------------------------------------------------------------------------
def move_rate
2
end
#--------------------------------------------------------------------------
# show_face
#--------------------------------------------------------------------------
def show_face
return if $game_message.face_name.empty?
self.open
#---
if (YES::POP_MESSAGE::EFFECT_SETTING[:face_fade] ||
YES::POP_MESSAGE::EFFECT_SETTING[:face_move])
self.openness = 255
end
#---
if YES::POP_MESSAGE::EFFECT_SETTING[:face_fade]
self.contents_opacity = 0
else
self.contents_opacity = 255
end
#---
if YES::POP_MESSAGE::EFFECT_SETTING[:face_move]
@move_x = move_time * move_rate
self.x -= @move_x
end
end
#--------------------------------------------------------------------------
# hide_face
#--------------------------------------------------------------------------
def hide_face
close
end
#--------------------------------------------------------------------------
# update
#--------------------------------------------------------------------------
def update
super
#---
self.contents_opacity += 255.0 / fade_time
#---
if @move_x > 0
rate = [move_rate, @move_x].min
@move_x -= rate
self.x += rate
end
end
end # Window_MessageFace
#==============================================================================
# ¡ Window_Message
#==============================================================================
class Window_Message < Window_Base
#--------------------------------------------------------------------------
# new method: pop_message_initialize
#--------------------------------------------------------------------------
def pop_message_initialize(text)
if text =~ /\\BM\[(\d+)\]/i
setup_pop_message($1.to_i)
end
if text =~ /\\CBM/i
cancel_pop_message
end
if text =~ /\\CBT\[(.*)\]/i
create_bubble_sprite($1)
@bubble_sprite.opacity = 255
end
end
#--------------------------------------------------------------------------
# new method: process_pop_message
#--------------------------------------------------------------------------
def process_pop_message(text)
text.gsub!(/\eCBT\[(.*)\]/i) { "" }
text.gsub!(/\eBM\[(\d+)\]/i) { "" }
text.gsub!(/\eCBM/i) { "" }
text
end
#--------------------------------------------------------------------------
# alias method: convert_escape_characters
#--------------------------------------------------------------------------
alias yes_pm_convert_escape_characters convert_escape_characters
def convert_escape_characters(text)
result = yes_pm_convert_escape_characters(text)
result = process_pop_message(result)
result
end
#--------------------------------------------------------------------------
# new method: setup_pop_message
#--------------------------------------------------------------------------
def setup_pop_message(id)
create_bubble_sprite
adjust_window_size
adjust_window_position(id)
@bubble_sprite.opacity = 255
end
#--------------------------------------------------------------------------
# new method: create_bubble_sprite
#--------------------------------------------------------------------------
def create_bubble_sprite(filename = nil)
return unless YES::POP_MESSAGE::EFFECT_SETTING[:bubble_tag]
filename = YES::POP_MESSAGE::EFFECT_SETTING[:bubble_name] unless filename
bitmap = Cache.system(filename)
@bubble_sprite ||= Sprite.new
@bubble_sprite.z = self.z
@bubble_sprite.opacity = 0
@bubble_sprite.bitmap = bitmap
@bubble_sprite.src_rect.set(0, 0, bitmap.width, bitmap.height / 2)
end
#--------------------------------------------------------------------------
# new method: adjust_window_position
#--------------------------------------------------------------------------
def adjust_window_position(id)
hash = $game_map.events
character = id <= 0 ? $game_player : hash[id]
#---
bitmap = Cache.character(character.character_name)
sign = character.character_name[/^[\!\$]./]
if sign && sign.include?('$')
ch = bitmap.height / 4
else
ch = bitmap.height / 8
end
#---
self.x = character.screen_x - self.width / 2
self.y = character.screen_y - self.height - ch
if @bubble_sprite
@bubble_sprite.x = character.screen_x - @bubble_sprite.width / 2
@bubble_sprite.y = self.y + self.height
@bubble_sprite.y += YES::POP_MESSAGE::EFFECT_SETTING[:bubble_offset_y]
end
#---
end_x = self.x + self.width
self.x = 0 if self.x < 0
self.x = Graphics.width - self.width if end_x > Graphics.width
if self.y < 0
self.y = character.screen_y
if @bubble_sprite
@bubble_sprite.y = self.y - @bubble_sprite.height
@bubble_sprite.y -= YES::POP_MESSAGE::EFFECT_SETTING[:bubble_offset_y]
@bubble_sprite.src_rect.set(0, @bubble_sprite.height,
@bubble_sprite.width, @bubble_sprite.height)
end
end
end
#--------------------------------------------------------------------------
# new method: adjust_window_size
#--------------------------------------------------------------------------
def adjust_window_size
text = convert_escape_characters($game_message.all_text)
#---
width = cal_width_line(text) + standard_padding * 2
width = width + new_line_x
if YES::POP_MESSAGE::LIMIT_SETTING[:width] > 0
width = [YES::POP_MESSAGE::LIMIT_SETTING[:width], width]
end
#---
lines = cal_number_line(text)
if YES::POP_MESSAGE::LIMIT_SETTING[:lines] > 0
lines = [YES::POP_MESSAGE::LIMIT_SETTING[:lines], lines].min
end
if YES::POP_MESSAGE::EFFECT_SETTING[:default_face]
unless $game_message.face_name.empty?
lines = [4, lines].max
end
end
#---
self.width = width
self.height = fitting_height(lines)
create_contents
end
#--------------------------------------------------------------------------
# new method: cal_number_line
#--------------------------------------------------------------------------
def cal_number_line(text)
result = 0
text.each_line { result += 1 }
return result
end
#--------------------------------------------------------------------------
# new method: cal_width_line
#--------------------------------------------------------------------------
def cal_width_line(text)
result = 0
text.each_line { |line|
result = text_size(line).width if result < text_size(line).width
}
return result
end
#--------------------------------------------------------------------------
# new method: cancel_pop_message
#--------------------------------------------------------------------------
def cancel_pop_message
update_placement
reset_size
create_bubble_sprite
end
#--------------------------------------------------------------------------
# new method: reset_size
#--------------------------------------------------------------------------
def reset_size
self.width = window_width
self.height = window_height
update_padding
create_contents
end
#--------------------------------------------------------------------------
# alias method: draw_face
#--------------------------------------------------------------------------
alias yes_pop_message_draw_face draw_face
def draw_face(face_name, face_index, x, y, enabled = true)
return unless YES::POP_MESSAGE::EFFECT_SETTING[:default_face]
yes_pop_message_draw_face(face_name, face_index, x, y, enabled)
end
#--------------------------------------------------------------------------
# alias method: update_placement
#--------------------------------------------------------------------------
alias yes_pop_message_update_placement update_placement
def update_placement
yes_pop_message_update_placement
self.x = 0
end
#--------------------------------------------------------------------------
# alias method: process_all_text
#--------------------------------------------------------------------------
alias yes_pop_message_process_all_text process_all_text
def process_all_text
pop_message_initialize($game_message.all_text)
yes_pop_message_process_all_text
end
#--------------------------------------------------------------------------
# alias method: open_and_wait
#--------------------------------------------------------------------------
alias yes_pop_message_open_and_wait open_and_wait
def open_and_wait
yes_pop_message_open_and_wait
@face_window ||= Window_MessageFace.new
@face_window.draw_content_face
@face_window.x = self.x + 8
@face_window.y += self.y + self.height
@face_window.show_face
end
#--------------------------------------------------------------------------
# alias method: close_and_wait
#--------------------------------------------------------------------------
alias yes_pop_message_close_and_wait close_and_wait
def close_and_wait
@face_window.hide_face
@bubble_sprite.opacity = 0 if @bubble_sprite
yes_pop_message_close_and_wait
cancel_pop_message
end
#--------------------------------------------------------------------------
# alias method: update
#--------------------------------------------------------------------------
alias yes_pop_message_update update
def update
yes_pop_message_update
if @face_window
@face_window.update
@face_window.z = self.z
end
if @bubble_sprite
@bubble_sprite.update
@bubble_sprite.z = self.z
end
end
#--------------------------------------------------------------------------
# overwrite method: adjust_message_window_size
# YEA - Message System Compatible
#--------------------------------------------------------------------------
def adjust_message_window_size
start_name_window
end
end # Window_Message
#==============================================================================
# ¡ Window_NameMessage
#==============================================================================
if $imported["YEA-MessageSystem"]
class Window_NameMessage < Window_Base
#--------------------------------------------------------------------------
# set_x_position
#--------------------------------------------------------------------------
alias yes_pm_set_x_position set_x_position
def set_x_position(x_position)
yes_pm_set_x_position(x_position)
self.x += @message_window.new_line_x if x_position == 1
self.z = @message_window.z
end
end # Window_NameMessage
end
#==============================================================================
#
# ¥ End of File
#
#==============================================================================
- Toei AzarothisMembre
- Nombre de messages : 53
Age : 29
Distinction : aucune
Date d'inscription : 01/04/2014
Re: [résolu]A la recherche d'un script sur VX ACE... [Résolu]
Jeu 3 Juil 2014 - 16:31
noubli pas quil te faut egalement le basic module pour le faire fonctionner au cas ou je te le fournis de meme . Bonne journé a toi .
- Spoiler:
- Code:
#==============================================================================
#
# ¥ Yami Engine Ace - Basic Module
# -- Last Updated: 2012.04.27
# -- Level: Nothing
# -- Requires: n/a
#
#==============================================================================
$imported = {} if $imported.nil?
$imported["YSE-BasicModule"] = true
#==============================================================================
# ¥ Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2012.04.27 - Added Notetags Initializer.
# 2012.03.24 - Added Parse Range Keys.
# 2012.03.17 - Updated Load Data Method.
# 2012.03.13 - Remove requirements mechanic.
# 2012.03.11 - Change in requirements mechanic.
# 2012.03.02 - Added Message Box.
# 2012.03.01 - Started and Finished Script.
#
#==============================================================================
# ¥ Introduction
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script provides many methods for Yami Engine Ace.
#
#==============================================================================
# ¥ Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ¥ Materials/‘fÞ but above ¥ Main. Remember to save.
#
#==============================================================================
# ¥ Compatibility
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
# it will run with RPG Maker VX without adjusting.
#
#==============================================================================
#==============================================================================
# ¥ Configuration
#==============================================================================
module YSE
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - External Data Configuration -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DATA_CONFIGURATION = { # Start here.
:ext => "rvdata2", # Data File Extension.
:salt => "cl", # Salt. Make an unique two-character phrase.
# Must be 2 characters.
:unique => "z8x8273ac", # Unique phrase. Must be at least 1 character.
:comp_level => 9, # Level from 1 to 9. Best Speed at 1, Best
# Compress at 9.
} # Do not delete this.
end
#==============================================================================
# ¥ Editting anything past this point may potentially result in causing
# computer damage, incontinence, explosion of user's head, coma, death, and/or
# halitosis so edit at your own risk.
#==============================================================================
#==============================================================================
# ¡ YSE - Basic Module
#==============================================================================
module YSE
#--------------------------------------------------------------------------
# message_box
#--------------------------------------------------------------------------
def self.message_box(title, message)
api = Win32API.new('user32','MessageBox',['L', 'P', 'P', 'L'],'I')
api.call(0,message,title,0)
end
#--------------------------------------------------------------------------
# charset
#--------------------------------------------------------------------------
def self.charset
result = "abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ0123456789"
result
end
#--------------------------------------------------------------------------
# make_random_string
#--------------------------------------------------------------------------
def self.make_random_string(length = 6)
result = ""
while result.size < length
result << charset[rand(charset.size)]
end
result
end
#--------------------------------------------------------------------------
# make_filename
#--------------------------------------------------------------------------
def self.make_filename(filename, dir = "")
ext = DATA_CONFIGURATION[:ext]
result = "#{dir}/#{filename}.#{ext}"
result
end
#--------------------------------------------------------------------------
# compress_data
#--------------------------------------------------------------------------
def self.compress_data(data, comp_level = nil)
compress_level = comp_level.nil? ? DATA_CONFIGURATION[:comp_level] : comp_level
result = Zlib::Deflate.deflate(Marshal.dump(data), compress_level)
result
end
#--------------------------------------------------------------------------
# decompress_data
#--------------------------------------------------------------------------
def self.decompress_data(data)
result = Zlib::Inflate.inflate(Marshal.load(data))
result
end
#--------------------------------------------------------------------------
# make_hash
#--------------------------------------------------------------------------
def self.make_hash(string = "")
salt = DATA_CONFIGURATION[:salt]
result = string.crypt(salt)
result = result + DATA_CONFIGURATION[:unique]
result
end
#--------------------------------------------------------------------------
# save_data
#--------------------------------------------------------------------------
def self.save_data(filename, data_hash)
File.open(filename, "wb") do |file|
Marshal.dump(compress_data(data_hash), file)
end
return true
end
#--------------------------------------------------------------------------
# save_data
#--------------------------------------------------------------------------
def self.load_data(filename, method, index = 0, ext = nil)
File.open(filename, "rb") do |file|
index.times { Marshal.load(file) }
if ext
case ext
when :mtime
method.call(Marshal.load(decompress_data(file)), file.mtime)
end
else
method.call(Marshal.load(decompress_data(file)))
end
end
return true
end
#--------------------------------------------------------------------------
# parse_range
#--------------------------------------------------------------------------
def self.parse_range(hash)
result = {}
hash.each { |key, value|
if key.is_a?(Range)
key.each { |id| result[id] = value }
else
result[key] = value
end
}
result
end
#--------------------------------------------------------------------------
# patch_start
#--------------------------------------------------------------------------
def self.patch_start
return unless $imported["YSE-PatchSystem"]
SceneManager.call(Scene_Patch_YSE)
end
end # YSE - Basic Module
#==============================================================================
# ¡ DataManager
#==============================================================================
module DataManager
#--------------------------------------------------------------------------
# alias method: load_database
#--------------------------------------------------------------------------
class <<self; alias load_database_yebm load_database; end
def self.load_database
load_database_yebm
load_notetags_ye
end
#--------------------------------------------------------------------------
# new method: load_notetags_ye
#--------------------------------------------------------------------------
def self.load_notetags_ye
groups = [$data_actors, $data_classes, $data_skills, $data_items, $data_weapons,
$data_armors, $data_enemies, $data_states]
groups.each { |group|
group.each { |obj|
next if obj.nil?
obj.notetags_initialize
}
}
end
end # DataManager
#==============================================================================
# ¡ RPG::BaseItem
#==============================================================================
class RPG::BaseItem
#--------------------------------------------------------------------------
# new method: notetags_initialize
#--------------------------------------------------------------------------
def notetags_initialize
@notelines = []
#---
self.note.split(/[\r\n]+/).each { |line|
@notelines.push(line)
} # self.note.split
#---
notetags_reader
end
#--------------------------------------------------------------------------
# new method: notetags_reader
#--------------------------------------------------------------------------
def notetags_reader
# Reading Notetags.
end
end # RPG::BaseItem
#==============================================================================
# ¡ System Errors
#==============================================================================
if YSE::DATA_CONFIGURATION[:salt].size < 2
YSE.message_box("YSE - Basic Module", "Salt must have at least 2 characters.")
exit
end
if YSE::DATA_CONFIGURATION[:unique].size < 1
YSE.message_box("YSE - Basic Module", "Unique phrase must have at least 1 character.")
exit
end
#==============================================================================
#
# ¥ End of File
#
#==============================================================================
- PandaNekoMembre
- Nombre de messages : 13
Distinction : aucune
Date d'inscription : 05/06/2014
Re: [résolu]A la recherche d'un script sur VX ACE... [Résolu]
Jeu 3 Juil 2014 - 17:22
Merci à vous ;^; !
- HeavenStaffeux retraité
- Nombre de messages : 2441
Age : 22
Localisation : Alpes-Maritimes VIRILITÉ OLALA
Distinction : Aucune
Date d'inscription : 18/10/2012
Re: [résolu]A la recherche d'un script sur VX ACE... [Résolu]
Ven 4 Juil 2014 - 7:33
Sujet résolu PandaNeko ?
Heav'n
Heav'n
- PandaNekoMembre
- Nombre de messages : 13
Distinction : aucune
Date d'inscription : 05/06/2014
Re: [résolu]A la recherche d'un script sur VX ACE... [Résolu]
Ven 4 Juil 2014 - 15:24
Yes m'sieur désolé d'avoir oublié de le signaler :X
- HeavenStaffeux retraité
- Nombre de messages : 2441
Age : 22
Localisation : Alpes-Maritimes VIRILITÉ OLALA
Distinction : Aucune
Date d'inscription : 18/10/2012
Re: [résolu]A la recherche d'un script sur VX ACE... [Résolu]
Ven 4 Juil 2014 - 15:42
Pas de problème, je déplace
Heav'n
Heav'n
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|