Connexion automatique

Pas encore membre ? Inscrivez-vous ici !
Vous avez oublié votre mot de passe ? On vous aide ici

AccueilPage d'accueilFAQRechercherS'enregistrerConnexion

Sélecteur de thème :


Partagez | .
Système d'évolution de compétences

Epherazar
Néophyte

Néophyte
avatar

Nombre de messages : 6
Age : 20
Capacités : débutant
Distinction : aucune
Date d'inscription : 20/07/2017

MessageSujet: Système d'évolution de compétences   Dim 23 Juil 2017 - 10:35

Bonsoir à tous,

Comme l'indique le titre du sujet, j'aimerais pouvoir instaurer un système d'évolution de compétences. J'entends par-là, la possibilité d'obtenir des compétences qui posséderaient elles-mêmes leurs propres niveaux, indépendamment du niveau du personnage, qui l'influencerait malgré tout dans une plus large mesure.

Existe-t-il un script permettant cela ?
Merci d'avance !


Dernière édition par Epherazar le Mar 25 Juil 2017 - 6:51, édité 1 fois
 
Mist'
Administrateur

Administrateur
avatar
http://www.rpgmakervx-fr.com

Nombre de messages : 3177
Age : 24
Localisation : France // Auvergne // Cantal
Capacités : expert
Distinction : é_è
Date d'inscription : 22/12/2007

MessageSujet: Re: Système d'évolution de compétences   Dim 23 Juil 2017 - 10:38

Bonsoir!

Regarde du côté de ce script, les instructions te sont données dans le post : http://www.rpgmakercentral.com/topic/7477-skill-levels/

Ca devrait te convenir, normalement. Wink

_________________
 
Epherazar
Néophyte

Néophyte
avatar

Nombre de messages : 6
Age : 20
Capacités : débutant
Distinction : aucune
Date d'inscription : 20/07/2017

MessageSujet: Re: Système d'évolution de compétences   Dim 23 Juil 2017 - 10:48

Merci Mist' ! Je jette un oeil au script. Je ne suis vraiment pas doué pour les bidouiller mais je vais essayer de voir comment le tester correctement. Je reviendrais mettre le sujet en résolu si j'arrive à m'en sortir ^^ !

Edit : J'y comprends vraiment rien du tout...

Lorsqu'on me demande de marquer "l'Acteur" je ne sais pas réellement si on parle du personnage qui maîtrise la compétence, ou alors de la compétence elle-même, et j'ai du mal aussi à comprendre s'il s'agit de modifier une ligne du script, d'en ajouter une, ou encore de mettre cette information dans la note "info" qui se trouve dans la base de données.

J'ai énormément de mal à comprendre toutes les lignes de code qui sont marquées.
L'usage de ce script ne demande pas trop de compétences pour un débutant finalement ? pale
 
Shamugan
Gladiateur

Gladiateur
avatar

Nombre de messages : 595
Capacités : débutant
Distinction : Shashamumugangan [Yama feat GJLP]
Date d'inscription : 05/07/2016

MessageSujet: Re: Système d'évolution de compétences   Dim 23 Juil 2017 - 11:34

Si un peu^^
Pas le choix, soit tu te met à bucher, soit tu fais une demande recrutement. Mais ça dépend des cas quand même. Certains sont plus facile que d'autre.

Actor est une classe qui gère les perso pour le coup, c'est du langage objet. Va fouiller un peu du côté de l'aide dans vx ace et dans l'éditeur de script, ça devrait devenir un peu plus claire à long terme.

Pour l'utilisation, je pense que ça doit se faire en event. Il y a pas vraiment d'endroit où on peut modifier ça dans la base de donnée, je crois. Faut appeler la classe de ton perso, puis lui initier la capacité. Ensuite faut modifier quelque part les récompenses pour que ça entraine la capacité. Je viens de fouiller et je crois que c'est toi qui va devoir le définir par contre. L'auteur du script à laisser le libre choix pour l'évolution des capacités.
 
Mist'
Administrateur

Administrateur
avatar
http://www.rpgmakervx-fr.com

Nombre de messages : 3177
Age : 24
Localisation : France // Auvergne // Cantal
Capacités : expert
Distinction : é_è
Date d'inscription : 22/12/2007

MessageSujet: Re: Système d'évolution de compétences   Dim 23 Juil 2017 - 22:38

C'est vrai que si tu comptes utiliser RPG Maker, il va falloir, avant de pouvoir bosser concrètement sur un projet sérieux, que tu t'entraînes. Et y'a pas de mal à ça, au contraire.
Tu peux essayer de faire un petit projet d'entraînement en parallèle à ton projet d'équipe dont tu parles dans ta présentation, afin de comprendre les rouages du logiciel. Wink

Je vais t'expliquer comment fonctionne ce script.

Dans les notes de ton personnage, c'est là que se déroule le paramétrage que tu souhaites :

La ligne a comprendre en premier lieu est celle-ci :

Code:
<init_slv: skill_id level>

skill_id est à remplacer par l'ID du Skill choisi.
level est à remplacer par le niveau initial du Skill.

Exemple : pour indiquer que pour le héros 1 le niveau initial du Skill 1 est 3 voici la ligne à rentrer dans les notes du héros 1 :

Code:
<init_slv: 1 3> # La compétence d'ID 1 commence au niveau 3

Le 1 correspond donc bien au Skill d'ID 1 (skill_id).
Le 3 correspond lui au niveau initial du Skill (d'ID 1, du coup) pour CE PERSONNAGE.


Maintenant, voici la ligne à ajouter, toujours dans les notes du personnage, pour paramétrer le niveau maximal du Skill pour CE PERSONNAGE :

Code:
<max_slv: skill_id level>

skill_id est à remplacer par l'ID du Skill choisi.
level est à remplacer par le niveau maximal du Skill.

Exemple : pour indiquer que pour le héros 1 le niveau maximal du Skill 1 est 12 voici la ligne à rentrer dans les notes du héros 1 :

Code:
<max_slv: 1 12> # La compétence d'ID 1 ne peut pas monter au-dessus du niveau 12

Le 1 correspond donc bien au Skill d'ID 1 (skill_id).
Le 12 correspond lui au niveau maximal du Skill (d'ID 1, du coup) pour CE PERSONNAGE.

----------

Pour faire un petit bilan à ce niveau là, déjà :

Ces lignes de codes sont à placer pour chaque compétence possédant un niveau.

Il faut définir le niveau initial, puis le niveau maximal, pour chacune des compétences.

N'oublies pas de bien vérifier si la compétence qui tu souhaites voir posséder un niveau est bien apprise pas la Classe que tu as donné à ton personnage.

On parle bien ici de Niveau de Compétence, qui n'a rien à voir avec le Niveau du héros.

Ce paramétrage est à faire pour chaque héros, tu peux ainsi définir un progression différente dans les niveaux de compétence de tes personnages.

----------
Les méthodes ( ou fonctions) qui permettent de faire augmenter/baisser le niveau d'une compétence sont donc les suivantes :

Pour la montée de niveau d'une compétence :

Code:
skill_level_up(skill_id)

skill_id est à remplacer par l'ID du Skill choisi.


Pour baisser le niveau d'une compétence :

Code:
skill_level_down(skill_id)

skill_id est à remplacer par l'ID du Skill choisi.

----------

Cependant, balancer ces lignes de code comme ça ne fonctionnera pas. Pourquoi?
Parce que comme on peut le constater, il manque quelque chose dans l'équation : Le héros à qui on applique la montée de niveau d'une de ses compétences.

C'est donc un objet de type Game_Actor qui définit ce qu'est notre personnage/héros.
On peut y accéder via la classe Game_Actors, qui peut être représentée comme une "Collection" d'objets Game_Actor, qui nous permet d'aller piocher celui que l'on veut.
Les méthodes sus-citées sont déclarées dans la classe Game_Actor, ce qui signifie que pour chaque objet de ce type, on peut lui appliquer une de ces méthodes (dans le cas de notre utilisation) afin de changer la valeur des paramètres qui nous intéressent.

----------

Ca, c'était pour l'explication en gros pour comprendre le fonctionnement en "arrière-plan", maintenant en concret, on procède comme ça :

Code:
$game_actors[1].skill_level_up(3)

$game_actors pointe sur notre "Collection" Game_Actors rassemblant les objets de type Game_Actor, comme expliqué plus haut.
[1] est en réalité une méthode permettant d'indiquer la position de notre objet Game_Actor dans la Collection. Ici, on veut le personnage d'ID 1.
skill_level_up(3) est la méthode appliquée à l'objet Game_Actor qu'on vient d'aller chercher dans les explications ci-dessus, qui permet de faire monter un Skill de niveau. Ici, c'est le Skill d'ID 3 qui monte de niveau.

Résultat, en français, ça te fait : "Je veux, pour mon personnage d'ID 1 dans ma BDD, augmenter le niveau du Skill d'ID 3 dans la BDD".

---

Je te sens un peu déboussolé, du coup, si j'ai un premier conseil à te donner, c'est plante-toi, essaie, et recommence.
Tu peux nous demander de l'aide, on est là pour ça. Mais surtout, lis des tutos, et appropries-toi les, même si c'est pas évident.

Commence par regarder du côté des évènements avant de te lancer dans la "programmation", ça t'apprendra déjà une certaine logique qui te servira si plus tard tu souhaites t'intéresser au RGSS.

Enfin, ne sois pas pressé, l'apprentissage prend du temps, mais ça ne sera que bénéfique pour tes projets futurs. Wink

En espérant avoir été clair.

Bonne continuation! Wink

----------

EDIT : Je rajoute la ligne de code permettant de connaître le niveau d'une compétence du leader de l'équipe, ou si le niveau est supérieur/inférieur ou égal à un entier. A utiliser dans une condition dans un évènement :

Code:
$game_party.leader.slv(id_skill) == X
Code:
$game_party.leader.slv(id_skill) >= X
Code:
$game_party.leader.slv(id_skill) <= X

$game_party.leader renvoie un objet Game_Actor ; Le meneur de l'équipe.
slv est la méthode qui renvoie le niveau d'une compétence dont on passe l'ID (id_skill) en paramètre.
(id_skill) est l'ID du Skill dans la BDD, passé en paramètre de la méthode slv.
X est un entier à qui l'on compare le niveau actuel du skill.

_________________
 
Epherazar
Néophyte

Néophyte
avatar

Nombre de messages : 6
Age : 20
Capacités : débutant
Distinction : aucune
Date d'inscription : 20/07/2017

MessageSujet: Re: Système d'évolution de compétences   Mar 25 Juil 2017 - 6:48

D'accord, merci pour les explications Mist', je suivrais ces conseils. Je n'ai pas encore pu prendre le temps de mettre en marche le script [et de lire précisément ta réponse] mais je pense qu'elle est suffisamment précise pour classer mon problème en "résolu".
 
Contenu sponsorisé




MessageSujet: Re: Système d'évolution de compétences