hlmod.hu
https://hlmod.hu/

MySQL Több mentés
https://hlmod.hu/viewtopic.php?f=29&t=22284
Oldal: 1 / 1

Szerző:  PistaCFG [2015.09.28. 17:42 ]
Hozzászólás témája:  MySQL Több mentés

Hali!

Végre sikerült el menteni a pontot, most arra lennék kíváncsi hogy hogyan tudnék Pl: szintet el menteni hogyan folytassam aki tudja le írja? Előre is köszönöm

SMA Forráskód: [ Mindet kijelol ]
  1. public MySql_Init()
  2. {
  3. g_SqlTuple = SQL_MakeDbTuple(Host,User,Pass,Db) //csatlakozunk az adatbázishoz
  4. new ErrorCode,Handle:SqlConnection = SQL_Connect(g_SqlTuple,ErrorCode,g_Error,charsmax(g_Error))
  5. if(SqlConnection == Empty_Handle)
  6. set_fail_state(g_Error)
  7. new Handle:Queries
  8. Queries = SQL_PrepareQuery(SqlConnection,"CREATE TABLE IF NOT EXISTS kesrendszer (nev varchar(32),pont INT(11))") //létrehozzuk a pontrendszer táblát név és pont sorokkal
  9.  
  10. if(!SQL_Execute(Queries))
  11. {
  12. SQL_QueryError(Queries,g_Error,charsmax(g_Error))
  13. set_fail_state(g_Error)
  14.  
  15. }
  16. SQL_FreeHandle(Queries)
  17. SQL_FreeHandle(SqlConnection)
  18. }
  19. public plugin_end()
  20. {
  21. SQL_FreeHandle(g_SqlTuple)
  22. }
  23.  
  24. public betoltes(id)
  25. {
  26. new szNev[32], szTemp[512]
  27. get_user_name(id, szNev, charsmax(szNev))
  28.  
  29. new Data[1]
  30. Data[0] = id
  31. format(szTemp,charsmax(szTemp),"SELECT * FROM `kesrendszer` WHERE (`kesrendszer`.`nev` = '%s')", szNev) //kiválasztjuk a játékost a pontrendszer táblából a neve alapján
  32. SQL_ThreadQuery(g_SqlTuple,"register_client",szTemp,Data,1)
  33. }
  34.  
  35. public register_client(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
  36. {
  37. if(FailState == TQUERY_CONNECT_FAILED)
  38. {
  39. log_amx("Kapcsolodas sikertelen. [%d] %s", Errcode, Error)
  40. }
  41. else if(FailState == TQUERY_QUERY_FAILED)
  42. {
  43. log_amx("A QUERY betoltese sikertelen.[%d] %s", Errcode, Error)
  44. }
  45.  
  46. new id
  47. id = Data[0]
  48.  
  49. if(SQL_NumResults(Query) < 1)
  50. {
  51.  
  52. new szNev[32]
  53. get_user_name(id, szNev, charsmax(szNev))
  54.  
  55. new szTemp[512]
  56.  
  57. format(szTemp,charsmax(szTemp),"INSERT INTO `kesrendszer` ( `nev` , `pont`)VALUES ('%s','0');",szNev) //ha a játékos neve nem található a táblában akkor létrehozunk neki egy új sort a nevével és a pont értékét beállítjük 0 ra
  58. SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
  59. }
  60. else
  61. {
  62. pont[id] = SQL_ReadResult(Query, 1)// ha van már ilyen név az adatbázisban akkor a pontjait beállítjuk neki a pont sorban található értékre (0 = név, 1= pont)
  63. }
  64.  
  65. return PLUGIN_HANDLED
  66. }
  67. public mentes(id)
  68. {
  69. new szNev[32], szTemp[512]
  70. get_user_name(id, szNev, charsmax(szNev))
  71.  
  72. format(szTemp,charsmax(szTemp),"UPDATE `kesrendszer` SET `pont` = '%i' WHERE `kesrendszer`.`nev` = '%s';",pont[id], szNev) //frissítjük az adatokat tehát a pontrendszer táblán belüli pont sorba beírjuk a játékos jelenlegi pontját ott ahol a név megegyezik a játékos nevével
  73. SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
  74. }
  75.  
  76. public IgnoreHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
  77. {
  78. SQL_FreeHandle(Query)
  79.  
  80. return PLUGIN_HANDLED
  81. }
  82.  
  83. public client_putinserver(id)
  84. {
  85. betoltes(id)
  86. }
  87.  
  88. public client_disconnect(id)
  89. {
  90. mentes(id)
  91. }

Szerző:  mforce [2015.09.28. 17:47 ]
Hozzászólás témája:  Re: MySQL Több mentés

, következő változó, következő változó

Szerző:  PistaCFG [2015.09.28. 17:55 ]
Hozzászólás témája:  Re: MySQL Több mentés

így csináltam meg, és nem jön elő a menü

SMA Forráskód: [ Mindet kijelol ]
  1. public MySql_Init()
  2. {
  3. g_SqlTuple = SQL_MakeDbTuple(Host,User,Pass,Db)
  4. new ErrorCode,Handle:SqlConnection = SQL_Connect(g_SqlTuple,ErrorCode,g_Error,charsmax(g_Error))
  5. if(SqlConnection == Empty_Handle)
  6. set_fail_state(g_Error)
  7. new Handle:Queries
  8. Queries = SQL_PrepareQuery(SqlConnection,"CREATE TABLE IF NOT EXISTS kesrendszer (nev varchar(32),pont,szint INT(11))")
  9.  
  10. if(!SQL_Execute(Queries))
  11. {
  12. SQL_QueryError(Queries,g_Error,charsmax(g_Error))
  13. set_fail_state(g_Error)
  14.  
  15. }
  16. SQL_FreeHandle(Queries)
  17. SQL_FreeHandle(SqlConnection)
  18. }
  19. public plugin_end()
  20. {
  21. SQL_FreeHandle(g_SqlTuple)
  22. }
  23.  
  24. public betoltes(id)
  25. {
  26. new szNev[32], szTemp[512]
  27. get_user_name(id, szNev, charsmax(szNev))
  28.  
  29. new Data[1]
  30. Data[0] = id
  31. format(szTemp,charsmax(szTemp),"SELECT * FROM `kesrendszer` WHERE (`kesrendszer`.`nev` = '%s')", szNev)
  32. SQL_ThreadQuery(g_SqlTuple,"register_client",szTemp,Data,1)
  33. }
  34.  
  35. public register_client(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
  36. {
  37. if(FailState == TQUERY_CONNECT_FAILED)
  38. {
  39. log_amx("Kapcsolodas sikertelen. [%d] %s", Errcode, Error)
  40. }
  41. else if(FailState == TQUERY_QUERY_FAILED)
  42. {
  43. log_amx("A QUERY betoltese sikertelen.[%d] %s", Errcode, Error)
  44. }
  45.  
  46. new id
  47. id = Data[0]
  48.  
  49. if(SQL_NumResults(Query) < 2)
  50. {
  51.  
  52. new szNev[32]
  53. get_user_name(id, szNev, charsmax(szNev))
  54.  
  55. new szTemp[512]
  56.  
  57. format(szTemp,charsmax(szTemp),"INSERT INTO `kesrendszer` ( `nev` , `pont` , `szint`)VALUES ('%s','0');",szNev) //ha a játékos neve nem található a táblában akkor létrehozunk neki egy új sort a nevével és a pont értékét beállítjük 0 ra
  58. SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
  59. }
  60. else
  61. {
  62. pont[id] = SQL_ReadResult(Query, 1)
  63. szint[id] = SQL_ReadResult(Query, 2)
  64. }
  65.  
  66. return PLUGIN_HANDLED
  67. }
  68. public mentes(id)
  69. {
  70. new szNev[32], szTemp[512]
  71. get_user_name(id, szNev, charsmax(szNev))
  72.  
  73. format(szTemp,charsmax(szTemp),"UPDATE `kesrendszer` SET `pont` = '%i' , `szint` = '%i'WHERE `kesrendszer`.`nev` = '%s';",pont[id], szint[id], szNev) //frissítjük az adatokat tehát a pontrendszer táblán belüli pont sorba beírjuk a játékos jelenlegi pontját ott ahol a név megegyezik a játékos nevével
  74. SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
  75. }
  76.  
  77. public IgnoreHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
  78. {
  79. SQL_FreeHandle(Query)
  80.  
  81. return PLUGIN_HANDLED
  82. }
  83.  
  84. public client_putinserver(id)
  85. {
  86. betoltes(id)
  87. }
  88.  
  89. public client_disconnect(id)
  90. {
  91. mentes(id)
  92. }

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/