[Résolu]Appel de script
Sam 16 Nov 2013 - 22:04
Bonjours a tous !
Alors voilà, j'ai foutu mon script sous Main.
J'ai créé un evenement pour lancer mon script et je doit faire un appel de script, sauf que je comprend pas très bien ce que je doit noté dans l'appel de script pour que cela fonctionne :
Script : https://www.dropbox.com/sh/sz6mpw5n2d6zxi2/EzLRBdMNm4/RMVXA%20Scripts/Player_Select_Mog.txt
appel de script : call_player_select_scene
Ce que cela doit faire : mon evenement est un PNJ qui, lorsqu'on lancera la discution avec lui, nous proposera de choisir un personnage (Homme ou Femme)
Je débute dans tout le domaine de création du jeu, mais jusqu'a je n'avais pas eu de problème a ajouter des scripts (pour personnaliser mes combats par exemple) car je n'avais pas d'appel de script a faire.
Alors voilà, j'ai foutu mon script sous Main.
J'ai créé un evenement pour lancer mon script et je doit faire un appel de script, sauf que je comprend pas très bien ce que je doit noté dans l'appel de script pour que cela fonctionne :
Script : https://www.dropbox.com/sh/sz6mpw5n2d6zxi2/EzLRBdMNm4/RMVXA%20Scripts/Player_Select_Mog.txt
appel de script : call_player_select_scene
Ce que cela doit faire : mon evenement est un PNJ qui, lorsqu'on lancera la discution avec lui, nous proposera de choisir un personnage (Homme ou Femme)
Je débute dans tout le domaine de création du jeu, mais jusqu'a je n'avais pas eu de problème a ajouter des scripts (pour personnaliser mes combats par exemple) car je n'avais pas d'appel de script a faire.
- Ti-MaxMembre
- Nombre de messages : 1100
Localisation : Canada/Québec
Distinction : Poisson 2018 [Amal']
Date d'inscription : 02/09/2009
Re: [Résolu]Appel de script
Sam 16 Nov 2013 - 22:14
DAns ton événement, la commandes pour faire un appel de script est à la 3e page et se nomme 'Script'.
Image -»
tu mets le code
En espérant avoir été clair et que ça fonctionne. ^^
Image -»
tu mets le code
- Code:
call_player_select_scene
En espérant avoir été clair et que ça fonctionne. ^^
- CraytMembre
- Nombre de messages : 216
Age : 25
Localisation : Devant mon ordinateur
Distinction : aucune
Date d'inscription : 28/10/2013
Re: [Résolu]Appel de script
Sam 16 Nov 2013 - 22:15
TI-MAX J'allais le dire.. ^^
Re: [Résolu]Appel de script
Sam 16 Nov 2013 - 22:18
- SpytjeAdministrateur
- Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008
Re: [Résolu]Appel de script
Sam 16 Nov 2013 - 22:23
Ton script au dessus de main pas dessous.Alors voilà, j'ai foutu mon script sous Main.
Re: [Résolu]Appel de script
Sam 16 Nov 2013 - 22:28
je l'ai mis au dessus, j'ai suivis ce que m'a dis TI-MAX a la lettre, cela inclus aussi le passage au dessus de Main
- SpytjeAdministrateur
- Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008
Re: [Résolu]Appel de script
Sam 16 Nov 2013 - 22:31
Ok j'avais pas vu désolé.
Maintenant est ce que tu as tous ce dont tu as besoin pour utiliser le script ?
Tu es bien sous rmvxAce ?
Tu as bien les ressources nécessaire pour faire fonctionner le script ?
Tu as bien le script additionnel pour le faire fonctionner ?
Voir ici :
http://himeworks.wordpress.com/2013/08/19/player-selection-mog-edition/
Maintenant est ce que tu as tous ce dont tu as besoin pour utiliser le script ?
Tu es bien sous rmvxAce ?
Tu as bien les ressources nécessaire pour faire fonctionner le script ?
Tu as bien le script additionnel pour le faire fonctionner ?
Voir ici :
http://himeworks.wordpress.com/2013/08/19/player-selection-mog-edition/
Re: [Résolu]Appel de script
Sam 16 Nov 2013 - 22:41
hallelujah !!!
En effet j'avais player manager mais il me manquer party manager !
Bon maintenant j'ai un autre petit soucis qui s'offre a moi (si c'etais déja tout résolu sa serais pas drôle ^^)
Comme vous le voyez, il y a le choix entre Roykin et ... Roykin !!
Comment dois-je procédé pour ajouter un deuxieme personnage ?
En effet j'avais player manager mais il me manquer party manager !
Bon maintenant j'ai un autre petit soucis qui s'offre a moi (si c'etais déja tout résolu sa serais pas drôle ^^)
Comme vous le voyez, il y a le choix entre Roykin et ... Roykin !!
Comment dois-je procédé pour ajouter un deuxieme personnage ?
- SpytjeAdministrateur
- Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008
Re: [Résolu]Appel de script
Sam 16 Nov 2013 - 22:44
C'est expliqué dans le script Player Manager, regarde et si tu comprends pas reviens me voir
Re: [Résolu]Appel de script
Sam 16 Nov 2013 - 22:55
Tous les joueurs doivent avoir un ID unique. Le premier joueur a ID 1.
Création d'un joueur est un processus en trois étapes:
Tout d'abord, vous pourrez choisir un ID pour le lecteur.
Ensuite, vous pourrez choisir quels acteurs seront attribués au joueur.
Enfin, vous devez définir un emplacement pour le lecteur, en utilisant l'appel de script
create_player_location (map_id, x, y)
Pour créer un nouveau joueur, vous feriez quelque chose comme ceci:
membres = [2,3,4]
location = create_player_location (5, 10, 12)
create_player (2 membres, localisation)
Cela va créer un nouveau joueur avec ID 2, avec des acteurs 2, 3 et 4.
Le joueur sera créé à la carte 5, à la position (10, 12).
Si un joueur avec l'identifiant spécifié existe déjà, alors rien ne se passera .
C'est un peu trop compliquer, pour moi ayant du mal déjà a la base avec les scripts tout fait ...
ID player 2 ça ok
location on me demande sur quel map, si je met 1 je suppose que sa sera la first map
position 10,12 sa c'est mes axe X et Y
Mais le reste je suis largué complet ... et je ne sais pas exactement ou posé tout sa dans le script player :/
Création d'un joueur est un processus en trois étapes:
Tout d'abord, vous pourrez choisir un ID pour le lecteur.
Ensuite, vous pourrez choisir quels acteurs seront attribués au joueur.
Enfin, vous devez définir un emplacement pour le lecteur, en utilisant l'appel de script
create_player_location (map_id, x, y)
Pour créer un nouveau joueur, vous feriez quelque chose comme ceci:
membres = [2,3,4]
location = create_player_location (5, 10, 12)
create_player (2 membres, localisation)
Cela va créer un nouveau joueur avec ID 2, avec des acteurs 2, 3 et 4.
Le joueur sera créé à la carte 5, à la position (10, 12).
Si un joueur avec l'identifiant spécifié existe déjà, alors rien ne se passera .
C'est un peu trop compliquer, pour moi ayant du mal déjà a la base avec les scripts tout fait ...
ID player 2 ça ok
location on me demande sur quel map, si je met 1 je suppose que sa sera la first map
position 10,12 sa c'est mes axe X et Y
Mais le reste je suis largué complet ... et je ne sais pas exactement ou posé tout sa dans le script player :/
- SpytjeAdministrateur
- Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008
Re: [Résolu]Appel de script
Sam 16 Nov 2013 - 23:42
Bon je regarde tes scripts depuis 20 minutes maintenant et franchement c'est le bordel...
J'ai trouvé pour toi un autre script beaucoup moins compliqué et qui fonctionne après 30 secondes, je te laisse regarder et télécharger sa démo :
J'ai trouvé pour toi un autre script beaucoup moins compliqué et qui fonctionne après 30 secondes, je te laisse regarder et télécharger sa démo :
- Code:
#==============================================================================
# +++ MOG - Scene Character Select V1.0 | Hidden Characters Unselectable Mod
#==============================================================================
# By Moghunter
# Hidden Characters Unselectable Mod Author: SoulPour777
# Description: Adds other characters you do not want to be seen into the
# character selection.
# http://www.atelier-rgss.com/
#==============================================================================
=begin
Notes:
The $MOG_Actor_Playable = 6 is the variable that takes how many characters
in the database you want to be shown when the character select script call
is activated. Changing the variable value would also change the number
of actors shown. Please do not edit nor change MOG_Actor_Hidden_Number's
value.
=end
class Mog_Set_Up
def initialize
$MOG_Actor_Playable = 6
$MOG_Actor_Hidden_Number = $MOG_Actor_Playable + 1
end
end
class Window_Base < Window
def draw_picture_number(x,y,value, file_name,align = 0, space = 0, frame_max = 1,frame_index = 0)
number_image = Cache.system(file_name)
frame_max = 1 if frame_max < 1
frame_index = frame_max -1 if frame_index > frame_max -1
align = 2 if align > 2
cw = number_image.width / 10
ch = number_image.height / frame_max
h = ch * frame_index
number = value.abs.to_s.split(//)
case align
when 0
plus_x = (-cw + space) * number.size
when 1
plus_x = (-cw + space) * number.size
plus_x /= 2
when 2
plus_x = 0
end
for r in 0..number.size - 1
number_abs = number[r].to_i
number_rect = Rect.new(cw * number_abs, h, cw, ch)
self.contents.blt(plus_x + x + ((cw - space) * r), y , number_image, number_rect)
end
number_image.dispose
end
#--------------------------------------------------------------------------
# ● draw_char_window_status
#--------------------------------------------------------------------------
def draw_char_window_status(x,y)
image = Cache.system("Char_Status_Layout")
cw = image.width
ch = image.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y , image, src_rect)
image.dispose
end
end
#===============================================================================
# ■ RPG_FileTest
#===============================================================================
module RPG_FileTest
#--------------------------------------------------------------------------
# ● RPG_FileTest.system_exist?
#--------------------------------------------------------------------------
def RPG_FileTest.system_exist?(filename)
return Cache.system(filename) rescue return false
end
#--------------------------------------------------------------------------
# ● RPG_FileTest.picture_exist?
#--------------------------------------------------------------------------
def RPG_FileTest.picture_exist?(filename)
return Cache.picture(filename) rescue return false
end
end
#==============================================================================
# ** Window_Character_Status
#==============================================================================
class Window_Character_Status < Window_Base
attr_accessor :index
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 0, 400, 130)
self.opacity = 0
actor_id = []
@index = actor
for i in 1...$MOG_Actor_Hidden_Number
actor_id.push($game_actors[i])
end
@actor = actor_id[actor -1]
refresh
end
#--------------------------------------------------------------------------
# ● Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.bold = true
self.contents.font.italic = true
draw_char_window_status(0, 6)
draw_actor_face(@actor, 0, 0)
draw_actor_name(@actor, 140, -5)
draw_actor_class(@actor, 60, 70)
draw_picture_number(155,20,@actor.mhp, "Number_char",1)
draw_picture_number(145,48,@actor.mmp, "Number_char",1)
draw_picture_number(228,28,@actor.atk, "Number_char",1)
draw_picture_number(297,28,@actor.def, "Number_char",1)
draw_picture_number(207,68,@actor.mat, "Number_char",1)
draw_picture_number(277,68,@actor.agi, "Number_char",1)
end
end
#==============================================================================
# ■ Scene Character Select
#==============================================================================
class Scene_Character_Select
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
def initialize
setup
create_layout
$MOG = Mog_Set_Up.new
@char_max = $MOG_Actor_Playable
create_window_status
create_char_image
reset_position(0)
end
#--------------------------------------------------------------------------
# ● Setup
#--------------------------------------------------------------------------
def setup
@char_index = 1
@char_max = $data_actors.size - 1
@pw_x = 300
@aw_x = 200
@nw_x = 100
end
#--------------------------------------------------------------------------
# ● Main
#--------------------------------------------------------------------------
def main
Graphics.transition
execute_loop
execute_dispose
end
#--------------------------------------------------------------------------
# ● Execute Loop
#--------------------------------------------------------------------------
def execute_loop
loop do
Graphics.update
Input.update
update
if SceneManager.scene != self
break
end
end
end
#--------------------------------------------------------------------------
# ● create_background
#--------------------------------------------------------------------------
def create_layout
@background = Plane.new
@background.bitmap = Cache.system("Background")
@background.z = 0
@layout_01 = Sprite.new
@layout_01.bitmap = Cache.system("Char_Layout01")
@layout_01.z = 10
@layout_02 = Sprite.new
@layout_02.bitmap = Cache.system("Char_Layout02")
@layout_02.blend_type = 1
@layout_02.z = 1
end
#--------------------------------------------------------------------------
# ● create_window_status
#--------------------------------------------------------------------------
def create_window_status
@window_status = []
for i in 1...$MOG_Actor_Hidden_Number
@window_status[i] = Window_Character_Status.new(i)
@window_status[i].z = 7
end
check_active_window
end
#--------------------------------------------------------------------------
# ● create_window_status
#--------------------------------------------------------------------------
def create_char_image
@actor_picture = []
actor_id = []
for i in 1...$MOG_Actor_Hidden_Number
actor_id.push($game_actors[i])
actor = actor_id[i - 1]
@actor_picture[i] = Sprite.new
file_name = "Character" + i.to_s
file_name = "" unless RPG_FileTest.picture_exist?(file_name)
@actor_picture[i].bitmap = Cache.picture(file_name)
end
check_active_picture
end
#--------------------------------------------------------------------------
# ● check_active_window
#--------------------------------------------------------------------------
def check_active_window
for i in 1...$MOG_Actor_Hidden_Number
@pw = @char_index - 1
@pw = 1 if @pw > @char_max
@pw_y = 32
@pw = @char_max if @pw < 1
@aw = @char_index
@aw_y = 160
@nw = @char_index + 1
@nw = 1 if @nw > @char_max
@nw = @char_max if @nw < 1
@nw_y = 288
case @window_status[i].index
when @pw,@aw,@nw
@window_status[i].visible = true
else
@window_status[i].visible = false
end
end
end
#--------------------------------------------------------------------------
# ● check_active_picture
#--------------------------------------------------------------------------
def check_active_picture
for i in 1...$MOG_Actor_Hidden_Number
case @window_status[i].index
when @pw,@aw,@nw
@actor_picture[i].visible = true
@actor_picture[@pw].z = 4
@actor_picture[@aw].z = 6
@actor_picture[@nw].z = 4
@actor_picture[@pw].opacity = 120
@actor_picture[@aw].opacity = 255
@actor_picture[@nw].opacity = 120
else
@actor_picture[i].visible = false
end
end
end
#--------------------------------------------------------------------------
# ● terminate
#--------------------------------------------------------------------------
def execute_dispose
RPG::BGM.fade(2500)
Graphics.fadeout(60)
Graphics.wait(40)
RPG::BGM.stop
for i in 1...$MOG_Actor_Hidden_Number
@window_status[i].dispose
@actor_picture[i].bitmap.dispose
@actor_picture[i].dispose
end
@background.bitmap.dispose
@background.dispose
@layout_01.bitmap.dispose
@layout_01.dispose
@layout_02.bitmap.dispose
@layout_02.dispose
end
#--------------------------------------------------------------------------
# ● update
#--------------------------------------------------------------------------
def update
@background.ox += 1
update_select
update_slide_window
update_slide_image
end
#--------------------------------------------------------------------------
# ● update_slide_window
#--------------------------------------------------------------------------
def update_slide_window
@window_status[@aw].x += 1 if @window_status[@aw].x < 0
@window_status[@nw].x -= 2 if @window_status[@nw].x > -30
@window_status[@pw].x -= 2 if @window_status[@pw].x > -30
slide_window_y(@pw,@pw_y)
slide_window_y(@aw,@aw_y)
slide_window_y(@nw,@nw_y)
end
#--------------------------------------------------------------------------
# ● update_slide_image
#--------------------------------------------------------------------------
def update_slide_image
slide_picture_x(@pw,@pw_x,15)
slide_picture_x(@aw,@aw_x,5)
slide_picture_x(@nw,@nw_x,15)
end
#--------------------------------------------------------------------------
# ● slide_picture_x
#--------------------------------------------------------------------------
def slide_picture_x(i,x_pos,speed)
if @actor_picture[i].x < x_pos
@actor_picture[i].x += speed
@actor_picture[i].x = x_pos if @actor_picture[i].x > x_pos
end
if @actor_picture[i].x > x_pos
@actor_picture[i].x -= speed
@actor_picture[i].x = x_pos if @actor_picture[i].x < x_pos
end
end
#--------------------------------------------------------------------------
# ● slide_window_y
#--------------------------------------------------------------------------
def slide_window_y(i,y_pos)
if @window_status[i].y < y_pos
@window_status[i].y += 15
@window_status[i].y = y_pos if @window_status[i].y > y_pos
end
if @window_status[i].y > y_pos
@window_status[i].y -= 15
@window_status[i].y = y_pos if @window_status[i].y < y_pos
end
end
#--------------------------------------------------------------------------
# ● reset_position
#--------------------------------------------------------------------------
def reset_position(diretion)
check_active_window
check_active_picture
case diretion
when 0
@window_status[@pw].y = -64
@actor_picture[@pw].x = 100
when 1
@window_status[@nw].y = 440
@actor_picture[@nw].x = 400
end
end
#--------------------------------------------------------------------------
# ● update_select
#--------------------------------------------------------------------------
def update_select
if Input.trigger?(Input::DOWN) or Input.trigger?(Input::LEFT)
Sound.play_cursor
@char_index += 1
@char_index = 1 if @char_index > @char_max
if @char_max < 3
reset_position(0)
else
reset_position(1)
end
elsif Input.trigger?(Input::UP) or Input.trigger?(Input::RIGHT)
Sound.play_cursor
@char_index -= 1
@char_index = @char_max if @char_index < 1
reset_position(0)
elsif Input.trigger?(Input::C)
Sound.play_ok
$game_party.add_actor(@char_index)
SceneManager.return
end
end
end
$mog_rgss3_scene_character_select = true
Re: [Résolu]Appel de script
Dim 17 Nov 2013 - 0:15
- SpytjeAdministrateur
- Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008
Re: [Résolu]Appel de script
Dim 17 Nov 2013 - 0:18
Regarde la démo.
Le message d'erreur que tu as veut dire qu'il manque une ressource dans ton projet pour faire fonctionner celui-ci.
Pour bien faire télécharge la démo et supprime les script de ton projet et copie celui présent dans la démo, ensuite copie les ressources présente dans le dossier de la démo.
Le message d'erreur que tu as veut dire qu'il manque une ressource dans ton projet pour faire fonctionner celui-ci.
Pour bien faire télécharge la démo et supprime les script de ton projet et copie celui présent dans la démo, ensuite copie les ressources présente dans le dossier de la démo.
Re: [Résolu]Appel de script
Dim 17 Nov 2013 - 0:23
Je suis un abrutit des plus hardcorp !
C'est marquer noir sur blanc :
Graphics/System/Background !
><
Forcément maintenant ça marche.
Merci a tous
C'est marquer noir sur blanc :
Graphics/System/Background !
><
Forcément maintenant ça marche.
Merci a tous
- SpytjeAdministrateur
- Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008
Re: [Résolu]Appel de script
Dim 17 Nov 2013 - 0:28
De rien et bonne continuation !
PS : Oublie pas le petit résolu dans le titre de ton topic
PS : Oublie pas le petit résolu dans le titre de ton topic
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|