Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...

Takuma

Membre
  • Compteur de contenus

    22
  • Inscription

  • Dernière visite

À propos de Takuma

  • Date de naissance 8 juin

Réseaux Sociaux

  • Discord
    Takuma#2725

Visiteurs récents du profil

801 visualisations du profil

Takuma's Achievements

Contributor

Contributor (5/14)

  • Reacting Well
  • One Year In
  • Dedicated Rare
  • First Post
  • Collaborator

Recent Badges

2

Réputation sur la communauté

1

Community Answers

  1. Dans tous les cas je fusille mon taf... Je bosse sur du Python avec PyCharm et c'est clairement de l'argent facile On va dire : J'aime l'argent facile, j'adopte Python et je tue PyCharm (désolé mon vieil IDE ) Marseille Free Metin2 (donc tuer metin2dev et funk emu forcément)
  2. J'aime le Saucisson, j'adopte la fondue (bourguignonne) et je tue la raclette. (Chauvin pour toujours.) Funky-Emu Metin2dev Top-metin2
  3. Takuma

    [Jeux] Les doubles

    20225315128427520000
  4. Takuma

    [Jeux] Les doubles

    2528164391053440000
  5. Alors là c'est l'utilisation même d'un ordinateur qui est à revoir... "Il est en bloc note" -> ça c'est juste ton programme par défaut pour ouvrir les .sql. Rien ne t'empêche de l'exécuter sur ta base de données. Même chose pour ton fichier "M2 Vm".
  6. Salut. J'espère avoir compris ce que tu demandes... Oui il faudra que tu touches aux sources. Cependant la méthode va dépendre de comment est codé ton système de prestige. Si ton prestige est un attribut propre d'un joueur (char.h), alors tu pourras très certainement suivre exactement la même structure que pour ce qui existe avec le niveau (regarde le fichier questlua_pc.cpp). Si c'est fait moins proprement... Comme une requête SQL qui actualise en tant réel et le prestige et qu'il n'est pas directement intégré au personnage : tu devras faire de même et faire une requête SQL à chaque utilisation de la fonction pour l'obtenir. Pour te donner quelques indications, la fonction classique pour récupéré le niveau est : int pc_get_level(lua_State* L) { lua_pushnumber(L, CQuestManager::instance().GetCurrentCharacterPtr()->GetLevel()); return 1; } Pour la requête en direct c'est un peu plus compliqué... Tu devras sûrement faire quelque chose du genre : int pc_get_prestige(lua_State* L) { LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr(); char szQuery[1024]; snprintf(szQuery, sizeof(szQuery), "SELECT prestige FROM player%s WHERE name='%s'", get_table_postfix(), ch->GetName()); std::unique_ptr<SQLMsg> pmsg(DBManager::instance().DirectQuery(szQuery)); if (pmsg->Get()->uiNumRows > 0) { MYSQL_ROW row = mysql_fetch_row(pmsg->Get()->pSQLResult); int prestige = 0; str_to_number(prestige, row[0]); lua_pushnumber(L, prestige); return 1; } lua_pushnumber(L, -1); return 1; } (C'est du nom testé, ça va dépendre de tes files, ta base de données etc...) Et pour ajouter la fonction : oui tu devras l'ajouter dans ta liste de fonction, mais aussi à la fin de ton fichier questlua_pc.cpp tu trouveras une liste avec les fonctions déjà bien remplie (luaL_reg pc_functions[]). Bon courage !
  7. Takuma

    Mysql_query

    Salut. Alors en réalité, il y a plein de raison pour laquelle ça ne peut pas marcher : Tu n'as pas de fichier CONFIG au même niveau que tes game (ou liens symboliques); Ce même fichier ne peux pas être lu par le biais de l'expression régulière utilisée dans ta fonction; La commande mysql ne fonctionne pas; etc... Il semblerait que la commande varie entre MySQL5.1 et MySQL5.5... Tu peux vérifier la version que tu as avec la commande : mysql -V. D'ailleurs je trouve ça assez perturbant qu'il n'y ait pas d'espace après le -e dans l'appel système. Je suis pas assez renseigné pour savoir ce que le LUA va donner avec cette méthode... Ca peut par contre être intéressant de voir ce que l'appel donne en l'écrivant dans un fichier par exemple : file = io.open("output.txt", "a") file:write('mysql '..pre..' -e'..string.format('%q',query)..' > '..fi) file:close() (A ajouter après le os.execute()). Désolé de pas pouvoir te donner de réponse concrètement, mais je n'ai jamais utilisé cette fonction... Cependant ça peut-être intéressant de savoir ce qu'il écrit dans ton fichier output.txt avec le code plus haut afin de voir si tu obtiens quelque chose d'intéressant en l'exécutant à la main... ça te permettra peut-être de situé l'erreur. En l'exécutant, le résultat devrait apparaitre dans un fichier dont le nom est un suite de chiffres du coup (fi). Ce que tu peux en revanche faire, c'est essayer d'utiliser d'autres méthodes qui sont très régulièrement présentes dans les sources : mysql_direct_query mysql_espace_string NB : Si tu ne les as pas, tu pourras les trouver ici sur elitepvpers, en plus d'un mini tutoriel pour t'en servir. La différence est que ces méthodes passent directement par le game, et n'est pas un bricolage avec des commandes systèmes par le lua... Bon courage.
  8. Salut. Alors du coup non modifier le proto prendrait en soit pas beaucoup de temps, il suffit d'éditer une colonne... Avec un tableau c'est vraiment l'histoire de quelques secondes. Et c'est clairement le plus simple. Ensuite selon tes sources la méthode de Veltor ne marchera pas... Je m'explique : en fait, avant les jeux en Chine étaient obligés de mettre une limite d'heure pour éviter l'intoxication aux jeux vidéos, donc cette méthode étaient utilisée pour que les joueurs ne puissent plus EXP après une certain temps. Sauf que (et là ça devient problématique pour toi), beaucoup de files ont viré ce système, et sur beaucoup (comme celles que j'ai sous les yeux), le taux que tu précises avec cette commande n'est pris en compte que s'il est supérieur à 100. (En gros, ça ne marche que pour donner un bonus d'exp) : rateFactor = std::max<rate_t>(100.0L, rate); Tu as en réalité deux choix : Soit tu vides tes protos avec un tableur comme excel et ça prend 10 secondes, et tu n'affectes par le jeu en lui même; Soit tu modifies directement tes sources, au niveau de la méthode GiveEXP(). Cependant, si tu fais ça, tu vas affecter tout ce qui touche l'expérience du jeu. Dans les deux cas, fais attention, les joueurs auront toujours moyens de gagner l'expérience avec certains trucs comme les quêtes (qui par défaut en donne). Bon courage.
  9. Il faut faire varier la position de l'affichage en fonction des deux constantes : SCREEN_WIDTH et SCREEN_HEIGHT.
  10. Normalement tu as des IsArabic() partout dans ton client... Si ce qui est implémenté à l'origine est pas pété, il faut juste changer le locale pour que tout s'adapte...
  11. Takuma

    M2KSF Project

    Forcé de constater que la date indiquée n'a pas été respectée, je suis vraiment déçu. J'en attendais plus de ce projet. La note va pas être haute sur tripadvisor.
  12. Trop hâte ! Un projet sérieux, plus qu'une semaine à attendre !
  13. J'aime Google, j'adore Bjarne Stroustrup, et je tue Microsoft. HTML CSS PHP
  14. Takuma

    [Jeux] Les doubles

    316020548881680000
  15. J'aime StackOverflow, j'adore Guido van Rossum, je tue Python Minette Kijaru Stump Si jamais tu veux jouer en mettant des êtres humains(/vivants) de dans... @ASIKOO

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.