hlmod.hu
https://hlmod.hu/

sql mentés
https://hlmod.hu/viewtopic.php?f=9&t=18816
Oldal: 1 / 1

Szerző:  Hydra ツ [2015.01.03. 14:01 ]
Hozzászólás témája:  sql mentés

Sziasztok valaki aki ért az sql-hez megköszönném ha el magyarázná.
(Aki nem ért hozzá ne szóljon hozzá!)
Amire kíváncsi vagyok ugye van ez a plugin: Advanced Ban
Ezt akarom hogy egy weboldalra mentse a banokat stb.
És egy olyat is hogy az adminokat 1 táblázatba helyezni.

Előre is köszönöm a válaszokat!

Szerző:  V!rusHD [2015.01.03. 15:43 ]
Hozzászólás témája:  Re: sql mentés

SMA Forráskód: [ Mindet kijelol ]
  1. /*
  2. #include <amxmodx>
  3. #include <amxmisc>
  4. #include <sqlx>
  5. new pont[33]
  6.  
  7.  
  8. new Host[] = "localhost"
  9. new User[] = "root"
  10. new Pass[] = "jelszo"
  11. new Db[] = "adatbazis"
  12.  
  13. new Handle:g_SqlTuple
  14. new g_Error[512]
  15.  
  16. public plugin_init() {
  17. register_plugin("ptrendszersqlmentes","1.0","qKKKJ")
  18. register_event("DeathMsg", "Event_DeathMsg", "a")
  19. set_task(1.0, "MySql_Init") // a mysql init be csatlakozunk az adatbázishoz
  20. }
  21. public Event_DeathMsg()
  22. {
  23. if(read_data(1) != read_data(2))
  24. {
  25. pont[read_data(1)] += 10
  26. }
  27. }
  28. public MySql_Init()
  29. {
  30.   g_SqlTuple = SQL_MakeDbTuple(Host,User,Pass,Db) //csatlakozunk az adatbázishoz
  31.   new ErrorCode,Handle:SqlConnection = SQL_Connect(g_SqlTuple,ErrorCode,g_Error,charsmax(g_Error))
  32.   if(SqlConnection == Empty_Handle)
  33.   set_fail_state(g_Error)
  34.   new Handle:Queries
  35.   Queries = SQL_PrepareQuery(SqlConnection,"CREATE TABLE IF NOT EXISTS pontrendszer (nev varchar(32),pont INT(11))") //létrehozzuk a pontrendszer táblát név és pont sorokkal
  36.  
  37.   if(!SQL_Execute(Queries))
  38.   {
  39.   SQL_QueryError(Queries,g_Error,charsmax(g_Error))
  40.   set_fail_state(g_Error)
  41.  
  42.   }
  43.   SQL_FreeHandle(Queries)
  44.   SQL_FreeHandle(SqlConnection)
  45. }
  46. public plugin_end()
  47. {
  48.   SQL_FreeHandle(g_SqlTuple)
  49. }
  50.  
  51. public betoltes(id)
  52. {
  53.   new szNev[32], szTemp[512]
  54.   get_user_name(id, szNev, charsmax(szNev))
  55.  
  56.   new Data[1]
  57.   Data[0] = id
  58.   format(szTemp,charsmax(szTemp),"SELECT * FROM `pontrendszer` WHERE (`pontrendszer`.`nev` = '%s')", szNev) //kiválasztjuk a játékost a pontrendszer táblából a neve alapján
  59.   SQL_ThreadQuery(g_SqlTuple,"register_client",szTemp,Data,1)
  60. }
  61.  
  62. public register_client(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
  63. {
  64.   if(FailState == TQUERY_CONNECT_FAILED)
  65.   {
  66.   log_amx("Kapcsolodas sikertelen. [%d] %s", Errcode, Error)
  67.   }
  68.   else if(FailState == TQUERY_QUERY_FAILED)
  69.   {
  70.   log_amx("A QUERY betoltese sikertelen.[%d] %s", Errcode, Error)
  71.   }
  72.  
  73.   new id
  74.   id = Data[0]
  75.  
  76.   if(SQL_NumResults(Query) < 1)
  77.   {
  78.  
  79.   new szNev[32]
  80.   get_user_name(id, szNev, charsmax(szNev))
  81.  
  82.   new szTemp[512]
  83.  
  84.   format(szTemp,charsmax(szTemp),"INSERT INTO `pontrendszer` ( `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
  85.   SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
  86.   }
  87.   else
  88.   {
  89.   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)
  90.   }
  91.  
  92.   return PLUGIN_HANDLED
  93. }
  94. public mentes(id)
  95. {
  96.   new szNev[32], szTemp[512]
  97.   get_user_name(id, szNev, charsmax(szNev))
  98.  
  99.   format(szTemp,charsmax(szTemp),"UPDATE `pontrendszer` SET `pont` = '%i' WHERE `pontrendszer`.`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
  100.   SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
  101. }
  102.  
  103. public IgnoreHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
  104. {
  105.   SQL_FreeHandle(Query)
  106.  
  107.   return PLUGIN_HANDLED
  108. }
  109.  
  110. public client_putinserver(id)
  111. {
  112.   betoltes(id)
  113. }
  114.  
  115. public client_disconnect(id)
  116. {
  117.   mentes(id)
  118. }
  119.  

Szerző:  Hydra ツ [2015.01.03. 15:46 ]
Hozzászólás témája:  Re: sql mentés

És ezzel mit kezdjek?
Nem azt kértem hogy sql bementsek el valamit például rangot stb
Hanem hogy a banokat egy táblázatba mentse el ammit könnyen tudok kezelni a-nékul hogy felmenjek a szervere.

Szerző:  CrB [2015.01.03. 16:01 ]
Hozzászólás témája:  Re: sql mentés

Idézet:
nem hozza létre a táblázatot!


Másold be a screenlog ból az erre vonatkozó részt. Ha helyesen van megírva a plugin akkor elméletileg kikapcsol ha valamilyen hiba történt a kapcsolódás vagy a művelet végrehajtása közben és ezt a hibát logolja is. Ha viszont nem ilyen a plugin (a fentebb említett példában szereplő plugin logol) akkor keresgélhetsz a forráskódban, hogy helyesen adtad e meg a tábla nevét a sorok neveit nem hagytál e ki sehol 1 vesszőt vagy ez " jelet stb...

Ahogy látom az advanced bans ról van szó nah az a plugin logol néha többet is a kelleténél. Ha jól emlékszem az sql es részével volt valami bibi és nem tudott csatlakozni ha nem sikerül megoldani írj mert valahol meg kell lennie az általam készített verziónak ami kifejezetten csak sql es mentésre képes.

Szerző:  Hydra ツ [2015.01.03. 16:10 ]
Hozzászólás témája:  Re: sql mentés

crazyboy írta:
Idézet:
nem hozza létre a táblázatot!


Másold be a screenlog ból az erre vonatkozó részt. Ha helyesen van megírva a plugin akkor elméletileg kikapcsol ha valamilyen hiba történt a kapcsolódás vagy a művelet végrehajtása közben és ezt a hibát logolja is. Ha viszont nem ilyen a plugin (a fentebb említett példában szereplő plugin logol) akkor keresgélhetsz a forráskódban, hogy helyesen adtad e meg a tábla nevét a sorok neveit nem hagytál e ki sehol 1 vesszőt vagy ez " jelet stb...

Ahogy látom az advanced bans ról van szó nah az a plugin logol néha többet is a kelleténél. Ha jól emlékszem az sql es részével volt valami bibi és nem tudott csatlakozni ha nem sikerül megoldani írj mert valahol meg kell lennie az általam készített verziónak ami kifejezetten csak sql es mentésre képes.


Értem akkor valami más ban rendszer ami táblázatba menti?

Szerző:  Zeei [2015.01.03. 16:14 ]
Hozzászólás témája:  Re: sql mentés

ez engem is erdekelne :? :? :? :?

Szerző:  exTrem.cfg [2015.01.03. 16:14 ]
Hozzászólás témája:  Re: sql mentés

Amxbans

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