atsinaujina karts nuo karto pasiekimai

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
garbiz
Jau po truputį tampa savu
Posts: 156
Joined: 2015 Feb 01 18:15
Skype: babuinas9

atsinaujina karts nuo karto pasiekimai

Post 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 }*/  
Image

User avatar
laimiukas3
Moderatorius
Posts: 4569
Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:

Re: atsinaujina karts nuo karto pasiekimai

Post 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
Image
Image
Image

garbiz
Jau po truputį tampa savu
Posts: 156
Joined: 2015 Feb 01 18:15
Skype: babuinas9

Re: atsinaujina karts nuo karto pasiekimai

Post 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:
Image

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: atsinaujina karts nuo karto pasiekimai

Post 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

garbiz
Jau po truputį tampa savu
Posts: 156
Joined: 2015 Feb 01 18:15
Skype: babuinas9

Re: atsinaujina karts nuo karto pasiekimai

Post 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:
Image

User avatar
laimiukas3
Moderatorius
Posts: 4569
Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:

Re: atsinaujina karts nuo karto pasiekimai

Post 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
Image
Image
Image

garbiz
Jau po truputį tampa savu
Posts: 156
Joined: 2015 Feb 01 18:15
Skype: babuinas9

Re: atsinaujina karts nuo karto pasiekimai

Post by garbiz »

Su kiek žmonių bandai ir kiek laiko praėjo kaip pajungei pluginą ?
Image

User avatar
laimiukas3
Moderatorius
Posts: 4569
Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:

Re: atsinaujina karts nuo karto pasiekimai

Post 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
Image
Image
Image

garbiz
Jau po truputį tampa savu
Posts: 156
Joined: 2015 Feb 01 18:15
Skype: babuinas9

Re: atsinaujina karts nuo karto pasiekimai

Post 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
Image

User avatar
popilas
Gana aktyvus vartotojas
Posts: 401
Joined: 2017 Apr 04 11:44
Location: Alytus

Re: atsinaujina karts nuo karto pasiekimai

Post 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?
PATYLĖK!!! Bent protingesnis atrodysi :)

Post Reply

Who is online

Users browsing this forum: No registered users and 10 guests