Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <sourcemod>
- #include <cstrike>
- #include <sdkhooks>
- #include <sdktools>
- #include <morecolors>
- #include <cssthrowingknives>
- new handle:db
- new String:pute[24]
- public OnPluginStart()
- {
- //RegConsoleCmd("sm_gift", Command_Gift); /* création de la commande gift */
- HookEvent("player_spawn", OnPlayerSpawn); /*partie qui se passe à chaque spawn d'un joueur */
- InitDB(db);
- }
- InitDB(&Handle:DbHNDL)
- {
- new String:Error[255];
- // COnnect to the DB
- DbHNDL = SQL_Connect("mamadou", true, Error, sizeof(Error));
- // If something fails we quit
- if(DbHNDL == INVALID_HANDLE)
- {
- SetFailState(Error);
- }
- // Querystring
- //new String:Query[255];
- //Format(Query, sizeof(Query), "CREATE TABLE IF NOT EXISTS players (steamid TEXT UNIQUE, name TEXT);");
- // Database lock
- //SQL_LockDatabase(DbHNDL);
- // Execute the query
- //SQL_FastQuery(DbHNDL, Query);
- // Database unlock
- //SQL_UnlockDatabase(DbHNDL);
- }
- public OnPlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast) /*partie qui se passe à chaque spawn d'un joueur */
- {
- new client = GetClientOfUserId(GetEventInt(event, "userid"));
- new kouto = GetClientThrowingKnives(client);
- decl String:Requete[1024];
- Format(Requete, sizeof(Requete), "SELECT fr FROM phrase");
- new handle:bite = SQL_Query(db, Requete);
- if (!SQL_FetchRow(bite))
- {
- // La requete à merdée
- }
- else
- {
- new expiration = SQL_FetchString(bite, 0, pute, sizeof(pute));
- // PrintToChatAll("%s", expiration);
- PrintToChatAll("%s", pute);
- PrintToChatAll("%i", kouto);
- }
- }
- /*
- Bon
- je te met sur la voie , je te donnes pas le code
- Quand tu fais du scripting, surtout dans des langages comme le sourcepawn
- il faut que ça soit très bien mis en place au niveau des initialisations et des constantes
- ce que je te conseiller :
- Tu met le nom de la config SQL que tu veux utiliser en constante
- tu l'appelles par exemple DATABASE_NAME
- apprends toi à le faire en anglais c'est mieux
- Deusio'
- Tu creer une fonction SQL_InitDatabase()
- dans celle-ci tu va tout simplement soit lancer la connection si la config "DATABASE NAME" existe
- soit tu renvoies un SetFailState avec une phrase d'erreur
- comme ça tu gardes toujours des logs
- Pour checker si ta base existe tu utilises SQL_CheckConfig(NOM DE TA CONSTANTE BDD)
- si celle-ci existe, tu fais un SQL_TConnection (ta fonction de callback, le nom de ta config)
- dans ton callback, tu auras donc :
- public SQLCallback_InitDatabase(Handle:owner, Handle:hndl, const String:error[], any:data)
- tu vérifies que ton hndl , ton object BDD en somme n'est pas INVALID_HANDLE
- si il est pas invalide, tu fais tes requêtes d'initialisation de base
- Enfin
- pour faire des requêtes simple maintenant que tu as une tres bonne architecture
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement