Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Jeux: puie z / Jeux: Citymaime - Chapitre 1 / Jeux: Mer, îles et fous / News: Du neuf dans le making / News: Muma|Rope est disponible en (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

498 connectés actuellement

30732472 visiteurs
depuis l'ouverture

2451 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Hellsoft

Lunae - le bazar d'Emz0

Tashiroworld

Planète Glutko

Tous nos partenaires

Devenir
partenaire



Messages postés par Gari
Nombre de messages référencés sur Oniromancie (non supprimés): 5915

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 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

Posté dans Screen de la semaine - La tour planaire, Prologue

Gari - posté le 08/04/2020 à 11:28:30. (5901 messages postés) -

Je trouve que c'est mieux (et je crois que ça ira avec le reste de ta palette rose), mais c'est qu'un avis personnel.

Posté dans Forum - Vos jeux vidéo du moment

Gari - posté le 07/04/2020 à 16:38:01. (5901 messages postés) -

Il a quand même sorti des mises à jour pour son jeu (en mode commercial) pendant sept ans environ (d'après le blog, mais je sais pas s'il a tenu le rythme qu'il évoquait en terme de sorties de versions), c'est pas rien.

Après c'est normal aussi de vouloir grailler :)

Posté dans Forum - [RMMV] Comment appeler une fonction ?

Gari - posté le 07/04/2020 à 16:32:51. (5901 messages postés) -

Je suis pas sûr que ça t'aide beaucoup, mais il est évoqué dans ce topic que tu peux avoir besoin d'éditer quelques points dans le Plugin Manager : https://forums.rpgmakerweb.com/index.php?threads/how-to-call-a-self-made-plugin-from-the-script-tool.69064/

Posté dans Forum - [Translator++] Erreur pour un nouveau projet

Gari - posté le 07/04/2020 à 16:10:42. (5901 messages postés) -

Je ne veux pas exactement traduire un jeu, mais effectuer des corrections (comme ce que j'ai fait pour Pourquoi Moi et A la croisée des chemins, le dernier était juste suffisamment court pour que je fasse les corrections manuellement).

J'ai déjà contacté King Kadelfek.

Il m'a parlé de deux solutions possibles, mais je pense que l'une d'elles l'obligerait à recoder. Je pense qu'il voudrait s'assurer d'abord que ça vaille le coup (aka il n'existe rien d'autre) avant de commencer quoi que ce soit.

J'ai fait mes recherches, et en enlevant les outils d'auto traduction (beurk), il existe ce type d'outils pour XP/VX/Ace (je crois qu'il existe des plugins fonctionnels pour MV, et l'outil pour RM2000/2003 fonctionne encore) :
_ des scripts pour exporter les messages du jeu
_ RPG Maker Trans, qui fonctionne sur certains jeux et n'est pas user friendly.
_ et Translator++, qui n'est peut-être pas compatible avec tous les supports.

Vu que l'option facile n'a pas été trouvée, je vais essayer l'option annexe, qui n'a pas de raison de ne pas fonctionner, si ce n'est ma propre incompétence en informatique ^^'

Merci RotS en tout cas.

Posté dans Forum - Topic général des draps... des ébats

Gari - posté le 07/04/2020 à 15:52:37. (5901 messages postés) -

Citation:

Oui Mr, désolé monsieur, ça ne se reproduira pas monsieur :triste2


Ca c'était pour moi Nova :rit2

Bon, vous recommencez à vous taper dessus. Si il y a un pèt de travers, vos têtes sautent. ^^

Posté dans Forum - [Translator++] Erreur pour un nouveau projet

Gari - posté le 07/04/2020 à 15:31:24. (5901 messages postés) -

Je suis sur Windows 10.

J'ai lu l'ensemble, et ils parlent du jeu qui pourrait être la cause. Sauf que j'essaye sur un jeu décrypté. J'avais également essayé sur un autre jeu pour lequel un autre logiciel avait fonctionné. Le cmd s'était lancé, mais il y avait quand même le message d'erreur. Je vais réessayer pour vérifier après avoir appliqué les derniers changements.

EDIT : Bon bah rien à faire, je viens d'essayer sur une dizaine de jeux différents et le problème reste le même. Je vais essayer d'en décrypter quelques uns mais je n'y crois pas trop :/

Plus qu'à trouver une autre solution.

Posté dans Forum - [Translator++] Erreur pour un nouveau projet

Gari - posté le 07/04/2020 à 15:18:59. (5901 messages postés) -

Tous ceux du fichier ?

Posté dans Forum - Topic général des draps... des ébats

Gari - posté le 07/04/2020 à 15:16:31. (5901 messages postés) -

:hum

Gari, cinq minutes plus tôt a dit:

C'est assez rare en effet, et je suppose qu'il faudrait être très en retard tous les jours.



Ce que je veux dire, c'est que quand licenciement il doit y avoir, si tu te sens personnellement responsable/en échec, tu risques pas d'avancer (pleurer sur son sort ou se mettre en mode victime, ça résoud pas les problèmes).

J'ai été chômeur sur une longue durée et je suis un retardataire dans le sang en plus d'un casseur invétéré et d'une tête de con, donc j'ai dû m'affirmer autrement pour montrer que j'étais pas un déchet complet de la société en plus de ne pas aimer le monde du travail (= remise en question, acceptation de soi et de ses défauts pour s'intégrer au monde du travail et se faire accepter par ses pairs => euh... fonctionnement de la société depuis... longtemps ? Donnant donnant ? Carotte ?).

J'aimerais éviter qu'il y ait mésinterprétation parce que je m'exprime comme un pied :goutte

Posté dans Forum - [Translator++] Erreur pour un nouveau projet

Gari - posté le 07/04/2020 à 15:05:02. (5901 messages postés) -

J'ai enlevé ++ sur tout le chemin, dont l'exécutable (ils étaient nommés comme ça de base).

J'ai défini le chemin de l'exécutable (=> Bureau => Tranlator => dossier du cmd => cmd.exe) avec les \\.

J'ai copié collé la ligne que tu m'as donnée à la place. J'ai laissé le reste avec les conseils que tu m'as donnés

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
Warning: mb_detect_encoding(): Illegal argument in C:\Users\Username\Desktop\Translator\Translator\www\php\function\trans.php on line 12
 
 
 
C:\Users\Username\Desktop\Translator\Translator\3rdParty\rpgmt_cli_v4.5\rpgmt.exe "C:\Users\Username\AppData\Local\Temp\08dc026cd2e413327d20cc78e41f8ed1" -p "C:\Users\Username\AppData\Local\Temp\08dc026cd2e413327d20cc78e41f8ed1_patch" 
proutprout
 
Fatal error: Uncaught com_exception: Source: Unknown
Description: Unknown in C:\Users\Username\Desktop\Translator\Translator\www\php\plugins\rpgmakertrans\extractor.php:146
Stack trace:
#0 C:\Users\Username\Desktop\Translator\Translator\www\php\plugins\rpgmakertrans\extractor.php(146): com->Run('C:\\Users\\Username...', 1, true)
#1 C:\Users\Username\Desktop\Translator\Translator\www\php\plugins\rpgmakertrans\extractor.php(449): extractData('C:\\Users\\Username...', 'C:\\Users\\Username...')
#2 C:\Users\Username\Desktop\Translator\Translator\www\php\loadGameInfo.php(110): extractor('C:\\Users\\Username...')
#3 {main}
  thrown in C:\Users\Username\Desktop\Translator\Translator\www\php\plugins\rpgmakertrans\extractor.php on line 146
Error opening file : undefined
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be one of type string, Buffer, or URL. Received type undefined
 



Je ne suis même pas sûr de bien faire ce que tu me dis :barbu

Posté dans Forum - [Translator++] Erreur pour un nouveau projet

Gari - posté le 07/04/2020 à 14:24:45. (5901 messages postés) -

Je suis sur PC. J'ai déplacé le dossier sur le bureau (il était sur un disque dur externe).

Je vais essayer de modifier le chemin d'accès.

Posté dans Forum - [Translator++] Erreur pour un nouveau projet

Gari - posté le 07/04/2020 à 14:20:13. (5901 messages postés) -

le fichier dans le code est un exe qui exécute une commande Windows, effectivement, mais je ne vois pas où le mettre.

Posté dans Forum - Topic général des draps... des ébats

Gari - posté le 07/04/2020 à 14:18:06. (5901 messages postés) -

C'est assez rare en effet, et je suppose qu'il faudrait être très en retard tous les jours. Après pour faire sauter une prime, faut-il encore en avoir. Certains métiers n'ont aucun avantage.
Femme de ménage est l'un des métiers les plus dégradants physiquement et psychologiquement, en plus d'avoir un salaire minable pour une durée de vie souvent pas très longue (on peut dire qu'à 40-50 ans, tu es "usé" et que les problèmes s'enchaînent), beaucoup de contraintes liées à la qualité de travail à fournir dans un temps imparti et aucun avantage, que ce soit prime ou nature, de base. Clairement un métier à éviter sauf si la boîte a investi dans du matériel, et pourtant c'est souvent fait sur du long terme par manque de compétences/contraintes personnelles.

Posté dans Forum - [Translator++] Erreur pour un nouveau projet

Gari - posté le 07/04/2020 à 13:43:35. (5901 messages postés) -

Avec les deux modifications :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Warning: mb_detect_encoding(): Illegal argument in C:\Users\Username\Desktop\Translator++_2.2.20E\Translator++\www\php\function\trans.php on line 12
 
 
 
F:\rpgmt_cli_v4.5\rpgmt.exe C:\Users\Username\AppData\Local\Temp\0310f058ace3d1668ecf6a0b05dfc4a6 -p C:\Users\Username\AppData\Local\Temp\0310f058ace3d1668ecf6a0b05dfc4a6_translated
proutprout
 
Fatal error: Uncaught com_exception: Source: Unknown
Description: Unknown in C:\Users\Username\Desktop\Translator++_2.2.20E\Translator++\www\php\plugins\rpgmakertrans\extractor.php:146
Stack trace:
#0 C:\Users\Username\Desktop\Translator++_2.2.20E\Translator++\www\php\plugins\rpgmakertrans\extractor.php(146): com->Run('F:\\rpgmt_cli_v4...', 1, true)
#1 C:\Users\Username\Desktop\Translator++_2.2.20E\Translator++\www\php\plugins\rpgmakertrans\extractor.php(449): extractData('C:\\Users\\Username...', 'C:\\Users\\Username...')
#2 C:\Users\Username\Desktop\Translator++_2.2.20E\Translator++\www\php\loadGameInfo.php(110): extractor('C:\\Users\\Username...')
#3 {main}
  thrown in C:\Users\Username\Desktop\Translator++_2.2.20E\Translator++\www\php\plugins\rpgmakertrans\extractor.php on line 146
Error opening file : undefined
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be one of type string, Buffer, or URL. Received type undefined



Cependant, le nom du fichier me rappelle un autre fichier téléchargeable, il n'y a juste pas de guide sur la façon dont ça s'installe (deux archives).

Posté dans Forum - Topic général des draps... des ébats

Gari - posté le 07/04/2020 à 13:36:31. (5901 messages postés) -

Je viens de parcourir les trois derniers pavés de Mamie Nova, je dirais que vous avez un peu raison tous les deux, de votre point de vue personnel.

Nova, c'est un conseil et pas de la modération : pour le coup des images, même si tu n'as pas tord, ça me paraissait inutile de toutes les descendre (cantonne à l'essentiel, deux ou trois images suffisent). En plus de desservir ton argumentation ça peut blesser des gens (en dehors du débat).

Pour le contenu en lui-même... je vois deux points de vue différents : un émotionnel (ressenti), et l'autre euh... terre à terre ? (pas le terme).
Je vais pas être très gentil mais tant pis : dans le monde du travail en tant que salarié, il faut défendre son steack, quitte à être sourd à ce que dit ton patron. Si tu ne le fais pas, il n'aura même pas besoin de lever le doigt, tu t'auto flagelleras tout seul.
Pour le truc de dire que tu mérites d'être viré parce que t'arrives en retard ou que tu fais des erreurs : ça dépend clairement du métier que tu fais et de l'ambiance de ta boîte, mais ce n'est pas patronal (l'erreur c'est toi qui la fait). Après s'ils te virent pour ça et bien ma foi, il n'y a pas mort d'homme, trouve un autre taff. Après j'ai jamais vu un serveur viré pour une erreur de saisie, mais c'est sans doute lié au fait que cette branche recherche toujours du monde et qu'elle ne peut donc pas se permettre de virer tout le monde. :doute5

Après le problème, c'est avant tout un problème de compréhension : pour le salarié, le patron est un vilain capitaliste qui ne veut pas donner des sous, et pour le patron, le salarié est une sous-merde qui glandouille. Problème de confiance en soi et en l'autre, et de communication (dialogue de sourds, voire pas de dialogue). Il faut s'adapter selon la boîte où on est (pour le privé). Et ne pas hésiter à faire valoir ses droits, même si on ne pense pas avoir gain de cause (augmentation, congés).

Après, humainement, je dirais qu'indépendamment de la branche de métier, il faut trouver l'endroit où on se sent bien. Avec forcément des concessions, des deux côtés. A l'employé de suivre au mieux le rythme, et à l'employeur de s'adapter au mieux aux contraintes de chacun, sans que cela nuise à ses autres employés.

Après, il y a aussi les cas où on veut te virer sans que ton travail (mérite) en soit la cause. Ca paraît nul, mais aujourd'hui les ruptures conventionnelles sont privilégiées car avantageuses pour les deux partis, et si l'employeur est pas trop gourmand/con et que l'employé demande pas n'importe quoi/est malin, chacun sort gagnant.
Deux exemples vécus, les deux en question n'ont pas fait d'erreur justifiant le licenciement mais des situations financières différentes :
_ un employé avec poste à responsabilité, présent dans sa boîte depuis 10/20 ans et proche de la retraite, salaire autour de 2000 net + avantages + primes : la boîte veut le sortir car trop vieux (il lui reste environ trois ans à travailler au début de la procédure). Il engage une procédure avec un avocat, et obtient la moitié de la somme demandée au bout de deux ans. Il est tranquille jusqu'à sa retraite. Bon il a repris un job, mais c'est seulement parce qu'il aime bosser.
_ une employée sans responsabilité officielle autour de 1700 net + primes : la boîte a été rachetée et a une politique de gangrène (pourrir une boîte qui fonctionne pour se maintenir). Cette employée est là depuis plus de 20 ans et gagne donc un salaire supérieur à ses collègues. De plus, ses responsabilités ne sont plus nécessaires, vu que la boîte n'est plus autonome. Une mauvaise ambiance s'installe, les bénéfices de la boîte diminuent drastiquement, les gros clients partent en un an. L'employée se sait en danger, mais elle reste car il lui reste encore autour de 5-6 ans à travailler, et elle sait qu'elle ne retrouvera pas facilement du travail à cause de problèmes de mobilité, qui la feront paraître moins dynamiques, et de son âge (tranche critique des 50 ans). Elle montre des signes de désaccord, la boîte trouve donc une raison quelconque pour lui signaler son départ. Pas d'avocat ici, elle fait appel à un organisme syndical. Au final, en une réunion, elle obtient le paiement de ses heures supp, de ses congés non pris et les frais d'indemnités (oui, ils ne voulaient vraiment plus d'elle). Au final, cela lui laisse environ deux ans de répit pour retrouver du travail, soit trois ans à travailler.

La seconde employée est limite avantagée par rapport au premier, car tout au long de sa carrière elle a donné de son temps sans rien demander en retour. Il aurait donc été difficile à son nouvel employeur de refuser ses demandes sans poursuite aux prud'hommes (le retard n''aurait pas été une raison valable, ni l'erreur humaine occasionnelle).

Posté dans Forum - Le coronavirus

Gari - posté le 07/04/2020 à 12:42:46. (5901 messages postés) -

Mais bon maintenant que tout le monde est au courant, c'est sûr qu'ils vont plus pouvoir les garder très longtemps. L'un des problèmes dans la circulation d'informations comme celles-ci en temps de crise, c'est qu'il y aura toujours des gens très cons (qu'ils soient du pays ou pas), qui vont tenter de récupérer la marchandise pour la revendre au plus offrant/se protéger lui-même/un groupe. Donc en fait cacher cette information ne constituait pas une mauvaise idée de départ (= la population n'a pas à être au courant de tout peut paraître anti démocratie, mais c'est parfois utile quand il s'agit de protéger des gens over paniqués qui ne sont plus objectifs).

Posté dans Forum - Le coronavirus

Gari - posté le 07/04/2020 à 12:21:44. (5901 messages postés) -

Ca m'a pas l'air très officiel comme document...

Posté dans Forum - [Translator++] Erreur pour un nouveau projet

Gari - posté le 07/04/2020 à 12:13:39. (5901 messages postés) -

Portion de code : Tout sélectionner

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
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
 
<?php
set_time_limit(0);
$_PARAM['APP_PATH'] = substr(__FILE__ , 0, strrpos(__FILE__, "www".DIRECTORY_SEPARATOR));
$_PARAM['CACHE_PATH'] = $_PARAM['APP_PATH']."www\\php\\cache\\";
 
 
function isResourceExtracted($gamePath) {
        global $_PARAM;
        clearstatcache(true);
        //if (!is_file($gamePath."\\data\\System.rvdata2")) {
        if (!is_file($gamePath."\\data\\System.".$_PARAM['dataExtension'])) {
                return false;
        } else {
                return true;
        }
}
 
function extractData($gamePath, $cacheLocation) {
        // RESULT : all data will be available on cache/[game title]/data folder
        echo "RUNNING extractData function\n";
        global $_PARAM;
        
        $folderInfo = pathinfo($cacheLocation);
        
        if (!is_dir($cacheLocation)) {
                mkdir($cacheLocation, 777, true);
        }
        if (!is_dir($cacheLocation."\\data")) {
                mkdir($cacheLocation."\\data", 777, true);
        }
        if (!is_dir($cacheLocation."\\dump")) {
                mkdir($cacheLocation."\\dump", 777, true);
        }
        if (!is_dir($cacheLocation."\\data-ignored")) {
                mkdir($cacheLocation."\\data-ignored", 777, true);
        }
        if (!is_dir($cacheLocation."\\original-assets")) {
                mkdir($cacheLocation."\\original-assets", 777, true);
        }
        
        if (substr($_SERVER['TMP'], -1, 1) == "\\") {
                $TMP_PATH = $_SERVER['TMP'].$folderInfo['basename'];
                
        } else {
                $TMP_PATH = $_SERVER['TMP']."\\".$folderInfo['basename'];
        }
        
        if (!is_dir($TMP_PATH)) {
                mkdir($TMP_PATH, true);
        }
        print_r($folderInfo);
        echo "\r\nTmp path : ".$TMP_PATH."\n";  
        
        if (isResourceExtracted($gamePath)) {
                $hasResourceExtracted = false;
                
                // copy data directly to cache folder
                echo "copying folder data to cache\r\n";
                //("ROBOCOPY \"$ROOTPATH\" \"$_SERVER[TMP]\\Toybox\" /s")
                // Robocopy will copy files which is unable to handle with php
                /*
                $cmd = "robocopy ".escape_win32_argv($gamePath."\\data")." ".escape_win32_argv($TMP_PATH."\\data")." /s";
                echo $cmd;
                shell_exec($cmd);
                */
                copyFiles($gamePath."\\data", $TMP_PATH."\\data");
                
                
        } else {
                // extract from rgss archive
                $hasResourceExtracted = true;
 
                
                $cmd = "copy /Y ".escape_win32_argv($gamePath."\\*.".$_PARAM['dataArcExtension'])." ".escape_win32_argv($TMP_PATH);
                passthru($cmd);
                
                $cmd = "copy /Y ".escape_win32_argv($gamePath."\\*.ini")." ".escape_win32_argv($TMP_PATH);
                echo $cmd."\r\n";
                passthru($cmd);
                
                $decrypterPath = $_PARAM['APP_PATH']."3rdParty\\RgssDecrypter\\RgssDecrypter.exe";
                $cmd = escape_win32_argv($decrypterPath)." -p ".escape_win32_argv($TMP_PATH."\\Game.".$_PARAM['dataArcExtension']);
                echo "\n";
                echo "Extracting data\n";
                echo $cmd."\r\n";
                $WshShell = new COM("WScript.Shell");
                $oExec = $WshShell->Run($cmd, 1, true);
                //"D:/Apps/RPG-Maker-Translator-master/3rdParty/RgssDecrypter/RgssDecrypter" -p "E:/Document/Documents/TranslationResult/NoRice_Translated/Game.rgss3a"
                if (!is_dir($TMP_PATH."\\data")) {
                        echo $TMP_PATH."\\data not found\n";
                }
 
                $cmd = "del /Q ".escape_win32_argv($TMP_PATH."\\*.".$_PARAM['dataArcExtension']);
                passthru($cmd);
 
                
                // additional step to filter out unsupported files
                rename($TMP_PATH."\\data", $TMP_PATH."\\data-unfiltered");
                copyFiles($TMP_PATH."\\data-unfiltered", $TMP_PATH."\\data");
                
        }
        $cmd = "copy /Y ".escape_win32_argv($gamePath."\\*.ini")." ".escape_win32_argv($TMP_PATH);
        echo $cmd."\r\n";
        passthru($cmd);
        
        // filtering compatible data
        //$folderContent = get_folder_content($TMP_PATH."\\Data\\");
        //$folderContent = glob($TMP_PATH."\\Data\\*");
        $folderContent = fetchDir($TMP_PATH."\\Data");
        //print_r($folderContent);
        
        foreach ($folderContent as $filePath) {
                $filePathInf = pathinfo($filePath);
                if (isLegalRPGTransFile($filePathInf['basename']) !== true) {
                        echo "Illegal data file : ".$filePathInf['basename']." ... moving to data-ignored\n";
                        rename($filePath, $cacheLocation."\\data-ignored\\".$filePathInf['basename']);
                }
                
                if ($filePathInf['filename'] == "main") {
                        runTesPatcher($TMP_PATH, $cacheLocation."\\data-tes\\extract_main", 1);
                        echo "Moving TES encrypted file to : data-ignored\n";
                        
                        if (!is_dir($cacheLocation."\\data-tes\\Data")) {
                                mkdir($cacheLocation."\\data-tes\\Data", 777, true);
                        }
                        if (is_file($TMP_PATH."\\data\\Scripts.".$_PARAM['dataExtension'])) {
                                copy($TMP_PATH."\\data\\Scripts.".$_PARAM['dataExtension'], $cacheLocation."\\data-tes\\Data\\Scripts.".$_PARAM['dataExtension']);
                        } else if (is_file( $cacheLocation."\\data-ignored\\Scripts.".$_PARAM['dataExtension'])) {
                                copy($cacheLocation."\\data-ignored\\Scripts.".$_PARAM['dataExtension'], $cacheLocation."\\data-tes\\Data\\Scripts.".$_PARAM['dataExtension']);
                        }
                        
                        copy($filePath, $cacheLocation."\\data-tes\\Data\\".$filePathInf['basename']);
                        rename($filePath, $cacheLocation."\\data-ignored\\".$filePathInf['basename']);
                        
                }
                
        }
        
        
        //$cmd = "F:\\rpgmt_cli_v4.5\\rpgmt.exe ".escape_win32_argv($TMP_PATH)." -p ".escape_win32_argv($TMP_PATH."_translated");
        $cmd = escape_win32_argv($_PARAM['RPGMTRANS'])." ".escape_win32_argv($TMP_PATH)." -p ".escape_win32_argv($TMP_PATH."_patch");
        echo "\n\n\n";
        echo $cmd;
        $shell = new COM("WScript.Shell");
        $oExec = $shell->Run($cmd, 1, true);
        
        // move extracted data to dump
        /*
        $cmd = "robocopy ".escape_win32_argv($TMP_PATH."_patch\\patch")." ".escape_win32_argv($cacheLocation."\\dump")." /MOV";
        echo "\nMoving patch to stage : \n";
        echo $cmd."\n\n";
        passthru($cmd);
        */
        // ROBOCOPY replacement by Dreamsavior
        move_tree($TMP_PATH."_patch\\patch", $cacheLocation."\\dump");
        
        // copy bare patch structure to folder data
        /*
        $cmd = "robocopy ".escape_win32_argv($TMP_PATH."_patch")." ".escape_win32_argv($cacheLocation."\\rpgmktranspatch")." /E";
        echo "\nMoving patch to stage : \n";
        echo $cmd."\n\n";
        passthru($cmd);
        */
        // ROBOCOPY replacement by Dreamsavior
        copy_tree($TMP_PATH."_patch", $cacheLocation."\\rpgmktranspatch");
        
        //copy original data
        /*
        $cmd = "robocopy ".escape_win32_argv($TMP_PATH."\\data")." ".escape_win32_argv($cacheLocation."\\data")." /s";
        echo "\nMoving patch to stage : \n";
        echo $cmd."\n\n";
        passthru($cmd);
        */
        // ROBOCOPY replacement by Dreamsavior
        copy_tree($TMP_PATH."\\data", $cacheLocation."\\data");
        
        
        $cmd = "copy /y ".escape_win32_argv($TMP_PATH."\\*.ini")." ".escape_win32_argv($cacheLocation."\\original-assets");
        echo $cmd."\n\n";
        passthru($cmd);
        
        
        if ($hasResourceExtracted) {
                echo "TMP Path is :\r\n<b id='tmpPath' class='tmpPath'>".$TMP_PATH."</b>\r\n";
        }
        
        // REMOVING TMP FOLDERS
        /*
        $cmd = "RMDIR ".escape_win32_argv($TMP_PATH)." /S /Q";
        echo $cmd."\n\n";
        passthru($cmd);
        $cmd = "RMDIR ".escape_win32_argv($TMP_PATH."_patch")." /S /Q";
        echo $cmd."\n\n";
        passthru($cmd);
        $cmd = "RMDIR ".escape_win32_argv($TMP_PATH."_translated")." /S /Q";
        echo $cmd."\n\n";
        passthru($cmd);
        */
        
        
        return $cacheLocation;
}
 
 
/*
function extractData($gamePath, $cacheLocation) {
        // RESULT : all data will be available on cache/[game title]/data folder
        echo "RUNNING extractData function\n";
        global $_PARAM;
 
        
        if (isResourceExtracted($gamePath)) {
                // copy data directly to cache folder
                echo "copying folder data to cache\r\n";
                //("ROBOCOPY \"$ROOTPATH\" \"$_SERVER[TMP]\\Toybox\" /s")
                $cmd = "robocopy ".escape_win32_argv($gamePath."\\data")." ".escape_win32_argv($cacheLocation."\\data")." /s";
                
                echo $cmd;
                shell_exec($cmd);
                
        } else {
                // extract from rgss3a
                $folderInfo = pathinfo($cacheLocation);
                
                if (substr($_SERVER['TMP'], -1, 1) == "\\") {
                        $TMP_PATH = $_SERVER['TMP'].$folderInfo['basename'];
                        
                } else {
                        $TMP_PATH = $_SERVER['TMP']."\\".$folderInfo['basename'];
                }
                
                if (!is_dir($TMP_PATH)) {
                        mkdir($TMP_PATH, true);
                }
                print_r($folderInfo);
                echo "\r\nTmp path : ".$TMP_PATH."\n";
                
                //$cmd = "copy /Y ".escape_win32_argv($gamePath."\\*.rgss3a")." ".escape_win32_argv($TMP_PATH);
                $cmd = "copy /Y ".escape_win32_argv($gamePath."\\*.".$_PARAM['dataArcExtension'])." ".escape_win32_argv($TMP_PATH);
                echo $cmd."\r\n";
                //shell_exec($cmd);
                passthru($cmd);
                
                $decrypterPath = $_PARAM['APP_PATH']."3rdParty\\RgssDecrypter\\RgssDecrypter.exe";
                //$cmd = escape_win32_argv($decrypterPath)." -p ".escape_win32_argv($TMP_PATH."\\Game.rgss3a");
                //$cmd = escape_win32_argv($decrypterPath)." -p ".escape_win32_argv($TMP_PATH."\\Game.".$_PARAM['dataArcExtension']);
                $cmd = escape_win32_argv($decrypterPath)." -p ".escape_win32_argv($TMP_PATH."\\Game.".$_PARAM['dataArcExtension']);
                echo "\n";
                echo "Extracting data\n";
                echo $cmd."\r\n";
                $WshShell = new COM("WScript.Shell");
                $oExec = $WshShell->Run($cmd, 1, true);
                //$cmd = escape_win32_argv($decrypterPath)." -p ".escape_win32_argv();
                //sleep(2);
                //passthru($cmd);
                //shell_exec($cmd);
                //"D:/Apps/RPG-Maker-Translator-master/3rdParty/RgssDecrypter/RgssDecrypter" -p "E:/Document/Documents/TranslationResult/NoRice_Translated/Game.rgss3a"
                if (!is_dir($TMP_PATH."\\data")) {
                        echo $TMP_PATH."\\data not found\n";
                }                       
                
                $cmd = "robocopy ".escape_win32_argv($TMP_PATH."\\data")." ".escape_win32_argv($cacheLocation."\\data")." /s";
                echo "Copying Data folder to trans cache folder \n";
                passthru($cmd);
                
        } 
}
*/
 
function dump($cache) {
        // dump data to JSON
        // input $cache = full path to root folder of game cache (directory with game name)
        global $_PARAM;
        $cachePath = $cache."\\dump";
        if (is_dir($cachePath)) {
                // cleaning up existing file in cache path
                shell_exec("RMDIR ".escape_win32_argv($cachePath)." /S /Q");    
        }
        
        mkdir($cachePath, 777, true);
        
        
        $dataPath = $cache.DIRECTORY_SEPARATOR."Data".DIRECTORY_SEPARATOR;
        $rubyPath = $_PARAM['APP_PATH']."ruby".DIRECTORY_SEPARATOR."bin".DIRECTORY_SEPARATOR."ruby.exe";
        
        //$fileList = glob($dataPath."*.rvdata2");
        $fileList = glob($dataPath."*.".$_PARAM['dataExtension']);
        
        foreach ($fileList as $path) {
                $command = escape_win32_argv($rubyPath)." ".
                                        escape_win32_argv($_PARAM['APP_PATH']."3rdParty\\rmxp_translator\\rmvxace_translator.rb")." ".
                                        "--dump=".str_replace("\\", "/", escape_win32_argv($path))." ".
                                        "--dest=".str_replace("\\", "/", escape_win32_argv($cachePath));
                echo $command."\n";
                passthru($command);
        }
//ruby "D:/Apps/RPG-Maker-Translator-master/3rdParty/rmxp_translator/rmvxace_translator.rb" --translate="E:/Document/Documents/TranslationResult/NoRice_Translated/DataExtracted/*.rvdata2" --dest="E:/Document/Documents/TranslationResult/NoRice_Translated/DataTranslated"   
}
 
if (!function_exists('getGameInfo')) {
        function getGameInfo($gamePath, $projectId="") {
                global $_PARAM;
                // added by donovan
                $infoCache = $_PARAM['CACHE_PATH'].$_POST['projectId']."\\gameInfo.json";               
                if (!empty($projectId)) {
                        $infoCache = $_PARAM['CACHE_PATH'].$_POST['projectId']."\\gameInfo.json";
                }
                if (is_file($infoCache)) {
                        //fwrite(STDERR, "Loading game info from cache!");
                        return json_decode(file_get_contents($infoCache), true);
                }
                // =======================
                $str = file_get_contents($gamePath."\\Game.ini");
                $currentEncoding =  mb_detect_encoding($str, "JIS, eucjp-win, sjis-win, UTF-8");
                $str = mb_convert_encoding($str, "UTF-8", $currentEncoding);
                $gameInfo = parse_ini_string($str, false, INI_SCANNER_RAW);
                $gameInfo['title'] = $gameInfo['Title'];
                return $gameInfo;
        }
}
 
function replaceIllegalCharacter($string) {
        $bad = array_merge(array_map('chr', range(0,31)), array("<", ">", ":", '"', "/", "\\", "|", "?", "*"));
        $result = str_replace($bad, "-", $string);      
        return $result;
        
}
 
if (function_exists('getProjectId') == false) {
        function getProjectId($gamePath="", $projectId="") {
                global $_PARAM;
                $gameInfo = getGameInfo($gamePath);
                if (!empty($projectId)) {
                        $id = $projectId;
                } elseif (!empty($_SERVER['POST']['projectId'])) {
                        $id = $_SERVER['POST']['projectId'];
                } elseif (!empty($_POST['projectId'])) {
                        $id = $_POST['projectId'];
                } elseif (!empty($_PARAM['projectId'])) {
                        $id = $_PARAM['projectId'];
//              } elseif (!empty($gameInfo['Title'])) {
//                      $id = md5($gameInfo['Title']);
                } else {
                        $id = md5(time());
                }
                $_PARAM['projectId'] = $id;
                $_SERVER['POST']['projectId'] = $id;
                $_SERVER['GET']['projectId'] = $id;
                $_POST['projectId'] = $id;
                $_GET['projectId'] = $id;
                return $id;
        }
}
 
function getProjectCacheInfo($gamePath="") {
        global $_PARAM;
        $dirname = getProjectId($gamePath);
        $RESULT['cacheID'] = $dirname;
        $RESULT['cachePath'] = $_PARAM['CACHE_PATH'].$dirname;
        
        return $RESULT;
}
 
 
function prepareProjectCache($gamePath) {
        global $_PARAM;
        $gameInfo = getGameInfo($gamePath);
        
        clearstatcache(true);
        /*
        if (!empty($gameInfo['Title'])) {
                //$dirname = replaceIllegalCharacter($gameInfo['Title']);
                $dirname = md5($gameInfo['Title']);
        } else {
                $dirname = md5(time());
        }
        */
        $cacheInfo = getProjectCacheInfo($gamePath);
        
        if (!is_dir($cacheInfo['cachePath'])) {
                mkdir($cacheInfo['cachePath']);
        }
        file_put_contents($cacheInfo['cachePath']."//gameInfo.json", json_encode($gameInfo, JSON_PRETTY_PRINT));
        return realpath($cacheInfo['cachePath']);
        
}
 
function onAfterProcess() {
// ==================================================
// ADDING "main"'s TES file to stage
// ==================================================   
        global $RESULT, $_PARAM;
        // generating .trans for TES DATA
        $FILELIST = get_folder_content($RESULT['cache']['cachePath']."\\data-tes\\extract_main");
        foreach ($FILELIST['files'] as $key=>$path) {
                $current= pathinfo($path);
                $current['path'] = str_replace("\\", "/", $current['dirname']."/".$current['basename']);
                
                if (!in_array(strtolower($current['extension']), $_PARAM['ACCEPTED_EXTENSION'])) continue;
                $text = file_get_contents($current['path']);
                
                $loadedData = parseRPGTransFile($text, true);
                //$current['content'] = $loadedData['content'];
                $current['data'] = $loadedData['data'];
                $current['type'] = $loadedData['type'];
                if (!empty($loadedData['context'])) {
                        $current['context'] = $loadedData['context'];
                }
                if (!empty($loadedData['lineBreak'])) {
                        $current['lineBreak'] = $loadedData['lineBreak'];
                }
                if (!empty($loadedData['parameters'])) {
                        $current['parameters'] = $loadedData['parameters'];
                }
                if (!empty($loadedData['header'])) {
                        $current['originalFormat'] = $loadedData['header'];
                }
                /*
                if (!empty($loadedData['rawData'])) {
                        $current['rawData'] = $loadedData['rawData'];
                }
                */
 
                $current['relPath'] = substr($current['path'], strlen($RESULT['cache']['cachePath']."/data-tes/"));
                
                if (substr($current['relPath'], 0, 1) == "/") {
                        $current['relPath'] = substr($current['relPath'], 1);
                }
                
                $current['dirname'] = substr($current['dirname'], strlen($RESULT['cache']['cachePath'])+1);
                $current['path'] = substr($current['path'], strlen($RESULT['cache']['cachePath'])+1);
                
                $RESULT['files'][$current['relPath']] = $current;
 
        }       
}
 
function extractor($PATH) {
        // mandatory
        // extract data
        if (empty($PATH)) {
                return false;
        }
 
        print_r(getGameInfo($PATH));
        
        $cacheLocation = prepareProjectCache($PATH);
        extractData($PATH, $cacheLocation);
        return $cacheLocation;
        //dump($cacheLocation);
}
 



Il y a ça ligne 145 :

Portion de code : Tout sélectionner

1
$shell = new COM("WScript.Shell");



Citation:

C'est un problème d'antislash ? Si tu mets un double antislash à la place du simple antislash ?



Où ?

Posté dans Screen de la semaine - La tour planaire, Prologue

Gari - posté le 07/04/2020 à 12:10:39. (5901 messages postés) -

RotS
Les problèmes que j'ai eus avec cette map en particulier :
_ le bleu est archi saturé : c'est normal c'est l'univers de ton jeu, mais c'est vrai aussi que ça arrache les jeux (c'est peut-être moins flagrant en jeu ?). Peut-être que je ne suis pas très réceptif à ce côté très flashy.
_ il y a un petit problème de tons : malheureusement pour toi, j'ai lu ton tuto, et les lattes de bois sur lesquelles marchent ton héros me paraissent trop foncées. (pour cette map : éléments clairs passables, éléments foncés non passables ?)
image
Et ton héros se fond dedans.
_ C'est peut-être pas transcendant, mais je pense qu'il y a un petit déséquilibre dans la façon dont tu disposes tes éléments ou le cadrage de ta map. Je n'ai malheureusement pas les connaissances techniques pour te l'expliquer, mais mon cerveau l'interprète comme ça :
image
Peut-être qu'une route plus directe et un jeu sur les éléments jaunes auraient désaccentué ça ? Il y aussi un effet remplissage situé sur les bords, que je connais bien car j'ai le même (je compresse trop mes map, et il n'y a plus de place pour mettre des choses au milieu, mais ce n'est pas le cas ici).

En revanche ras pour les éléments en eux-mêmes, c'est toujours mignon et joliment réalisé.

Sinon gg tout le monde.

Posté dans Forum - [Translator++] Erreur pour un nouveau projet

Gari - posté le 07/04/2020 à 11:44:10. (5901 messages postés) -

Domaine concerné: Traduction
Logiciel utilisé: Translator++
Bonjour,

J'utilise Windows 10 et j'essaye de trouver un outil de traduction pour RPG Maker XP, VX et Ace. Il s'avère que l'outil créé par King Kadelfek, Drea Maker, n'est pas compatible avec cette version.

Sur le conseil de ce dernier, j'ai donc essayé RPG Maker Trans, qui s'avère fonctionnel dans une certaine mesure : il peut décrypter avec succès certains projets, mais pas d'autres.

Il s'avère qu'il existe un autre outil de traduction, encore supporté et qui m'a paru plus accessible, Translator++, qui propose une interface d'utilisation plutôt intuitive. Le seul souci, c'est que je n'arrive pas à ouvrir de nouveau projet avec, cryptés ou non, crack ou non.

J'ai donc essayé de suivre quelques règles de bon sens :
_ enlever les espaces
_ mettre les deux fichiers (jeu et outil) sur le bureau, aka l'espace le plus neutre que je connaisse.
_ tester en mode administrateur

Et voici le résultat : après lecture des fichiers maps, ce message d'erreur s'affiche :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
Warning: mb_detect_encoding(): Illegal argument in C:\Users\Username\Desktop\Translator++_2.2.20E\Translator++\www\php\function\trans.php on line 12
 
 
 
C:\Users\Username\Desktop\Translator++_2.2.20E\Translator++\3rdParty\rpgmt_cli_v4.5\rpgmt.exe C:\Users\Username\AppData\Local\Temp\c9078f8227d704dea2c831a670042db6 -p C:\Users\Username\AppData\Local\Temp\c9078f8227d704dea2c831a670042db6_patch
 
Fatal error: Uncaught com_exception: Source: Unknown
Description: Unknown in C:\Users\Username\Desktop\Translator++_2.2.20E\Translator++\www\php\plugins\rpgmakertrans\extractor.php:145
Stack trace:
#0 C:\Users\Username\Desktop\Translator++_2.2.20E\Translator++\www\php\plugins\rpgmakertrans\extractor.php(145): com->Run('C:\\Users\\Username...', 1, true)
#1 C:\Users\Username\Desktop\Translator++_2.2.20E\Translator++\www\php\plugins\rpgmakertrans\extractor.php(448): extractData('C:\\Users\\Username...', 'C:\\Users\\Username...')
#2 C:\Users\Username\Desktop\Translator++_2.2.20E\Translator++\www\php\loadGameInfo.php(110): extractor('C:\\Users\\Username...')
#3 {main}
  thrown in C:\Users\Username\Desktop\Translator++_2.2.20E\Translator++\www\php\plugins\rpgmakertrans\extractor.php on line 145
Error opening file : undefined
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be one of type string, Buffer, or URL. Received type undefined



Est-ce que certains d'entre vous ont déjà utilisé ce logiciel ? Et comment faites-vous ? L'interface est assez simple d'utilisation et le logiciel semble fonctionnel, j'ai juste un peu peur pour ce qui est des accents (mentionnés nulle part).

Posté dans Forum - Ce que je sais faire de mes dix doigts.

Gari - posté le 07/04/2020 à 10:10:05. (5901 messages postés) -

Cool !

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 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

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers