Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
475 connectés actuellement
30732758 visiteurs depuis l'ouverture
2737 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
❤ 0 Auteur : berka
Logiciel : RPG Maker VX
Nombre de scripts : 1
Fonctionnalités
Permet de coder en ruby en cours de jeu... via une popup windows... ce qui laisse présager plein d'autres possibilités !
extraction et réédition des messages... affichage de commandes d'events en cours...
Note : Ce script est destiné aux scripteurs, et n'aura aucune utilité pour les développeurs rapatriant leurs scripts ou n'ayant aucune notion de RGSS2.
Installation
A placer au dessus de Main.
Utilisation
Appuyez sur F5 pour afficher ou fermer la fenêtre :
Version 2.2 (recommandée)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
| #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Editeur Ruby pour RMVX v.2.2
# berka https://www.rpgmakervx-fr.com
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# touche F5 pour afficher ou masquer la console
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Getkeystate=Win32API.new("user32","GetAsyncKeyState",'i','i')
class Editeur
def initialize
@text=[]
@getprivatestring=Win32API.new('kernel32','GetPrivateProfileString','pppplp','l')
@findwindow=Win32API.new('user32','FindWindow',%w(p p),'i')
@createwindow=Win32API.new("user32","CreateWindowEx",'lpplllllllll','l')
@showwindow=Win32API.new('user32','ShowWindow',%w(l l),'l')
@destroywindow=Win32API.new('user32','DestroyWindow','p','l')
@iswindow=Win32API.new('user32','IsWindow','p','l')
@getwindowtext=Win32API.new('user32','GetWindowText',%w(n p n ),'l')
@dim_ecran=Win32API.new('user32','GetSystemMetrics','i','i')
@getwindowrect=Win32API.new('user32','GetWindowRect',%w(l p),'i')
@updatewindow=Win32API.new('user32','UpdateWindow','p','i')
@setwindowtext=Win32API.new('user32','SetWindowText',%w(p p),'i')
end
def handle
title="\0"*256
@getprivatestring.call("Game","Title","",title,256,".//Game.ini")
title.delete!("\0")
return @findwindow.call("RGSS Player",title)
end
def start
(fermer_fen;return) if !@fen.nil?
fenetre
loop do
Graphics.update
update
break if Getkeystate.call(0x0D)&0x01==1
return if Getkeystate.call(0x74)&0x01==1
end
if !@fen.nil?
eval(recup_text) rescue (
Exception
msg="Type d'Erreur:\n\t#{$!.class}\n\n"
line=$!.message[7,1].to_i
msg+="Numéro de ligne de l'Erreur:\n\t#{line}\n\n"
lines=recup_text.split(/\n/)
msg+="Ligne de l'Erreur:\n\t#{lines[(line-1)]}\n\n"
msg+="Script exécuté:\n\t#{recup_text}"
print(msg))
end
fermer_fen
end
def fenetre(t="",x=dim[0],y=dim[3],w=dim[2]-x,h=24)
@fen=@createwindow.call((0x00000100|0x00000200),"edit",t,(
(0x4000000|0x80000000|0)|0x02000000),x,y,w,h,handle,0,0,0)
aff_fen
end
def aff_fen(bool=true);bool ? @showwindow.call(@fen,1) : @showwindow.call(@fen,0);end
def dims_ecran;return @dim_ecran.call(0),@dim_ecran.call(1);end
def update;@updatewindow.call(@fen);end
def fermer_fen;@destroywindow.call(@fen);@fen=nil;end
def ajouter_text;@setwindowtext.call(@fen,@text.to_s);end
def fenetre?
(return false) if @fen.nil?
@iswindow.call(@fen)==0 ? (return false):(return true)
end
def recup_text
res=" "*255
@getwindowtext.call(@fen,res,0x3e80) rescue nil
return res
end
def dim
rect=[0,0,0,0].pack('l4')
@getwindowrect.call(handle,rect)
x,y,w,h=rect.unpack('l4')
return x,y,w,h
end
end
$editeur=Editeur.new
module Input
class << self
if @update_aliased.nil?
alias :update_alias :update
def update
$editeur.start if Getkeystate.call(0x74)&0x01==1
update_alias if !$editeur.fenetre? rescue update_alias
end
@update_aliased = true
end
end
end |
Version 1 (archive)
Spoiler (cliquez pour afficher)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
| #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Editeur Ruby pour RMVX
# berka http://www.rpgmakervx-fr.com
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# touche F5 pour afficher ou masquer la console
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
class Editeur
def initialize
@text=[]
@getprivatestring=Win32API.new('kernel32','GetPrivateProfileString','pppplp','l')
@findwindow=Win32API.new('user32','FindWindow',%w(p p),'i')
@createwindow=Win32API.new("user32","CreateWindowEx",'lpplllllllll','l')
@showwindow=Win32API.new('user32','ShowWindow',%w(l l),'l')
@closewindow=Win32API.new('user32','CloseWindow','p','l')
@destroywindow=Win32API.new('user32','DestroyWindow','p','l')
@iswindow=Win32API.new('user32','IsWindow','p','l')
@getwindowtext=Win32API.new('user32','GetWindowText',%w(n p n ),'l')
@dim_ecran=Win32API.new('user32','GetSystemMetrics','i','i')
@getwindowrect=Win32API.new('user32','GetWindowRect',%w(l p),'i')
@updatewindow=Win32API.new('user32','UpdateWindow','p','i')
@setwindowtext=Win32API.new('user32','SetWindowText',%w(p p),'i')
@getstate=Win32API.new("user32","GetKeyState",'i','i')
end
def handle
title="\0"*256
@getprivatestring.call("Game","Title","",title,256,".//Game.ini")
title.delete!("\0")
return @findwindow.call("RGSS Player",title)
end
def start
Input.update
@fen.nil? ? fenetre : (fermer_fen;return)
loop{Graphics.update
break if @getstate.call(0x0D)==0}
eval(recup_text)
rescue Exception
msg="Type d'Erreur:\n\t#{$!.class}\n\n"
line=$!.message[7,1].to_i
msg+="Numéro de ligne de l'Erreur:\n\t#{line}\n\n"
lines=recup_text.split(/\n/)
msg+="Ligne de l'Erreur:\n\t#{lines[(line-1)]}\n\n"
msg+="Script exécuté:\n\t#{recup_text}"
print(msg)
fermer_fen
end
def fenetre(texte="",x=dim[0],y=dim[3],w=dim[2]-x,h=24)
@fen=@createwindow.call((0x00000100|0x00000200),"edit",texte,(
(0x4000000|0x80000000|0)|0x02000000),x,y,w,h,handle,0,0,0)
aff_fen
end
def aff_fen(bool=true);bool ? @showwindow.call(@fen,1) : @showwindow.call(@fen,0);end
def fermer_fen;@destroywindow.call(@fen);@fen=nil;end
def fenetre?;@iswindow.call(@fen)==0 ? (return false):(return true);end
def dims_ecran;return @dim_ecran.call(0),@dim_ecran.call(1);end
def recup_text
res=" "*255
@getwindowtext.call(@fen,res,0x3e80)
return res
end
def dim
rect=[0,0,0,0].pack('l4')
@getwindowrect.call(handle,rect)
x,y,w,h=rect.unpack('l4')
return x,y,w,h
end
def ajouter_text
@setwindowtext.call(@fen,@text.to_s)
@updatewindow.call(@fen)
return ""
end
end
class Scene_Base
def main
start
perform_transition
post_start
Input.update
loop{Graphics.update
$editeur.start if Input.trigger?(Input::F5)
Input.update if !$editeur.fenetre?
update
break if $scene!=self}
Graphics.update
pre_terminate
Graphics.freeze
terminate
end
end
class Scene_Map<Scene_Base
def update_basic
Graphics.update
$game_map.update
@spriteset.update
$editeur.start if Input.trigger?(Input::F5)
Input.update if !$editeur.fenetre?
end
end
class Scene_Title<Scene_Base
alias berka_create_game_objects create_game_objects
def create_game_objects
berka_create_game_objects
$editeur=Editeur.new
end
end
class Scene_Battle<Scene_Base
def update_basic(main = false)
Graphics.update unless main
$editeur.start if Input.trigger?(Input::F5)
(Input.update unless main) if !$editeur.fenetre?
$game_system.update
$game_troop.update
@spriteset.update
@message_window.update
end
end |
|
Starky53 -
posté le 05/12/2008 à 18:40:11 (9 messages postés)
| Noob de service | J'ose jamais poster en premier sur les forums, je reviendrais plus tard...
Mais, à part ça, je ne l'ai pas essayé, mais ça à l'air bien !
BBye
|
berka -
posté le 06/12/2008 à 15:10:13 (493 messages postés)
| planchant sur un script | Nouvelle version:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
| #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Editeur Ruby pour RMVX v.2.2
# berka http://www.rpgmakervx-fr.com
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# touche F5 pour afficher ou masquer la console
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Getkeystate=Win32API.new("user32","GetAsyncKeyState",'i','i')
class Editeur
def initialize
@text=[]
@getprivatestring=Win32API.new('kernel32','GetPrivateProfileString','pppplp','l')
@findwindow=Win32API.new('user32','FindWindow',%w(p p),'i')
@createwindow=Win32API.new("user32","CreateWindowEx",'lpplllllllll','l')
@showwindow=Win32API.new('user32','ShowWindow',%w(l l),'l')
@destroywindow=Win32API.new('user32','DestroyWindow','p','l')
@iswindow=Win32API.new('user32','IsWindow','p','l')
@getwindowtext=Win32API.new('user32','GetWindowText',%w(n p n ),'l')
@dim_ecran=Win32API.new('user32','GetSystemMetrics','i','i')
@getwindowrect=Win32API.new('user32','GetWindowRect',%w(l p),'i')
@updatewindow=Win32API.new('user32','UpdateWindow','p','i')
@setwindowtext=Win32API.new('user32','SetWindowText',%w(p p),'i')
end
def handle
title="\0"*256
@getprivatestring.call("Game","Title","",title,256,".//Game.ini")
title.delete!("\0")
return @findwindow.call("RGSS Player",title)
end
def start
(fermer_fen;return) if !@fen.nil?
fenetre
loop do
Graphics.update
update
break if Getkeystate.call(0x0D)&0x01==1
return if Getkeystate.call(0x74)&0x01==1
end
if !@fen.nil?
eval(recup_text) rescue (
Exception
msg="Type d'Erreur:\n\t#{$!.class}\n\n"
line=$!.message[7,1].to_i
msg+="Numéro de ligne de l'Erreur:\n\t#{line}\n\n"
lines=recup_text.split(/\n/)
msg+="Ligne de l'Erreur:\n\t#{lines[(line-1)]}\n\n"
msg+="Script exécuté:\n\t#{recup_text}"
print(msg))
end
fermer_fen
end
def fenetre(t="",x=dim[0],y=dim[3],w=dim[2]-x,h=24)
@fen=@createwindow.call((0x00000100|0x00000200),"edit",t,(
(0x4000000|0x80000000|0)|0x02000000),x,y,w,h,handle,0,0,0)
aff_fen
end
def aff_fen(bool=true);bool ? @showwindow.call(@fen,1) : @showwindow.call(@fen,0);end
def dims_ecran;return @dim_ecran.call(0),@dim_ecran.call(1);end
def update;@updatewindow.call(@fen);end
def fermer_fen;@destroywindow.call(@fen);@fen=nil;end
def ajouter_text;@setwindowtext.call(@fen,@text.to_s);end
def fenetre?
(return false) if @fen.nil?
@iswindow.call(@fen)==0 ? (return false):(return true)
end
def recup_text
res=" "*255
@getwindowtext.call(@fen,res,0x3e80) rescue nil
return res
end
def dim
rect=[0,0,0,0].pack('l4')
@getwindowrect.call(handle,rect)
x,y,w,h=rect.unpack('l4')
return x,y,w,h
end
end
$editeur=Editeur.new
module Input
class << self
if @update_aliased.nil?
alias :update_alias :update
def update
$editeur.start if Getkeystate.call(0x74)&0x01==1
update_alias if !$editeur.fenetre? rescue update_alias
end
@update_aliased = true
end
end
end |
|
Twitter: Pensées politiques et juridiques. Réflexions informatiques |
TamTamMort -
posté le 06/12/2008 à 15:16:40 (376 messages postés)
| | super ! tout simplement génial ! merci Berka !
|
La Meche -
posté le 07/12/2008 à 11:59:50 (324 messages postés)
| ... | Berka !
Comme on se retrouve !
Très bon script même si je ne sais pas comment afficher une variable
|
Diaries |
berka -
posté le 07/12/2008 à 14:58:42 (493 messages postés)
| planchant sur un script | print($game_variables[1].to_s)
(nouvelle version ajouté dans mon 2eme post )
|
Twitter: Pensées politiques et juridiques. Réflexions informatiques |
La Meche -
posté le 07/12/2008 à 18:48:07 (324 messages postés)
| ... | Ah ok merci ^^
|
Diaries |
| | Super pratique merci
|
Prout man sera de retour un de ses jours !! |
| killer of rpg maker VX | pffff a chaque foi que je lutilise jecri un truc et sa me di eror etc[bgcolor=darkred][color=darkblue][/color]
|
TheDuke -
posté le 25/08/2009 à 21:39:36 (34 messages postés)
| Notest! Powa! | lol ta marqué print("ton message") ??
si tu là pas mis c'est normal
|
Notest! Official Démo 2! pour bientot ;) |
--ayoub-- -
posté le 24/05/2010 à 17:28:16 (96 messages postés)
| C'est moi la meileur | super
|
78 |
Tinei -
posté le 26/09/2010 à 12:22:25 (7 messages postés)
| Connaisseur | Je ne voit pas l'utilité de ce script
|
[a href="http://practilang.fr.nf"][img]http://img855.imageshack.us/img855/6305/signaturesi.png[/img][/a] |
| Chanter l'hyperchleuasme | Réfléchis un peu.
La réponse est dans la question.
|
Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte |
thom123 -
posté le 19/01/2011 à 17:19:43 (47 messages postés)
| Eh! c'est pas parce que tu suce des glands que tu deviendras un écureuils, hein! | Bof...
| |
|
|