Voximilien - posté le 17/11/2017 à 15:47:47. (128 messages postés)
Gouki31 a dit:
Bonjour à toute et à tous, je me présente [...] chômeur professionnel
Yeah ! Quelqu'un qui est dans le milieu du chômage professionnel ! Ça fait plaisir de voir un collègue dans cette branche de métier!
Gouki31 a dit:
Voila voilà, je ne c'est pas trop quoi dire d'autre, j'ai toujours du mal à me présenter sur les forum ou autre, ce que je peux dire de plus, ses comme tout le monde, j'aime les manga, j'aime les jeux vidéo, et là musique
J'espère que cette présentation suffira.
Déjà, t'es un des rares en ce moment à passer par la présentation avant de poster quelque chose d'autre, rien que pour ça, c'est pas mal. x)
Voximilien - posté le 01/08/2017 à 16:29:23. (128 messages postés)
@1mag0:
Les ressources Minecraft ? C'est vrai, je n'y avais pas pensé. D'autant qu'avec les ressources packs, il y a le choix concernant les blocs. Ce qui me fait un peu peur avec ça, c'est la déformation des textures pour faire le rendu isométrique.
Voximilien - posté le 31/07/2017 à 23:42:49. (128 messages postés)
Verehn a dit:
J'ai rajouté la mention "et d'autres" par rapport à tes graphs utilisés, dans la déclaration. Mais ça serait pas grave si tout venait d'Ankama, de toute façon. Ceux qui se font tailler cruellement en général c'est plutôt ceux qui utilisent innocemment les RTP (*jette un regard au staff* ).
J'espère que tu n'abandonneras pas ton projet en perspective RM habituelle par contre. Il avait l'air chouette.
Nan, t'inquiète ! Je prends pas ça mal.
Mais merci du rajout de la mention. ^^
Je vais probablement refaire des maps isométriques mais je vais également retourner aux sources, j'ai encore des choses à faire.
Elemsis a dit:
J'aime bien le screen de Voximilien, même si ça manque de vie, mais je suppose que comme beaucoup de makers il sait pas encore koman on mé d gen.
Merci.
C'est surtout qu'en terme de ressources isométrique, y a pas grand chose. Gratuites ou accessible par diverses méthodes, je veux dire... :')
En terme de monstres ou animaux, y a rien de très folichon, et j'ai pas envie de pomper intégralement les ressources d'Ankama. x)
Nemau a dit:
Voximilien > un peu dommage que ce ne soit que du rip (mapping exclu bien sûr), sans mise en scène qui plus est, en revanche je salue l'originalité (par rapport à ce qu'on voit d'habitude sur Oniro j'entends).
Je ne cherche pas forcément à faire des mises en scène. Cette fois-ci, je cherchais à faire un peu plus original que d'habitude. Je ne connais pas du tout le monde de l'isométrie, j'essaye d'y aller petit à petit.
Mais grâce à vos retours, je pourrais m'améliorer par la suite.
Voximilien - posté le 31/07/2017 à 16:28:00. (128 messages postés)
Je trouve ça très dommage que les gens pensent que c'est du full Ankama...
Alors qu'en réalité, il y en a peu.
Tous les blocs, ne sont pas d'Ankama. C'est-à-dire, tout ce qui a servi à faire l'herbe, la terre, les chemins de terres, bref tous les blocs de sol viennent d'ici : https://www.assetstore.unity3d.com/en/content/27944
Et le reste des ressources, c'est-à-dire, arbre, pierres, fleurs, plantes, ça vient de Dofus 2.
J'ai fait une map isométrique, parce que je n'ai encore jamais fait ce genre de map auparavant et je voulais me tester. Ça change un peu de l'ordinaire, et j'aimerais maîtriser le plus de genre possible.
Voximilien - posté le 10/04/2017 à 18:59:06. (128 messages postés)
Immudelki a dit:
Beaucoup d'originalité dans les propositions, ça fait plaisir à voir!
Et une belle victoire de la part de Voximillien qui reste bien mystérieux dans ses apparitions sur Oniro Du beau travail!
Haha, c'est cool d'être mystérieux. Ça donne un genre et tout !
Merci.
Sylphlorian a dit:
Effectivement ton screen Voxi est vraiment plaisant pour les yeux.
Voximilien - posté le 06/04/2017 à 08:39:05. (128 messages postés)
J'avais trouvé un script avec ce que je cherchais mais qui avait un bug assez important. J'ai essayé de le bidouiller pour le corriger, en vain. C'était le script de Eron qui se nommait Sprite Timer Mejorado.
Puis, en retournant sur la page quelques jours après, j'ai pu constater que l'Admin a publié un post pas plus tard qu'hier avec sa version du script qui est totalement fonctionnelle ! Et avec quelques caractéristiques que je cherchais, dont les millisecondes et la pause.
Voximilien - posté le 27/03/2017 à 18:05:17. (128 messages postés)
C'est dommage... J'ai voulu participer cette semaine, mais j'y ai pensé trop tard. Je voulais envoyer mon screen hier à 23h mais c'était déjà verrouillé.
Voximilien - posté le 27/03/2017 à 00:16:54. (128 messages postés)
frenchouf a dit:
C'est quand même dingue comment le métier du jeu vidéo est représenté comme un piège à con!
C'est clair !
Après quand tu lis les avis sur différents sites concernant les écoles, y en a quasiment aucune de bien. Donc y a de quoi se poser des questions sur la rentabilité d'être dans une école spécialisée jeu vidéo.
S'il n'y avait pas d'enjeu financier important, ça pourrait valoir le coup de tenter, mais ce n'est pas le cas.
Personnellement, j'ai pas envie d'emprunter 25,000€ avec 0 garanti derrière de trouver un job et 0 garanti d'apprendre correctement. J'ai vu des avis sur certaines écoles comme quoi tu es laissé seul à ton sort avec des tutos, et puis débrouille toi avec ça. Pour 0€, je fais la même chose.
Après, est-ce que le diplôme a vraiment une valeur ? Je vais souvent voir les annonces sur Afjv et les entreprises demandent souvent X années d'expériences (ce qui est ultra débile en soi, puisque personne ne veut te former, donc les X années, j'sais pas comment ils peuvent trouver si personne ne fait rien, m'enfin). Je n'ai pas encore vu d'annonce comme quoi il faut un diplôme de Niveau II pour faire le métier, il faut juste les compétences.
En cherchant un peu désespérément une solution alternative sur Internet, j'ai trouvé un p'tit truc qui n'a rien à voir avec les écoles, mais qui peut bien aider à se développer. Le problème étant que ça n'existe pas en France... Mais au Québec. Ça s'appelle Studio XP. C'est géré par les gars d'Ubisoft Montréal. Ils t'apprennent quelques trucs et également les bases de Unity. Ça reste quelque chose de payant, bien évidemment. Après, je ne sais pas si ça vaut le coup.
Perso, je pense me tourner vers un peu de programmation et vers quelque chose dans le graphisme/infographie/dessin en passant par une Manaa. Ce sera toujours moins coûteux qu'une école de jeux random, et il y a moins de risques. Et puis, je préfère faire ça plutôt que de retenter désespérément les concours ultras durs chaque année et perdre du temps.
Voximilien - posté le 16/03/2017 à 15:11:03. (128 messages postés)
Salut !
Non, non, pas besoin de développer un script pour moi ! Je te remercie, mais je ne veux pas demander à quelqu'un de me faire quelque chose comme ça.
En fait, je voulais juste savoir si quelqu'un avait un script comme celui-ci qui traîne sur son PC, puisque que beaucoup de ressources pour XP ont disparus.
Ou simplement savoir si avec de la bidouille, on peut faire un script qui fonctionne en RGSS1.
Voximilien - posté le 15/03/2017 à 01:48:20. (128 messages postés)
Domaine concerné: Script
Logiciel utilisé: RPG Maker XP
Salut !
Je suis à la recherche d'un script depuis un moment pour la version XP de RPG Maker. Le timer est quelque peu limité et avoir plus d'options serait un gros plus.
J'ai déjà trouvé des scripts plus ou moins avancés pour les versions VX Ace et MV, mais pas grand chose de très folichon pour XP.
Je m'explique. Ce que j'essaye d'avoir dans ce script, ce sont des options où on peut :
• Figer/défiger le minuteur (avec une option qui permet de laisser afficher le minuteur quand il est en pause),
• Avoir la possibilité de mettre les millisecondes et que le décompte soit fluide,
• Ajouter/enlever X temps sans forcément réinitialiser le minuteur à chaque fois,
• Avoir la possibilité d'attribuer une image de fond pour le minuteur qui change d'opacité (en même temps que le minuteur) quand le joueur passe sur le même coin de l'écran pour plus de lisibilité.
(Les millisecondes c'est le truc bonus, tant pis si ça ne marche pas pour XP.)
Est-ce qu'un tel script existe pour XP ? Est-ce qu'un script avec ces options est réalisable pour la version XP ou est-ce que le RGSS1 est trop faible pour gérer ça ?
Voici ce que j'ai trouvé pour les versions VX Ace et MV.
VX Ace :
#------------------------------------------------------------------------------## Galv's Variable Timer Functions#------------------------------------------------------------------------------## For: RPGMAKER VX ACE# Version 1.2#------------------------------------------------------------------------------## 2012-10-24 - Version 1.2 - updated alias names for compatibility# 2012-09-28 - Version 1.1 - Timer sprites now dispose when invisible.# (thanks to Falcao's advice to do so)# 2012-09-28 - Version 1.0 - release#------------------------------------------------------------------------------### This script allows a bit more control over the timer and how it looks# - Use a custom graphic for the timer# - Change font, text size and colour of numbers# - Variable speed that can count up or down# - Additional script calls for functionality (see below)### The below can be used in event script calls.#------------------------------------------------------------------------------## To freeze the timer:# $game_timer.freeze#------------------------------------------------------------------------------## To unfreeze the timer:# $game_timer.unfreeze#------------------------------------------------------------------------------## To increase time (x is number of seconds):# $game_timer.increase(x)#------------------------------------------------------------------------------## To decrease time (x is number of seconds):# $game_timer.decrease(x)#------------------------------------------------------------------------------## To set timer to equal a variable (y is variable ID to use):# $game_timer.set(y)#------------------------------------------------------------------------------## To increase timer by a variable (y is variable ID to use):# $game_timer.increase_var(y)#------------------------------------------------------------------------------## To decrease timer by a variable (y is variable ID to use):# $game_timer.decrease_var(y)#------------------------------------------------------------------------------### Event commands for the timer still work.# eg. (start, stop, conditional branch, set variable to timer)##------------------------------------------------------------------------------##------------------------------------------------------------------------------# # !!!!! WARNING - I am a learning scripter. Use this at your own risk!!!!!!#------------------------------------------------------------------------------#$imported={}if$imported.nil?
$imported["Variable_Timer"]=truemodule Variable_Timer
#------------------------------------------------------------------------------## SCRIPT SETUP OPTIONS#------------------------------------------------------------------------------#
TIME_SPEED_VAR =1# The ID of the variable that sets the timer speed.# Change this variable in-game to the speed per second.# Negatives count down, positives count up. 0 pauses.
HIDE_TIMER_SWITCH =1# Switch ID to turn on/off the timer visibility.
ABORT_BATTLE =false# When timer reached 0 in battle it would abort # the combat. Choose if that's true or false.
TIMER_GRAPHIC ="timer"# Graphic in /Graphics/System folder to use.# put "" If you don't want a graphic.
TIMER_FONT ="Arial"# Font of timer numbers. Make it "" for default.
TEXT_SIZE =28# Size of timer numbers.
R =0# Colour of numbers using RGB values
G =255# (red, green, blue)
B =0#------------------------------------------------------------------------------## END SCRIPT SETUP OPTIONS#------------------------------------------------------------------------------#endclass Game_Timer
#--------------------------------------------------------------------------# * OVERWRITE Update#--------------------------------------------------------------------------def update
returnif@freeze_timeif@working&&@count>0@count+=$game_variables[Variable_Timer::TIME_SPEED_VAR]
on_expire if@count==0&&Variable_Timer::ABORT_BATTLEendif@working&&@count<0@count=0endenddef freeze
@freeze_time=trueenddef unfreeze
@freeze_time=falseenddef increase(time)@count+= time * Graphics.frame_rateenddef decrease(time)@count-= time * Graphics.frame_rateenddef set(var)@count=$game_variables[var]* Graphics.frame_rateenddef increase_var(var)@count+=$game_variables[var]* Graphics.frame_rateenddef decrease_var(var)@count-=$game_variables[var]* Graphics.frame_rateendend# Game_Timerclass Sprite_Timer < Sprite
alias galv_vartimer_dispose dispose
def dispose
@timer_sprite.disposeif !@timer_sprite.nil?
galv_vartimer_dispose
enddef create_timer_sprite
@timer_sprite= Sprite.new@timer_sprite.bitmap= Cache.system(Variable_Timer::TIMER_GRAPHIC)@timer_sprite.opacity=255@timer_sprite.x= Graphics.width-@timer_sprite.bitmap.widthendalias galv_vartimer_create_bitmap create_bitmap
def create_bitmap
galv_vartimer_create_bitmap
self.bitmap.font.name=Variable_Timer::TIMER_FONTunlessVariable_Timer::TIMER_FONT==""self.bitmap.font.size=Variable_Timer::TEXT_SIZEself.bitmap.font.color.set(Variable_Timer::R,Variable_Timer::G,Variable_Timer::B)endalias galv_vartimer_update_visibility update_visibility
def update_visibility
galv_vartimer_update_visibility
if$game_timer.working? && !$game_switches[Variable_Timer::HIDE_TIMER_SWITCH]
create_timer_sprite if@timer_sprite.nil? ||@timer_sprite.disposed?
else@timer_sprite.disposeif !@timer_sprite.nil?
self.visible=falseendendend# Sprite_Timer < Sprite
MV :
(Je sais que MV est en Java et que c'est différent de VX et XP.)
/*:
*@plugindesc Gives developers move control over the visual and mechanical aspects of the game's timer system. * @author SumRndmDde * * @param Timer Format * @desc The format of the timer text. Use the following codes: * %1 - hours | %2 - minutes | %3 - seconds | %4 - frames * @default %2:%3:%4 * * @param Timer Position * @desc The position of the timer. TOP-L TOP TOP-R * Use the following position codes. BOT-L BOT BOT-R * @default TOP * * @param Timer Start SE * @desc The sound effect played when a timer starts. Leave blank to disallow. Use the format: file, volume, pitch, pan * @default * * @param Timer Expire SE * @desc The sound effect played when a timer expires. Leave blank to disallow. Use the format: file, volume, pitch, pan * @default Bell3, 80, 100, 0 * * @param Pause Color * @desc This is the color of the text when the timer is paused. * @default #FFFF00 * * @param Use Background * @desc If 'true', a subtle background will be used for the timer to help it become more readable. * @default true * * @param == Auto Settings == * @default * * @param Use Auto-Stop * @desc If 'true', then the timer will automatically stop itself and leave the screen when finished. * @default true * * @param Use Auto-Pause * @desc If 'true', then the timer will automatically pause while events are running. * @default true * * @param Auto-Pause Opacity * @desc This is the opacity of the timer during automatic pausing. * @default 120 * * @param Use Auto-Abort * @desc If 'true', then battles will be automatically aborted when the timer ends. * @default true * * @param == Label Settings == * @default * * @param Default Label * @desc This is the text of the label by default. Leave blank to use no label. * @default * * @param Label Font Size * @desc The font size of the text used for the label. * @default 22 * * @param == Font Settings == * @default * * @param Timer Font * @desc The font used for the timer's text.*@default GameFont
**@param Timer Font Size
*@desc The size of the font used for the timer.*@default32**@param Timer Italic
*@descIf'true',then the timer's text will be italicized. * @default false * * @param Timer Text Color * @desc The color of the timer's text.*@default#ffffff**@param Timer Outline Color
*@desc The color of the timer's outline. * @default rgba(0, 0, 0, 0.5) * * @help * * Timer Upgrade * Version 1.01 * SumRndmDde * * * This plugin gives developers move control over the visual and mechanical * aspects of the game's timer system.***==============================================================================* Plugin Commands
*==============================================================================** The following Plugin Commands can be used to manipulate the extra mechanics
* of the upgraded timer:
**** SetTimer [frames][seconds][minutes][hours]** Using this command, the frames, seconds, minutes,and hours can be set on the
* game timer.This allows users to surpass the default settings for the MV
* engine and specify the count down to frames.**For example,if you wish to set the timer to 3 minutes, you would do:
* SetTimer 0030**If you wished to set the timer to 30 frames and60 seconds,do:
* SetTimer 306000**** AddTimer [frames][seconds][minutes][hours]** Using this command, frames, seconds, minutes,and hours can be added to the
* game timer.Instead of replacing the timer value, this command adds to the
* current value.**For example,if you wanted to add 5 minutes to the timer, you would do:
* AddTimer 0050**If you wanted to add 30 frames and1 hour, you would do:
* AddTimer 30001**** PauseTimer
** Using this command, the timer can be paused.This keeps the timer at its
* current position until unpaused or restarted.**** UnpauseTimer
** Using this command, the timer can be unpaused.This will let the timer
* continue from when it was paused.**** SetExpireCommonEvent [id]** Using this command, the expire Common Event can be set up.This is a Common
* Event that will automatically play once the Timer ends.Once the Common
* Event has been played, it will no longer be the expire Common Event.**** SetTimerLabel [text]** This command allows you to change the timer label in the middle of the game.* Setting this to blank would remove the label.***==============================================================================*End of Help File*==============================================================================** Welcome to the bottom of the Help file.*** Thanks for reading!
*If you have questions,orif you enjoyed this Plugin, please check
* out my YouTube channel!
** https://www.youtube.com/c/SumRndmDde
***Untilnext time,*~ SumRndmDde
*/
var SRD = SRD ||{};
SRD.TimerUpgrade= SRD.TimerUpgrade||{};
SRD.PluginCommands= SRD.PluginCommands||{};
var Imported = Imported ||{};
Imported["SumRndmDde Timer Upgrade"]=1.01;(function(_, $){"use strict";//-----------------------------------------------------------------------------// SRD.TimerUpgrade//-----------------------------------------------------------------------------
const params = PluginManager.parameters('SRD_TimerUpgrade');
_.format=String(params['Timer Format']);
_.pos=String(params['Timer Position']);
_.start=String(params['Timer Start SE']);
_.stop=String(params['Timer Expire SE']);
_.pauseColor=String(params['Pause Color']);
_.back=String(params['Use Background']).trim().toLowerCase()==='true';
_.autoStop=String(params['Use Auto-Stop']).trim().toLowerCase()==='true';
_.autoPause=String(params['Use Auto-Pause']).trim().toLowerCase()==='true';
_.autoOpacity= parseInt(params['Auto-Pause Opacity']);
_.abort=String(params['Use Auto-Abort']).trim().toLowerCase()==='true';
_.default=String(params['Default Label']);
_.labelSize= parseInt(params['Label Font Size']);
_.font=String(params['Timer Font']);
_.size= parseInt(params['Timer Font Size']);
_.italic=String(params['Timer Italic']).trim().toLowerCase()==='true';
_.color=String(params['Timer Text Color']);
_.outline=String(params['Timer Outline Color']);
_.updateBooleans= function(){
this.usesHours= !!(this.format.match(/%1/));
this.usesMinutes= !!(this.format.match(/%2/));
this.usesSeconds= !!(this.format.match(/%3/));
this.usesFrames= !!(this.format.match(/%4/));};
_.getLowestType= function(){if(this.usesFrames)return0;elseif(this.usesSeconds)return1;elseif(this.usesMinutes)return2;return3;};
_.setupPosition= function(){
this.vert=(!!this.pos.match(/top/i)) ? 0 : 1;if(!!this.pos.match(/-l/i)){
this.horz=-1;}elseif(!!this.pos.match(/-r/i)){
this.horz=1;}else{
this.horz=0;}};
_.setupSoundEffects= function(){if(this.start){
const info = this.start.split(/\s*,\s*/);
this.start={
name: info[0],
volume: parseInt(info[1]),
pitch: parseInt(info[2]),
pan: parseInt(info[3])}}if(this.stop){
const info = this.stop.split(/\s*,\s*/);
this.stop={
name: info[0],
volume: parseInt(info[1]),
pitch: parseInt(info[2]),
pan: parseInt(info[3])}}};
_.updateBooleans();
_.setupPosition();
_.setupSoundEffects();//-----------------------------------------------------------------------------// SRD.PluginCommands//-----------------------------------------------------------------------------
$['settimer']= function(args){
const v =$gameVariables._data;
let result =eval(args[0]);if(args[1]) result +=(eval(args[1])*60);if(args[2]) result +=(eval(args[2])*60*60);if(args[3]) result +=(eval(args[3])*60*60*60);$gameTimer.start(result);};
$['addtimer']= function(args){
const v =$gameVariables._data;
let result =$gameTimer.getFrames();if(args[0]) result +=(eval(args[0]));if(args[1]) result +=(eval(args[1])*60);if(args[2]) result +=(eval(args[2])*60*60);if(args[3]) result +=(eval(args[3])*60*60*60);if(result <0) result =0;$gameTimer.start(result);};
$['pausetimer']= function(args){$gameTimer.pause();};
$['unpausetimer']= function(args){$gameTimer.unpause();};
$['setexpirecommonevent']= function(args){$gameTimer.setExpireCommonEvent(parseInt(args[0]));};
$['settimerlabel']= function(args){if(args.length===0){$gameTimer.setLabel('');}else{
let text ='';for(let i =0; i < args.length; i++){
text +=String(args[i])+" ";}$gameTimer.setLabel(text);}};//-----------------------------------------------------------------------------// Game_Interpreter
//-----------------------------------------------------------------------------if(!SRD.Game_Interpreter_pluginCommand){
SRD.Game_Interpreter_pluginCommand= Game_Interpreter.prototype.pluginCommand;
Game_Interpreter.prototype.pluginCommand= function(command, args){
const com = command.trim().toLowerCase();if($[com]){
$[com].call(this, args);return;}
SRD.Game_Interpreter_pluginCommand.apply(this, arguments);};}//-----------------------------------------------------------------------------// Game_Timer
//-----------------------------------------------------------------------------
_.Game_Timer_initialize= Game_Timer.prototype.initialize;
Game_Timer.prototype.initialize= function(){
_.Game_Timer_initialize.apply(this, arguments);
this._onExpireCommonEvent =0;
this._isPaused =false;
this._label = _.default;};
_.Game_Timer_update= Game_Timer.prototype.update;
Game_Timer.prototype.update= function(sceneActive){if(!this._isPaused && !this.isAutoPaused()){
_.Game_Timer_update.apply(this, arguments);}};
Game_Timer.prototype.isAutoPaused= function(){return _.autoPause&&$gameMap.isEventRunning()&& SceneManager._scene.constructor=== Scene_Map;};
Game_Timer.prototype.getCount= function(type){
switch(type){case0: return this._frames;case1: returnMath.floor(this._frames /60);case2: returnMath.floor(this._frames /(60*60));case3: returnMath.floor(this._frames /(60*60*60));}};
Game_Timer.prototype.getLabel= function(){if(!this._label)return'';
let text = this._label;
text = text.replace(/\\V\[(\d+)\]/gi, function(){return$gameVariables.value(parseInt(arguments[1]));}.bind(this));return text;};
Game_Timer.prototype.setLabel= function(label){
this._label = label;};
_.Game_Timer_start= Game_Timer.prototype.start;
Game_Timer.prototype.start= function(count){
_.Game_Timer_start.apply(this, arguments);if(_.start) AudioManager.playSe(_.start);
this.unpause();};
_.Game_Timer_stop= Game_Timer.prototype.stop;
Game_Timer.prototype.stop= function(count){
_.Game_Timer_stop.apply(this, arguments);
this.unpause();};
Game_Timer.prototype.getFrames= function(){return this._frames;};
Game_Timer.prototype.setExpireCommonEvent= function(id){
this._onExpireCommonEvent = id;};
Game_Timer.prototype.onExpire= function(){if(_.abort) BattleManager.abort();if(_.stop) AudioManager.playSe(_.stop);
this.playExpireCommonEvent();if(_.autoStop) this.stop();};
Game_Timer.prototype.playExpireCommonEvent= function(){if(this._onExpireCommonEvent !==0){$gameTemp.reserveCommonEvent(this._onExpireCommonEvent);
this._onExpireCommonEvent =0;}};
Game_Timer.prototype.pause= function(){
this._isPaused =true;};
Game_Timer.prototype.unpause= function(){
this._isPaused =false;};
Game_Timer.prototype.isPaused= function(){return this._isPaused;};//-----------------------------------------------------------------------------// Scene_Base
//-----------------------------------------------------------------------------
Scene_Base.prototype.createTimer= Spriteset_Base.prototype.createTimer;//-----------------------------------------------------------------------------// Scene_Map
//-----------------------------------------------------------------------------
_.Scene_Map_createSpriteset= Scene_Map.prototype.createSpriteset;
Scene_Map.prototype.createSpriteset= function(){
_.Scene_Map_createSpriteset.apply(this, arguments);
this.createTimer()};//-----------------------------------------------------------------------------// Scene_Battle
//-----------------------------------------------------------------------------
_.Scene_Battle_createSpriteset= Scene_Battle.prototype.createSpriteset;
Scene_Battle.prototype.createSpriteset= function(){
_.Scene_Battle_createSpriteset.apply(this, arguments);
this.createTimer();};//-----------------------------------------------------------------------------// Spriteset_Base
//-----------------------------------------------------------------------------
Spriteset_Base.prototype.createTimer= function(){};//-----------------------------------------------------------------------------// Sprite_Timer
//-----------------------------------------------------------------------------
_.Sprite_Timer_initialize= Sprite_Timer.prototype.initialize;
Sprite_Timer.prototype.initialize= function(){
this.initMembers();
_.Sprite_Timer_initialize.apply(this, arguments);
this.createBackground();
this.createLabel();
this.addChildren();
this.redraw();};
Sprite_Timer.prototype.initMembers= function(){
this._lowestType = _.getLowestType();
this._count =0;
this._paused =false;
this._label =$gameTimer.getLabel();};
Sprite_Timer.prototype.createBackground= function(){
const width = this.numBitmap.width*(1.5);
let height = this.numBitmap.height;if(this._label) height += _.labelSize+16;
this.background= new Sprite(new Bitmap(width, height));if(_.back){if(_.horz){
this.background.bitmap.gradientFillRect(0,0, width, height,'rgba(0, 0, 0, 0)','rgba(0, 0, 0, 1)',false);
this.background.scale.x= _.horz;}else{
this.background.bitmap= new Bitmap(width *2, height);
this.background.bitmap.gradientFillRect(0,0, width, height,'rgba(0, 0, 0, 0)','rgba(0, 0, 0, 1)',false);
this.background.bitmap.gradientFillRect(width,0, width, height,'rgba(0, 0, 0, 1)','rgba(0, 0, 0, 0)',false);
this.background.anchor.x=0.5;}}};
Sprite_Timer.prototype.createLabel= function(){
this.label= new Sprite(new Bitmap(this.numBitmap.width, _.labelSize+16));
this.label.bitmap.fontFace= _.font;
this.label.bitmap.fontSize= _.labelSize;
this.label.bitmap.fontItalic= _.italic;
this.label.bitmap.textColor= _.color;
this.label.bitmap.outlineColor= _.outline;
this.refreshLabel();};
Sprite_Timer.prototype.refreshLabel= function(){
const bit = this.label.bitmap;
bit.clear();if(this._label){
bit.drawText(this._label,0,0, bit.width, bit.height,'center');}};
Sprite_Timer.prototype.removeChildren= function(){
this.removeChild(this.background);
this.removeChild(this.numbers);
this.removeChild(this.label);};
Sprite_Timer.prototype.addChildren= function(){
this.addChild(this.background);
this.addChild(this.numbers);
this.addChild(this.label);};
Sprite_Timer.prototype.createBitmap= function(){
const fontSize = _.size;
const bitmap = new Bitmap(1,1);
bitmap.fontFace= _.font;
bitmap.fontSize= fontSize;
bitmap.fontItalic= _.italic;
const newWidth = bitmap.measureTextWidth(this.timerText())+16;
const newHeight = fontSize +16;
this.numbers= new Sprite(new Bitmap(newWidth, newHeight));
this.numBitmap= this.numbers.bitmap;
this.numBitmap.fontFace= _.font;
this.numBitmap.fontSize= fontSize;
this.numBitmap.fontItalic= _.italic;
this.numBitmap.textColor= _.color;
this.numBitmap.outlineColor= _.outline;};
_.Sprite_Timer_update= Sprite_Timer.prototype.update;
Sprite_Timer.prototype.update= function(){
_.Sprite_Timer_update.apply(this, arguments);
this.updatePause();
this.updateLabel();};
Sprite_Timer.prototype.updateBitmap= function(){if(this._count !==$gameTimer.getCount(this._lowestType)){
this._count =$gameTimer.getCount(this._lowestType);
this.redraw();}};
Sprite_Timer.prototype.updatePause= function(){if(this._paused !==$gameTimer.isPaused()){
this._paused =$gameTimer.isPaused();if(this._paused) this.redrawForPause();else this.redraw();}};
Sprite_Timer.prototype.updateLabel= function(){if(this._label !==$gameTimer.getLabel()){
const refreshChildren =(!!this._label !== !!$gameTimer.getLabel());
this._label =$gameTimer.getLabel();
this.refreshLabel();if(refreshChildren){
this.removeChildren();
this.createBackground();
this.addChildren();}}};
Sprite_Timer.prototype.redraw= function(){if(this._paused)return;
const text = this.timerText();
const width = this.numBitmap.width;
const height = this.numBitmap.height;
this.numBitmap.clear();
this.numBitmap.drawText(text,0,0, width, height,'center');};
Sprite_Timer.prototype.redrawForPause= function(){
const text = this.timerText();
const width = this.numBitmap.width;
const height = this.numBitmap.height;
const color = this.numBitmap.textColor;
this.numBitmap.clear();
this.numBitmap.textColor= _.pauseColor;
this.numBitmap.drawText(text,0,0, width, height,'center');
this.numBitmap.textColor= color;};
Sprite_Timer.prototype.timerText= function(){
let result = _.format;
const frames =$gameTimer.getFrames();
const seconds =Math.floor(frames /60);
const minutes =Math.floor(frames /(60*60));
const frm = frames %60;
const sec = seconds %60;
const min = minutes %60;
const hur =Math.floor(minutes /60)%60;if(_.usesFrames) result = result.replace(/%4/, frm.padZero(2));if(_.usesSeconds) result = result.replace(/%3/, sec.padZero(2));if(_.usesMinutes) result = result.replace(/%2/, min.padZero(2));if(_.usesHours) result = result.replace(/%1/, hur.padZero(2));return result;};
Sprite_Timer.prototype.updateVisibility= function(){if($gameTimer.isWorking()){
this.opacity=($gameTimer.isAutoPaused()) ? _.autoOpacity : 255;}else{
this.opacity=0;}};
Sprite_Timer.prototype.updatePosition= function(){if(!this.background)return;
this.updateVertical();
this.updateCountPosition();
this.updateHorizontal();};
Sprite_Timer.prototype.updateVertical= function(){if(_.vert===1){
this.y= Graphics.boxHeight- this.background.height;}else{
this.y=0;}};
Sprite_Timer.prototype.updateCountPosition= function(){if(this._label){
this.numbers.y= _.labelSize+16;}else{
this.numbers.y=0;}};
Sprite_Timer.prototype.updateHorizontal= function(){if(_.horz===1){
this.x= Graphics.boxWidth- this.numBitmap.width;
this.background.x= this.numBitmap.width- this.background.bitmap.width;}elseif(_.horz===-1){
this.x=0;
this.background.x= this.background.bitmap.width;}else{
this.x=(Graphics.boxWidth- this.numBitmap.width)/2;
this.background.x= this.numBitmap.width/2;}};})(SRD.TimerUpgrade, SRD.PluginCommands);
Si quelqu'un a une solution pour moi, ce serait très sympa ! J'vous donne un câlin si vous voulez en récompense. :3
Voximilien - posté le 12/10/2016 à 02:08:35. (128 messages postés)
C'était le but que ça fasse "Corpse Party". C'était la principale inspiration.
En revanche, j'ai pioché dans plusieurs ressources qu'on trouve par ci, par là, sur le net et j'ai fait énormément de modification pour que toutes les ressources aillent bien ensemble.
Par contre, je ne vois pas en quoi les personnages ont du mal à s'intégrer, je suis curieux d'en savoir plus ...
Les salles 301 et 302 ? C'est pas possible, c'est pas ce qui est écrit. x)
101 et 102, c'est mieux. Pourquoi ces chiffres ? En fait, je vois souvent dans les écoles que le premier chiffre désigne l'étage, et les deux derniers désigne le numéro de la salle.
Voximilien - posté le 11/08/2016 à 14:20:30. (128 messages postés)
@KillianGames : J'ai changé un peu la couleur des arbres avec Photoshop pour diversifier. J'ai ensuite utilisé un calque spécial avec un ton plus orangé sur l'ensemble du tileset.
@Kaniglouton : Merci ! Ouais, j'aime beaucoup la verdure. x)
Voximilien - posté le 11/08/2016 à 13:13:50. (128 messages postés)
Merci.
J'ai fait ça sur Photoshop ! J'ai récupéré le fond en papier sur Internet, ainsi que les 2 différents WindowSkins, de même pour l’icône d'horloge.