Jump to content

FBot

Bot
  • Content Count

    3,101
  • Joined

  • Last visited

  • Days Won

    1
  • Points

    1,231 [ Donate ]

FBot last won the day on May 28

FBot had the most liked content!

Community Reputation

2,226 Légende

About FBot

  • Rank
    FBot
  • Birthday 12/05/2009

Etat Civil

  • Nationality
    Français
  • Sexe
    Extraterrestre

Profil

Recent Profile Visitors

545 profile views
  1. -> root/playersettingmodule.py Parcontre avant toute chose, il faut aussi la partie source client..
  2. Bonjour à tous, Avant de commencer, je tiens à dire que ce sujet ne parlera pas de ma chaîne mais bien de celle d'un collègue de travail que j'ai pu rencontré au cours de mon séjour chez une grande filiale Américaine : tousse: Pour raconter un peu l'histoire (asseyez vous les petits), on s'est rencontré par pur hasard pendant le travail, on a ma foi beaucoup discuté de jeux vidéos et puis il m'a dit "BAH MOI JE STREAME TU VOIS ET SI TU VEUX APRÈS JE TE DONNE MON DISCORD " ah ui ui, beh il m'a donné un bout de papier en début de matinée pour que je l'ajoute et puis on a continué de discuter. Il faut bien s'occuper pendant le boulot ~~ Qui est Bideo et que fait-il ? Je ne le connais pas plus que cela, mais c'est un grand barbu âgé d'un siècle et demi (Vous pouvez l'appeler Gandalf) , du coup ! Comme vous l'avez pu le constater c'est principalement un streamer Twitch même s'il est présent sur la plupart des plateformes dont Youtube ! Il va reprendre du service et donc il faut lui faire un petit coup de publicité afin qu'il s'envole tel Peter Pan le ferait en sniffant de la poudre de Clochette.. Alors, alors, comme je ne le suis pas depuis ses débuts, je ne fais que reprendre ses derniers dires que j'ai pu entendre, il stream du Rétrogaming (donc les nostalgiques c'est par là !) , du Minecraft (Donc les Minecraftiens c'est par là) mais fait aussi des jeux fun ou encore de la réparation de consoles, manettes, cartouches bref tout ce qui touche aux jeux vidéos ! Des liens de dispos ? T'inquiètes ça, je donne ! Twitch : >> CLIQUEZ ICI << Youtube (chaîne principale) : BideoGemu Youtube (Chaîne réparation) : BideoRépar Discord : Cliquez ici ! Allez checker quelques vidéos Youtube et n'hésitez pas à vous abonner sur ces plateformes ! Xayah,
  3. En étant fondateur d'un serveur fiveM - Uprising Roleplay Chapeau, beau tutoriel, merci à toi!
  4. ses possiblement juste l'encodage de ton notepad++ Et oui parfois quand tu fait du copier coller, faut bien faire attention!
  5. C'était une blague t'inquiète, bah de ce que je viens de voir, non il y a plus que ça a traduire... Après c'est du détail, par exemple les questions OX on doit tout le temps les refaire, donc que celles déjà présentes soient en allemand, en anglais ou en français... voilà
  6. Merci. Mais c'est quand même con de m'avoir spam mp pour que je t'aide à traduire le truc pour que tu finisses avec un local allemand, des sources anglaises et une sortie française... mdrrrr
  7. Salut, tu possède présentement quel files? normalement sur les files de base 2012*2016, tu n'a pas de modification [C++] à faire tu doit juste changer dans tout tes fichiers config: MAX_LEVEL: Ici ton level
  8. Niveau requis : Intermédiaire Temps estimé : Entre 30 à 35 minutes Bonjour. Après une longue inactivité sur le forum, il est temps pour moi de reprendre du service. Je vais m'efforcer lors de ce tutoriel de vous apprendre tout ce qu'il y a à savoir sur les classes en Python. Je ne rentrerait pas dans le python trop avancé afin que tous les niveaux intermédiaires en Python puissent suivre ce tutoriel. Ce tutoriel s'adresse à toutes les personnes qui voudraient apprendre le Python, ou aux personnes qui travaillent sur Metin2 par exemple : Metin2 emploie beaucoup de classe; il est donc essentiel de connaitre leur fonctionnement afin de pouvoir créer du contenu à sa guise. J'essayerai au maximum de vous apprendre directement un code qui respecte les conventions, j'espère ne pas faire d'erreur... A vrai dire, il y en a énormément, et personne n'est à l'abris de ne pas tous les respecter. Pré-requis: Comme précisé ci-haut, je ne vais pas faire de Python trop avancé ici, cependant je considère que les personnes suivant ce petit guide ont un niveau intermédiaire c'est à dire qu'elles ont des connaissances en : Fonctions; Attributs; Portée de variable. Le reste peut vous être utile, mais je vais essayer de vous l'apprendre également. I - Introduction aux classes : Rangez votre éditeur de code, pour le moment nous allons discuter ! Effectivement, cela ne servirait à rien de commencer à programmer sans vous expliquer concrètement à quoi servent les classes et quelles sont leurs principales caractéristiques. Avant de commencer, je tiens à préciser que ceux qui pensent être à l'abris de lire tout le tutoriel car ils ont déjà des connaissances dans d'autres langages : mauvaise idée. Chaque langage de programmation à sa propre méthode, sa propre philosophie pour les objects. Les classes ne sont pas que des boites dans les quelles vous pouvez mettre des fonctions où des variables, les classes sont la base de la Programmation Orientée Objet (POO). En réalité en Python, vous utilisez des objects depuis longtemps. Pour citer Mathieu Nebra : "En python, tout est objet". Une liste par exemple, est un objet, et non réellement une variable. Créer une classe permet de créer de nouveaux objets et de nouvelles instances avec ses propres attributs. Ne paniquez pas, nous allons définir ces termes au fil du guide. Par défaut les objets sont publics (sauf mention contraire : private), et toutes les fonctionnalités des classes sont virtuelles. II - La portée des variables : Nous attaquons ici un paragraphe que je vais vite résumer, mais ne le négligez surtout pas, c'est un des points les plus importants de ce guide. Les portées sont définies de manières statiques, mais sont utilisées de manières dynamiques. En réalité nous pouvons découper les portées Python en 4 espaces (dites de nommage) qui définissent à eux quatre la plage de nommage. Pour simplifier la compréhension de ces espaces je vous conseille d'utiliser une métaphore : les poupées russes. Imaginez qu'une poupée ne peut voir que ce qu'elle contient : Si on imbrique une poupée dans une plus grande (respectivement la poupée A et B), la poupée B pourra voir A et tout ce qu'elle peut voir. Cependant A ne verra pas ce que contient B. Voici une liste de ces 4 espaces : Une portée dite centrale : elle contient les noms locaux. C'est à dire qu'ils ne sont accessibles nul part d'autre. Une portée dite des fonctions englobante : c'est un espace entre le global et le local. Pour la définir au maximum nous allons dire qu'elle contient des éléments non-locaux, et exclusivement des éléments non-globaux. Une portée dite intermédiaire : c'est l'avant-dernière portée, elle contient les noms globaux du module. Une portée englobante : La vraie et l'unique, elle contient tout simplement tout. Elle est l'espace de nommage contenant toutes les primitives. La façon dont vous allez définir vos variables va déterminer dans quel espace de la plage de nommage elle va être renseignée. En Python, si aucune instruction global n'est précisée, les affectations de noms vont dans la portée la plus proche. Ceci a une implication sur leur contenu et leur suppression, nous le verrons sûrement plus tard lors de ce guide. Pour rendre une variable privée, vous devez faire précéder son nom de deux underscore comme ceci : __var. III - Définir notre première classe : Enfin ! Munissez vous de votre meilleur éditeur de code et de votre courage, nous allons enfin commencer à coder ! J'espère ne pas vous avoir perdu avant, car la difficulté va aller crescendo jusqu'à la fin de ce guide. Vous pouvez définir une fonction absolument où vous voulez, cependant pour des soucis de clarté et de difficulté, je vais définir une classe directement dans le fichier. Vous commencez à connaitre python, comme pour les fonctions, il existe un mot clé pour définir une classe, et il n'est rien d'autre que class. Voici sans plus attendre la définition de notre première fonction : Ici, nous venons de définir une classe nommée FirstClass. Notez que pour les classes, nous n'utilisons pas d'underscore, et leur nom commence par une majuscule, ce qui permet de les différencier des fonctions par exemple. IV - Remplissons notre classe avec des variables : Dans notre classe, nous allons pouvoir mettre principalement deux éléments : Les variables Principales D'instances Les méthodes Pour vous illustrez ceci, nous allons faire les choses dans le mauvais sens, nous allons commencer par les méthodes. Vous le savez peut être : en Python, une méthode est extrêmement spéciale, la méthode d'initialisation. Elle se nomme toujours __init__. Les classes ne font pas exception à cette règle, la méthode d'initialisation de notre classe va être exécutée au moment où nous instancierons la classe. Ne vous inquiétez pas, nous allons illustrer ça très vite. Notez que la méthode d'initialisation est aussi appelée le constructeur, il m'arrive d'utiliser les deux termes, ne soyez pas surpris. Vous pouvez remarquer qu'un mot est arrivé comme par magie, sans que j'en parle : self ! Tout d'abord le mot self n'est pas une réelle obligation, vous pourriez mettre "fe" à la place. Cependant, self est une convention forte. C'est à dire que même les codes review ne comprennent que self. Ensuite, self est l'instance en elle même. Nous pouvons accéder à ses méthodes par self.method. Pour commencer avec les variables, nous allons en définir une qui sera la même pour toutes les instances car celle-ci ne sera pas définie par la biais du mot clé self : Ici, notre variable language sera accessible partout, sans même instancier la classe. C'est à dire que n'importe où (où cette classe sera accessible), vous pourrez faire FirstClass.language qui vous retournera la chaîne de caractères "Python". Maintenant, passons au plus intéressant avec les variables : les variables d'instances. Pour cela, nous allons rajouter un paramètre à notre constructeur, par exemple : name qui contiendra le nom de la personne qui instancie la classe. Modifions notre code comme ceci : Ici, nous allons faire un point pour vous expliquer comment tout cela fonction. Si vous demandez à Python de print : FirstClasse.language celui-ci vous renverra bien Python. Cependant pour connaitre name, nous devons déjà la préciser, et pour cela, nous devons instancier la classe. Il serait peut-être temps de vous apprendre à le faire ! Pour instancier une classe en python, vous allez stocker l'instance, l'objet renvoyer comme une variable, comme ceci : var = FirstClass("Takuma"). (Renvoie dans la console : Takuma) V - Remplissons notre classe avec des méthodes : Pour cette partie, je vous propre de repartir d'une nouvelle classe. Nous allons essayer de faire une class "identity" qui permettra de générer une mini carte d'identité contenant : Le nom : Ajouté dans le constructeur en paramètre Son âge : Ajouté par une méthode Son pays : ajouté par une fonction également Voici la structure de notre fonction avec exclusivement ce que nous avons vu pour le moment : Bien, nous allons maintenant ajouter une méthode permettant d'ajouter l'âge de la personne. Pour cela, nous allons créer une méthode la même manière que les fonctions que vous créiez en dehors des classes. Celle-ci tout comme le constructeur prendra en premier paramètre notre instance self et en deuxième paramètre l'âge de la personne. Nous lui demanderons ensuite d'affecter cette valeur à notre variable d'instance "old", comme ceci : Faisons de même pour le pays : Bien, pour finir cette partie, je vous propose d'ajouter une méthode permettant d'afficher le tout : Je vous laissez donc un petit rendu, sachant que vous pouvez instancier plusieurs fois la classe dans plusieurs objets différent. Ici la variable identifier n'est pas utilisée. Output : Identity : Name : Takuma Old: : 18 Country: France VI - Vers la programmation avancée : J'achèverai ce tutoriel sur ce dernier chapitre qui vous permet d'explorer les possibilités qui s'offrent à vous avec les classes. Cette partie va s'adresser aux plus avancés de vous, je vais parler d'héritage de metaclasse, effectivement le nom ne donne pas vraiment envie... Ce principe est dur à aborder, mais simple et très puissant que on sait s'en servir, courage soldat ! 1 - Héritage : Le principe de l'héritage est d'utiliser des classes "entre" elles afin que certaines héritent, obtiennent les variables et les méthodes d'une autre. Je vais vous donner un exemple pour que vous compreniez mieux. Imaginons l'ensemble des êtres humains. Vous pouvez très bien créer une classe permettant d'instancier comme nous l'avons fait juste avant chaque personne. Cependant, imaginons que nous voulions mettre dans cette classe le travail de ce personnage, et les caractéristiques propres à ce travail. Il faudrait faire une classe entière par travail ? Arf, vous aussi vous sentez la répétition ? Eh bien c'est maintenant que l'héritage rentre en jeu ! Nous allons regrouper toutes les caractéristiques communes à toutes les personnes dans une classe d'abord, bien prenons quelques exemples comme la classe que nous avons définie juste avant : Nom, âge, pays. Pour simplifier la tâche, nous allons juste mettre une fonction init de dans : Maintenant, nous allons créer une autre classe, par exemple : Banker qui va hérité des variables (méthodes également, mais il n'y en a pas dans Person pour que ce soit plus lisible). Banker contiendra par exemple le salaire de la personne, et son rang dans l'entreprise. Quand nous allons créer la classe, nous devrons ajouter en paramètre à la classe, la classe Person,, comme ceci : Vous remarquerez que dans le constructeur de Banker, j'ai ajouté les paramètres de la class Person, c'est normal, nous allons instancier notre classe Person dans le constructeur de Banker. Pour cela nous avons deux choix : Faire directement référence à Person avec Personne.__init__(); Faire référence à la classe mère avec super.__init__(); Utilisons super() pour l'exemple. Attention, si vous décidez d'utiliser le nom de la classe directement, vous devrez passer le self en argument également, comme ceci : On s'arrêtera ici, car ce n'est qu'une découverte, vous pouvez maintenant appeler les éléments définis dans Person par Banker, par exemple : Renverra bien "Takuma" dans la console. Voilà, on va s'arrêter là, je pense que vous avez un peu de lecture, merci pour ceux qui auront lu jusqu'au bout. N'hésitez pas à me dire si quelque chose n'est pas clair pour vous, j'ai sorti ça d'une traite par manque de temps, je vais peut être remplacer les screens par des blocs codes par la suite, je sais pas ce qui rend le mieux, je vais voir. Cordialement, Takuma.
  9. Bonjour, Je vous partage des dagues dont j'ai essayé de refaire les brillances. L'archive contient : La texture l'icon Le modèle Aperçu : Lien de téléchargement : FE / Cliquez ici Source : J4m Xayah,
  10. Bonjour, Je viens vous partager différents thèmes que j'ai trouvé sur prowebber. Ces thèmes sont pour les versions 4.4 d'IPS Borx (Lien de téléchargement : FE / Cliquez ici ) : DreadNought (Lien de DL : FE / Cliquez ici ) : Grandient (Lien de téléchargement : FE / Cliquez ici ) : MDPanel (Lien de téléchargement : FE / Cliquez ici ) : Oblivion (Lien de téléchargement : FE / Cliquez ici) : Titan (Lien de téléchargement : FE / Cliquez ici : ) Veizor Neon (Lien de téléchargement : FE / Cliquez ici) Vulpes (Lien de téléchargement : FE / Cliquez ici) : WarZ (Lien de téléchargement : FE / Cliquez ici) : 4TECH (Lien de téléchargement : FE / Cliquez ici) Dark Theme (Lien de téléchargement : FE / Cliquez ici ) : Xayah,
  11. Bonjour, Je viens vous partager la version 4.4.6 d'IPS, celle-ci contient de nombreux correctifs (notamment de sécurité) Sécurité : Fixed an issue where a malicious user may be able to identify the full path to a file uploaded to a custom field. Core : Added support for MySQL 8. Improved security headers on error pages. Changed the "Who follows this" page to instruct bots not to index the page for SEO purposes. Moved the Club Members Box to the sidebar when the club information are shown in the sidebar. Fixed an error visiting the full notifications screen when the user has no notifications. Fixed an issue where old messenger links may not redirect correctly. Fixed an issue where new comment notifications can show an incorrect read status. Fixed club sorting preference being lost when navigating to another page of clubs. Fixed an issue where the "Bypass word and link filters" setting was not honored for links. Fixed attachments not being properly claimed when added to a Staff Directory member entry. Fixed an issue where reordering social profiles may not show the reordered list after saving without reloading the page. Fixed a potential error when an invalid sort parameter is passed in to certain pages. Fixed an issue where certain tables of data may show an incorrect number of pages when filtering the table. Fixed the Leaderboard popular content inconsistency when using ElasticSearch. Fixed an issue where Pages blocks wouldn't show in the configuration form when using the block manager. Fixed an issue where creating a club feature could result in a DB exception. Fixed broken ACP tables on Internet Explorer 11. Fixed an issue where Status Posts couldn't be deleted. Fixed an issue where 0B may be displayed in place of the real Redis maximum memory amount on the support overview page. Fixed an issue where using REDIS as session storage would return the wrong members for the online list. Fixed an issue with lazy-loading where images with a custom aspect ratio set did not honor the ratio after loading. Rest & OAuth : Fixed OAuth Logins being broken because of a missing DB column. Blogs : Fixed blog entries from clubs showing on the Blog applications Grid View when the "Show Club Content Areas" setting is set to "Only Within Clubs". Fixed an error that can occur with some configurations when attempting to add or move a blog entry. Pages : Fixed an issue where the wrong user may be notified of Pages database records being embedded in other content areas. Fixed an issue where attachments in newly submitted database records would not be used when embedding records in other areas of the software. Fixed an issue with Schema.org structured data tags in Pages when the site has a logo image applied to the theme. Fixed an error searching databases in the AdminCP using the quicksearch input on the database listing page. Fixed an issue in the Pageurl Output Extension which was catching a not existing exception. Galerie : Fixed media sound continuing to play after closing the lightbox. Fixed an error that can occur when attempting to view disk space statistics when there are none. Calendrier : Fixed an issue where all day ranged events reflect the wrong event end date in iCalendar exports. Adjusted ical import process to ignore WKST values of 'MO' (which is the default) to reduce false-positive error reports. Commerce : Added ability for administrator to choose what to do after a dispute is won (previously would automatically re-approve the transaction). Fixed an issue where the tax name in invoice emails could be missing. Fixed potential uncaught exception if trying to view a product in the AdminCP that doesn't exist. Fixed an issue where the description of new payment gateways wasn't saved successfully. Convertisseur: Fixed some issues converting MyBB content including profile fields, avatars & attachments. Dev : Fixed an issue using the node form helper when not using $titleLangPrefix in the node model, and using apostrophies in a node's title. Fixed an issue where the wrong member's AdminCP notification dismissals were referenced in \IPS\core\AdminNotification::notificationIdsForMember(). Fixed an issue where Nodes that do not implement permissions may still try to check them, resulting in an error in some situations. Added an ID to the mobile navigation sign in link elSigninButton_mobile. All columns named member must now be escaped with backticks when querying the database in order to support MySQL 8. Lien de téléchargement : FE / Cliquez ici Source :WF Xayah,
  12. FBot

    Armes X7

    Bonjour, Je vous partage un set d'armes dont j'ai refait les brillances L'archive contient : Les icons Les textures (dont une à 8mo RIP) Les modèles Aperçu avant : Aperçu après : Lien de téléchargement : FE / Cliquez ici Source : Sanii Xayah,
  13. J'aimerais rajouter que cet méthode n'est pas complète et peu avoir quelques soucis sur certains mobs. Exemple d'un mobs avec la ligne: ScriptType MotionData MotionFileName "D:\ymir work\monster\plechi_md_fungus00\run.GR2" MotionDuration 1.666667 Accumulation 0.00 0.001 0.00 Certain mobs deviennent insensible au dégâts ainsi qu'au chute. Exemple d'un mobs avec la vrai accumulation: ScriptType MotionData MotionFileName "D:\ymir work\monster\plechi_md_fungus00\run.GR2" MotionDuration 1.666667 Accumulation 0.00 -336.769317 0.00 Comment trouvé la bonne accumulation? Vous allez simplement ouvrir votre run.gr2 de votre mobs. Ensuite vous allez dans l'onglet Animation List, Vous tenez enfoncer votre clique droit -> ''View in details'' Maintenant vous allez cliquer sur 'click to view sub-structure' dans la colonne: void ** TrackGroups. Vous obtenez ceci: Ce qui nous intéresse ses 'granny_real32 LoopTranslation' Donc nous prenons les chiffres: -336.769317 et nous éditons notre run.msa. ScriptType MotionData MotionFileName "D:\ymir work\monster\plechi_md_fungus00\run.GR2" MotionDuration 1.666667 Accumulation 0.00 -336.769317 0.00 Voila maintenant vous avez la vrai accumulation du mobs! N'oubliez pas de redémarrer votre serveur après la modification effectuée.
  14. FBot

    Lance X1

    Bonjour, Je vous partage une lance de la BETA dont j'ai refait la brillance thanks to @Veltor88 pour le partage original L'archive contient : L'icon La texture Le modèle Aperçu : Lien de téléchargement : FE / Cliquez ici Source : EB Xayah,
  15. Bonjour, Voici les protos officiels de la dernière version de Metin2. Il y aura le format XML & le format TXT Attention ! En revanche pour les TXT ! Ne pas les utiliser directement sur vos files A savoir : Les colonnes ADDON_TYPE3 & ADDON_VALUE3 ne sont pas présentes sur l'item proto (à la première ligne) il faudra donc les ajouter. Metin2 a intégré une nouvelle colonne (Situé tout à la fin de la ligne) elle se nomme 67_MATERIAL Lien de téléchargement : FE / Cliquez ici /// 19.6.8 Source : Penger & metin2team Xayah,
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.