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

News: Les actualités du début d'années / Jeux: Rendez-vous en 2054 / News: RPG Maker U2U / Jeux: Désorienté / Tutos: [RM2K3] Utiliser les SelfVar (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

305 connectés actuellement

37682088 visiteurs
depuis l'ouverture

3633 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

2M Games

Blog Alioune Fall

Tashiroworld

Lumen

Offgame

Le Temple de Valor

RPG Maker Détente

Tous nos partenaires

Devenir
partenaire



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

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 149

Posté dans Forum - Le coronavirus

Gari - posté le 07/04/2020 à 12:42:46. (5921 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. (5921 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. (5921 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. (5921 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. (5921 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. (5921 messages postés) -

Cool !

Posté dans Forum - Skies on Fire

Gari - posté le 05/04/2020 à 16:33:21. (5921 messages postés) -

Je pense qu'il a pas mal de boulot et peu de connection internet en ce moment (vu sa branche de métier). J'espère que ce n'est que ça.

Posté dans Forum - Suggestions pour améliorer Oniro

Gari - posté le 05/04/2020 à 15:16:06. (5921 messages postés) -

Citation:

Pour moi si vous modifiez le nom des fichiers vous perdez des infos : on ne sait pas si c'est oniro ou si c'est le dev qui a modifié le nom du fichier.


Quand je suis amené à modifier le jeu de manière un peu étoffée (autre que rendre un jeu autonome), j'incorpore un fichier texte dans le dossier de jeu pour incorporer un nouveau numéro et la date, la liste des modifications et outils utilisés (même s'ils n'apparaissent pas dans les crédits de jeu, la plupart des développeurs demandent un crédit, et c'est là-dedans que je le mets). Avoir un numéro de départ au moins sur mon tableur me permet de renommer cette nouvelle version selon un numéro différent. Si à terme cette version venait à être publiée, je pourrai dire qu'elle est non canon (de la même manière qu'El Diablo a corrigé un jeu sans l'avis de son développeur).

C'est comme dit Nemau, ça n'a rien d'officiel et ça ne va pas changer le fonctionnement du site.

Par contre à terme, ça peut être un outil plutôt pratique si c'est bien fait.
image

Citation:

De toute façon tout ça c'est théorique, c'est pas comme si yavait encore des gens qui makaient


Mais des gens y jouent, et il faut quand même s'assurer que ce soit au minimum jouable, non ?
Avec les nouveaux PC, les anciennes versions de RM sont moins compatibles, c'est aussi à nous de faire en sorte que ces jeux puissent remplir leur mission première, en améliorant les jeux et en informant au mieux le joueur.

Posté dans Forum - Skies on Fire

Gari - posté le 05/04/2020 à 14:55:25. (5921 messages postés) -

Je n'invente rien.

Posté dans Forum - Suggestions pour améliorer Oniro

Gari - posté le 05/04/2020 à 14:51:14. (5921 messages postés) -

Ah, non je garde le numéro de version du jeu quand on le connaît. Je ne crée des numéros que pour les versions où on n'a pas la donnée.

Et ce n'est pas prévu pour être automatique (je ne suis pas programmateur), c'est avant tout le développeur qui décide, quand on peut encore le contacter. Mais par exemple, si tu avais sorti 48 bêta de ton jeu et que j'avais cette information, mais que tu n'es plus accessible, j'incrémenterais 4.8 ou 0.48 comme version, ce qui sous entendrait qu'il y a eu d'autres versions, et permettrait entre autre de pouvoir apporter des corrections et les signaler comme non canons (pas du développeur). C'est avant tout à des fins d'archivage, et ça fonctionne avec l'année de sortie (on n'a pas les dates précises, et parfois l'année est faussée car pas mise à jour au changement de lien).
Pour l'instant je m'occupe de rechercher et incrémenter, ça n'a rien d'officiel, et encore moins d'automatique. Le but est de trouver une solution que n'importe quel membre du staff puisse suivre si les membres n'utilisent pas ce système (ce qui est compréhensible), et pouvoir différencier facilement en cas de nouvelle version.

Posté dans Forum - Suggestions pour améliorer Oniro

Gari - posté le 05/04/2020 à 14:24:08. (5921 messages postés) -

C'est plus Rots ou Bernie qui pourraient répondre à des questions de programmation, je leur laisse.

Pour le numéro de version, je vois pas trop ce que tu différencies dans dossier et fichier ? Les jeux d'Oniro n'ont pas de dossier spécifique (ils sont regroupés), seul le nom du zip/rar/exe permet de voir facilement si on a le bon fichier au premier regard.

Posté dans Forum - Suggestions pour améliorer Oniro

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

Citation:

C'est quoi le plan pour n° de version dont vous avez besoin pour héberger les jeux ?


C'est en cours. :barbu

Citation:

On pourra éditer nous mêmes les liens ?


Non.

Citation:

Vous allez héberger tous les jeux sur oniro ?


Tous ceux avec une fiche, oui.

Citation:

Ouais qu'on puisse pas éditer ses propres tuto c'est vraiment bizarre. Je crois qu'à la base c'était pour éviter que les anciens membres ayant ragequit viennent supprimer leurs tutos mais c'est très limite comme raison.


En l'état, les tutos ne sont pas considérés comme des posts (comme le topic des débats) mais font partie de la base de données d'Oniro, c'est pour ça qu'ils ne sont pas directement modifiables. Je suppose que ça demanderait un travail considérable de programmation pour que chacun puisse éditer son propre tutoriel sans affecter la base de données.

Posté dans Forum - [VX Ace] Zelda like

Gari - posté le 05/04/2020 à 13:29:23. (5921 messages postés) -

Ah oui, c'est vrai qu'il y avait script ^^'

Posté dans Forum - Skies on Fire

Gari - posté le 05/04/2020 à 13:21:54. (5921 messages postés) -

Intéressant le topic Saka !

Et bienvenue à toi Braz !

Citation:

Pour vous, qu'est-ce qui définit un bon scénario ?


Question un peu casse burne, dans la mesure où il y a autant de réponse que de gens.

Je dirais qu'il y a des scénarios plus ou moins efficaces dans le jeu vidéo qu'on peut ranger dans la catégorie "convenus" : ils ne surprennent pas, mais on les supporte. C'est souvent le changement d'un élément dans ce scénario qui va le rendre plus mémorable (exemple classique : une princesse qui s'échappe de son royaume ; la princesse en question est un fromage). Je ne pense pas qu'il y ait de scénario "nouveau sorti de nulle part", on part tous d'un acquis ou d'un vécu.

Pour les livres, personnellement, un scénario peut totalement être désservi par son écriture si elle échoue à prodiguer l'émotion voulue au bon moment. Je n'attends pas tant l'histoire la plus originale du monde que de voir comment un auteur à réussi à s'approprier une histoire et la faire vivre, avec ses propres acquis. Des fois on y croit, des fois pas (pas dans le sens réel, mais l'immersion peut être ratée).

Posté dans Forum - [VX Ace] Zelda like

Gari - posté le 05/04/2020 à 13:04:21. (5921 messages postés) -

Bonjour,

Tu peux consulter les tutoriels sur les A-RPG, mais si tu n'as jamais utilisé RPG Maker, je te recommande d'ouvrir un projet vierge et de te familiariser avec.

Il existe plusieurs guides avec les fonctions de base, ainsi que des astuces et tutoriels pour t'améliorer dans la section "Apprendre".

RPG Maker VX Ace a une interface proche de RPG Maker VX, qui a fait l'objet d'un guide complet par Ephy (en plusieurs parties). La différence principale réside dans l'amélioration de la librairie et surtout la possibilité de pouvoir changer de tileset.

Bon making :)

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 149

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 | Jouables en ligne | 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