Script rpg maker xp (et un peu de vx)

Fermé
pasdenom - 2 sept. 2009 à 13:26
 Goloup - 11 oct. 2009 à 18:12
Bonjour,

je suis la pour donner des scripts!!!!!=)
alors je vais vous donner des script. et croyiez moi il marche tous!!!pour que vous me croyiez, je vais esseyer de montré des image aussi. mince sa marche pas pour les images... tant pis. mais voilà les script pour rpg maker xp!!!!!!

Remarque : Testé et fonctionnel. Avoir des facesets ( possibilité de prendre ceux de RPG Maker 2000 ) comme ressources.
Fonction : Permet d'afficher le visage d'un personnage dans vos messages.
Nombre de scripts : 1
Installation : uvrez l'éditeur de script ( F11 ) effacez le contenu du script " Window_Message " et remplacez le par le script ci-dessous.
- Pour afficher un faceset, vous devrez d'abord disposer de l'image, qui doit faire 96*96 pixels. Placez celle-ci dans le répertoire "Pictures" de votre projet.
Utilisation : Dans votre message, placez ensuite le code \f[nom] où nom est le nom de l'image sans son extension.

très bien, maintenant voici le code:

#==============================================================================
# Window_Message
#------------------------------------------------------------------------------
#
#==============================================================================

class Window_Message < Window_Selectable
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def initialize
super(80, 304, 480, 160)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font = Font.new("Arial")
self.visible = false
self.z = 9998
@fade_in = false
@fade_out = false
@contents_showing = false
@cursor_width = 0
@pic_width = 96
@pic_height = 96
self.active = false
self.index = -1
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def dispose
terminate_message
$game_temp.message_window_showing = false
if @input_number_window != nil
@input_number_window.dispose
end
super
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def terminate_message
self.active = false
self.pause = false
self.index = -1
self.contents.clear
@contents_showing = false

if $game_temp.message_proc != nil
$game_temp.message_proc.call
end

$game_temp.message_text = nil
$game_temp.message_proc = nil
$game_temp.choice_start = 99
$game_temp.choice_max = 0
$game_temp.choice_cancel_type = 0
$game_temp.choice_proc = nil
$game_temp.num_input_start = 99
$game_temp.num_input_variable_id = 0
$game_temp.num_input_digits_max = 0

if @gold_window != nil
@gold_window.dispose
@gold_window = nil
end
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = normal_color
x = y = 0
@cursor_width = 0

if $game_temp.choice_start == 0
x = 8
end

if $game_temp.message_text != nil
text = $game_temp.message_text

begin
last_text = text.clone
text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
end until text == last_text
text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
$game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
end
text.gsub!(/\\[Ww]\[([0-9]+)\]/) do
@pic_width = $1.to_i
""
end
text.gsub!(/\\[Hh]\[([0-9]+)\]/) do
@pic_height = $1.to_i
""
end
text.gsub!(/\\[Ff]\[([\w]+)\]/) do
temp = RPG::Cache.picture($1)
pic_x = self.contents.width - @pic_width - 10
pic_y = self.contents.height / 2 - @pic_height / 2
dest = Rect.new(pic_x,pic_y,@pic_width, @pic_height)
src = Rect.new(0,0,temp.width, temp.height)
self.contents.stretch_blt(dest, temp, src)
""
end

text.gsub!(/\\\\/) { "\000" }
text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001#{$1}" }
text.gsub!(/\\[Gg]/) { "\002" }

while ((c = text.slice!(/./m)) != nil)

if c == "\000"
c = "\\"
end

if c == "\001"
text.sub!(/\[([0-9]+)\]/, "")
color = $1.to_i
if color >= 0 and color <= 7
self.contents.font.color = text_color(color)
end
next
end

if c == "\002"
if @gold_window == nil
@gold_window = Window_Gold.new
@gold_window.x = 560 - @gold_window.width
if $game_temp.in_battle
@gold_window.y = 192
else
@gold_window.y = self.y >= 128 ? 32 : 384
end
@gold_window.opacity = self.opacity
@gold_window.back_opacity = self.back_opacity
end
next
end

if c == "\n"
if y >= $game_temp.choice_start
@cursor_width = [@cursor_width, x].max
end
y += 1
x = 0

if y >= $game_temp.choice_start
x = 8
end
next
end

self.contents.draw_text(4 + x, 32 * y, 40, 32, c)

x += self.contents.text_size(c).width
end
end

if $game_temp.choice_max > 0
@item_max = $game_temp.choice_max
self.active = true
self.index = 0
end

if $game_temp.num_input_variable_id > 0
digits_max = $game_temp.num_input_digits_max
number = $game_variables[$game_temp.num_input_variable_id]
@input_number_window = Window_InputNumber.new(digits_max)
@input_number_window.number = number
@input_number_window.x = self.x + 8
@input_number_window.y = self.y + $game_temp.num_input_start * 32
end
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def reset_window
if $game_temp.in_battle
self.y = 16
else
case $game_system.message_position
when 0 # ?
self.y = 16
when 1 # ?
self.y = 160
when 2 # ?
self.y = 304
end
end
if $game_system.message_frame == 0
self.opacity = 255
else
self.opacity = 0
end
self.back_opacity = 160
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def update
super

if @fade_in
self.contents_opacity += 24
if @input_number_window != nil
@input_number_window.contents_opacity += 24
end
if self.contents_opacity == 255
@fade_in = false
end
return
end

if @input_number_window != nil
@input_number_window.update

if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
$game_variables[$game_temp.num_input_variable_id] =
@input_number_window.number
$game_map.need_refresh = true

@input_number_window.dispose
@input_number_window = nil
terminate_message
end
return
end

if @contents_showing

if $game_temp.choice_max == 0
self.pause = true
end

if Input.trigger?(Input::B)
if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
$game_system.se_play($data_system.cancel_se)
$game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
terminate_message
end
end

if Input.trigger?(Input::C)
if $game_temp.choice_max > 0
$game_system.se_play($data_system.decision_se)
$game_temp.choice_proc.call(self.index)
end
terminate_message
end
return
end

if @fade_out == false and $game_temp.message_text != nil
@contents_showing = true
$game_temp.message_window_showing = true
reset_window
refresh
Graphics.frame_reset
self.visible = true
self.contents_opacity = 0
if @input_number_window != nil
@input_number_window.contents_opacity = 0
end
@fade_in = true
return
end

if self.visible
@fade_out = true
self.opacity -= 48
if self.opacity == 0
self.visible = false
@fade_out = false
$game_temp.message_window_showing = false
end
return
end
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def update_cursor_rect
if @index >= 0
n = $game_temp.choice_start + @index
self.cursor_rect.set(8, n * 32, @cursor_width, 32)
else
self.cursor_rect.empty
end
end
end

voili voilou!

prochain script, >>>>>>>>>>>... et ben vous verrez =)
A voir également:

2 réponses

bon cete fois c pour le héros.

Remarque : Testé et fonctionnel Testé et fonctionnel. Ressource à mettre dans .../Graphics/Characters/

Nombre de scripts : 1

Installation : Ouvrez l'éditeur de script ( F11 ). Créez en un nouveau au dessus de 'Main' qui portera le nom de 'Dash' et collez le code ci-dessous :

Utilisation : Appuyez sur Z pour courir. Chaque ressources permettant de montrer que le héros court, leurs noms doit terminer par "_dash" (Ex : 001-Fighter01_dash)

et voici le code :

Nombre de scripts : 1

Installation : Ouvrez l'éditeur de script ( F11 ). Créez en un nouveau au dessus de 'Main' qui portera le nom de 'Dash' et collez le code ci-dessous :

Utilisation : Appuyez sur Z pour courir. Chaque ressources permettant de montrer que le héros court, leurs noms doit terminer par "_dash" (Ex : 001-Fighter01_dash)

et voilà le code.... :

#==============================================================================
# ++ ???????????? ver. 1.11 ++
# Script by ???
# http://rpg.para.s3p.net/
#------------------------------------------------------------------------------
# ?Graphics/Characters??????
# ?(???????????????)+_dash????????????????
# ?????????????????????(?:001-Fighter01_dash)
#==============================================================================

class Game_Player < Game_Character

SPEED_DASH = 5 # ??????????
SPEED_NORMAL = 4 # ???????

# ??????????(??????Input::(???))
#(????????????????????????)
KEY_DASH = Input::A

# "_dash"??????????????????????( true:?? / false:??? )
NO_FILE_DASH = true

# ??????????????ID
# (????????????????????????????ON???????
# ??????????????)
NO_DASH_SWITCH = 999

end

#==============================================================================
# ¦ Game_Player
#==============================================================================

class Game_Player < Game_Character

#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
alias dash_update update
def update
# ?????????????????????
# ???????????????????????
unless moving? or $game_system.map_interpreter.running? or
@move_route_forcing or $game_temp.message_window_showing
if !($game_switches[NO_DASH_SWITCH])
# ????
if Input.press?(KEY_DASH)
if (dash_graphic_exist?($game_party.actors[0]) or NO_FILE_DASH)
# ??????????????
if @move_speed != SPEED_DASH
@move_speed = SPEED_DASH
@dash_on = true
$game_player.refresh
end
end
elsif @dash_on == nil or @dash_on
@move_speed = SPEED_NORMAL
@dash_on = nil
$game_player.refresh
end
end
end
dash_update
end
#--------------------------------------------------------------------------
# ? ??????????????????
#--------------------------------------------------------------------------
def dash_graphic_exist?(actor)
# ???????
begin
RPG::Cache.character(actor.character_name.to_s + "_dash", actor.character_hue)
rescue
return false
end
return true
end
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
alias dash_refresh refresh
def refresh
dash_refresh
# ??????? 0 ??????
if $game_party.actors.size != 0
actor = $game_party.actors[0]
# ??????????????????
if @dash_on and dash_graphic_exist?(actor)
fileplus = "_dash"
else
fileplus = ""
end
@character_name = actor.character_name + fileplus
@character_hue = actor.character_hue
end
end
end
et voilà!
1
oupssssss il y a eu dé ptit problème vous voiyez n'est-ce pas? ben voila décendez en bas et plus riennn le code y est.
1
Completement Inutil, il exsiste des forum expres pour ce genre d'info
0