Dabar yra 2019 Vas 19 06:56




 Puslapis 12 [ 17 pranešimai(ų) ]  Eiti į 1, 2  Kitas
Autorius Žinutė
 Pranešimo tema: atsinaujina karts nuo karto pasiekimai
Žinutės numeris: #1  StandartinėParašytas: 2019 Sau 03 17:44 
Jau po truputį tampa savu

Užsiregistravo: 2015 Vas 01 18:15
Pranešimai: 154
Karma: 3
Sveiki, gal kas kode pastebit kokį dalyką, kodėl karts nuo karto išsitrina iš db pasiekimai ir vėl viskas nuo pradžių.. ?
  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <sqlx>
  4. #include <rcsgo>
  5.  
  6. enum Color
  7. {
  8.     NORMAL = 1, // clients scr_concolor cvar color
  9.     GREEN, // Green Color
  10.     TEAM_COLOR, // Red, grey, blue
  11.     GREY, // grey
  12.     RED, // Red
  13.     BLUE, // Blue
  14. }
  15.  
  16. new TeamName[][] =
  17. {
  18.     "",
  19.     "TERRORIST",
  20.     "CT",
  21.     "SPECTATOR"
  22. }
  23.  
  24. new Host[]      = ""
  25. new User[]      = "
  26. new Pass[]      = "
  27. new Db[]        = ""
  28.  
  29. new Handle:g_SqlTuple
  30. new g_Error[512]
  31.  
  32. enum _:Achieves // Define the available Achievements, dont forget commas
  33. {
  34.     MURDER,        // Done
  35.     SURVIVOR,    // Done
  36.     AIMKEY,        // Done
  37.     EXECUTION,    // Done
  38.     ONEHPHERO,    // Done
  39.     HATTRICK,
  40.     AK_DILETANTAS,
  41.     AK_MEG,
  42.     AK_PROF,
  43.     M4A1_PRAD,
  44.     M4A1_MEG,
  45.     M4A1_PROF,
  46.     DEAGLE_PRAD,
  47.     DEAGLE_MEG,
  48.     DEAGLE_PROF,
  49.     KNIFE_PRAD,
  50.     KNIFE_MEG,
  51.     KNIFE_PROF,
  52.     AWP_PRAD,
  53.     AWP_MEG,
  54.     AWP_PROF
  55.    
  56. }
  57.  
  58. new const AchName[Achieves][] = // Define the Achievements Names, dont forget commas
  59. {
  60.     "Karo Dievas",
  61.     "Išgyventojas",
  62.     "Aimas",
  63.     "Ace",
  64.     "1 HP Didvyris",
  65.     "3 Iš eilės",
  66.     "AK pradininkas",
  67.     "AK mėgėjas",
  68.     "AK profesionalas",
  69.     "M4A1 pradininkas",
  70.     "M4A1 mėgėjas",
  71.     "M4A1 profesionalas",
  72.     "DEAGLE pradininkas",
  73.     "DEAGLE mėgėjas",
  74.     "DEAGLE profesionalas",
  75.     "KNIFE pradininkas",
  76.     "KNIFE mėgėjas",
  77.     "KNIFE profesionalas",
  78.     "AWP pradininkas",
  79.     "AWP mėgėjas",
  80.     "AWP profesionalas"
  81. }
  82.  
  83. new const AchDescription[Achieves][] = // Define the Achievements Description, dont forget commas
  84. {
  85.     "Nužudyk 500 priešų",
  86.     "Išgyvenk 250 raundų",
  87.     "Padaryk 125 HS",
  88.     "Padaryk ACE",
  89.     "Nužudyk 5 priešus su 1 HP",
  90.     "Padaryk 3 HS iš eilės",
  91.     "Nužudyk 100 priešų su AK47",
  92.     "Nužudyk 500 priešų su AK47",
  93.     "Nužudyk 1000 priešų su AK47",
  94.     "Nužudyk 100 priešų su M4A1",
  95.     "Nužudyk 500 priešų su M4A1",
  96.     "Nužudyk 1000 priešų su M4A1",
  97.     "Nužudyk 100 priešų su DEAGLE",
  98.     "Nužudyk 500 priešų su DEAGLE",
  99.     "Nužudyk 1000 priešų su DEAGLE",
  100.     "Nužudyk 15 priešų su KNIFE",
  101.     "Nužudyk 50 priešų su KNIFE",
  102.     "Nužudyk 100 priešų su KNIFE",
  103.     "Nužudyk 100 priešų su AWP",
  104.     "Nužudyk 500 priešų su AWP",
  105.     "Nužudyk 1000 priešų su AWP"
  106. }
  107.  
  108. new const AchRequirement[Achieves] = // Define Requirements. For non progress achievements use 1 (Like Secret Phrase), dont forget commas
  109. {
  110.     500,
  111.     250,
  112.     125,
  113.     5,
  114.     5,
  115.     3,
  116.     100,
  117.     500,
  118.     1000,
  119.     100,
  120.     500,
  121.     1000,
  122.     100,
  123.     500,
  124.     1000,
  125.     15,
  126.     50,
  127.     100,
  128.     100,
  129.     500,
  130.     1000
  131.  
  132.  
  133. }
  134.  
  135. new const AchPTS[Achieves] = // Define Requirements. For non progress achievements use 1 (Like Secret Phrase), dont forget commas
  136. {
  137.     1000,
  138.     1000,
  139.     1000,
  140.     500,
  141.     2000,
  142.     500,
  143.     500,
  144.     2500,
  145.     8000,
  146.     500,
  147.     2500,
  148.     8000,
  149.     500,
  150.     2500,
  151.     8000,
  152.     500,
  153.     2500,
  154.     8000,
  155.     500,
  156.     2500,
  157.     8000
  158.  
  159.  
  160. }
  161.  
  162. new const prefix[] = "[AK-47.LT]"
  163.  
  164. new Achievement[33][Achieves]
  165. new szTemp[555 char]
  166.  
  167. public plugin_init()
  168. {
  169.     register_plugin("Achievements", "5.0", "fLaXXiE")
  170.    
  171.     register_event("DeathMsg", "Event_DeathMsg", "a")
  172.     register_logevent("EventRoundStart", 2, "1=Round_Start")
  173.     register_logevent( "Event_Roundend", 2, "1=Round_End" );
  174.     register_concmd("pasiekimai", "CmdAch");
  175.  
  176.  
  177.     register_clcmd("say /achievements", "CmdAch")
  178.     register_clcmd("say /ach", "CmdAch")
  179.     register_clcmd("say /a", "CmdAch")
  180.    
  181.     set_task(1.0, "MySql_Init")
  182. }
  183.  
  184. public client_putinserver(iPlayer)
  185.     Load_MySql(iPlayer)
  186.  
  187. public client_disconnected(iPlayer)
  188. {
  189.     Save_MySql(iPlayer)
  190. }
  191.  
  192. public plugin_end()
  193.     SQL_FreeHandle(g_SqlTuple)
  194.  
  195. public CmdAch(iPlayer)  
  196. {  
  197.     new g_AchMenu = menu_create("\wPasiekimai", "Achievements_Handler")  
  198.      
  199.     new Key[6]  
  200.      
  201.     for(new iAch = 0; iAch < Achieves; iAch++)  
  202.     {  
  203.         if(Achievement[iPlayer][iAch] == 0) formatex(szTemp, charsmax(szTemp), "\d%s - [%d/%d]", AchName[iAch], Achievement[iPlayer][iAch], AchRequirement[iAch])  
  204.         else if(Achievement[iPlayer][iAch] >= AchRequirement[iAch]) formatex(szTemp, charsmax(szTemp), "\y%s \w- [\rĮVYKDYTAS\w]", AchName[iAch])  
  205.         else formatex(szTemp, charsmax(szTemp), "\y%s \w- [\r%d\w/\r%d\w]", AchName[iAch], Achievement[iPlayer][iAch], AchRequirement[iAch])  
  206.         menu_additem(g_AchMenu, szTemp, Key)  
  207.     }  
  208.      
  209.     menu_setprop(g_AchMenu, MPROP_EXIT, MEXIT_ALL)  
  210.     menu_display(iPlayer, g_AchMenu, 0)  
  211. }  
  212.  
  213. public Achievements_Handler(iPlayer, g_AchMenu, item)  
  214. {  
  215.     if(item == MENU_EXIT)  
  216.     {  
  217.         menu_destroy(g_AchMenu)  
  218.         return PLUGIN_HANDLED  
  219.     }  
  220.     else  
  221.     {  
  222.         if(Achievement[iPlayer][item] >= AchRequirement[item])  
  223.         {  
  224.             ColorChat(iPlayer, GREEN, "AK-47.LT: ^4Pasiekimas ^3ĮVYKDYTAS")  
  225.             CmdAch(iPlayer);  
  226.         }  
  227.         else
  228.         {  
  229.             ColorChat(iPlayer, RED, "AK-47.LT: ^4%s ir ^3laimėk ^4%d ^3taškų", AchDescription[item], AchPTS[item])  
  230.             CmdAch(iPlayer);  
  231.         }  
  232.     }  
  233.     return PLUGIN_CONTINUE  
  234. }  
  235.  
  236.  
  237. ///////////////////////////////////////////////////
  238. ///////// START OF ACHIEVEMENT ACTIONS ////////////
  239. ///////////////////////////////////////////////////
  240.  
  241. public Event_DeathMsg()
  242. {
  243.     new iKiller = read_data(1)
  244.     new iVictim = read_data(2)
  245.     new WeaponName[32]
  246.     read_data(4, WeaponName, charsmax(WeaponName))  
  247.  
  248.     new szName[33];
  249.     get_user_name(iKiller, szName, charsmax(szName))
  250.    
  251.     if(is_user_alive(iKiller) && get_user_team(iKiller) != get_user_team(iVictim))
  252.     {
  253.         Achievement[iKiller][EXECUTION]++
  254.        
  255.         if(Achievement[iKiller][EXECUTION] == AchRequirement[EXECUTION])
  256.         {
  257.             ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 500 ^1taškų!", prefix,szName,AchName[EXECUTION])
  258.             set_user_points(iKiller, get_user_points(iKiller) + 500);
  259.         }
  260.        
  261.         if(is_user_alive(iKiller) && get_user_team(iKiller) != get_user_team(iVictim))
  262.         {
  263.             Achievement[iKiller][MURDER]++
  264.        
  265.             if(Achievement[iKiller][MURDER] == AchRequirement[MURDER])
  266.             {
  267.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 1000^1taškų!",prefix,szName,AchName[MURDER])
  268.                 set_user_points(iKiller, get_user_points(iKiller) + 1000);
  269.             }
  270.        
  271.         }
  272.        
  273.         if(get_user_health(iKiller) == 1)
  274.         {
  275.             Achievement[iKiller][ONEHPHERO]++
  276.            
  277.             if(Achievement[iKiller][ONEHPHERO] == AchRequirement[ONEHPHERO])
  278.             {
  279.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 2000 ^1taškų!", prefix, szName, AchName[ONEHPHERO])
  280.                 set_user_points(iKiller, get_user_points(iKiller) + 2000);
  281.             }
  282.         }
  283.         if(read_data(3))
  284.         {    
  285.             Achievement[iKiller][AIMKEY]++
  286.            
  287.             if(Achievement[iKiller][AIMKEY] == AchRequirement[AIMKEY])
  288.             {
  289.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 1000 ^1taškų!", prefix, szName, AchName[AIMKEY])
  290.                 set_user_points(iKiller, get_user_points(iKiller) + 1000);
  291.  
  292.             }
  293.             if( ++Achievement[iKiller][HATTRICK] == AchRequirement[HATTRICK] ) {
  294.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 500 ^1taškų!", prefix, szName, AchName[HATTRICK])
  295.                 set_user_points(iKiller, get_user_points(iKiller) + 500);
  296.             }
  297.         }
  298.         if(equali(WeaponName, "ak47")) {
  299.             Achievement[iKiller][AK_DILETANTAS]++
  300.             if(Achievement[iKiller][AK_DILETANTAS] == AchRequirement[AK_DILETANTAS])
  301.             {
  302.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 500 ^1taškų!", prefix, szName, AchName[AK_DILETANTAS])
  303.                 set_user_points(iKiller, get_user_points(iKiller) + 500);
  304.  
  305.             }
  306.             Achievement[iKiller][AK_MEG]++
  307.             if(Achievement[iKiller][AK_MEG] == AchRequirement[AK_MEG])
  308.             {
  309.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 2500 ^1taškų!", prefix, szName, AchName[AK_MEG])
  310.                 set_user_points(iKiller, get_user_points(iKiller) + 2500);
  311.  
  312.             }
  313.             Achievement[iKiller][AK_PROF]++
  314.             if(Achievement[iKiller][AK_PROF] == AchRequirement[AK_PROF])
  315.             {
  316.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 5000 ^1taškų!", prefix, szName, AchName[AK_PROF])
  317.                 set_user_points(iKiller, get_user_points(iKiller) + 5000);
  318.  
  319.             }
  320.         }
  321.         if(equali(WeaponName, "m4a1")) {
  322.             Achievement[iKiller][M4A1_PRAD]++
  323.             if(Achievement[iKiller][M4A1_PRAD] == AchRequirement[M4A1_PRAD])
  324.             {
  325.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 500 ^1taškų!", prefix, szName, AchName[M4A1_PRAD])
  326.                 set_user_points(iKiller, get_user_points(iKiller) + 500);
  327.  
  328.             }
  329.             Achievement[iKiller][M4A1_MEG]++
  330.             if(Achievement[iKiller][M4A1_MEG] == AchRequirement[M4A1_MEG])
  331.             {
  332.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 2500 ^1taškų!", prefix, szName, AchName[M4A1_MEG])
  333.                 set_user_points(iKiller, get_user_points(iKiller) + 2500);
  334.  
  335.             }
  336.             Achievement[iKiller][M4A1_PROF]++
  337.             if(Achievement[iKiller][M4A1_PROF] == AchRequirement[M4A1_PROF])
  338.             {
  339.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 5000 ^1taškų!", prefix, szName, AchName[M4A1_PROF])
  340.                 set_user_points(iKiller, get_user_points(iKiller) + 5000);
  341.  
  342.             }
  343.         }
  344.         if(equali(WeaponName, "deagle")) {
  345.             Achievement[iKiller][DEAGLE_PRAD]++
  346.             if(Achievement[iKiller][DEAGLE_PRAD] == AchRequirement[DEAGLE_PRAD])
  347.             {
  348.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 500 ^1taškų!", prefix, szName, AchName[DEAGLE_PRAD])
  349.                 set_user_points(iKiller, get_user_points(iKiller) + 500);
  350.  
  351.             }
  352.             Achievement[iKiller][DEAGLE_MEG]++
  353.             if(Achievement[iKiller][DEAGLE_MEG] == AchRequirement[DEAGLE_MEG])
  354.             {
  355.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 2500 ^1taškų!", prefix, szName, AchName[DEAGLE_MEG])
  356.                 set_user_points(iKiller, get_user_points(iKiller) + 2500);
  357.  
  358.             }
  359.             Achievement[iKiller][DEAGLE_PROF]++
  360.             if(Achievement[iKiller][DEAGLE_PROF] == AchRequirement[DEAGLE_PROF])
  361.             {
  362.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 5000 ^1taškų!", prefix, szName, AchName[DEAGLE_PROF])
  363.                 set_user_points(iKiller, get_user_points(iKiller) + 5000);
  364.  
  365.             }
  366.         }
  367.         if(equali(WeaponName, "knife")) {
  368.             Achievement[iKiller][KNIFE_PRAD]++
  369.             if(Achievement[iKiller][KNIFE_PRAD] == AchRequirement[KNIFE_PRAD])
  370.             {
  371.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 500 ^1taškų!", prefix, szName, AchName[KNIFE_PRAD])
  372.                 set_user_points(iKiller, get_user_points(iKiller) + 500);
  373.  
  374.             }
  375.             Achievement[iKiller][KNIFE_MEG]++
  376.             if(Achievement[iKiller][KNIFE_MEG] == AchRequirement[KNIFE_MEG])
  377.             {
  378.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 2500 ^1taškų!", prefix, szName, AchName[KNIFE_MEG])
  379.                 set_user_points(iKiller, get_user_points(iKiller) + 2500);
  380.  
  381.             }
  382.             Achievement[iKiller][KNIFE_PROF]++
  383.             if(Achievement[iKiller][KNIFE_PROF] == AchRequirement[KNIFE_PROF])
  384.             {
  385.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 5000 ^1taškų!", prefix, szName, AchName[KNIFE_PROF])
  386.                 set_user_points(iKiller, get_user_points(iKiller) + 5000);
  387.  
  388.             }
  389.         }
  390.         if(equali(WeaponName, "awp")) {
  391.             Achievement[iKiller][AWP_PRAD]++
  392.             if(Achievement[iKiller][AWP_PRAD] == AchRequirement[AWP_PRAD])
  393.             {
  394.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 500 ^1taškų!", prefix, szName, AchName[AWP_PRAD])
  395.                 set_user_points(iKiller, get_user_points(iKiller) + 500);
  396.  
  397.             }
  398.             Achievement[iKiller][AWP_MEG]++
  399.             if(Achievement[iKiller][AWP_MEG] == AchRequirement[AWP_MEG])
  400.             {
  401.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 2500 ^1taškų!", prefix, szName, AchName[AWP_MEG])
  402.                 set_user_points(iKiller, get_user_points(iKiller) + 2500);
  403.  
  404.             }
  405.             Achievement[iKiller][AWP_PROF]++
  406.             if(Achievement[iKiller][AWP_PROF] == AchRequirement[AWP_PROF])
  407.             {
  408.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 5000 ^1taškų!", prefix, szName, AchName[AWP_PROF])
  409.                 set_user_points(iKiller, get_user_points(iKiller) + 5000);
  410.  
  411.             }
  412.         }      
  413.     }
  414.     return PLUGIN_CONTINUE
  415. }
  416.  
  417. public EventRoundStart()
  418. {
  419.  
  420.     new iPlayers[32], iNum, iPlayer, szName[33]
  421.     get_players(iPlayers, iNum, "a")
  422.  
  423.    
  424.     for(new i = 0; i < iNum; i++)
  425.     {
  426.         iPlayer = iPlayers[i]
  427.         get_user_name(iPlayer, szName, charsmax(szName))
  428.        
  429.         if(Achievement[iPlayer][EXECUTION] < 5)
  430.             Achievement[iPlayer][EXECUTION] = 0
  431.     }
  432.     return PLUGIN_CONTINUE
  433. }
  434.  
  435. public Event_Roundend() {
  436.     new iPlayers[32], iNum, iPlayer, szName[33]
  437.     get_players(iPlayers, iNum, "a")
  438.  
  439.     for(new i = 0; i < iNum; i++)
  440.     {
  441.         iPlayer = iPlayers[i]
  442.         get_user_name(iPlayer, szName, charsmax(szName))
  443.  
  444.         if(is_user_alive(iPlayer))
  445.         {
  446.             Achievement[iPlayer][SURVIVOR]++
  447.                
  448.             if(Achievement[iPlayer][SURVIVOR] == AchRequirement[SURVIVOR])
  449.             {
  450.                 ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 1000 ^1taškų!", prefix, szName, AchName[SURVIVOR])
  451.                 set_user_points(iPlayer, get_user_points(iPlayer) + 1000);
  452.  
  453.             }
  454.         }
  455.     }    
  456.     Save_MySql(iPlayer)
  457.     return PLUGIN_CONTINUE
  458. }
  459.  
  460.  
  461. ///////////////////////////////////////////////////
  462. ////////// END OF ACHIEVEMENT ACTIONS /////////////
  463. ///////////////////////////////////////////////////
  464.  
  465. ///////////////////////////////////////////////////
  466. ///////// START OF ACHIEVEMENT SAVING /////////////
  467. ///////////////////////////////////////////////////
  468.  
  469. public MySql_Init()
  470. {
  471.     g_SqlTuple = SQL_MakeDbTuple(Host,User,Pass,Db)
  472.    
  473.     new ErrorCode,Handle:SqlConnection = SQL_Connect(g_SqlTuple,ErrorCode,g_Error,charsmax(g_Error))
  474.    
  475.     if(SqlConnection == Empty_Handle)
  476.         set_fail_state(g_Error)
  477.        
  478.     new Handle:Queries
  479.     Queries = SQL_PrepareQuery(SqlConnection,"CREATE TABLE IF NOT EXISTS achievements(steamid varchar(32), murder INT(11), survivor INT(11), aimkey INT(11), execution INT(11), onehphero INT(11),  hattrick INT(11), akd INT(11), akm INT(11), akp INT(11), mpr INT(11), mm INT(11), mp INT(11), dpr INT(11), dm INT(11), dp INT(11), kpr INT(11), km INT(11), kp INT(11), awpr INT(11), awm INT(11), awp INT(11))")
  480.  
  481.     if(!SQL_Execute(Queries))
  482.     {
  483.         SQL_QueryError(Queries,g_Error,charsmax(g_Error))
  484.         set_fail_state(g_Error)
  485.     }
  486.    
  487.     SQL_FreeHandle(Queries)
  488.     SQL_FreeHandle(SqlConnection)  
  489. }
  490.  
  491. public Load_MySql(iPlayer)
  492. {
  493.     new szSteamId[32], szTemp[512]
  494.     get_user_authid(iPlayer, szSteamId, charsmax(szSteamId))
  495.    
  496.     new Data[1]
  497.     Data[0] = iPlayer
  498.  
  499.     format(szTemp,charsmax(szTemp),"SELECT * FROM `achievements` WHERE (`achievements`.`steamid` = '%s')", szSteamId)
  500.     SQL_ThreadQuery(g_SqlTuple,"register_client",szTemp,Data,1)
  501. }
  502.  
  503. public register_client(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
  504. {
  505.     if(FailState == TQUERY_CONNECT_FAILED)
  506.     {
  507.         log_amx("Load - Could not connect to SQL database.  [%d] %s", Errcode, Error)
  508.     }
  509.     else if(FailState == TQUERY_QUERY_FAILED)
  510.     {
  511.         log_amx("Load Query failed. [%d] %s", Errcode, Error)
  512.     }
  513.  
  514.     new iPlayer
  515.     iPlayer = Data[0]
  516.    
  517.     if(SQL_NumResults(Query) < 1)
  518.     {    
  519.         new szSteamId[32]
  520.         get_user_authid(iPlayer, szSteamId, charsmax(szSteamId))
  521.        
  522.         if (equal(szSteamId,"ID_PENDING"))
  523.             return PLUGIN_HANDLED
  524.            
  525.         new szTemp[512]
  526.        
  527.         format(szTemp,charsmax(szTemp),"INSERT INTO `achievements` (`steamid`, `murder`, `survivor`, `aimkey`, `execution`, `onehphero`, `hattrick`, `akd`, `akm`, `akp`, `mpr`, `mm`, `mp`, `dpr`, `dm`, `dp`, `kpr`, `km`, `kp`, `awpr`, `awm`, `awp`)VALUES ('%s', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0')", szSteamId)
  528.         SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
  529.     }
  530.     else
  531.     {
  532.         Achievement[iPlayer][MURDER]    = SQL_ReadResult(Query, 1)
  533.         Achievement[iPlayer][SURVIVOR]    = SQL_ReadResult(Query, 2)
  534.         Achievement[iPlayer][AIMKEY]    = SQL_ReadResult(Query, 3)
  535.         Achievement[iPlayer][EXECUTION]    = SQL_ReadResult(Query, 4)
  536.         Achievement[iPlayer][ONEHPHERO]    = SQL_ReadResult(Query, 5)
  537.         Achievement[iPlayer][HATTRICK]    = SQL_ReadResult(Query, 6)
  538.         Achievement[iPlayer][AK_DILETANTAS]    = SQL_ReadResult(Query, 7)
  539.         Achievement[iPlayer][AK_MEG]    = SQL_ReadResult(Query, 8)
  540.         Achievement[iPlayer][AK_PROF]    = SQL_ReadResult(Query, 9)
  541.         Achievement[iPlayer][M4A1_PRAD]    = SQL_ReadResult(Query, 10)
  542.         Achievement[iPlayer][M4A1_MEG]    = SQL_ReadResult(Query, 11)
  543.         Achievement[iPlayer][M4A1_PROF]    = SQL_ReadResult(Query, 12)
  544.         Achievement[iPlayer][DEAGLE_PRAD]    = SQL_ReadResult(Query, 13)
  545.         Achievement[iPlayer][DEAGLE_MEG]    = SQL_ReadResult(Query, 14)
  546.         Achievement[iPlayer][DEAGLE_PROF]    = SQL_ReadResult(Query, 15)
  547.         Achievement[iPlayer][KNIFE_PRAD]    = SQL_ReadResult(Query, 16)
  548.         Achievement[iPlayer][KNIFE_MEG]    = SQL_ReadResult(Query, 17)
  549.         Achievement[iPlayer][KNIFE_PROF]    = SQL_ReadResult(Query, 18)
  550.         Achievement[iPlayer][AWP_PRAD]    = SQL_ReadResult(Query, 19)
  551.         Achievement[iPlayer][AWP_MEG]    = SQL_ReadResult(Query, 20)
  552.         Achievement[iPlayer][AWP_PROF]    = SQL_ReadResult(Query, 21)
  553.     }
  554.  
  555.     return PLUGIN_HANDLED
  556. }
  557.  
  558. public Save_MySql(iPlayer)
  559. {
  560.     new szSteamId[32], szTemp[512], szTemp2[512]
  561.     get_user_authid(iPlayer, szSteamId, charsmax(szSteamId))
  562.    
  563.     format(szTemp,charsmax(szTemp),"UPDATE `achievements` SET `murder` = '%d', `survivor` = '%d', `aimkey` = '%d', `execution` = '%d', `onehphero` = '%d' WHERE `achievements`.`steamid` = '%s';", Achievement[iPlayer][MURDER], Achievement[iPlayer][SURVIVOR], Achievement[iPlayer][AIMKEY], Achievement[iPlayer][EXECUTION], Achievement[iPlayer][ONEHPHERO], szSteamId)
  564.  
  565.     format(szTemp2,charsmax(szTemp2),"UPDATE `achievements` SET `hattrick` = '%d', `akd` = '%d', `akm` = '%d', `akp` = '%d', `mpr` = '%d', `mm` = '%d', `mp` = '%d', `dpr` = '%d', `dm` = '%d', `dp` = '%d', `kpr` = '%d', `km` = '%d', `kp` = '%d', `awpr` = '%d', `awm` = '%d', `awp` = '%d' WHERE `achievements`.`steamid` = '%s';", Achievement[iPlayer][HATTRICK], Achievement[iPlayer][AK_DILETANTAS], Achievement[iPlayer][AK_MEG], Achievement[iPlayer][AK_PROF], Achievement[iPlayer][M4A1_PRAD], Achievement[iPlayer][M4A1_MEG], Achievement[iPlayer][M4A1_PROF], Achievement[iPlayer][DEAGLE_PRAD], Achievement[iPlayer][DEAGLE_MEG], Achievement[iPlayer][DEAGLE_PROF], Achievement[iPlayer][KNIFE_PRAD], Achievement[iPlayer][KNIFE_MEG], Achievement[iPlayer][KNIFE_PROF], Achievement[iPlayer][AWP_PRAD], Achievement[iPlayer][AWP_MEG], Achievement[iPlayer][AWP_PROF], szSteamId)
  566.    
  567.     SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
  568.     SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp2)
  569. }
  570.  
  571. public IgnoreHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
  572. {
  573.     SQL_FreeHandle(Query)
  574.     return PLUGIN_HANDLED
  575. }
  576. ///////////////////////////////////////////////////
  577. ////////// END OF ACHIEVEMENT SAVING //////////////
  578. ///////////////////////////////////////////////////
  579.  
  580. ///////////////////////////////////////////////////
  581. ///////// START OF ACHIEVEMENT COLORCHAT //////////
  582. ///////////////////////////////////////////////////
  583.  
  584. ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
  585. {
  586.     static message[256];
  587.  
  588.     switch(type)
  589.     {
  590.         case NORMAL: // clients scr_concolor cvar color
  591.         {
  592.             message[0] = 0x01;
  593.         }
  594.         case GREEN: // Green
  595.         {
  596.             message[0] = 0x04;
  597.         }
  598.         default: // White, Red, Blue
  599.         {
  600.             message[0] = 0x03;
  601.         }
  602.     }
  603.  
  604.     vformat(message[1], 251, msg, 4);
  605.  
  606.     // Make sure message is not longer than 192 character. Will crash the server.
  607.     message[192] = '^0';
  608.  
  609.     static team, ColorChange, index, MSG_Type;
  610.    
  611.     if(id)
  612.     {
  613.         MSG_Type = MSG_ONE;
  614.         index = id;
  615.     } else {
  616.         index = FindPlayer();
  617.         MSG_Type = MSG_ALL;
  618.     }
  619.    
  620.     team = get_user_team(index);
  621.     ColorChange = ColorSelection(index, MSG_Type, type);
  622.  
  623.     ShowColorMessage(index, MSG_Type, message);
  624.        
  625.     if(ColorChange)
  626.     {
  627.         Team_Info(index, MSG_Type, TeamName[team]);
  628.     }
  629. }
  630.  
  631. ShowColorMessage(id, type, message[])
  632. {
  633.     message_begin(type, get_user_msgid("SayText"), _, id);
  634.     write_byte(id)        
  635.     write_string(message);
  636.     message_end();    
  637. }
  638.  
  639. Team_Info(id, type, team[])
  640. {
  641.     message_begin(type, get_user_msgid("TeamInfo"), _, id);
  642.     write_byte(id);
  643.     write_string(team);
  644.     message_end();
  645.  
  646.     return 1;
  647. }
  648.  
  649. ColorSelection(index, type, Color:Type)
  650. {
  651.     switch(Type)
  652.     {
  653.         case RED:
  654.         {
  655.             return Team_Info(index, type, TeamName[1]);
  656.         }
  657.         case BLUE:
  658.         {
  659.             return Team_Info(index, type, TeamName[2]);
  660.         }
  661.         case GREY:
  662.         {
  663.             return Team_Info(index, type, TeamName[0]);
  664.         }
  665.     }
  666.  
  667.     return 0;
  668. }
  669.  
  670. FindPlayer()
  671. {
  672.     static i;
  673.     i = -1;
  674.  
  675.     while(i <= get_maxplayers())
  676.     {
  677.         if(is_user_connected(++i))
  678.         {
  679.             return i;
  680.         }
  681.     }
  682.  
  683.     return -1;
  684. }
  685. ///////////////////////////////////////////////////
  686. ///////// END OF ACHIEVEMENT COLORCHAT ////////////
  687. ///////////////////////////////////////////////////
  688.  
  689. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  690. *{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0\\ deflang1053{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
  691. */  



_________________
Paveikslėlis
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: atsinaujina karts nuo karto pasiekimai
Žinutės numeris: #2  StandartinėParašytas: 2019 Sau 04 00:15 
Moderatorius
Vartotojo avataras

Užsiregistravo: 2012 Rgp 03 01:12
Pranešimai: 4434
Karma: 123

Miestas: Vilnius
manau logiskiause butu saugoti ant nick ne ant steam id ar ip kadangi tikriause cia skirtas cs go modui. ir greiciause tavo serveris no steam
ciuju visus get_user_authid >> get_user_name ir isitrink pries tai duomenu bazei ta achievements tada kur steamid atsiras nikai



_________________
Paveikslėlis
Paveikslėlis
Paveikslėlis
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: atsinaujina karts nuo karto pasiekimai
Žinutės numeris: #3  StandartinėParašytas: 2019 Sau 04 08:22 
Jau po truputį tampa savu

Užsiregistravo: 2015 Vas 01 18:15
Pranešimai: 154
Karma: 3
laimiukas3 rašė:
manau logiskiause butu saugoti ant nick ne ant steam id ar ip kadangi tikriause cia skirtas cs go modui. ir greiciause tavo serveris no steam
ciuju visus get_user_authid >> get_user_name ir isitrink pries tai duomenu bazei ta achievements tada kur steamid atsiras nikai

sveikas, taip ant csgo stovincia. Na teks pabandyti saufoti ant nick. Dėkui už patarimą žiūrėsim ar pasiteisins :liux:



_________________
Paveikslėlis
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: atsinaujina karts nuo karto pasiekimai
Žinutės numeris: #4  StandartinėParašytas: 2019 Sau 05 10:32 
Viršininkas
Vartotojo avataras

Užsiregistravo: 2011 Kov 12 22:19
Pranešimai: 2051
Karma: 93

Miestas: Linksmakalnis
laimiukas3 rašė:
manau logiskiause butu saugoti ant nick ne ant steam id ar ip kadangi tikriause cia skirtas cs go modui. ir greiciause tavo serveris no steam
ciuju visus get_user_authid >> get_user_name ir isitrink pries tai duomenu bazei ta achievements tada kur steamid atsiras nikai


Jei gerai susitvarkai reunion.cfg kuo puikiausiai saugai ant SteamID ir nesuki galvos... :D



_________________
WWW.REZ.LT - Geri, bet ne geriausi serveriai Lietuvoje
CS/CS:S/CS:GO/MC/Killing Floor Serverių monitoriai su žaidėjų atvaizdavimu
50% paramos atgavimas, perkant VPS Dedikuoti.lt
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: atsinaujina karts nuo karto pasiekimai
Žinutės numeris: #5  StandartinėParašytas: 2019 Sau 05 12:58 
Jau po truputį tampa savu

Užsiregistravo: 2015 Vas 01 18:15
Pranešimai: 154
Karma: 3
Žodžiu, problema ta pati. Vakar perdariau ant Nick, bet same.. kas kažkiek mapų išsitrina esami išsaugoti pasiekimai iš db ir viskas prasideda nuo 0 yra gal dar patarimų kokių :eek:



_________________
Paveikslėlis
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: atsinaujina karts nuo karto pasiekimai
Žinutės numeris: #6  StandartinėParašytas: 2019 Sau 05 19:12 
Moderatorius
Vartotojo avataras

Užsiregistravo: 2012 Rgp 03 01:12
Pranešimai: 4434
Karma: 123

Miestas: Vilnius
psychical rašė:
laimiukas3 rašė:
manau logiskiause butu saugoti ant nick ne ant steam id ar ip kadangi tikriause cia skirtas cs go modui. ir greiciause tavo serveris no steam
ciuju visus get_user_authid >> get_user_name ir isitrink pries tai duomenu bazei ta achievements tada kur steamid atsiras nikai


Jei gerai susitvarkai reunion.cfg kuo puikiausiai saugai ant SteamID ir nesuki galvos... :D

gametracker.com paziurek ar neprabanino nes as kai suregulevau mane ten uzbanino galvojo fake zaidejai na bent tokia priezasti man pasake kodel gavau ban :2D:

-- 2019 Sau 05 20:14 --

garbiz rašė:
Žodžiu, problema ta pati. Vakar perdariau ant Nick, bet same.. kas kažkiek mapų išsitrina esami išsaugoti pasiekimai iš db ir viskas prasideda nuo 0 yra gal dar patarimų kokių :eek:

kazkas turbut su tavo sql tada nes man netrina



_________________
Paveikslėlis
Paveikslėlis
Paveikslėlis
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: atsinaujina karts nuo karto pasiekimai
Žinutės numeris: #7  StandartinėParašytas: 2019 Sau 05 21:41 
Jau po truputį tampa savu

Užsiregistravo: 2015 Vas 01 18:15
Pranešimai: 154
Karma: 3
Su kiek žmonių bandai ir kiek laiko praėjo kaip pajungei pluginą ?



_________________
Paveikslėlis
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: atsinaujina karts nuo karto pasiekimai
Žinutės numeris: #8  StandartinėParašytas: 2019 Sau 06 03:37 
Moderatorius
Vartotojo avataras

Užsiregistravo: 2012 Rgp 03 01:12
Pranešimai: 4434
Karma: 123

Miestas: Vilnius
garbiz rašė:
Su kiek žmonių bandai ir kiek laiko praėjo kaip pajungei pluginą ?

na dienom ir su pilnu serveriu. prajo nuo tada kai tu ikelei as isidejau paziuert ar prades saugoti ant nik ir uzmirsau isimti tai va sen paziurejau ka as pasaudes viskas man issisaugoja ir neikas nedingo



_________________
Paveikslėlis
Paveikslėlis
Paveikslėlis
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: atsinaujina karts nuo karto pasiekimai
Žinutės numeris: #9  StandartinėParašytas: 2019 Sau 09 21:20 
Jau po truputį tampa savu

Užsiregistravo: 2015 Vas 01 18:15
Pranešimai: 154
Karma: 3
Vis dar reikia pagalbos, pasiekiami restartuojasi :D Kol nesi pasijunges ir nežaidi jie nedingsta, bet pažaidus ilgesnį laiką po map pakeitimo kaskart atsinaujina



_________________
Paveikslėlis
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: atsinaujina karts nuo karto pasiekimai
Žinutės numeris: #10  StandartinėParašytas: 2019 Sau 09 21:41 
Gana aktyvus vartotojas
Vartotojo avataras

Užsiregistravo: 2017 Bal 04 11:44
Pranešimai: 351
Karma: 2

Miestas: Alytus
Ryt jeigu nepamirsiu paziuresiu isidejas HDD jeigu rasiu bet manau turiu kazkoki turejau panasu
siaip cia idomus saugojimas, tau sql lentele bent sukuria?



_________________
PATYLĖK!!! Bent protingesnis atrodysi :))
Atsijungęs
 Aprašymas  
 
Rodyti paskutinius pranešimus:  Rūšiuoti pagal  
 Puslapis 12 [ 17 pranešimai(ų) ]  Eiti į 1, 2  Kitas


Dabar prisijungę

Vartotojai naršantys šį forumą: Registruotų vartotojų nėra ir 1 svečias


Jūs negalite kurti naujų temų šiame forume
Jūs negalite atsakinėti į temas šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite trinti savo pranešimų šiame forume
Jūs negalite prikabinti failų šiame forume

Ieškoti:
Pereiti į:  

cron