Bienvenue visiteur !
|
Désactiver la neige
Statistiques
Liste des membres
Contact
Mentions légales
248 connectés actuellement
30789506 visiteurs depuis l'ouverture
2199 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
crackerwood -
posté le 27/08/2016 à 21:12:21 (176 messages postés)
| | 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)
| | 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).
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:
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)
- | 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)
| | La honte...
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)
| | 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)
| Tonton Hellper | crackerwood a dit:
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)
| | 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)
| | 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)
| | 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)
| | Quand je transpose en javascript, ça donne ça. Je sais pas si y'a plus simple... Surement.
Création du tableau:
Insertion des id des variables à trier:
1
2
3
4
| tableau.push([5]);
tableau.push([1]);
tableau.push([3]);
|
Insertion des valeurs des variables, selon les id:
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:
1
| tableau.sort(function(x,y){return x[1]-y[1]}); |
Ou décroissant:
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:
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:
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)
| | 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)
| | 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)
| | Et bien je n'est qu'un test et voilà le code que j'ai tapé :
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)
| | T'as oublié un bout de code
Essaie ça (je te donne une version un peu plus compact)
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)
| | 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
|
|
|