Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: Dread Mac Farlane - episode 7 / Jeux: Ce qui vit Dessous / News: Quoi de neuf sur Oniromancie (...) / Sorties: Dread Mac Farlane - episode 6 / News: Quoi de neuf sur Oniromancie (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

320 connectés actuellement

29352599 visiteurs
depuis l'ouverture

7823 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Planète Glutko

New RPG Maker

Guelnika & E-magination

ConsoleFun

Eclipso

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [Scripts] Petites questions connes sur les SCRIPTS!!

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

Reprise du message précédent:

maotd - posté le 03/04/2016 à 20:50:50 (103 messages postés)

❤ 0

Dr Latency

Merci encore pour l'aide. Mais du coup j'ai besoin de quoi si je veux récupérer l'ID du premier perso de la BDD? Je code tout en fonction de la BDD et pas en fonction de l'équipe pour des raisons pratiques.

Par contre il y a quelque chose que j'ai pas compris.
Tu dis que actor.mhp sert à récupérer les maxHP mais dans le code après tu met $gameParty.battleMembers()[0].mhp. Du coup je suppose que actor vaut $gameParty.battleMembers()[0] mais dans ce cas, pourquoi utiliser actor si ça ne correspond à rien de réel?



Ma gallerie


Suite du sujet:

Aminomad - posté le 03/04/2016 à 21:35:49 (150 messages postés)

❤ 0

Dans l'ordre de la BDD, c'est $gameActors.actor(ActorId). L'id commence à 1 ici pour le premier perso.
Sinon c'est tout pareil, $gameActors.actor(1).mhp...

The Lone Chameleon


maotd - posté le 03/04/2016 à 22:19:49 (103 messages postés)

❤ 0

Dr Latency

Merci. Ca semble fonctionner pour le moment. En tout cas cette petite ligne m'aura été d'une grande aide. Avec tout ça mes arbres de classe sont presque totalement automatisés. Y'a qu'à copier/coller et tout fonctionne :D

Ma gallerie


HuLijin - posté le 03/04/2016 à 22:33:50 (997 messages postés)

❤ 0

Yeoun, mage-archère-louve

Citation:

Tu dis que actor.mhp sert à récupérer les maxHP mais dans le code après tu met $gameParty.battleMembers()[0].mhp. Du coup je suppose que actor vaut $gameParty.battleMembers()[0] mais dans ce cas, pourquoi utiliser actor si ça ne correspond à rien de réel?



Parce que la liste avec actor.mhp c'est plus facile à lire que si j'avais écrit $gameParty.battleMembers()[0].mhp etc
(et aussi parce que si tu jettes un oeil aux fichiers .js, c'est la variable qui est utilisée)

Tkt, à force tu prendras l'habitude de ce genre de trucs.


Chais pas ce que j'ai merdé, mais quand j'ai testé $gameActors.actor(1).mhp il m'a envoyé balader le jeu, mea culpa, c'est effectivement plus simple

M.V.


maotd - posté le 03/04/2016 à 22:43:20 (103 messages postés)

❤ 0

Dr Latency

D'accord merci. Je pensais bien que c'était quelque chose comme ça. J'avais déjà vu les .actor dans les scripts de VXace mais maintenant c'est un peu plus clair.



Edit :
Version : RPG Maker MV (encore)
Question : Est-il possible de paramétrer les dégâts d'une compétence en fonction d'une variable? Et si oui comment faire?

Autre question, Est-ce qu'il y a une commande de script pour ajouter ou retirer un paramètre de classe (comme les types d'armes équipables, le taux de critiques, le nombre d'attaque, etc)?

Encore merci d'avance et désolé pour toutes ces questions bêtes.

Ma gallerie


HuLijin - posté le 07/04/2016 à 09:20:52 (997 messages postés)

❤ 0

Yeoun, mage-archère-louve

Pour tes formules de combat, c'est directement des bouts de code que t'écris dedans.

Tu peux parfaitement faire a.atk * $gameVariables.value(varID); par exemple. Ça te fera une compétence dont les dommages sont proportionnels à ta variable varID.
Tu peux même créer des fonctions dans un plugin et les appeler dans ta formule de combat si tu veux faire des trucs plus compliqués :) Et ça c'est un plugin très facile à faire si tu veux te lancer là-dedans un jour.

Pour l'autre question, tu parles bien des traits (fin c'est comme ça que ça s'appelle dans la version anglaise), l'espèce de gros cadre en haut à droite dans l'onglet classes ?

M.V.


maotd - posté le 07/04/2016 à 18:00:23 (103 messages postés)

❤ 0

Dr Latency

Ah d'accord c'est aussi simple que ça. C'est très bon à prendre alors. Mais je vois pas trop ce que tu veux dire par fonctions à mettre dans un plugin. Tu as des exemples pour m'aider?
Oui je parle bien des traits (c'est pareil dans la version française). Je pense que ça doit être possible mais je vois pas du tout comment.
Et tant que je suis là j'en profite pour demander, si je veux ajouter une compétence avec une commande de script c'est $gameActors.setSkill(skillid); ?

Ma gallerie


HuLijin - posté le 07/04/2016 à 19:45:19 (997 messages postés)

❤ 0

Yeoun, mage-archère-louve

J'ai un peu de temps alors je m'occupe de la partie plugin.

Pour le reste, je jetterai un oeil demain pour voir dans le code. Mais ptet qu'Aminomad ou quelqu'un d'autre sera plus rapide pour répondre.
A priori, la fonction à utiliser pour apprendre un nouveau skill ce n'est pas setSkill mais learnSkill. Ça donnerait un truc du genre

Portion de code : Tout sélectionner

1
$gameActors.actor(actorId).learnSkill(skillID); 


Mais j'ai pas testé.


On passe au plugin. (Elle va plus ressembler à rien l'entraide avec des pavés comme ça...)

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
//=============================================================================
// NomDeTonPlugin.js
//=============================================================================
 
/*:
 * @plugindesc [ta description en anglais]
 * @author [ton pseudo]
 *
 * @help [toute info nécessaire pour utiliser le plugin (en anglais)]
 * [2eme ligne de l'aide]
 * [3eme ligne]
 * [etc]
 */
 
/*:fr
 * @plugindesc [ta description en français]
 * @author [ton pseudo]
 *
 * @help [toute info nécessaire pour utiliser le plugin (en français)]
 * [2eme ligne de l'aide]
 * [3eme ligne]
 * [etc]
 */
 
(function() {
// Ecris tout ton code après cette ligne
 
    // Deux exemples simples de formule
    Game_BattlerBase.prototype.AtkPhysique = function(dmg) {
        var value = dmg;
        value *= this.atk;
        return value;
    };
 
    Game_BattlerBase.prototype.DefPhysique = function() {
        var value = this.def;
        value /= 2;
        return value;
    };
 
// Ecris tout ton code avant cette ligne
})();



Et dans ta formule de combat, tu n'as plus qu'à écrire par exemple

Portion de code : Tout sélectionner

1
a.AtkPhysique(100) - b.DefPhysique();


En français, ici les dommages de base de la compétence (100) sont multipliés par la stat d'attaque physique de l'attaquant, puis on enlève la moitié de la stat de défense du défenseur.


C'est sûr qu'en l'état, ce n'est aps super sexy, tirais aussi vite à écrire la formule directement dans la base de données. Mais ça devient pratique si tu veux faire des trucs plus compliqués, comme ici :
image
qui est la formule que j'utilise pour quasi toutes mes compétences. (pos et rage sont des statistiques qui n'existent pas de base, qui sont aussi gérées via mon plugin)


J'explique super mal, et je crois que ça n'a pas des masses sa place en entraide, donc si tu veux des infos, hésite pas à MP.

M.V.


maotd - posté le 07/04/2016 à 22:18:42 (103 messages postés)

❤ 0

Dr Latency

Merci pour les explications. J'ai pas tout compris en détail mais je pense avoir saisi la base quand même. Je décortiquerais tout ça un peu plus à tête reposée. Etant donné mon système de combat et de classe ça pourrait m'être très utile je pense.



edit: je me permet de upper concernant ma seconde quesiton:

Citation:

Autre question, Est-ce qu'il y a une commande de script pour ajouter ou retirer un paramètre de classe (comme les types d'armes équipables, le taux de critiques, le nombre d'attaque, etc)?


Je précise que je parles bien des "traits" comme c'est nommé dans RM MV.
Merci

Ma gallerie


HuLijin - posté le 08/04/2016 à 23:47:56 (997 messages postés)

❤ 0

Yeoun, mage-archère-louve

Pour ta question, j'ai beau regarder, j'ai pas l'impression qu'on puisse le faire simplement. De ce que j'en ai compris, à chaque fois que le logiciel en a besoin, les traits sont récupérés directement depuis les fichiers JSON utiles.
Faut attendre l'aide de quelqu'un de plus calé pour confirmation.

M.V.


Aminomad - posté le 09/04/2016 à 02:27:01 (150 messages postés)

❤ 0

J'ai cherché un peu et je trouve pas non plus de moyen simple pour faire ça.
Par contre je peux essayer d'approfondir une piste compliquée si ça t’intéresses :F

The Lone Chameleon


maotd - posté le 09/04/2016 à 09:30:38 (103 messages postés)

❤ 0

Dr Latency

Merci pour vos réponses.
Non non ce n'est pas la peine de vous embêter avec des solutions compliquées. J'ai réussi à faire (à peu près) pareil en utilisant des statuts invisibles qui ne peuvent pas s'enlever. Ca marche assez bien mais j'aurais préféré quelque chose de plus propre. Mais si y'a pas alors on va pas s'embêter à trouver compliqué et ingérable. Autant que je garde ma solution sale et bancale en statuts. Ca demande juste de pas soigner les héros avec la commande pour soigner les héros :lol

Ma gallerie


Chaös17 - posté le 09/04/2016 à 12:17:00 (868 messages postés)

❤ 0

Version : RPG Maker MV
Question : j'essaie de trouver la commande pour appeler un plugin d'autobattle

Plugin : https://snipt.net/Gilles/autobattlepluginjs/

Blog of Chaos17


HuLijin - posté le 09/04/2016 à 12:36:38 (997 messages postés)

❤ 0

Yeoun, mage-archère-louve

Qu'est-ce que tu veux dire par "appeler" le plugin ?
Tu veux pouvoir l'activer et le désactiver quand tu veux ?

M.V.


Chaös17 - posté le 09/04/2016 à 12:41:47 (868 messages postés)

❤ 0

HuLijin a dit:


Qu'est-ce que tu veux dire par "appeler" le plugin ?
Tu veux pouvoir l'activer et le désactiver quand tu veux ?


Ouais.
Car c'est chiant de passer par la commande du groupe pour activer ce plugin et l'auteur a disparu donc je peux pas aller lui demander.:sriden

J'ai un plugin qui permet d'appeler un common event via le clavier, faut juste savoir quoi lui dire d'activer et c'est çà mon problème.

Le plugin de Yanfly marche, j'ai testé avec le menu objets :

Portion de code : Tout sélectionner

1
SceneManager.push(Scene_Item);



J'aimerai donc faire de même avec le plugin d'autobattle si c'est possible.

Blog of Chaos17


HuLijin - posté le 09/04/2016 à 12:46:07 (997 messages postés)

❤ 0

Yeoun, mage-archère-louve

Pas sûre d'avoir posé la bonne question X)

Qu'est ce que tu veux qu'il ait précisément comme comportement ton plugin ?
Qu'est ce que tu veux modifier ?
- sur la mini fenêtre des commandes d'équipe
- sur la mini fenêtre des commandes de chaque personnage

Ou alors tu veux faire ça :

Portion de code : Tout sélectionner

1
SceneManager.push(Scene_Battle);

depuis un événement commun ?

*totalement perdue*

M.V.


Chaös17 - posté le 09/04/2016 à 12:50:21 (868 messages postés)

❤ 0

Je veux rien changer, je veux juste savoir si c'est possible d'activer l'auto battle de l'équipe via une touche du clavier.:F

Blog of Chaos17


HuLijin - posté le 09/04/2016 à 12:55:59 (997 messages postés)

❤ 0

Yeoun, mage-archère-louve

Euh, t'appuies sur une touche de ton clavier, ça va activer/désactiver l'affichage des commandes pour auto attaque.
(ce cas là c'est faisable très rapidement sans grosse modif du code)

OU : si t'appuies sur une touche, t'as plus aucune commande qui s'affiche et toute ton équipe passe d'office en autoattaque, t'as plus à toucher au clavier/à la souris jusqu'à la fin du combat ?
(ce cas-là j'ai plus du tout en tête le fonctionnement des commandes de combat mais ça me semble pas spécialement insurmontable)

M.V.


Chaös17 - posté le 09/04/2016 à 13:00:46 (868 messages postés)

❤ 0

Je veux bien tester la première option!

Blog of Chaos17


HuLijin - posté le 09/04/2016 à 13:08:54 (997 messages postés)

❤ 0

Yeoun, mage-archère-louve

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
/**
 * Created by Gilles on 01.11.2015.
 * @email: gill.es86@gmail.com
 */
 
/*:
 * @plugindesc Allows Auto Attack in Battle. The players will always choose the enemy with the lowest hp
 * @author Gilles Meyer
 *
 * @param Auto Attack Text Party
 * @desc The text which will appear in the Party command Menu
 * @default Auto Attack
 *
 * @param Auto Attack Text Actor
 * @desc The text which will appear in the Actor command Menu
 * @default Auto Attack
 *
 * @param Switch ID
 * @desc Switch used to display/hide the auto attack commands
 * @default 1
 *
 *
 */
 
(function() {
 
 
  var parameters = PluginManager.parameters('AutoBattlePlugin');
  var autoAttackPartyText = String(parameters['Auto Attack Text Party'] || "Auto Attack");
  var autoAttackActorText = String(parameters['Auto Attack Text Actor'] || "Auto Attack");
  var switchId = Number(parameters['Switch ID'] || 1);
 
  function autoEnabled() { return $gameSwitches.value(switchId); };
 
  var getEnemyWithLowestHP = function(enemies) {
    var enemyIndex = 0;
    for(var i=1; i < enemies.length; i++) {
      if(enemies[i].hp < enemies[enemyIndex].hp || enemies[enemyIndex].hp == 0) {
        enemyIndex = i;
      }
    }
    return enemyIndex;
  };
 
  
  Scene_Battle.prototype.commandAutoFight = function() {
    this.selectNextCommand();
    do {
      this.commandAutoAttack.apply(this, arguments);
    } while(BattleManager.isInputting());
    this._actorCommandWindow.deactivate();
  };
 
  Scene_Battle.prototype.commandAutoAttack = function() {
    BattleManager.inputtingAction().setAttack();
    var enemyIndex = getEnemyWithLowestHP(this._enemyWindow._enemies);
    var action = BattleManager.inputtingAction();
    action.setTarget(enemyIndex);
    this.selectNextCommand();
  };
 
 
  // ## Autofight for Party 
  Window_PartyCommand.prototype.makeCommandList = function() {
    this.addCommand(TextManager.fight,  'fight');
    // Needs rework
    if (autoEnabled()) { this.addCommand(autoAttackPartyText,  'autofight'); }
    this.addCommand(TextManager.escape, 'escape', BattleManager.canEscape());
  };
 
  var _Scene_Battle_createPartyCommandWindow = Scene_Battle.prototype.createPartyCommandWindow;
  Scene_Battle.prototype.createPartyCommandWindow = function() {
    _Scene_Battle_createPartyCommandWindow.apply(this, arguments);
    if (autoEnabled()) { this._partyCommandWindow.setHandler('autofight',  this.commandAutoFight.bind(this)); }
  };
 
 
  // ## Autofight for each Actor
  var Scene_Battle_createActorCommandWindow = Scene_Battle.prototype.createActorCommandWindow;
  Scene_Battle.prototype.createActorCommandWindow = function() {
    Scene_Battle_createActorCommandWindow.call(this,arguments);
    if (autoEnabled()) { this._actorCommandWindow.setHandler('autoattack', this.commandAutoAttack.bind(this)); }
  };
 
  var _Window_ActorCommand_makeCommandList = Window_ActorCommand.prototype.makeCommandList;
  Window_ActorCommand.prototype.makeCommandList = function() {
    if(this._actor) {
      if (autoEnabled()) { this.addCommand(autoAttackActorText, 'autoattack', this._actor.canAttack()); }
    }
    _Window_ActorCommand_makeCommandList.call(this, arguments);
  };
 
 
})();



T'as plus qu'à activer/désactiver l'interrupteur de ton choix via un event commun avant tes combats. Par défaut j'ai mis l'interrupteur 1.

M.V.


Chaös17 - posté le 09/04/2016 à 13:18:02 (868 messages postés)

❤ 0

Merci je vais tester çà de suite.

Si j'ai bien regarder tu as ajouter ceci et rien d'autre ?

Portion de code : Tout sélectionner

1
2
3
  var switchId = Number(parameters['Switch ID'] || 1);
 
  function autoEnabled() { return $gameSwitches.value(switchId); };



Je demande çà parce que j'aimerai adapter ce code pour un autre plugin similaire.

Blog of Chaos17


HuLijin - posté le 09/04/2016 à 13:24:42 (997 messages postés)

❤ 0

Yeoun, mage-archère-louve

nope, t'as des if (autoEnabled() ) { /* le code du mec */ } qui trainent et aussi la description où j'ai rajouté la possibilité de choisir l'interrupteur via un nouveau paramètre.

Mais à terme, je crois que ej vais finir par faire un tuto pour ce genre de bricoles sur les plugins.

M.V.


Chaös17 - posté le 09/04/2016 à 13:29:38 (868 messages postés)

❤ 0

Je viens de tester que ce soit avec ou sans common event activer çà bug :
http://imgur.com/a/WQhRm

Blog of Chaos17


HuLijin - posté le 09/04/2016 à 14:12:39 (997 messages postés)

❤ 0

Yeoun, mage-archère-louve

Wut ? D'où c'est que t'as une ligne 158 dans ce plugin toi Oo
Accessoirement, avant de filer des bouts de code, je les teste, sauf si je dis le contraire, et Chez moi ça marche ©

Accessoirement, si tu ne renommes pas ton plugin correctement, ça ne va jamais prendre en compte tes propres paramètres, ça va prendre en compte ceux par défaut (quand ils sont indiqués).

M.V.


Chaös17 - posté le 09/04/2016 à 14:51:54 (868 messages postés)

❤ 0

Ok, j'ai copié à nouveau ton code et en effet c'est moi qui a merdé, désolé.
Merci pour ton aide :)

Blog of Chaos17


Sou - posté le 09/05/2016 à 10:17:11 (396 messages postés)

❤ 0

On a jamais assez de munitions

Bonjour à tous !

Support: RMXP


Question:

Je tente d'afficher une variable à la place de celle représentant les gold dans le script de base. J'ai donc modifié le script Window_gold comme ceci:

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
class Window_Gold < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 160, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    cx = contents.text_size($data_system.words.gold).width
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 120-cx-2, 32, "Tour", 2)
    self.contents.font.color = system_color
    self.contents.draw_text(124-cx, 0, cx, 32, $game_variable[0008], 2)
  end
end
 



Mais ça me revoit une erreur de syntaxe sur la ligne du $game_variable[0008]. Pouvez-vous m'expliquer pourquoi s'il vous plait.
Merci d’avance comme à chaque fois :)

RESOLU

Je suis Sou et c'est tout.

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

Index du forum > Entraide > [Scripts] Petites questions connes sur les SCRIPTS!!

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