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: Des jeux d'hiver sous la couette / Scripts: Système de vol pour RPG Maker (...) / Jeux: Onsen RPG - A Tale of Yu / Jeux: Final Destiny / Jeux: puie z / Chat

Bienvenue
visiteur !





Désactiver
la neige


publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

248 connectés actuellement

30789506 visiteurs
depuis l'ouverture

2199 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

RPG Fusion

Kingdom Ultimate

Lumen

Leo-Games

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RESOLU] [RMMV] Classer variable


crackerwood - posté le 27/08/2016 à 21:12:21 (176 messages postés)

❤ 0

Domaine concerné: Script
Logiciel utilisé: RMMV
Bonjour tout le monde.
Voilà je me sers actuellement de RMMV et je voudrais classer mes variables comme le tuto de joke mais en java. En gros faire comme ce tuto http://www.rpg-maker.fr/index.php?page=tutos&id=229

Merci à tous.

CMS event--PHS--Blackjack--PHS event VX


Aminomad - posté le 28/08/2016 à 00:29:02 (150 messages postés)

❤ 0

Le tuto de Joke est aussi applicable à MV, vu qu'il n'y a pas une ligne de code, c'est tout en event.

Si tu cherches plutôt un script, j'ai fait ça (c'est un tri par sélection qui est l'algorithme le moins efficace mais ça devrait être largement suffisant).

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
triCroissant = function(tableau)
{
  var temp;
  var rangs=[];
  for (var i=0; i<tableau.length; i++)rangs[i]=i;
  for(var i = 0; i<tableau.length-1; i++)
  {
    var p = i;
    for(var j=i+1;j<tableau.length;j++)
    {
      if(tableau[j]<tableau[p])p=j;
    }
    temp = tableau[p];
    tableau[p]=tableau[i];
    tableau[i]=temp;
    temp = rangs[p];
    rangs[p]=rangs[i];
    rangs[i]=temp;
  }
    return rangs;
}
 
triDecroissant = function(tableau)
{
  var temp;
  var rangs=[];
  for (var i=0; i<tableau.length; i++)rangs[i]=i;
  for(var i = 0; i<tableau.length-1; i++)
  {
    var p = i;
    for(var j=i+1;j<tableau.length;j++)
    {
      if(tableau[j]>tableau[p])p=j;
    }
    temp = tableau[p];
    tableau[p]=tableau[i];
    tableau[i]=temp;
    temp = rangs[p];
    rangs[p]=rangs[i];
    rangs[i]=temp;
  }
    return rangs;
}



La fonction renvoie un tableau des index triés:

Exemple d'utilisation:

Portion de code : Tout sélectionner

1
2
triCroissant([5,1,4,2]) -> [1,3,2,0]
triCroissant([5,1,4,2])[0] -> 1 'index du plus petit élément



The Lone Chameleon


Nukidoudi - posté le 28/08/2016 à 00:43:58 (736 messages postés) -

❤ 0

yo

Ou alors... array.sort hein...

Citation:

comme le tuto de joke mais en java



java... SCRIPT, ce sont deux langages différents !

https://xvw.lol


Aminomad - posté le 28/08/2016 à 01:05:12 (150 messages postés)

❤ 0

La honte... :s
Merci d'intervenir avant que je me ridiculise la prochaine fois !

Du coup, tu peux combiner array.sort avec array.indexOf pour obtenir les rangs (comme dans le tuto de Joke).

The Lone Chameleon


crackerwood - posté le 28/08/2016 à 07:55:43 (176 messages postés)

❤ 0

Merci beaucoup. Comme je n'y connais rien en java ca me facilite pas la chose

CMS event--PHS--Blackjack--PHS event VX


François Berhn - posté le 28/08/2016 à 08:05:19 (5402 messages postés)

❤ 0

Tonton Hellper

crackerwood a dit:


en java


Nukidoudi a dit:


java... SCRIPT, ce sont deux langages différents !



La liste des raisons pour lesquelles le making se meurt, la cinquième va vous étoner | Des projets abandonnés, source d'inspiration :D | Mes jeux


crackerwood - posté le 30/08/2016 à 18:55:37 (176 messages postés)

❤ 0

Et bien le code donné ne donne rien.

CMS event--PHS--Blackjack--PHS event VX


Aminomad - posté le 31/08/2016 à 08:50:53 (150 messages postés)

❤ 0

Tu peux nous dire concrètement ce que tu veux faire et comment tu essaies de l'utiliser ?

The Lone Chameleon


crackerwood - posté le 31/08/2016 à 09:18:28 (176 messages postés)

❤ 0

Désolé cest vrai que mon explication est moyenne. En fait en suivant le tuto de joke pour classer les variables j'ai eu des bugs lors de mon poker. J'ai donc utilisé les commandes données par zeus en commande script (http://www.rpg-maker.fr/tutoriels-229-joke-s-tuts-classer-des-variables-dans-l-ordre-croissantdecroissant.html).
Je souhaiterais donc pouvoir adapter le code pour RMMV. J'ai testé plusieurs chose mais rien à faire. Je voudrais donc juste avoir un classement variables ave le tri des valeurs et connaître, connaître la commande pour récupérer l'id d'une variable et connaître la valeur d'une variable d'après une autre variables comme rm3k.
Merci.

CMS event--PHS--Blackjack--PHS event VX


Aminomad - posté le 31/08/2016 à 21:45:45 (150 messages postés)

❤ 0

Quand je transpose en javascript, ça donne ça. Je sais pas si y'a plus simple... Surement.

Création du tableau:

Portion de code : Tout sélectionner

1
var tableau = [];



Insertion des id des variables à trier:

Portion de code : Tout sélectionner

1
2
3
4
tableau.push([5]);
tableau.push([1]);
tableau.push([3]);
 


Insertion des valeurs des variables, selon les id:

Portion de code : Tout sélectionner

1
2
3
4
5
6
for(var i=0; i<tableau.length; i++)
{
var v = tableau[i]
v.push($gameVariables.value(v[0]))
}
 


On trie dans l'ordre croissant:

Portion de code : Tout sélectionner

1
tableau.sort(function(x,y){return x[1]-y[1]});


Ou décroissant:

Portion de code : Tout sélectionner

1
tableau.sort(function(x,y){return y[1]-x[1]});



On récupère l'id de la variable de rang i (i commence à 0) qu'on stock dans une variable:

Portion de code : Tout sélectionner

1
$gameVariables.setValue(id de la variable, tableau[i][0]);


On récupère la valeur de la variable de rang i (i commence à 0) qu'on stock dans une variable:

Portion de code : Tout sélectionner

1
$gameVariables.setValue(id de la variable, tableau[i][1]);



The Lone Chameleon


crackerwood - posté le 31/08/2016 à 22:33:42 (176 messages postés)

❤ 0

Merci beaucoup. Je test ça demain et je dirais si c'est ok. J'étais pas loin apparement dans mon code. En tout cas merci et je te tiens au courant.

EDIT : je reviens pour signaler que les ID ne se classent pas du tout et que les valeur des variables ne fais rien du tout.
J'ai tapé les commande dans l'onglet script à la page 3 du logiciel.

CMS event--PHS--Blackjack--PHS event VX


Aminomad - posté le 01/09/2016 à 19:13:39 (150 messages postés)

❤ 0

Je l'ai testé sans problème pourtant :-/
Tu peux m'envoyer ton projet si il est pas trop lourd ?
Ou un screen de l'event pour commencer.

The Lone Chameleon


crackerwood - posté le 01/09/2016 à 19:19:36 (176 messages postés)

❤ 0

Et bien je n'est qu'un test et voilà le code que j'ai tapé :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
var tableau = [];
tableau.push([1]);
tableau.push([3]);
tableau.push([5]);
tableau.push([7]);
tableau.sort(function(x,y){return x[1]-y[1]});
$gameVariables.setValue(10, tableau[0][1]);
$gameVariables.setValue(11, tableau[1][1]);
$gameVariables.setValue(12, tableau[2][1]);
$gameVariables.setValue(13, tableau[3][1])



Pour infos mes variables ont pour valeur dans l'ordre 1,3,5,7 --> 10,5,1,3

EDIT : Autant pour moi j'ai oublié un morceau du code

CMS event--PHS--Blackjack--PHS event VX


Aminomad - posté le 01/09/2016 à 19:49:34 (150 messages postés)

❤ 0

T'as oublié un bout de code :p

Essaie ça (je te donne une version un peu plus compact)

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
tableau = [[1],[3],[5],[7]]
for(var i=0; i<tableau.length; i++)
{
var v = tableau[i]
v.push($gameVariables.value(v[0]))
}
tableau.sort(function(x,y){return x[1]-y[1]});
$gameVariables.setValue(10, tableau[0][1]);
$gameVariables.setValue(11, tableau[1][1]);
$gameVariables.setValue(12, tableau[2][1]);
$gameVariables.setValue(13, tableau[3][1]);



Tu verras que t'es limité en terme de lignes que tu peux rentrer via la commande script.
Si c'est le cas tu peux en créer une autre juste en dessous et rentrer le code manquant (mais la ca devrait rentrer).

The Lone Chameleon


crackerwood - posté le 01/09/2016 à 19:59:16 (176 messages postés)

❤ 0

Nickel c'est parfais pour le moment ^^. Oui je me suis aperçu du morceau de code manquant mais le temps d'éditer mon message que tu avais répondu lol. En tout cas merci beaucoup.

EDIT : dernier edit pour finir. Tout fonctionne nickel. Merci.

CMS event--PHS--Blackjack--PHS event VX

Index du forum > Entraide > [RESOLU] [RMMV] Classer variable

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

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