Page 1 of 2

atsinaujina karts nuo karto pasiekimai

Posted: 2019 Jan 03 17:44
by garbiz
Sveiki, gal kas kode pastebit kokį dalyką, kodėl karts nuo karto išsitrina iš db pasiekimai ir vėl viskas nuo pradžių.. ?

Code: Select all

#include <amxmodx>#include <cstrike>#include <sqlx>#include <rcsgo> enum Color{    NORMAL = 1, // clients scr_concolor cvar color    GREEN, // Green Color    TEAM_COLOR, // Red, grey, blue    GREY, // grey    RED, // Red    BLUE, // Blue} new TeamName[][] = {    "",    "TERRORIST",    "CT",    "SPECTATOR"} new Host[]      = ""new User[]      = "new Pass[]      = "new Db[]        = "" new Handle:g_SqlTuplenew g_Error[512] enum _:Achieves // Define the available Achievements, dont forget commas{    MURDER,        // Done    SURVIVOR,    // Done    AIMKEY,        // Done    EXECUTION,    // Done    ONEHPHERO,    // Done    HATTRICK,    AK_DILETANTAS,    AK_MEG,    AK_PROF,    M4A1_PRAD,    M4A1_MEG,    M4A1_PROF,    DEAGLE_PRAD,    DEAGLE_MEG,    DEAGLE_PROF,    KNIFE_PRAD,    KNIFE_MEG,    KNIFE_PROF,    AWP_PRAD,    AWP_MEG,    AWP_PROF    } new const AchName[Achieves][] = // Define the Achievements Names, dont forget commas{    "Karo Dievas",    "Išgyventojas",    "Aimas",    "Ace",    "1 HP Didvyris",    "3 Iš eilės",    "AK pradininkas",    "AK mėgėjas",    "AK profesionalas",    "M4A1 pradininkas",    "M4A1 mėgėjas",    "M4A1 profesionalas",    "DEAGLE pradininkas",    "DEAGLE mėgėjas",    "DEAGLE profesionalas",    "KNIFE pradininkas",    "KNIFE mėgėjas",    "KNIFE profesionalas",    "AWP pradininkas",    "AWP mėgėjas",    "AWP profesionalas"} new const AchDescription[Achieves][] = // Define the Achievements Description, dont forget commas{    "Nužudyk 500 priešų",    "Išgyvenk 250 raundų",    "Padaryk 125 HS",    "Padaryk ACE",    "Nužudyk 5 priešus su 1 HP",    "Padaryk 3 HS iš eilės",    "Nužudyk 100 priešų su AK47",    "Nužudyk 500 priešų su AK47",    "Nužudyk 1000 priešų su AK47",    "Nužudyk 100 priešų su M4A1",    "Nužudyk 500 priešų su M4A1",    "Nužudyk 1000 priešų su M4A1",    "Nužudyk 100 priešų su DEAGLE",    "Nužudyk 500 priešų su DEAGLE",    "Nužudyk 1000 priešų su DEAGLE",    "Nužudyk 15 priešų su KNIFE",    "Nužudyk 50 priešų su KNIFE",    "Nužudyk 100 priešų su KNIFE",    "Nužudyk 100 priešų su AWP",    "Nužudyk 500 priešų su AWP",    "Nužudyk 1000 priešų su AWP"} new const AchRequirement[Achieves] = // Define Requirements. For non progress achievements use 1 (Like Secret Phrase), dont forget commas{    500,    250,    125,    5,    5,    3,    100,    500,    1000,    100,    500,    1000,    100,    500,    1000,    15,    50,    100,    100,    500,    1000  } new const AchPTS[Achieves] = // Define Requirements. For non progress achievements use 1 (Like Secret Phrase), dont forget commas{    1000,    1000,    1000,    500,    2000,    500,    500,    2500,    8000,    500,    2500,    8000,    500,    2500,    8000,    500,    2500,    8000,    500,    2500,    8000  } new const prefix[] = "[AK-47.LT]" new Achievement[33][Achieves]new szTemp[555 char] public plugin_init() {    register_plugin("Achievements", "5.0", "fLaXXiE")        register_event("DeathMsg", "Event_DeathMsg", "a")    register_logevent("EventRoundStart", 2, "1=Round_Start")    register_logevent( "Event_Roundend", 2, "1=Round_End" );     register_concmd("pasiekimai", "CmdAch");        register_clcmd("say /achievements", "CmdAch")    register_clcmd("say /ach", "CmdAch")    register_clcmd("say /a", "CmdAch")        set_task(1.0, "MySql_Init")} public client_putinserver(iPlayer)    Load_MySql(iPlayer) public client_disconnected(iPlayer){    Save_MySql(iPlayer)} public plugin_end()    SQL_FreeHandle(g_SqlTuple) public CmdAch(iPlayer)  {      new g_AchMenu = menu_create("\wPasiekimai", "Achievements_Handler")            new Key[6]            for(new iAch = 0; iAch < Achieves; iAch++)      {          if(Achievement[iPlayer][iAch] == 0) formatex(szTemp, charsmax(szTemp), "\d%s - [%d/%d]", AchName[iAch], Achievement[iPlayer][iAch], AchRequirement[iAch])          else if(Achievement[iPlayer][iAch] >= AchRequirement[iAch]) formatex(szTemp, charsmax(szTemp), "\y%s \w- [\rĮVYKDYTAS\w]", AchName[iAch])          else formatex(szTemp, charsmax(szTemp), "\y%s \w- [\r%d\w/\r%d\w]", AchName[iAch], Achievement[iPlayer][iAch], AchRequirement[iAch])          menu_additem(g_AchMenu, szTemp, Key)      }            menu_setprop(g_AchMenu, MPROP_EXIT, MEXIT_ALL)      menu_display(iPlayer, g_AchMenu, 0)  }   public Achievements_Handler(iPlayer, g_AchMenu, item)   {       if(item == MENU_EXIT)       {           menu_destroy(g_AchMenu)          return PLUGIN_HANDLED       }      else      {          if(Achievement[iPlayer][item] >= AchRequirement[item])           {               ColorChat(iPlayer, GREEN, "AK-47.LT: ^4Pasiekimas ^3ĮVYKDYTAS")              CmdAch(iPlayer);           }          else        {               ColorChat(iPlayer, RED, "AK-47.LT: ^4%s ir ^3laimėk ^4%d ^3taškų", AchDescription[item], AchPTS[item])              CmdAch(iPlayer);           }       }      return PLUGIN_CONTINUE  }     //////////////////////////////////////////////////////////// START OF ACHIEVEMENT ACTIONS /////////////////////////////////////////////////////////////// public Event_DeathMsg(){    new iKiller = read_data(1)    new iVictim = read_data(2)    new WeaponName[32]     read_data(4, WeaponName, charsmax(WeaponName))       new szName[33];     get_user_name(iKiller, szName, charsmax(szName))        if(is_user_alive(iKiller) && get_user_team(iKiller) != get_user_team(iVictim))    {        Achievement[iKiller][EXECUTION]++                if(Achievement[iKiller][EXECUTION] == AchRequirement[EXECUTION])        {            ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 500 ^1taškų!", prefix,szName,AchName[EXECUTION])            set_user_points(iKiller, get_user_points(iKiller) + 500);        }                if(is_user_alive(iKiller) && get_user_team(iKiller) != get_user_team(iVictim))        {            Achievement[iKiller][MURDER]++                    if(Achievement[iKiller][MURDER] == AchRequirement[MURDER])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 1000^1taškų!",prefix,szName,AchName[MURDER])                set_user_points(iKiller, get_user_points(iKiller) + 1000);            }                }                if(get_user_health(iKiller) == 1)        {            Achievement[iKiller][ONEHPHERO]++                        if(Achievement[iKiller][ONEHPHERO] == AchRequirement[ONEHPHERO])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 2000 ^1taškų!", prefix, szName, AchName[ONEHPHERO])                set_user_points(iKiller, get_user_points(iKiller) + 2000);            }        }        if(read_data(3))        {                Achievement[iKiller][AIMKEY]++                        if(Achievement[iKiller][AIMKEY] == AchRequirement[AIMKEY])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 1000 ^1taškų!", prefix, szName, AchName[AIMKEY])                set_user_points(iKiller, get_user_points(iKiller) + 1000);             }            if( ++Achievement[iKiller][HATTRICK] == AchRequirement[HATTRICK] ) {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 500 ^1taškų!", prefix, szName, AchName[HATTRICK])                set_user_points(iKiller, get_user_points(iKiller) + 500);            }        }        if(equali(WeaponName, "ak47")) {             Achievement[iKiller][AK_DILETANTAS]++            if(Achievement[iKiller][AK_DILETANTAS] == AchRequirement[AK_DILETANTAS])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 500 ^1taškų!", prefix, szName, AchName[AK_DILETANTAS])                set_user_points(iKiller, get_user_points(iKiller) + 500);             }            Achievement[iKiller][AK_MEG]++            if(Achievement[iKiller][AK_MEG] == AchRequirement[AK_MEG])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 2500 ^1taškų!", prefix, szName, AchName[AK_MEG])                set_user_points(iKiller, get_user_points(iKiller) + 2500);             }            Achievement[iKiller][AK_PROF]++            if(Achievement[iKiller][AK_PROF] == AchRequirement[AK_PROF])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 5000 ^1taškų!", prefix, szName, AchName[AK_PROF])                set_user_points(iKiller, get_user_points(iKiller) + 5000);             }        }        if(equali(WeaponName, "m4a1")) {             Achievement[iKiller][M4A1_PRAD]++            if(Achievement[iKiller][M4A1_PRAD] == AchRequirement[M4A1_PRAD])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 500 ^1taškų!", prefix, szName, AchName[M4A1_PRAD])                set_user_points(iKiller, get_user_points(iKiller) + 500);             }            Achievement[iKiller][M4A1_MEG]++            if(Achievement[iKiller][M4A1_MEG] == AchRequirement[M4A1_MEG])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 2500 ^1taškų!", prefix, szName, AchName[M4A1_MEG])                set_user_points(iKiller, get_user_points(iKiller) + 2500);             }            Achievement[iKiller][M4A1_PROF]++            if(Achievement[iKiller][M4A1_PROF] == AchRequirement[M4A1_PROF])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 5000 ^1taškų!", prefix, szName, AchName[M4A1_PROF])                set_user_points(iKiller, get_user_points(iKiller) + 5000);             }        }        if(equali(WeaponName, "deagle")) {             Achievement[iKiller][DEAGLE_PRAD]++            if(Achievement[iKiller][DEAGLE_PRAD] == AchRequirement[DEAGLE_PRAD])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 500 ^1taškų!", prefix, szName, AchName[DEAGLE_PRAD])                set_user_points(iKiller, get_user_points(iKiller) + 500);             }            Achievement[iKiller][DEAGLE_MEG]++            if(Achievement[iKiller][DEAGLE_MEG] == AchRequirement[DEAGLE_MEG])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 2500 ^1taškų!", prefix, szName, AchName[DEAGLE_MEG])                set_user_points(iKiller, get_user_points(iKiller) + 2500);             }            Achievement[iKiller][DEAGLE_PROF]++            if(Achievement[iKiller][DEAGLE_PROF] == AchRequirement[DEAGLE_PROF])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 5000 ^1taškų!", prefix, szName, AchName[DEAGLE_PROF])                set_user_points(iKiller, get_user_points(iKiller) + 5000);             }        }        if(equali(WeaponName, "knife")) {             Achievement[iKiller][KNIFE_PRAD]++            if(Achievement[iKiller][KNIFE_PRAD] == AchRequirement[KNIFE_PRAD])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 500 ^1taškų!", prefix, szName, AchName[KNIFE_PRAD])                set_user_points(iKiller, get_user_points(iKiller) + 500);             }            Achievement[iKiller][KNIFE_MEG]++            if(Achievement[iKiller][KNIFE_MEG] == AchRequirement[KNIFE_MEG])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 2500 ^1taškų!", prefix, szName, AchName[KNIFE_MEG])                set_user_points(iKiller, get_user_points(iKiller) + 2500);             }            Achievement[iKiller][KNIFE_PROF]++            if(Achievement[iKiller][KNIFE_PROF] == AchRequirement[KNIFE_PROF])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 5000 ^1taškų!", prefix, szName, AchName[KNIFE_PROF])                set_user_points(iKiller, get_user_points(iKiller) + 5000);             }        }        if(equali(WeaponName, "awp")) {             Achievement[iKiller][AWP_PRAD]++            if(Achievement[iKiller][AWP_PRAD] == AchRequirement[AWP_PRAD])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 500 ^1taškų!", prefix, szName, AchName[AWP_PRAD])                set_user_points(iKiller, get_user_points(iKiller) + 500);             }            Achievement[iKiller][AWP_MEG]++            if(Achievement[iKiller][AWP_MEG] == AchRequirement[AWP_MEG])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 2500 ^1taškų!", prefix, szName, AchName[AWP_MEG])                set_user_points(iKiller, get_user_points(iKiller) + 2500);             }            Achievement[iKiller][AWP_PROF]++            if(Achievement[iKiller][AWP_PROF] == AchRequirement[AWP_PROF])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 5000 ^1taškų!", prefix, szName, AchName[AWP_PROF])                set_user_points(iKiller, get_user_points(iKiller) + 5000);             }        }           }    return PLUGIN_CONTINUE} public EventRoundStart(){     new iPlayers[32], iNum, iPlayer, szName[33]    get_players(iPlayers, iNum, "a")         for(new i = 0; i < iNum; i++)    {        iPlayer = iPlayers[i]        get_user_name(iPlayer, szName, charsmax(szName))                if(Achievement[iPlayer][EXECUTION] < 5)            Achievement[iPlayer][EXECUTION] = 0    }    return PLUGIN_CONTINUE} public Event_Roundend() {    new iPlayers[32], iNum, iPlayer, szName[33]    get_players(iPlayers, iNum, "a")     for(new i = 0; i < iNum; i++)    {        iPlayer = iPlayers[i]        get_user_name(iPlayer, szName, charsmax(szName))         if(is_user_alive(iPlayer))        {            Achievement[iPlayer][SURVIVOR]++                            if(Achievement[iPlayer][SURVIVOR] == AchRequirement[SURVIVOR])            {                ColorChat(0, RED, "%s ^4%s ^1Sėkmingai atrakino ^4%s ^1pasiekimą ir gavo^3 1000 ^1taškų!", prefix, szName, AchName[SURVIVOR])                set_user_points(iPlayer, get_user_points(iPlayer) + 1000);             }        }    }        Save_MySql(iPlayer)    return PLUGIN_CONTINUE}  ///////////////////////////////////////////////////////////// END OF ACHIEVEMENT ACTIONS //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// START OF ACHIEVEMENT SAVING //////////////////////////////////////////////////////////////// public MySql_Init(){    g_SqlTuple = SQL_MakeDbTuple(Host,User,Pass,Db)       new ErrorCode,Handle:SqlConnection = SQL_Connect(g_SqlTuple,ErrorCode,g_Error,charsmax(g_Error))        if(SqlConnection == Empty_Handle)        set_fail_state(g_Error)           new Handle:Queries    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))")     if(!SQL_Execute(Queries))    {        SQL_QueryError(Queries,g_Error,charsmax(g_Error))        set_fail_state(g_Error)    }        SQL_FreeHandle(Queries)    SQL_FreeHandle(SqlConnection)   } public Load_MySql(iPlayer){    new szSteamId[32], szTemp[512]    get_user_authid(iPlayer, szSteamId, charsmax(szSteamId))        new Data[1]    Data[0] = iPlayer     format(szTemp,charsmax(szTemp),"SELECT * FROM `achievements` WHERE (`achievements`.`steamid` = '%s')", szSteamId)    SQL_ThreadQuery(g_SqlTuple,"register_client",szTemp,Data,1)} public register_client(FailState,Handle:Query,Error[],Errcode,Data[],DataSize){    if(FailState == TQUERY_CONNECT_FAILED)    {        log_amx("Load - Could not connect to SQL database.  [%d] %s", Errcode, Error)    }    else if(FailState == TQUERY_QUERY_FAILED)    {        log_amx("Load Query failed. [%d] %s", Errcode, Error)    }     new iPlayer    iPlayer = Data[0]        if(SQL_NumResults(Query) < 1)     {            new szSteamId[32]        get_user_authid(iPlayer, szSteamId, charsmax(szSteamId))                if (equal(szSteamId,"ID_PENDING"))            return PLUGIN_HANDLED                    new szTemp[512]                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)        SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)    }     else     {        Achievement[iPlayer][MURDER]    = SQL_ReadResult(Query, 1)        Achievement[iPlayer][SURVIVOR]    = SQL_ReadResult(Query, 2)        Achievement[iPlayer][AIMKEY]    = SQL_ReadResult(Query, 3)        Achievement[iPlayer][EXECUTION]    = SQL_ReadResult(Query, 4)        Achievement[iPlayer][ONEHPHERO]    = SQL_ReadResult(Query, 5)        Achievement[iPlayer][HATTRICK]    = SQL_ReadResult(Query, 6)        Achievement[iPlayer][AK_DILETANTAS]    = SQL_ReadResult(Query, 7)        Achievement[iPlayer][AK_MEG]    = SQL_ReadResult(Query, 8)        Achievement[iPlayer][AK_PROF]    = SQL_ReadResult(Query, 9)        Achievement[iPlayer][M4A1_PRAD]    = SQL_ReadResult(Query, 10)        Achievement[iPlayer][M4A1_MEG]    = SQL_ReadResult(Query, 11)        Achievement[iPlayer][M4A1_PROF]    = SQL_ReadResult(Query, 12)        Achievement[iPlayer][DEAGLE_PRAD]    = SQL_ReadResult(Query, 13)        Achievement[iPlayer][DEAGLE_MEG]    = SQL_ReadResult(Query, 14)        Achievement[iPlayer][DEAGLE_PROF]    = SQL_ReadResult(Query, 15)        Achievement[iPlayer][KNIFE_PRAD]    = SQL_ReadResult(Query, 16)        Achievement[iPlayer][KNIFE_MEG]    = SQL_ReadResult(Query, 17)        Achievement[iPlayer][KNIFE_PROF]    = SQL_ReadResult(Query, 18)        Achievement[iPlayer][AWP_PRAD]    = SQL_ReadResult(Query, 19)        Achievement[iPlayer][AWP_MEG]    = SQL_ReadResult(Query, 20)        Achievement[iPlayer][AWP_PROF]    = SQL_ReadResult(Query, 21)    }     return PLUGIN_HANDLED} public Save_MySql(iPlayer){    new szSteamId[32], szTemp[512], szTemp2[512]    get_user_authid(iPlayer, szSteamId, charsmax(szSteamId))        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)     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)        SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)    SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp2)} public IgnoreHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize){    SQL_FreeHandle(Query)    return PLUGIN_HANDLED}///////////////////////////////////////////////////////////// END OF ACHIEVEMENT SAVING ///////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// START OF ACHIEVEMENT COLORCHAT ///////////////////////////////////////////////////////////// ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...){    static message[256];     switch(type)    {        case NORMAL: // clients scr_concolor cvar color        {            message[0] = 0x01;        }        case GREEN: // Green        {            message[0] = 0x04;        }        default: // White, Red, Blue        {            message[0] = 0x03;        }    }     vformat(message[1], 251, msg, 4);     // Make sure message is not longer than 192 character. Will crash the server.    message[192] = '^0';     static team, ColorChange, index, MSG_Type;        if(id)    {        MSG_Type = MSG_ONE;        index = id;    } else {        index = FindPlayer();        MSG_Type = MSG_ALL;    }        team = get_user_team(index);    ColorChange = ColorSelection(index, MSG_Type, type);     ShowColorMessage(index, MSG_Type, message);            if(ColorChange)    {        Team_Info(index, MSG_Type, TeamName[team]);    }} ShowColorMessage(id, type, message[]){    message_begin(type, get_user_msgid("SayText"), _, id);    write_byte(id)            write_string(message);    message_end();    } Team_Info(id, type, team[]){    message_begin(type, get_user_msgid("TeamInfo"), _, id);    write_byte(id);    write_string(team);    message_end();     return 1;} ColorSelection(index, type, Color:Type){    switch(Type)    {        case RED:        {            return Team_Info(index, type, TeamName[1]);        }        case BLUE:        {            return Team_Info(index, type, TeamName[2]);        }        case GREY:        {            return Team_Info(index, type, TeamName[0]);        }    }     return 0;} FindPlayer(){    static i;    i = -1;     while(i <= get_maxplayers())    {        if(is_user_connected(++i))        {            return i;        }    }     return -1;}//////////////////////////////////////////////////////////// END OF ACHIEVEMENT COLORCHAT /////////////////////////////////////////////////////////////// /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE*{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0\\ deflang1053{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }*/  

Re: atsinaujina karts nuo karto pasiekimai

Posted: 2019 Jan 04 00:15
by laimiukas3
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

Re: atsinaujina karts nuo karto pasiekimai

Posted: 2019 Jan 04 08:22
by garbiz
laimiukas3 wrote: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:

Re: atsinaujina karts nuo karto pasiekimai

Posted: 2019 Jan 05 10:32
by psychical
laimiukas3 wrote: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

Re: atsinaujina karts nuo karto pasiekimai

Posted: 2019 Jan 05 12:58
by garbiz
Ž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:

Re: atsinaujina karts nuo karto pasiekimai

Posted: 2019 Jan 05 19:12
by laimiukas3
psychical wrote:
laimiukas3 wrote: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 wrote:Ž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

Re: atsinaujina karts nuo karto pasiekimai

Posted: 2019 Jan 05 21:41
by garbiz
Su kiek žmonių bandai ir kiek laiko praėjo kaip pajungei pluginą ?

Re: atsinaujina karts nuo karto pasiekimai

Posted: 2019 Jan 06 03:37
by laimiukas3
garbiz wrote: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

Re: atsinaujina karts nuo karto pasiekimai

Posted: 2019 Jan 09 21:20
by garbiz
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

Re: atsinaujina karts nuo karto pasiekimai

Posted: 2019 Jan 09 21:41
by popilas
Ryt jeigu nepamirsiu paziuresiu isidejas HDD jeigu rasiu bet manau turiu kazkoki turejau panasu
siaip cia idomus saugojimas, tau sql lentele bent sukuria?