Witam, chciałbym, żeby plugin pobierał już przypisane flagi do danego gracza i dodawał te które zostały zakupione.
public void GiveFlag(int User)
{
char Error[256];
if(IsClientInGame(User))
{
char SID[64];
char Query[256];
GetClientAuthId(User, AuthId_Steam2, SID, sizeof(SID));
Format(Query, sizeof(Query), "SELECT `flags` FROM `premium` WHERE `server`='%i' AND `nick`='%s'", ServerID, SID); Handle QueryDB = SQL_Query(DB, Query);
if(QueryDB != INVALID_HANDLE)
{
if(SQL_FetchRow(QueryDB))
{
char Flags[64];
SQL_FetchString(QueryDB, 0, Flags, sizeof(Flags));
int FlagsInt = ReadFlagString(Flags);
int flags = GetUserFlagBits(User) + FlagsInt;
SetUserFlagBits(User, flags);
}
} else { SQL_GetError(DB, Error, sizeof(Error)); LogToFile("addons/sourcemod/logs/OnlineShop.txt", "[MySQL GiveFlag] %s", Error); }
}
}
Zmieniłem
int FlagsInt = ReadFlagString(Flags);
SetUserFlagBits(User, FlagsInt);
na
int FlagsInt = ReadFlagString(Flags);
int flags = GetUserFlagBits(User) + FlagsInt;
SetUserFlagBits(User, flags);
I średnio chce to działać. Bo dodaje same flagi, które są wpisane do tabeli od sklepu.