Aller à la page 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
Reprise du message précédent:
xvw -
posté le 26/05/2020 à 15:35:05 (736 messages postés)
- | yo | Oui, c'est pour ça que j'ai dit que le dernier point était de l'ordre du détail. Je trouve que les points précédents sont, eux, vraiment plus important
|
https://xvw.lol | Suite du sujet:
Gari -
posté le 11/07/2020 à 17:26:38 (5901 messages postés)
- | | Logiciel : RPG Maker XP
Domaine : correction de bugs oniriques
Bonjour,
Je corrige les scripts avec des erreurs de balises, et j'aimerais que vous m'aiguilliez sur ces trois lignes de code :
1
2
3
| GetKeyState = Win32API.new("user32","GetAsyncKeyState",['i" target="_blank">,'i')
GetKeyboardState = Win32API.new("user32","GetKeyState",['i" target="_blank">,'i')
GetSetKeyState = Win32API.new("user32","SetKeyboardState",['i" target="_blank">,'i') |
Il s'agit du script de cheat codes de TLN (ici)
Le bug en question est normalement corrigeable en remplaçant les guillemets fermants par un ], mais je suis pas sûr pour ce cas car on dirait qu'il manque plusieurs signes.
GetKeyState = Win32API.new("user32","GetAsyncKeyState",['i" target="_blank">,'i')
[Résolu]
|
Cantarelle -
posté le 11/07/2020 à 19:02:50 (1530 messages postés)
| Makeuse tarée et Agent du FBI... | Bon, j'utilise plus XP, mais l'erreur est une erreur de crochet fermant...
Plus une erreur de quote...
A vérifier
1
2
3
4
5
|
GetKeyState = Win32API.new("user32", "GetAsyncKeyState", ['i target="_blank">','i'])
GetKeyboardState = Win32API.new("user32", "GetKeyState", ['i target="_blank">','i'])
GetSetKeyState = Win32API.new("user32", "SetKeyboardState", ['i target="_blank">','i'])
|
|
Makeuse à la crosse de street-hockey. Livestream. |
Gari -
posté le 12/07/2020 à 12:21:00 (5901 messages postés)
- | | Merci beaucoup ! J'aurais sans doute fait une erreur en rajoutant des <. J'espère que c'est pas un autre bug généralisé des balises d'Oniro.
Bon bah RIP, c'était pas ça. Mais normalement je devrais pouvoir m'en tirer en bidouillant.
Et puis bon avec le script de Dubealex/cybersam ce sera peut-être mieux :
1
2
3
| GetKeyState = Win32API.new("user32","GetAsyncKeyState",['i'],'i')
GetKeyboardState = Win32API.new("user32","GetKeyState",['i'],'i')
GetSetKeyState = Win32API.new("user32","SetKeyboardState",['i'],'i') |
Bon, on dirait bien que j'aurais pas le fin mot de ce truc. Quel que soit le changement, il y a toujours une erreur syntaxique sur les lignes concernées.
En gros, le script de Dubealex étant plus récent que la version utilisée/éditée par TLN, je l'ai utilisé à la place pour vérifier que le reste fonctionnait. Il n'y avait plus la syntax error et le jeu s'est lancé, par contre maintenant il y a une syntax error générale (au moment de lancer le script). Mais c'est peut-être juste parce qu'il ne s'agit pas exactement du même script...
Je crois me rappeler que RM est aussi assez sensible aux espaces/lignes en trop/pas assez... :/
Je poste juste ici la version du script de Dubealex :
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
| #======================================
# ■ Keyboard Script
#---------------------------------------------------------------------------
# By: Cybersam
# Date: 25/05/05
# Version 4
#======================================
module Kboard
#--------------------------------------------------------------------------
$RMouse_BUTTON_L = 0x01 # left mouse button
$RMouse_BUTTON_R = 0x02 # right mouse button
$RMouse_BUTTON_M = 0x04 # middle mouse button
$RMouse_BUTTON_4 = 0x05 # 4th mouse button
$RMouse_BUTTON_5 = 0x06 # 5th mouse button
#--------------------------------------------------------------------------
$R_Key_BACK = 0x08 # BACKSPACE key
$R_Key_TAB = 0x09 # TAB key
$R_Key_RETURN = 0x0D # ENTER key
$R_Key_SHIFT = 0x10 # SHIFT key
$R_Key_CTLR = 0x11 # CTLR key
$R_Key_ALT = 0x12 # ALT key
$R_Key_PAUSE = 0x13 # PAUSE key
$R_Key_CAPITAL = 0x14 # CAPS LOCK key
$R_Key_ESCAPE = 0x1B # ESC key
$R_Key_SPACE = 0x20 # SPACEBAR
$R_Key_PRIOR = 0x21 # PAGE UP key
$R_Key_NEXT = 0x22 # PAGE DOWN key
$R_Key_END = 0x23 # END key
$R_Key_HOME = 0x24 # HOME key
$R_Key_LEFT = 0x25 # LEFT ARROW key
$R_Key_UP = 0x26 # UP ARROW key
$R_Key_RIGHT = 0x27 # RIGHT ARROW key
$R_Key_DOWN = 0x28 # DOWN ARROW key
$R_Key_SELECT = 0x29 # SELECT key
$R_Key_PRINT = 0x2A # PRINT key
$R_Key_SNAPSHOT = 0x2C # PRINT SCREEN key
$R_Key_INSERT = 0x2D # INS key
$R_Key_DELETE = 0x2E # DEL key
#--------------------------------------------------------------------------
$R_Key_0 = 0x30 # 0 key
$R_Key_1 = 0x31 # 1 key
$R_Key_2 = 0x32 # 2 key
$R_Key_3 = 0x33 # 3 key
$R_Key_4 = 0x34 # 4 key
$R_Key_5 = 0x35 # 5 key
$R_Key_6 = 0x36 # 6 key
$R_Key_7 = 0x37 # 7 key
$R_Key_8 = 0x38 # 8 key
$R_Key_9 = 0x39 # 9 key
#--------------------------------------------------------------------------
$R_Key_A = 0x41 # A key
$R_Key_B = 0x42 # B key
$R_Key_C = 0x43 # C key
$R_Key_D = 0x44 # D key
$R_Key_E = 0x45 # E key
$R_Key_F = 0x46 # F key
$R_Key_G = 0x47 # G key
$R_Key_H = 0x48 # H key
$R_Key_I = 0x49 # I key
$R_Key_J = 0x4A # J key
$R_Key_K = 0x4B # K key
$R_Key_L = 0x4C # L key
$R_Key_M = 0x4D # M key
$R_Key_N = 0x4E # N key
$R_Key_O = 0x4F # O key
$R_Key_P = 0x50 # P key
$R_Key_Q = 0x51 # Q key
$R_Key_R = 0x52 # R key
$R_Key_S = 0x53 # S key
$R_Key_T = 0x54 # T key
$R_Key_U = 0x55 # U key
$R_Key_V = 0x56 # V key
$R_Key_W = 0x57 # W key
$R_Key_X = 0x58 # X key
$R_Key_Y = 0x59 # Y key
$R_Key_Z = 0x5A # Z key
#--------------------------------------------------------------------------
$R_Key_LWIN = 0x5B # Left Windows key (Microsoft Natural keyboard)
$R_Key_RWIN = 0x5C # Right Windows key (Natural keyboard)
$R_Key_APPS = 0x5D # Applications key (Natural keyboard)
#--------------------------------------------------------------------------
$R_Key_NUMPAD0 = 0x60 # Numeric keypad 0 key
$R_Key_NUMPAD1 = 0x61 # Numeric keypad 1 key
$R_Key_NUMPAD2 = 0x62 # Numeric keypad 2 key
$R_Key_NUMPAD3 = 0x63 # Numeric keypad 3 key
$R_Key_NUMPAD4 = 0x64 # Numeric keypad 4 key
$R_Key_NUMPAD5 = 0x65 # Numeric keypad 5 key
$R_Key_NUMPAD6 = 0x66 # Numeric keypad 6 key
$R_Key_NUMPAD7 = 0x67 # Numeric keypad 7 key
$R_Key_NUMPAD8 = 0x68 # Numeric keypad 8 key
$R_Key_NUMPAD9 = 0x69 # Numeric keypad 9 key
$R_Key_MULTIPLY = 0x6A # Multiply key (*)
$R_Key_ADD = 0x6B # Add key (+)
$R_Key_SEPARATOR = 0x6C # Separator key
$R_Key_SUBTRACT = 0x6D # Subtract key (-)
$R_Key_DECIMAL = 0x6E # Decimal key
$R_Key_DIVIDE = 0x6F # Divide key (/)
#--------------------------------------------------------------------------
$R_Key_F1 = 0x70 # F1 key
$R_Key_F2 = 0x71 # F2 key
$R_Key_F3 = 0x72 # F3 key
$R_Key_F4 = 0x73 # F4 key
$R_Key_F5 = 0x74 # F5 key
$R_Key_F6 = 0x75 # F6 key
$R_Key_F7 = 0x76 # F7 key
$R_Key_F8 = 0x77 # F8 key
$R_Key_F9 = 0x78 # F9 key
$R_Key_F10 = 0x79 # F10 key
$R_Key_F11 = 0x7A # F11 key
$R_Key_F12 = 0x7B # F12 key
#--------------------------------------------------------------------------
$R_Key_NUMLOCK = 0x90 # NUM LOCK key
$R_Key_SCROLL = 0x91 # SCROLL LOCK key
#--------------------------------------------------------------------------
$R_Key_LSHIFT = 0xA0 # Left SHIFT key
$R_Key_RSHIFT = 0xA1 # Right SHIFT key
$R_Key_LCONTROL = 0xA2 # Left CONTROL key
$R_Key_RCONTROL = 0xA3 # Right CONTROL key
$R_Key_L_ALT = 0xA4 # Left ALT key
$R_Key_R_ALT = 0xA5 # Right ALT key
#--------------------------------------------------------------------------
$R_Key_SEP = 0xBC # , key
$R_Key_DASH = 0xBD # - key
$R_Key_DOTT = 0xBE # . key
#--------------------------------------------------------------------------
GetKeyState = Win32API.new("user32","GetAsyncKeyState",['i'],'i')
GetKeyboardState = Win32API.new("user32","GetKeyState",['i'],'i')
GetSetKeyState = Win32API.new("user32","SetKeyboardState",['i'],'i')
#--------------------------------------------------------------------------
module_function
#--------------------------------------------------------------------------
def keyb(rkey)
if GetKeyState.call(rkey) != 0
return 1
end
return 0
end
#--------------------------------------------------------------------------
def keyboard(rkey)
GetKeyState.call(rkey) & 0x01 == 1 #
end
#--------------------------------------------------------------------------
def key(rkey, key = 0)
GetKeyboardState.call(rkey) & 0x01 == key #
end
end |
Si quelqu'un a une idée de ce qu'il faudrait vérifier, ce serait sympa. Sinon, j'ai encore un peu modifié la page du script de TLN (j'avais rassemblé les trois scripts en un seul), c'est toujours ça de pris.
En recopiant le code de Cantarelle sur les portions nettoyées, ça donne :
wrong number of argument (3 for 4)...
|
Cantarelle -
posté le 12/07/2020 à 14:03:37 (1530 messages postés)
| Makeuse tarée et Agent du FBI... | Ce qui est normal que tu ais l'erreur (je n'ai plus (enfin, n'utilise plus du tout) RM), puisque la fonction que tu appelles demande 4 paramètres. Sauf qu'avec ce que j'ai mis en haut, il n'y a que trois, d'où l'erreur...
Donc, au lieu de ça :
1
2
3
4
5
|
GetKeyState = Win32API.new("user32", "GetAsyncKeyState", ['i target="_blank">','i'])
GetKeyboardState = Win32API.new("user32", "GetKeyState", ['i target="_blank">','i'])
GetSetKeyState = Win32API.new("user32", "SetKeyboardState", ['i target="_blank">','i'])
|
C'est ça :
1
2
3
4
5
6
|
GetKeyState = Win32API.new("user32", "GetAsyncKeyState", ['i target="_blank">'],'i')
GetKeyboardState = Win32API.new("user32", "GetKeyState", ['i target="_blank">'],'i')
GetSetKeyState = Win32API.new("user32", "SetKeyboardState", ['i target="_blank">'],'i')
|
Sauf erreur de ma part, RM n'est pas sensible aux lignes. Pas contre, il est sensible à la casse (la façon dont tu écris)
Edit : Bon, j'ai réinstallé RM XP et j'ai corrigé directement...
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
#==========================================
#
# Keyboard Script v3 created by: cybersam
#
# its a small update...
# this have a script in it that allows you to insert a text with the keyboard
# inside the game... scroll down the script lit and you'll see it ^-^
# there is a new event on the map that shows you how it works...
# you can use the variables and command in the event in a script as well
# since it works with "call script"
# now then... have fun with it ^-^
#
#==============================================
#
# hi guys.... it me again... ^-^
#
# now... this script is for more keys to press...
# anyone you like...
#
# mostly all keys are added...
#
# this version is now as module and easier to add to every script and
# every event...
#
# here is nothing you need to change...
# only if you want to add more keys...
# add them in separate block below the last block
# so you wont get confused... ^-^
# for the mouse is now only 5 buttons...
# if you want more buttons couse your mouse have more...
# then you'll have to wait till microsoft update there stuff... ^-^
#
# i'll try to make the mouse-wheel work...
# i cant promess anything... ^-^
#
# till next update you cann add more stuff or just use it as it is atm...
#
# in the next release will be hopefully the mouse-wheel (not sure though)
# and the joy-stick/pad buttons...
# but before that i'll have to reasearch a little about that... ^-^
#==============================================
module Kboard
$RMouse_BUTTON_L = 0x01 # left mouse button
$RMouse_BUTTON_R = 0x02 # right mouse button
$RMouse_BUTTON_M = 0x04 # middle mouse button
$RMouse_BUTTON_4 = 0x05 # 4th mouse button # only tested with win2k with a logitech mouse (MX900)
$RMouse_BUTTON_5 = 0x06 # 5th mouse button # only tested with win2k with a logitech mouse (MX900)
$R_Key_BACK = 0x08 # BACKSPACE key
$R_Key_TAB = 0x09 # TAB key
$R_Key_RETURN = 0x0D # ENTER key
$R_Key_SHIFT = 0x10 # SHIFT key
$R_Key_PAUSE = 0x13 # PAUSE key
$R_Key_CAPITAL = 0x14 # CAPS LOCK key
$R_Key_ESCAPE = 0x1B # ESC key
$R_Key_SPACE = 0x20 # SPACEBAR
$R_Key_PRIOR = 0x21 # PAGE UP key
$R_Key_NEXT = 0x22 # PAGE DOWN key
$R_Key_END = 0x23 # END key
$R_Key_HOME = 0x24 # HOME key
$R_Key_LEFT = 0x25 # LEFT ARROW key
$R_Key_UP = 0x26 # UP ARROW key
$R_Key_RIGHT = 0x27 # RIGHT ARROW key
$R_Key_DOWN = 0x28 # DOWN ARROW key
$R_Key_SELECT = 0x29 # SELECT key
$R_Key_PRINT = 0x2A # PRINT key
$R_Key_SNAPSHOT = 0x2C # PRINT SCREEN key
$R_Key_INSERT = 0x2D # INS key
$R_Key_DELETE = 0x2E # DEL key
$R_Key_0 = 0x30 # 0 key
$R_Key_1 = 0x31 # 1 key
$R_Key_2 = 0x32 # 2 key
$R_Key_3 = 0x33 # 3 key
$R_Key_4 = 0x34 # 4 key
$R_Key_5 = 0x35 # 5 key
$R_Key_6 = 0x36 # 6 key
$R_Key_7 = 0x37 # 7 key
$R_Key_8 = 0x38 # 8 key
$R_Key_9 = 0x39 # 9 key
$R_Key_A = 0x41 # A key
$R_Key_B = 0x42 # B key
$R_Key_C = 0x43 # C key
$R_Key_D = 0x44 # D key
$R_Key_E = 0x45 # E key
$R_Key_F = 0x46 # F key
$R_Key_G = 0x47 # G key
$R_Key_H = 0x48 # H key
$R_Key_I = 0x49 # I key
$R_Key_J = 0x4A # J key
$R_Key_K = 0x4B # K key
$R_Key_L = 0x4C # L key
$R_Key_M = 0x4D # M key
$R_Key_N = 0x4E # N key
$R_Key_O = 0x4F # O key
$R_Key_P = 0x50 # P key
$R_Key_Q = 0x51 # Q key
$R_Key_R = 0x52 # R key
$R_Key_S = 0x53 # S key
$R_Key_T = 0x54 # T key
$R_Key_U = 0x55 # U key
$R_Key_V = 0x56 # V key
$R_Key_W = 0x57 # W key
$R_Key_X = 0x58 # X key
$R_Key_Y = 0x59 # Y key
$R_Key_Z = 0x5A # Z key
$R_Key_LWIN = 0x5B # Left Windows key (Microsoft Natural keyboard)
$R_Key_RWIN = 0x5C # Right Windows key (Natural keyboard)
$R_Key_APPS = 0x5D # Applications key (Natural keyboard)
$R_Key_NUMPAD0 = 0x60 # Numeric keypad 0 key
$R_Key_NUMPAD1 = 0x61 # Numeric keypad 1 key
$R_Key_NUMPAD2 = 0x62 # Numeric keypad 2 key
$R_Key_NUMPAD3 = 0x63 # Numeric keypad 3 key
$R_Key_NUMPAD4 = 0x64 # Numeric keypad 4 key
$R_Key_NUMPAD5 = 0x65 # Numeric keypad 5 key
$R_Key_NUMPAD6 = 0x66 # Numeric keypad 6 key
$R_Key_NUMPAD7 = 0x67 # Numeric keypad 7 key
$R_Key_NUMPAD8 = 0x68 # Numeric keypad 8 key
$R_Key_NUMPAD9 = 0x69 # Numeric keypad 9 key
$R_Key_MULTIPLY = 0x6A # Multiply key (*)
$R_Key_ADD = 0x6B # Add key (+)
$R_Key_SEPARATOR = 0x6C # Separator key
$R_Key_SUBTRACT = 0x6D # Subtract key (-)
$R_Key_DECIMAL = 0x6E # Decimal key
$R_Key_DIVIDE = 0x6F # Divide key (/)
$R_Key_F1 = 0x70 # F1 key
$R_Key_F2 = 0x71 # F2 key
$R_Key_F3 = 0x72 # F3 key
$R_Key_F4 = 0x73 # F4 key
$R_Key_F5 = 0x74 # F5 key
$R_Key_F6 = 0x75 # F6 key
$R_Key_F7 = 0x76 # F7 key
$R_Key_F8 = 0x77 # F8 key
$R_Key_F9 = 0x78 # F9 key
$R_Key_F10 = 0x79 # F10 key
$R_Key_F11 = 0x7A # F11 key
$R_Key_F12 = 0x7B # F12 key
$R_Key_NUMLOCK = 0x90 # NUM LOCK key
$R_Key_SCROLL = 0x91 # SCROLL LOCK key
$R_Key_LSHIFT = 0xA0 # Left SHIFT key
$R_Key_RSHIFT = 0xA1 # Right SHIFT key
$R_Key_LCONTROL = 0xA2 # Left CONTROL key
$R_Key_RCONTROL = 0xA3 # Right CONTROL key
$R_Key_L_ALT = 0xA4 # Left ALT key
$R_Key_R_ALT = 0xA5 # Right ALT key
$R_Key_SEP = 0xBC # , key
$R_Key_DASH = 0xBD # - key
$R_Key_DOTT = 0xBE # . key
GetKeyState = Win32API.new("user32", "GetAsyncKeyState", ['i target="_blank">'],'i')
GetKeyboardState = Win32API.new("user32", "GetKeyState", ['i target="_blank">'],'i')
GetSetKeyState = Win32API.new("user32", "SetKeyboardState", ['i target="_blank">'],'i')
module_function
def keyboard(rkey)
GetKeyState.call(rkey) & 0x01 == 1 #
end
def key(rkey, key = 0)
GetKeyboardState.call(rkey) & 0x01 == key #
end
end
|
Ce qu'il y a en bas est bien ma deuxième version. Ça fonctionne dans un projet vierge.
Temps de la correction : 1 minute
Temps de l'installation : Aucune idée...
|
Makeuse à la crosse de street-hockey. Livestream. |
Gari -
posté le 12/07/2020 à 15:38:50 (5901 messages postés)
- | | Merci !Bon en fait j'avais un problème avec le projet (il était presque vierge), j'avais dû modifier un script avec, et ça changeait rien à l'erreur globale. Sur projet vierge c'est effectivement beaucoup mieux ^^'.
|
xvw -
posté le 13/07/2020 à 00:00:35 (736 messages postés)
- | yo |
1
2
3
4
| GetKeyState = Win32API.new("user32", "GetAsyncKeyState", ['i target="_blank">'],'i')
GetKeyboardState = Win32API.new("user32", "GetKeyState", ['i target="_blank">'],'i')
GetSetKeyState = Win32API.new("user32", "SetKeyboardState", ['i target="_blank">'],'i')
|
@Cantarelle, tu es sur de toi là :P ?
|
https://xvw.lol |
cantarelle -
posté le 13/07/2020 à 02:49:02 (1530 messages postés)
| Makeuse tarée et Agent du FBI... | Citation:
Ça dépend sur quoi.
La syntaxe, j'en suis sûre. Que ce soit au niveau de la doc (exemple de demande sur SO) que dans les résiduels des scripts que j'utilisais (fait par Avy. Par exemple, l'Advanced Input) :
1
| GetKeyboardState = Win32API.new("user32", "GetKeyboardState", ['p'], 'i') |
De plus l'erreur mentionnée par Gari était sur une erreur syntaxique (par rapport au truc de TLN), ce que je n'ai que corrigé sur ce point.
Par contre, ce que j'ai trouvé étrange, mais que j'ai décidé de m'en abstenir car je ne voulais pas m'en soucier plus que ça (surtout pour un logiciel que je n'utiliserai plus du tout), c'est d'avoir :
dans le champ pour l'importation...
Il n'a pas été demandé de corriger cette anomalie. Et d'ailleurs, je ne l'ai même pas fait fonctionner. Je n'ai fait que vérifier qu'il n'y avait plus d'erreur de lancement...
Ce qui était, en soit, demandé par Gari.
...
Cependant, après réflexion, c'est la balise code d'Oniro qui a pourri le code d'origine, car il faut la liste des types des paramètres de la fonction (d'où le []).
p est pour pointeur.
i est pour int ou unsigned int....
Et pour moi, vu comment il est foutu, ce serait i (à vérifier, j'ai la flemme, je n'utilise plus XP et vu l'heure, je devrai aller me coucher)
Du coup, au lieu de :
1
2
3
4
5
|
GetKeyState = Win32API.new("user32", "GetAsyncKeyState", ['i target="_blank">'],'i')
GetKeyboardState = Win32API.new("user32", "GetKeyState", ['i target="_blank">'],'i')
GetSetKeyState = Win32API.new("user32", "SetKeyboardState", ['i target="_blank">'],'i')
|
Ce serait :
1
2
3
4
5
|
GetKeyState = Win32API.new("user32", "GetAsyncKeyState", ['i'],'i')
GetKeyboardState = Win32API.new("user32", "GetKeyState", ['i'],'i')
GetSetKeyState = Win32API.new("user32", "SetKeyboardState", ['i'],'i')
|
|
Makeuse à la crosse de street-hockey. Livestream. |
xvw -
posté le 13/07/2020 à 03:05:22 (736 messages postés)
- | yo | Mieux
Merci.
|
https://xvw.lol |
Gari -
posté le 13/07/2020 à 09:45:45 (5901 messages postés)
- | | OK donc en fait il suffisait de copier-coller les trois lignes du script de Dubealex/cybersam.
Après pour ce qui est de ce que je demande, je suis pas scripteur. Donc même si ça me semblait boîteux, ça restait de l'ordre de l'intuition.
Par contre c'est plus embêtant cette histoire des balises html dans le code, surtout qu'elles sont incomplètes. En gros quelqu'un a dû commencer à corriger les erreurs de smileys, et a dû oublier un bout...
Plus qu'à refaire le tour des scripts... Voilà, fait. Deux autres scripts avaient le souci, sur les 100 premiers reformatés.
Merci à vous deux.
|
xvw -
posté le 13/07/2020 à 11:11:06 (736 messages postés)
- | yo | De toute manière, je pense que la meilleure amélioration d'Oniromancie a moyen terme, ce serait de supprimer cette section "Scripts".
|
https://xvw.lol |
Gari -
posté le 13/07/2020 à 11:42:28 (5901 messages postés)
- | | Rien que ça ^^'
Parce que c'est pas à jour, d'autres sites sont plus à jour, ou quelque chose d'autre ?
Tu peux toujours lancer ça dans les suggestions, mais sans raison ça risque de ne pas fonctionner). Le principal problème que je vois c'est que ça a été pioché à droite à gauche, ce qui fait que ces scripts sont pour la plupart non compatibles entre eux, et non supportés (ou rarement).
En tout cas je pense que si tu le sors comme ça, tu vas recevoir des marrons
La politique de suppression ça m'irait pour repartir à neuf et ce serait pratique (plus à corriger des présentations de scripts qui ne fonctionnent peut-être même pas). Mais il faut que ce soit bien argumenté pour convaincre Nonor. Ca a déjà pris 6 bons mois pour convaincre Nonor de supprimer les hébergés, qui ne servaient à rien. Pour les scripts, je pense que "ça sert à rien" ne fonctionnera pas.
Quant à moi, je ne fais qu'archiver/améliorer la mise en page. Même si je comprends qu'il soit plus utile d'expliquer comment faire que copier-coller, certains makers ne veulent pas trop toucher à cet aspect. Et ceux qui proposent des scripts ne sont pas forcément les scripteurs, donc pas sûr que ce soient ceux qui comprennent le mieux ce qu'ils soumettent.
Il y a peut-être quelque chose que je vois pas dans les problèmes liés aux scripts.
|
Gari -
posté le 19/10/2020 à 11:56:41 (5901 messages postés)
- | | Logiciel : RPG Maker XP
Domaine : outil d'aide aux développeurs
Bonjour,
De nouveau dans les tris de scripts, et j'ai ces deux scripts qui me paraissent assez similaires (par Fenryo) :
https://www.rpg-maker.fr/index.php?page=scripts&id=171
https://www.rpg-maker.fr/index.php?page=scripts&id=246 (plus récent)
J'aimerais savoir si le premier est bien une variante moins aboutie du deuxième ? Et si c'est le cas, est-ce que cette première version reste intéressante, ou si la deuxième sera dans tous les cas meilleure ?
[Résolu] Les deux scripts ne font pas les mêmes choses.
|
xvw -
posté le 19/10/2020 à 12:27:48 (736 messages postés)
- | yo | Non, les deux scripts partagent peut être des choses mais ils sont différent (et ne servent pas les mêmes objectifs).
|
https://xvw.lol |
Gari -
posté le 19/10/2020 à 12:39:57 (5901 messages postés)
- | | Merci. J'avais l'impression que la classe CSS du script 171 était une variante du premier script pas de Zeus dans le script 246, mais j'avais un doute vu qu'ils ne sont pas identiques.
Je tente à tout hasard car ça doit pas être trop compliqué à corriger...
Logiciel : VX Ace
Type de demande : report de bug
Lien : https://www.rpg-maker.fr/index.php?page=scripts&id=453&deb=fin#fin
DadaBillo a dit: Lorsqu'on entre dans la zone, tout est parfait. L'intro se lance puis fait place à la boucle. Jusque là, tout va bien. Mais lorsque je rentre dans une autre zone (en occurrence une maison ) la boucle continue, ce qui est parfait vu que je n'ai pas défini de BGM pour cette zone et quand j'en ressors... L'intro se relance. Puis, une fois l'intro finie, la boucle reprend là où elle s'était interrompue. |
En gros, je crois qu'il faudrait que la musique boucle si elle est déjà en cours, à moins qu'un script de type "continuer la bgm si la bgm est identique sur deux maps" existe (cette incohérence existe encore sur XP+ ?).
Le script à modifier en question :
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
| #==============================================================================
# ** Loop_Music Version 1.1 --- Par Catskart
# Permet de boucler les musiques, pour cela, créez un dossier "BGM_Intro" sans
# le dossier audio.
# Le fichier doit avoir le même nom que celui de votre BGM.
# Si il n'y a pas de musique du même nom dans le dossier "BGM_Intro", alors
# le jeu va lancer directement la boucle.
#==============================================================================
class Game_System
def bgm_play(bgm)
@playing_bgm = bgm
if bgm != nil and bgm.name != ""
if Audio.bgm_stop
Audio.bgm_play("Audio/BGM/" + bgm.name, bgm.volume, bgm.pitch)
else
if !Dir["Audio/BGM_Intro/#{bgm.name}.*"].empty?
Audio.me_play("Audio/BGM_Intro/" + bgm.name, bgm.volume, bgm.pitch)
Audio.bgm_play("Audio/BGM/" + bgm.name, bgm.volume, bgm.pitch)
else
Audio.bgm_play("Audio/BGM/" + bgm.name, bgm.volume, bgm.pitch)
end
end
else
Audio.me_stop
Audio.bgm_stop
end
Graphics.frame_reset
end
end |
Désolé --'
|
| Chanter l'hyperchleuasme | Je dirais qu'il faut d'abord s'enquérir du bgm qui jouait auparavant :
1
2
3
| def bgm_play(bgm)
previous_bgm = @playing_bgm
@playing_bgm = bgm |
Et puis ne jouer l'intro que si le nom du bgm a changé :
1
2
| if !Dir["Audio/BGM_Intro/#{bgm.name}.*"].empty? and bgm != previous_bgm
... |
Ou quelque chose comme ça
|
Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte |
Gari -
posté le 05/11/2020 à 10:56:56 (5901 messages postés)
- | | J'avais complètement oublié ça... Je vais le reposter comme début de solution en message, et je verrais si j'ai le courage de tester les changements (probablement pas).
Logiciel : RPG Maker XP
Domaine : démêler tout ça
Autre question : http://www.rpg-maker.fr/index.php?page=scripts&id=36
J'ai cette liste de snippets par Krazplay, que j'ai englobé en 3 grands scripts (mais ils sont 24).
Le problème que j'ai est de savoir exactement ce qu'ils sont sensés faire : le premier groupe présente des patchs de compatibilité avec d'autres scripts, qu'on n'a pas (forge). Je n'ai pas compris ce que signifiait exactement "dériver" dans le troisième snippet, ni ce à quoi il faisait référence en terme de script (Krazplay a fait un script Rapport de combat, mais ça a l'air de toucher aux compétences.
Pour les deuxième et troisième corpus, les scripts ne sont pas de lui à la base, il les a juste rassemblés, un peu traduits et peut-être modifiés. Il reste quelques traces d'un site avec la librairie 9 (non incluse ici) : https://translate.google.fr/translate?hl=fr&sl=ja&tl=fr&u=http%3A%2F%2Ftrebor777.free.fr%2Fwaterybuild%2FRPGXP_XRXS9.htm (traduit du japonais). A priori, le script d'origine serait de Mazaru Sakura, Kazesui et RaTTiE.
En gros le 2 = des librairies modifiant Game_Battler, Window_Command, Bitmap, Sprite_Number, Scene_Equip + des modules avec ses propres méthodes. Je capte pas ce que ça fait.
Le 3 est mieux expliqué, il permet de donner des niveaux aux armes. Je serais à priori pour lui faire sa fiche à part, ne serait ce que pour pouvoir le trouver plus facilement. Mais j'ai un peu peur qu'il faille certaines librairies précédentes pour le faire fonctionner.
|
Gari -
posté le 10/11/2020 à 16:39:32 (5901 messages postés)
- | | Etat de la progression des corrections/mises à jour, etc : lettre G.
Logiciel : RPG Maker XP
Type de demande : vérification
J'ai ajouté une explication pour chaque terme définissable de ce script, j'aimerais savoir si c'est correctement défini (je suis pas certain pour origin, et il me manque globalement les valeurs, même si je suppose que ça se retrouve dans les scripts de base...)
Ca irait bien évidemment un poil plus vite si quelqu'un pouvait donner ces infos, même s'il s'agit avant tout de vérifier que je ne dise pas une bourde.
|
| Chanter l'hyperchleuasme | Oui c'est ça.
En général, dans les menus de RPG Maker XP, quand il y a plusieurs choix, la valeur est le numéro du bouton radio coché.
Donc 0, 1, 2, 3...
Z c'est pas seulement l'id de l'image, mais aussi l'altitude de superposition : l'image 2 sera affichée par dessus l'image 1.
|
Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte |
Gari -
posté le 11/11/2020 à 13:52:32 (5901 messages postés)
- | | OK, je regarderai sur XP pour les numéros.
Pour z, je vais le rajouter (même si ça me paraît assez évident).
Logiciel : RPG Maker VX
Domaine : mauvais ordre de changement des acteurs
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
116
117
118
119
120
121
122
123
124
125
126
| # *** Kingdom Fantasy V HUD
# ** Version - 1.0 RMVX
# * Done: 2-4-2008
#----------------------------------------------------------------------------#
# Créé par Inconnu, modifié par Aukill
#
#* Description - HUD qui montre les HP/MP, status et nom du 1er personage dans l'equipe
# et non de l'acteur ID 1 comme la plupart des HUD.
#
# * Placer le script au dessus du script Main.
#
# Position du HUD: 0; Haut gauche 1; Haut droite 2; Bas gauche 3; Bas droite
#============================================================================#
LUGAR = 3 # Position des barres >*<
HUD_BAR_HP = true # Montrer barre HP
HUD_BAR_MP = true # Montrer Barre MP
HUD_BAR_EP = false # Montrer barre EXP
ON_OFF_SWITCH = 4 # Numéros interrupteur
#============================================================================#
# ** Window_HUD
# - Montre les infos dans le map
#============================================================================#
class Window_HUD < Window_Base
#--------------------------------------------------------------------------#
# * Metodo Initialize
#--------------------------------------------------------------------------#
def initialize
super(0, 0, 280, 160)
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = 0
refresh
end
#--------------------------------------------------------------------------#
# * Refresh
#--------------------------------------------------------------------------#
def refresh
self.contents.clear
@item_max = $game_party.members.size
for i in 0...@item_max
draw_item(i)
end
end
def draw_item(index)
self.contents.clear
self.contents.font.color = normal_color
actor = $game_party.members[index]
draw_actor_name(actor, 0, 25)
draw_actor_state(actor, 0, 55)
draw_actor_hp(actor, 0, 75)
draw_actor_mp(actor, 0, 90)
end
end
#============================================================================#
# ** Scene_Map alias
# - alias a Scene_Map avec les methode HUD
#============================================================================#
class Scene_Map
alias hud_main main
alias hud_update update
alias hud_terminate terminate
#--------------------------------------------------------------------------#
# * Metodo Principal
#--------------------------------------------------------------------------#
def main
@hud = Window_HUD.new
case LUGAR
when 0
@hud.y = 0
@hud.x = 0
when 1
@hud.y = 280
@hud.x = 0
when 2
@hud.y = 0
@hud.x = 340
when 3
@hud.y = 280
@hud.x = 340
end
@hud.visible = false
hud_main
end
#--------------------------------------------------------------------------#
# * Update
#--------------------------------------------------------------------------#
def update
if $game_switches[ON_OFF_SWITCH] == true
@hud.visible = true
$game_map.refresh
else
@hud.visible = false
$game_map.refresh
end
if $game_switches[ON_OFF_SWITCH] == true
if $game_actors[1].hp != @lalalah and HUD_BAR_HP == true
@hud.refresh
@lalalah = $game_actors[1].hp
@hud.update
end
if $game_actors[1].mp != @lalalas and HUD_BAR_MP == true
@hud.refresh
@lalalas = $game_actors[1].mp
@hud.update
end
if $game_actors[1].exp != @lalalae and HUD_BAR_EP == false
@hud.refresh
@lalalae = $game_actors[1].exp
@hud.update
end
end
hud_update
end
#--------------------------------------------------------------------------#
# * Terminate
#--------------------------------------------------------------------------#
def terminate
@hud.dispose
hud_terminate
end
end |
En cherchant l'auteur (le vrai) de ce script, j'ai été amené à le tester pour voir l'affichage.
Il fonctionne (= il ne crash pas), par contre il affiche le dernier membre de l'équipe au lieu du premier :/
J'ai essayé en remplaçant les 1 par 0 (crash) et 4 (rien ne se passe), quelqu'un saurait dire comment utiliser $game.actors[] ?
(à priori, lalala est là pour vérifier que le contenu des stats est différent pour éviter que le script ne soit tout le temps mis à jour => lag).
|
| Chanter l'hyperchleuasme | Si 1 affiche le dernier au lieu du premier (lol) essaie de mettre -1 (qui affiche normalement le dernier) et peut-être que ça affichera le premier
|
Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte |
Gari -
posté le 12/11/2020 à 10:17:45 (5901 messages postés)
- | | RIP, ça affiche aussi le dernier membre
Voici la portion de code qui semble gérer spécifiquement ça dans le script :
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
| def update
if $game_switches[ON_OFF_SWITCH] == true
@hud.visible = true
$game_map.refresh
else
@hud.visible = false
$game_map.refresh
end
if $game_switches[ON_OFF_SWITCH] == true
if $game_actors[1].hp != @lalalah and HUD_BAR_HP == true
@hud.refresh
@lalalah = $game_actors[1].hp
@hud.update
end
if $game_actors[1].mp != @lalalas and HUD_BAR_MP == true
@hud.refresh
@lalalas = $game_actors[1].mp
@hud.update
end
if $game_actors[1].exp != @lalalae and HUD_BAR_EP == false
@hud.refresh
@lalalae = $game_actors[1].exp
@hud.update
end
end
hud_update
end |
Et au cas où, les deux portions dans le script de base qui le définissent (même si j'ai pas connaissance qu'il y ait un bug pour ce point là, mais il y en a tellement...)
Game_Actors
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
| #==============================================================================
# ** Game_Actors
#------------------------------------------------------------------------------
# This class handles the actor array. The instance of this class is
# referenced by $game_actors.
#==============================================================================
class Game_Actors
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
@data = []
end
#--------------------------------------------------------------------------
# * Get Actor
# actor_id : actor ID
#--------------------------------------------------------------------------
def [](actor_id)
if @data[actor_id] == nil and $data_actors[actor_id] != nil
@data[actor_id] = Game_Actor.new(actor_id)
end
return @data[actor_id]
end
end |
Et le bout de Game_Party, avec l'exemple pour le nom d'un membre :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| #--------------------------------------------------------------------------
# * Initial Party Setup
#--------------------------------------------------------------------------
def setup_starting_members
@actors = []
for i in $data_system.party_members
@actors.push(i)
end
end
#--------------------------------------------------------------------------
# * Get Party Name
# If there is only one, returns the actor's name. If there are more,
# returns "XX's Party".
#--------------------------------------------------------------------------
def name
if @actors.size == 0
return ''
elsif @actors.size == 1
return members[0].name
else
return sprintf(Vocab::PartyName, members[0].name)
end
end |
|
| Chanter l'hyperchleuasme | Tu remplaces bien le 1 dans absolument tous les $game_actors[1] ?
La description du script semble faire une distinction importante entre le premier personnage de l'équipe et l'acteur n°1. Cela signifie que si on a trois acteurs (Alice, Bob et Charlie), qu'on commence le jeu avec Alice, qu'on ajoute Bob à l'équipe, puis qu'on retire Alice, Bob devient le premier personnage de l'équipe (alors qu'il est l'acteur n°2).
Il faut jouer avec les commandes ajouter/retirer un acteur dans l'équipe. C'est bien ce que tu fais ?
Combien de personnages as-tu défini pour faire tes expérimentations ?
|
Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte |
Gari -
posté le 12/11/2020 à 11:52:23 (5901 messages postés)
- | | Oui, j'avais bien tout remplacé.
Je viens de tester de changer l'acteur, et il s'agit bien du dernier personnage dans l'équipe. Mais c'est naze, car sauf à avoir un seul perso, le HUD n'est jamais adapté au sprite. Donc là juste le script fait pas ce qu'il est sensé faire.
En plus j'avais pas vu, mais il ne se raffraîchit pas automatiquement quand on change de personnage (donc il faut un $scene = Scene_Map.new).
Je réessaye avec -1, vu que le refresh fonctionne. => non, c'est bien le dernier membre qui pointe au chômage.
|
Gari -
posté le 12/11/2020 à 18:03:10 (5901 messages postés)
- | |
Logiciel : RPG Maker XP
Source : http://www.rpg-maker.fr/index.php?page=scripts&id=51
En voulant prendre un screen du rendu de ce script, je suis tombé sur cette erreur :
- le jeu se lance bien (écran titre + nouveau jeu)
Par contre en appuyant sur Echap pour voir le menu :
"Line 15 Type Error occurred.
No implicit conversion from nil to integer"
La ligne en question :
1
| self.contents.font.size = $fontsize |
|
| Chanter l'hyperchleuasme | $fontsize est nul car il n'a pas encore été défini.
Tu peux rajouter
juste au dessus.
Mais c'est un peu bête, je suppose que s'il a utilisé une variable c'est que ça doit servir à quelque chose...
D'ailleurs $fontface aura sans doute le même soucis. Tu devras sans doute mettre un nom de police dedans, genre "Arial"...
|
Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte | Aller à la page 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 73Index du forum > Entraide > [Scripts] Petites questions connes sur les SCRIPTS!!
|