Modification de fichier

Fermé
Ezekhx Messages postés 73 Date d'inscription jeudi 29 juin 2017 Statut Membre Dernière intervention 25 août 2017 - Modifié le 2 juil. 2017 à 12:28
Ezekhx Messages postés 73 Date d'inscription jeudi 29 juin 2017 Statut Membre Dernière intervention 25 août 2017 - 2 juil. 2017 à 21:19
Salut !

Je me retrouve encore une fois dans une impasse, mais je crois que c'est la dernière :D
Voici mon problème : dans mon serveur privé d'un jeu, il est censé y avoir des "skills", déblocables par l'utilisation de manuels. Or après des heures et des heures de recherche, impossible de trouver l'ID des manuels pour pouvoir mes les give ou les donner à vendre à un marchand. CEPENDANT, j'ai l'ID des skills, donc ils sont existants !

Voici ce que j'aimerai pouvoir faire (mais qui n'est pas dans le domaine de mes compétences malheureusement), pouvoir soit :
- enlever le déblocage par manuel des skills (donc ils seraient tous de base disponible, et pourraient être obtenus après le passage du bon niveau)
- trouver une commande du style ",setskill:ID DU SKILL", que je pourrais utiliser pour débloquer la dite compétence avec son ID

Je pense que le plus facile serait le numéro 2, et que l'on pourrait trouver cette fonctionnalité (à régler avec 0 ou 1 sur un fichier .JAVA ou .CLASS). Cependant là, ce n'est plus dans mes cordes.

Voici les screens du fichier où je pense trouver cette fonctionnalité.

Merci d'avance pour vos réponses !
A voir également:

2 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
Modifié le 2 juil. 2017 à 12:50
Bonjour,

À essayer, au niveau de la ligne 19, pour initialiser des skills au démarrage du serveur et qu'ils soient immédiatement disponibles.
static {
    setskillcategory(12, 34); // skillid=12, skillmana=34
    setskillcategory(56, 78); // skillid=56, skillmana=78
    // ...
}

Admettons que ça ne marche pas, ça veut dire que le code qui est ici ne correspond pas à ce que tu cherches...

Par contre, pour prendre en compte cette modification il va falloir recompiler ton code pour créer le nouveau fichier .class correspondant.
La confiance n'exclut pas le contrôle
1
Ezekhx Messages postés 73 Date d'inscription jeudi 29 juin 2017 Statut Membre Dernière intervention 25 août 2017
2 juil. 2017 à 12:54
J'ai pas compris d'où tu sortais les chiffres, ou lesquels est-ce qu'il faut que je prenne ?
Et il faut que je colle ça ligne 19 avec ce qu'il y a au dessus ?
Et à la place des ... je mets quoi ?

Merci de ta réponse !
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
2 juil. 2017 à 13:03
"d'où tu sortais les chiffres, ou lesquels est-ce qu'il faut que je prenne ?"
C'est un exemple, tu as dit : "j'ai l'ID des skills, donc ils sont existants", alors prends leurs valeurs pour les mettre là...

"il faut que je colle ça ligne 19 avec ce qu'il y a au dessus"
Bien sûr, c'est un ajout de code. Ligne 19 pour l'instant c'est une ligne vide, tu gardes ce qu'il y a avant, tu gardes ce qu'il y a après, tu mets juste ce code entre les deux.

"à la place des ... je mets quoi ?"
Tout ce qui est après
//
c'est un commentaire, donc à la limite tu peux laisser le commentaire
// ...
ça ne fera rien.
Si j'ai mis ça c'est juste pour dire que là j'ai initialisé deux skillid (12 et 56), mais tu peux en mettre 3, 4, 5... ou plus. Il faut juste copier-coller la ligne du dessus autant de fois que tu veux initialiser un skill.
0
Ezekhx Messages postés 73 Date d'inscription jeudi 29 juin 2017 Statut Membre Dernière intervention 25 août 2017
Modifié le 2 juil. 2017 à 13:17
Merci beaucoup !
Par contre le "skillcategory" c'est qu'un chiffre... enfin je crois, regarde un peu ? Tu pourrais me donner un exemple ou deux pour que je puisse continuer ? :o
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
2 juil. 2017 à 13:27
Le code que tu as montré fait apriori le lien entre la première colonne (skillid) et les autres, tu as autant de Map<Integer, Integer> (lignes 13 à 18) que de colonnes.

Moi je me suis intéressé à la dernière, skillcategory ligne 18, qui correspond à ta dernière colonne (si j'ai bien compris, moi je fais ça de tête, j'en sais rien...)

Remarque : si tu as accès à la base de données, à voir si tu peux pas tout simplement modifier le skillcategory en base pour que le jeu le charge au démarrage...

Sinon le faire manuellement avec le code que je t'ai donné.
0
Ezekhx Messages postés 73 Date d'inscription jeudi 29 juin 2017 Statut Membre Dernière intervention 25 août 2017
2 juil. 2017 à 13:30
J'ai pas trop compris...
Tu pourrais me donner un exemple pour changer le skillcategory par exemple ? Dis-moi juste de quelles infos tu as besoin et je te donne tout, sachant que dans le screen tu as toutes les databases de mon MySQL (avec encore un peu, donc dis-moi de quoi tu as besoin).
Parce que je comprends pas du tout ce que tu as dit ^^"
Merci en tout cas de ton aide !
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
2 juil. 2017 à 13:45
Tes données sont en base, au démarrage du serveur elles sont chargées par le programme, puis utilisées par le jeu.

Donc soit, on modifie la base pour que les valeurs chargées au démarrage soient différentes, soit on modifie le code pour le forcer à avoir une valeur différente malgré celles qu'il a en base.

Je pense que le plus simple serait de ne pas toucher au code pour l'instant.

Donc avec ta base de données, tu vas aller modifier par exemple la première ligne, celle avec un skillid à 100283 et tu vas changer sa catégorie en modifiant le skillcategory de 0 à 2 (je ne sais pas pourquoi 2, mais dans ta table c'est 0 ou 2...)


Après faut relancer le serveur et voir ce que ça change dans le jeu : est-ce que ça a activé le skill ?
0
Ezekhx Messages postés 73 Date d'inscription jeudi 29 juin 2017 Statut Membre Dernière intervention 25 août 2017
2 juil. 2017 à 13:47
Ah d'accord je crois avoir compris ! En gros 0 = non activé, 1 =activé etc etc, et donc il faut que j'essaye c'est ça ? Je m'y mets de suite !
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
2 juil. 2017 à 13:50
"En gros 0 = non activé, 1 =activé etc"
Ça j'imagine que quelque part dans le code (bien caché peut-être ?) il y a une liste des valeurs possibles et de ce que chacune signifie...
0