Dertionee

Equipe Technique
  • Content Count

    4
  • Joined

  • Last visited

  • Days Won

    1

Dertionee last won the day on January 20

Dertionee had the most liked content!

Community Reputation

153 Grand sage

About Dertionee

  • Rank
    Fantôme

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Cmer a prévu de faire ça avec des surprises mother fcuker mais il est en déplacement cette semaine ! On peut demander à Raphi au pire
  2. Yo, On ma très vite enlevé mes droits, et je n'ai pas pu faire un départ traditionnelle comme il se doit en pouvant regarder mes posts sur mon sujet. Merci a celui qui m'a vite enlevé mes droits, ca se voyait qu'il voulait que je me barres :). Tous ca pour vous dire que je me barres de la team car les valeurs pour lesquelles je suis rentré dans cette team, ne sont plus la (bon délire, pas de prise de tete, respect, loyauté). biz
  3. Yo tout le monde, Attention à tout les codeurs de la communauté, vous allez être un peu dégoûter mdr. Sourcemod 1.7 ==> Grand changement Ils vont modifier toutes l'API, le compilateur, la syntaxe et la façon de voir les choses. Pour ceux qui ne lise pas trop l'anglais, voici un résumé : Sourcepawn est un dérivé du small C créé en 1984 (oui cela date) dit un langage de bas niveau (rapprocher de la machine, de la réalité) mais comme il faut se mettre à la page et que l'informatique a eu un tournant avec la création de l'orienté objet (Java / C# en grande partie dit langage de haut niveau donc proche de l'abstrait), Sourcemod fait de même et aura le même fonctionnement et sera orienté objet. J'ai pas énormément d'information, mais cela veut dire que les anciens plugins ne pourront plus se compiler avec sourcemod 1.7. Donc les pro du C et de la méthode procédurale bye bye !! Mdr Voici la discussion forum alliedmod : https://forums.alliedmods.net/showthread.php?t=244092
  4. ATTENTION Ce post concerne les développeurs très avancés dans le sourcepawn et il requiert d'avoir les bases niveau SQL (bdd, table, requête SQL etc ....) Yo tout le monde ! Je vais vous faire le partage de l'utilisation d'une bdd en sourcepawn. Cela va vous changez la vie. Cela va permettre de stocker des informations des joueurs à long terme et avec une facilité d'utilisation assez impressionnant ^^. C'est même indispensable arriver à un certain moment. 1°) Comment se connecter à sa base de donnée ? Premier point, il n'y a pas besoin d'include spécifique pour utiliser les fonctions SQL car elles sont déjà implémentées dans l'include sourcemod. Deuxième point, nous aurons besoin de certain define et de certaines variables pour que cela fonctionne, voici la liste (après à vous à modifier les defines) : #define DATABASE_NAME "LeNomDeTaBdd" new Handle:g_hDatabase = INVALID_HANDLE; On va pouvoir commencer, donc pour le début voici deux fonctions toutes prêtes pour se connecter à une bdd, se déconnecter d'une bdd et checker la connexion en cours d’exécution : public ConnectBDD() { // On check la config présente dans database.cfg if (SQL_CheckConfig(DATABASE_NAME)) { new String:error[255]; // On créé une connexion à la base de donné via la config présente dans database.cfg g_hDatabase = SQL_Connect(DATABASE_NAME,true,error, sizeof(error)); if (g_hDatabase == INVALID_HANDLE) { LogMessage("Erreur de connexion: %s", error); } else { LogMessage("Connexion à la BDD MySQL réussie"); } } else { LogError("Impossible de trouvé <%s> dans le fichier databases.cfg", DATABASE_NAME); } } stock bool:DisconnectSQL() { if(g_hDatabase != INVALID_HANDLE) { CloseHandle(g_hDatabase); g_hDatabase = INVALID_HANDLE; } return true; } stock bool:CheckSQL() { if(g_hDatabase == INVALID_HANDLE) { ConnectBDD(); return false ; } return true; } Où et quand se connecter et se déconnecter d'une bdd ? Pour faire simple, le mieux afin d'être assez optimiser, c'est de se connecter au lancement de la map et se déconnecter à la fin, après à vous à faire comme bon vous semble ^^. Voici un exemple : public OnMapStart() { ConnectBDD(); } public OnMapEnd() { DisconnectSQL(); } Maintenant, que vous êtes connecté à votre base de donnée, on va pouvoir rentrer dans le vif du sujet et aborder quelque point précis qui peuvent être piège. 2°) L'utilisation des requêtes SQL Utilisation simple (c'est à dire envoit d'information à la bdd) : public MaFonction() { if(CheckSQL()) { new Handle:hQuery = INVALID_HANDLE; new String:sQuery[255]; Format(sQuery, sizeof(sQuery), "UPDATE matable SET numeros=0 "); hQuery = SQL_Query(g_hDatabase, sQuery); CloseHandle(hQuery); } else { DisconnectSQL(); } } -En tout premier lieux, on va tester si la connexion à la bdd est bonne avec la fonction CheckSQL qui retourne un booléen (sinon crash serveur assuré lors d'envois de requêtes SQL) si c'est pas bon, on se déconnecte par sécurité (reconnexion automatique dans le checkSQL si on était déconnecté). -Ensuite on va créer deux variable, une variable de type Handle, qui est un type spécifique à sourcemod, qui va ensuite faire le même rôle qu'un pointeur en C (mais je sais pas ce qui est bidouillé dedans, enfin je m'en fous lol) et l'autre variable, une chaîne de caractère qui va permettre de stocker la requête SQL sous forme de texte. -On utilise la fonction Format pour stocker le texte dans sQuery.Ensuite on envoit la requête grâce à la fonction SQL_Query (on lui passe en paramètre le handle de la bdd ainsi que la requête sous forme de texte. Puis on arrête de pointer afin de libérer la plage mémoire alloué. Voilà maintenant vous savez lancer une requête SQL simplement. ATTENTION Ce n'est pas parce que votre plugin compile que tout votre code est bon. En effet si votre requête SQL est fausse, il n'y aura pas d'erreur de compilation mais rien ne se passera dans votre table voir même votre plugin sera incohérent. (Cf. Fankine mdr) Utilisation plus complexe (réception de donnée) : new Handle:hQuery = INVALID_HANDLE; new String:sQuery[255]; Format(sQuery, sizeof(sQuery), "SELECT id FROM Matable WHERE authid='%s'", sAuth); hQuery = SQL_Query(g_hDatabase, sQuery); if(SQL_GetRowCount(hQuery) == 0) { Format(sQuery, sizeof(sQuery), "INSERT INTO Matable (authid, name, numero, ok) VALUES('%s', '%s', 0, 0)", sAuth, szClientNameSQL ); hQuery = SQL_Query(g_hDatabase, sQuery); return SQL_GetInsertId(hQuery); } else { SQL_FetchRow(hQuery); return SQL_FetchInt(hQuery, 0); } Ceci est un exemple, donc si il y a des variables qui sont utilisé mais pas défini, c'est normal, c'est tiré d'un de mes codes. Ici on fait plusieurs choses. Dans un premier temps on essaye de sélectionner l'id d'une personne dans la table SQL. Ensuite avec "if(SQL_GetRowCount(hQuery) == 0)" On teste si on trouve une ligne ou pas (donc trouvez la personne ou non, ici sAuth c'est le steam id). Si on trouve personne, on va l'insérer dans la table, avec plusieurs paramètres correspondant à ma table. "return SQL_GetInsertId(hQuery);" cette permet de retourner l'index où a été insérer la personne (le numéro de la ligne qui est normalement unique). Si on trouve quelqu'un : SQL_FetchRow(hQuery); return SQL_FetchInt(hQuery, 0); La première ligne permet de récupérer le contenu de la table après la recherche et la deuxième ligne permet de récupérer le premier éléments (la première colonne) de la ligne qui a été retourné grâce à la fonction juste avant. (je dis premier car j'ai mis en paramètre "0" mais si vous mettez "2", ce sera le troisième élément de la ligne vu que l'on commence à compter à partir de 0. Pour connaître toutes les fonctions SQL disponibles, rendez-vous (comme d'hab) sur le wiki alliedmod section SQL et la doc de l'API sourcemod. Astuce Des fois vous aurez des bugs lorsque vous essayerez de mettre en paramètre les pseudos des joueurs avec la fonction "GetClientName", pour cela utiliser juste après cette fonction "SQL_EscapeString" avec les paramètre qui vont bien Ce tuto n'est pas exhaustif mais vu qu'il s'adresse au personne expérimenté, vous en aurez assez pour utiliser correctement une bdd (après faut savoir utiliser les docs à disposition). Si il y a des erreurs dans mon tuto, faites le moi savoir, je me suis pas relu tout en entier ^^. A la prochaine.
  5. Yo, Voici un plugin que j'avais fais pour une soirée sur le FFA (qui était un mode call of duty, c'est à dire avec série d'élimination) et les récompenses étaient ultra fun (si je me rappelle bien, c'est une simple rocket qui était influencer par la gravité après rocket plasma qui n'est pas influencé par la gravité, mine qui rebondit et explose en faisant des dégâts de zones et attirant tout le monde, la rocket téléguidé c'est à dire que quand vous la lancez, votre vue n'est plus sur votre perso mais sur la rocket et vous la contrôlez et pour finir un genre de bombe nucléaire faisant beaucoup de dégâts et faisant trembler toute la map). Ce code n'a pas été fait entièrement par moi. Toutes les armes viennent du entcontrol (que vous aurez besoin pour compiler sur votre PC et vous aurez besoin de l'extension entcontrol sur votre serveur pour que le plugin fonctionne). Je me suis occupé de coder le reste, c'est à dire la gestion du mod. Ce partage est à titre d'apprentissage pour les futurs sourcepawner. Pour toutes questions, je suis là pour répondre sur le poste (et uniquement sur le poste, que tout le monde puissent profiter des possibles questions-réponses): https://forums.alliedmods.net/showthread.php?t=157075
  6. Yo tout le monde, Comme il y a déjà pas mal de hub qui fonctionne avec le store de partager sur le net, je vous partages le mien que j'avais réalisé l'année dernière ^^. Ce partage est à titre d'apprentissage pour les futurs sourcepawner afin qu'ils sachent utiliser l'API store et le text afficher à droite (comme dans le jail). Pour toutes questions, je suis là pour répondre sur le poste (et uniquement sur le poste, que tout le monde puissent profiter des possibles questions-réponses):
  7. Bonjour tout le monde et merci à K4nsuke pour cette idée de tutoriel. Celui-ci va être très court. L'auto completion, c'est quoi ? 1°/ Télécharger ce fichier : AUTOCOMPLETION 2°/ Suivez les instructions : A/ B/ C/ D/ E/ EXEMPLE1/ EXEMPLE2/ Voilà :) !
  8. Salut tout le monde ! J'avais un projet que me tenait à cœur qui était la création d'un serveur jail cs:go. Il a été supprimé car il n'y avait personne pour l'administrer et donc c'était le grand n'importe ce qui a fait fuir les joueurs. Aujourd'hui, j'ai envie d'en ré-ouvrir un (projet personnel pour l'instant) et pour palier au problème de manque d'admin, j'ai envie de créer un plugin qui puisse remplacer un admin par la mesure du possible. Je vous demandes alors quels solutions me proposer vous ? (toutes les idées même farfelu sont la bienvenu car rien est impossible dans le sourcepawn). Pour commencer, j'avais pensé à un système de vote mais moin on demande au joueur de faire des choses et mieux on se porte ^^. Merci d'avance, cordialement. Dertione.
  9. D'ici demain voici les maps en plus sur le serveur : ba_jail_ace_v3g jb_avalanche_csgo ba_jail_umbrella_final_fixed2 jb_minecraft_beta_v3-5 jb_obama_v5_beta ba_jail_alcatraz_redux_go Ce qui nous fait cette maplist :
  10. Salut tout le monde ! Le moment que vous attendiez tous est arrivé ! Je viens de finir de configurer intégralement le CS:GO. Nous sortons officiellement un jailbreak sur CS:GO. IP : 212.83.157.178:27050 Slot : 25 Maplist : jb_castleguarddev_v3ba_jail_sand_csgojb_spy_vs_spy_v1-3ba_jail_futuroutaba_jail_entanglement_gojb_iron_goba_jail_chernobyl_dayba_jail_ace_v3g jb_avalanche_csgo ba_jail_umbrella_final_fixed2 jb_minecraft_beta_v3-5 jb_obama_v5_beta ba_jail_alcatraz_redux_go Plugin :Jailbreak (Spécialement importer depuis css par moi)Plainte (Spécialement importer depuis css par moi)Gift (Spécialement importer depuis css par moi)Sm_hostiesSourcebansSm_skinchooser (Merci Shakspear pour avoir partagé les skins)MapchooserRock the vote Merci à Shakespear pour les skins et au testeur.
  11. Salut, voici une demande pour que je puisses faire des chargements de maps personnalisé sur les maps jail du futur csgo. Quel réalisation voulez-vous ? Je désires une images pour le chargement de map d'une map csgo. Dimension de la réalisation ? Voici un exemple (l'image avec l'IP et les mains) sachant que toutes cette image fait l'écran d'un ordi : http://upload.supreme-elite.fr/?v=RYoLu.png Thème ? Jailbreak CS:GO, prison. Texte contenu ? nom du serveur : Jailbreak / nom de la map : XXXXXXXX / futur IP du serveur : 212.83.157.178:27050 Point de départ ? Comme vous voulez Précisions a ajouter : Si je pourrais avoir accès au psd pour pouvoir a chaque fois modifier le nom de la map, ce serait bien. Merci d'avance. Je pourrais vous donnez une dimension exacte ce soir normalement. Cordialement.
  12. AIGHT : MERCI au participant du cache cache, full zombie, chat et la souris et plein d'autre jeux !!!
  13. C'EST HALLOWEEN ! Pour vous qui aimez la fête d'Halloween, mais qui avez passé l'âge de gaspiller le paquet de PQ de maman pour vous déguiser en momie au rabais et aller faire chier les voisins toute la soirée, Pour vous qui avez envie de vous marrer entre potes, sans forcément devoir vous déguiser en un membre des Tokio Hotel. J'organise le soir d'Halloween une soirée sur le serveur MINGAMES des Suprême Elite ! Ça se passe le 30 OCTOBRE, DE 20h30 à 22h00 (voir plus) ! Au programme : -Des skins spéciaux ! Des maps sur le thème d'Halloween ! (en même temps...) Un event spécial tout le long de la soirée, "Chasse aux bonbons" ! (GAIN DE CREDIT A CHAQUE BONBON RAMASSER sisi !!) CREDIT DOUBLE QUI COMPTE SUR TOUT LES SERVEURS ! Des mois VIP et $ Forum à gagner pour les meilleurs ! Le but de l'event étant de sortir de l'ordinaire, et d'amener un peu de fun sur le serveur tout au long de la soirée ! J'espère que vous serez nombreux à participer !