Advertisement
Guest User

Untitled

a guest
Jul 13th, 2014
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.76 KB | None | 0 0
  1. #include <sourcemod>
  2. #include <cstrike>
  3. #include <sdkhooks>
  4. #include <sdktools>
  5. #include <morecolors>
  6. #include <cssthrowingknives>
  7. new handle:db
  8. new String:pute[24]
  9.  
  10. public OnPluginStart()
  11. {
  12. //RegConsoleCmd("sm_gift", Command_Gift); /* création de la commande gift */
  13. HookEvent("player_spawn", OnPlayerSpawn); /*partie qui se passe à chaque spawn d'un joueur */
  14. InitDB(db);
  15. }
  16.  
  17. InitDB(&Handle:DbHNDL)
  18. {
  19. new String:Error[255];
  20.  
  21. // COnnect to the DB
  22. DbHNDL = SQL_Connect("mamadou", true, Error, sizeof(Error));
  23.  
  24.  
  25. // If something fails we quit
  26. if(DbHNDL == INVALID_HANDLE)
  27. {
  28. SetFailState(Error);
  29. }
  30.  
  31. // Querystring
  32. //new String:Query[255];
  33. //Format(Query, sizeof(Query), "CREATE TABLE IF NOT EXISTS players (steamid TEXT UNIQUE, name TEXT);");
  34.  
  35. // Database lock
  36. //SQL_LockDatabase(DbHNDL);
  37.  
  38. // Execute the query
  39. //SQL_FastQuery(DbHNDL, Query);
  40.  
  41. // Database unlock
  42. //SQL_UnlockDatabase(DbHNDL);
  43. }
  44.  
  45. public OnPlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast) /*partie qui se passe à chaque spawn d'un joueur */
  46. {
  47. new client = GetClientOfUserId(GetEventInt(event, "userid"));
  48. new kouto = GetClientThrowingKnives(client);
  49. decl String:Requete[1024];
  50. Format(Requete, sizeof(Requete), "SELECT fr FROM phrase");
  51. new handle:bite = SQL_Query(db, Requete);
  52.  
  53. if (!SQL_FetchRow(bite))
  54. {
  55. // La requete à merdée
  56. }
  57. else
  58. {
  59. new expiration = SQL_FetchString(bite, 0, pute, sizeof(pute));
  60. // PrintToChatAll("%s", expiration);
  61. PrintToChatAll("%s", pute);
  62. PrintToChatAll("%i", kouto);
  63. }
  64. }
  65. /*
  66. Bon
  67. je te met sur la voie , je te donnes pas le code
  68. Quand tu fais du scripting, surtout dans des langages comme le sourcepawn
  69. il faut que ça soit très bien mis en place au niveau des initialisations et des constantes
  70. ce que je te conseiller :
  71. Tu met le nom de la config SQL que tu veux utiliser en constante
  72. tu l'appelles par exemple DATABASE_NAME
  73. apprends toi à le faire en anglais c'est mieux
  74. Deusio'
  75. Tu creer une fonction SQL_InitDatabase()
  76. dans celle-ci tu va tout simplement soit lancer la connection si la config "DATABASE NAME" existe
  77. soit tu renvoies un SetFailState avec une phrase d'erreur
  78. comme ça tu gardes toujours des logs
  79. Pour checker si ta base existe tu utilises SQL_CheckConfig(NOM DE TA CONSTANTE BDD)
  80. si celle-ci existe, tu fais un SQL_TConnection (ta fonction de callback, le nom de ta config)
  81. dans ton callback, tu auras donc :
  82. public SQLCallback_InitDatabase(Handle:owner, Handle:hndl, const String:error[], any:data)
  83. tu vérifies que ton hndl , ton object BDD en somme n'est pas INVALID_HANDLE
  84. si il est pas invalide, tu fais tes requêtes d'initialisation de base
  85. Enfin
  86. pour faire des requêtes simple maintenant que tu as une tres bonne architecture
  87. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement