hlmod.hu
https://hlmod.hu/

- SQL Error, fegyverek/névcédulák eltűnnek
https://hlmod.hu/viewtopic.php?f=105&t=30118
Oldal: 1 / 1

Szerző:  ~Shediboii [ 2019.11.26. 21:01 ]
Hozzászólás témája:  - SQL Error, fegyverek/névcédulák eltűnnek

Sziasztok, azzal a kérdéssel fordulok hozzátok, hogy van a szerverem amin van egy saját mód és ezzel a saját móddal az a gond, hogy néha pár embernek nem tölt be..
Van olyan hogy a fegyvereket nem tölti be és a lecsatlakozáskor ráupdatel az adott SQL sorra és így az összes fegyverek eltűnnek..
Mi lehet a probléma? Aki tudna segíteni annak megköszönném, és menne a pacsi
Kód:
public Load_User_Data(id)
{
   new Data[2];
   Data[0] = id;
   Data[1] = get_user_userid(id);

   formatex(Query, charsmax(Query), "SELECT * FROM `shedimod` WHERE `User_Id` = %d;", ska_get_user_id(id));
   SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 2);
}

public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
   if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
      log_amx("%s", Error);
      return;
   }
   else {
      new id = Data[0];
      
      if( Data[1] != get_user_userid(id) )
         return;
   
      if(SQL_NumRows(Query) > 0) {
      SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Dollars"), g_dollar[id]);
      g_Tools[0][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "STTool"));
      g_Tools[1][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Nevcedula"));
      Kulcs[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Kulcs"));
      oles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "oles"));
      NyOles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "NyOles"));
      szinesmenu[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SzinesFomenu"));
      hl[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "halal"));
      g_VipTime[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "VipIdo"));
      SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Exp"), Player[id][EXP]);      
      Player[id][SSzint] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "KSzint"));

      hs[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "fejloves"));
      g_Admin_Level[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Admin_Szint"));
      Player_Vip[id][v_moneydrop] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "moneydrop"));
      Player_Vip[id][v_casedrop] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "casedrop"));
      Player_Vip[id][v_keydrop] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "keydrop"));
      // VanPrefix[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "vanprefix"));
      // if(VanPrefix[id] == 1)
      // {
      //    SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "prefixneve" ), g_Chat_Prefix[id], charsmax(g_Chat_Prefix[]));
      // }
   
      
      for(new i;i < LADASZAM; i++)
      {
         new String[64];
         formatex(String, charsmax(String), "Case%d", i);
         Lada[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
      }

      // Selectedgun[AK47][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Skin0"));
      // Selectedgun[M4A1][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Skin1"));
      // Selectedgun[AWP][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Skin2"));
      // Selectedgun[DEAGLE][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Skin3"));
      // Selectedgun[KNIFE][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Skin4"));

      //Selectedgun[AK47][id] = SelectedStatTrak[0][id]
      //Selectedgun[M4A1][id] = SelectedStatTrak[1][id]
      //Selectedgun[AWP][id] = SelectedStatTrak[2][id]
      //Selectedgun[DEAGLE][id] = SelectedStatTrak[3][id]
      //Selectedgun[KNIFE][id] = SelectedStatTrak[4][id]

      Set_Permissions(id);

      //sql_account_load_nametag(id)
      sql_account_load_wea(id);
      //sql_account_load_st(id)
      sql_account_load_kuldik(id);
      //sql_account_load_teszters(id);
      //sql_account_load_stk(id)
      }
      else
      {
         Save_Profile(id);
         sql_create_nametag_row(id);
         sql_create_weapon_row(id);
         sql_create_st_row(id)
         sql_create_stk_row(id)
         sql_create_kuldik_row(id)
      }
         
   }
}
public Load_User_Skin(id)
{
   
   new Data[2];
   Data[0] = id;
   Data[1] = get_user_userid(id);

   formatex(Query, charsmax(Query), "SELECT * FROM `shedi_skin` WHERE `User_Id` = %d;", ska_get_user_id(id));
   SQL_ThreadQuery(g_SqlTuple, "QuerySelectDataSkin", Query, Data, 2);
}

public QuerySelectDataSkin(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
   if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
      log_amx("%s", Error);
      return;
   }
   else {
      new id = Data[0];
      
      if( Data[1] != get_user_userid(id) )
         return;
   
      if(SQL_NumRows(Query) > 0) {
      Selectedgun[AK47][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Skin0"));
      Selectedgun[M4A1][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Skin1"));
      Selectedgun[AWP][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Skin2"));
      Selectedgun[DEAGLE][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Skin3"));
      Selectedgun[KNIFE][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Skin4"));
      }
      else
      sql_create_skin_row(id);
         
   }
}
public sql_create_skin_row(id){
   
   formatex(Query, charsmax(Query), "INSERT INTO `shedi_skin` (`User_Id`) VALUES (%d);", ska_get_user_id(id));
   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}   
public sql_account_load_nametag(id)
{
   
   new len = 0
len += format(Query[len], 2048, "SELECT * FROM shedi_nevcedula ")
   len += format(Query[len], 2048-len,"WHERE User_Id = '%d'", ska_get_user_id(id))
   
   new szData[2];
   szData[0] = id;
   szData[1] = get_user_userid(id);

   SQL_ThreadQuery(g_SqlTuple,"sql_account_load_name_thread", Query, szData, 2)
}
public sql_account_load_name_thread(FailState,Handle:Query,Error[],Errcode,szData[],DataSize) {
   if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
   {
      log_amx("%s", Error)
      return
   }
   else
   {
      new id = szData[0];
      
      if (szData[1] != get_user_userid(id))
         return ;
         
      if(SQL_NumRows(Query)){
      for(new i;i < FEGYO; i++)
         {
            new String[64];
            formatex(String, charsmax(String), "fegyvernev_%d", i);
            SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String), g_GunNames[i][id], charsmax(g_GunNames[]));
         }
         
      }
      else
         sql_create_nametag_row(id)

   }
}
public sql_create_nametag_row(id){
   
   formatex(Query, charsmax(Query), "INSERT INTO `shedi_nevcedula` (`User_Id`) VALUES (%d);", ska_get_user_id(id));
   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}   

public sql_account_load_wea(id)
{
   
   new len = 0

   len += format(Query[len], 2048, "SELECT * FROM shedi_fegyo ")
   len += format(Query[len], 2048-len,"WHERE User_Id = '%d'", ska_get_user_id(id))
   
   new szData[2];
   szData[0] = id;
   szData[1] = get_user_userid(id);

   SQL_ThreadQuery(g_SqlTuple,"sql_account_load_wea_thread", Query, szData, 2)
}
public sql_account_load_wea_thread(FailState,Handle:Query,Error[],Errcode,szData[],DataSize) {
   if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
   {
      log_amx("%s", Error)
      return
   }
   else
   {
      new id = szData[0];
      
      if (szData[1] != get_user_userid(id))
         return ;
         
      if(SQL_NumRows(Query)){
      for(new i;i < FEGYO; i++)
         {
            new String[64];
            formatex(String, charsmax(String), "F_%d", i);
            g_Weapons[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
         }
      }
      else
         sql_create_weapon_row(id);
         

   }
}

public sql_create_weapon_row(id){
   
   formatex(Query, charsmax(Query), "INSERT INTO `shedi_fegyo` (`User_Id`) VALUES (%d);", ska_get_user_id(id));
   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}   
public sql_create_tester_row(id){
   
   formatex(Query, charsmax(Query), "INSERT INTO `shedi_testers` (`User_Id`,`Name`) VALUES (%d, ^"%s^");", ska_get_user_id(id), name[id]);
   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
public sql_account_load_st(id)
{
   
   new len = 0

   len += format(Query[len], 2048, "SELECT * FROM shedi_stattrak ")
   len += format(Query[len], 2048-len,"WHERE User_Id = '%d'", ska_get_user_id(id))
   
   new szData[2];
   szData[0] = id;
   szData[1] = get_user_userid(id);

   SQL_ThreadQuery(g_SqlTuple,"sql_account_load_st_thread", Query, szData, 2)
}
public sql_account_load_st_thread(FailState,Handle:Query,Error[],Errcode,szData[],DataSize) {
   if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
   {
      log_amx("%s", Error)
      return
   }
   else
   {
      new id = szData[0];
      
      if (szData[1] != get_user_userid(id))
         return ;
         
      if(SQL_NumRows(Query)){
         
      for(new i;i < FEGYO; i++)
      {
         new String[64];
         formatex(String, charsmax(String), "st_%d", i);
         g_StatTrak[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
      }
      }
         else
         sql_create_st_row(id)

      
   }
}

public sql_create_st_row(id){
   
   formatex(Query, charsmax(Query), "INSERT INTO `shedi_stattrak` (`User_Id`) VALUES (%d);", ska_get_user_id(id));
   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}   

public sql_account_load_stk(id)
{
   
   new len = 0

   len += format(Query[len], 2048, "SELECT * FROM shedi_stattrakkills ")
   len += format(Query[len], 2048-len,"WHERE User_Id = '%d'", ska_get_user_id(id))
   
   new szData[2];
   szData[0] = id;
   szData[1] = get_user_userid(id);

   SQL_ThreadQuery(g_SqlTuple,"sql_account_load_stk_thread", Query, szData, 2)
}
public sql_account_load_stk_thread(FailState,Handle:Query,Error[],Errcode,szData[],DataSize) {
   if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
   {
      log_amx("%s", Error)
      return
   }
   else
   {
      new id = szData[0];
      
      if (szData[1] != get_user_userid(id))
         return ;
         
      if(SQL_NumRows(Query)){
      for(new i;i < FEGYO; i++)
      {
         new String[64];
         formatex(String, charsmax(String), "stkill_%d", i);
         g_StatTrakKills[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
      }
      }
      else
         sql_create_stk_row(id)
      //Load_User_Vip(id);
      Load_User_Skin(id);
      fegyvermenu(id)
   }
}
public sql_create_stk_row(id){
   
   formatex(Query, charsmax(Query), "INSERT INTO `shedi_stattrakkills` (`User_Id`) VALUES (%d);", ska_get_user_id(id));
   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}   
public sql_account_load_kuldik(id)
{
   
   new len = 0

   len += format(Query[len], 2048, "SELECT * FROM shedi_kuldik ")
   len += format(Query[len], 2048-len,"WHERE User_Id = '%d'", ska_get_user_id(id))
   
   new szData[2];
   szData[0] = id;
   szData[1] = get_user_userid(id);

   SQL_ThreadQuery(g_SqlTuple,"sql_account_load_kuldi_thread", Query, szData, 2)
}
public sql_account_load_kuldi_thread(FailState,Handle:Query,Error[],Errcode,szData[],DataSize) {
   if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
   {
      log_amx("%s", Error)
      return
   }
   else
   {
      new id = szData[0];
      
      if (szData[1] != get_user_userid(id))
         return ;
         
      if(SQL_NumRows(Query)){
         g_Quest[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "QuestH1"));
         g_QuestMVP[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "QuestMVP1"));
         g_QuestKills[0][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "QuestNeed1"));
         g_QuestKills[1][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "QuestHave1"));
         g_QuestWeapon[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "QuestWeap1"));
         g_QuestHead[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "QuestHead1"));
         g_Jutalom[0][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "JutLada1"));
         g_Jutalom[1][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "JutKulcs1"));
         g_Jutalom[3][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "JutST"));
         g_Jutalom[4][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "JutNC"));
         g_Jutalom[2][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "JutPont1"));
         SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "JutDoll1"), g_dollarjutalom[id]);
      }
      else
         sql_create_kuldik_row(id);
   }
}
public sql_create_kuldik_row(id){
   
   formatex(Query, charsmax(Query), "INSERT INTO `shedi_kuldik` (`User_Id`) VALUES (%d);", ska_get_user_id(id));
   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
public sql_account_load_teszters(id)
{
   
   new len = 0

   len += format(Query[len], 2048, "SELECT * FROM shedi_testers ")
   len += format(Query[len], 2048-len,"WHERE User_Id = '%d'", ska_get_user_id(id))
   
   new szData[2];
   szData[0] = id;
   szData[1] = get_user_userid(id);

   SQL_ThreadQuery(g_SqlTuple,"sql_account_load_t_thread", Query, szData, 2)
}
public sql_account_load_t_thread(FailState,Handle:Query,Error[],Errcode,szData[],DataSize) {
   if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
   {
      log_amx("%s", Error)
      return
   }
   else
   {
      new id = szData[0];
      
      if (szData[1] != get_user_userid(id))
         return ;
         
      if(SQL_NumRows(Query)){
      g_tester[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Is_Tested"));
      }


   }
}   
public Update_Vip_Data(id)
{
   new Len;
   
   Len += formatex(Query[Len], charsmax(Query), "UPDATE `DangerVip` SET isVip = ^"%i^", ",Player_Vip[id][v_isVip]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "time = ^"%i^", ", Player_Vip[id][v_time]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "moneydrop = ^"%i^", ", Player_Vip[id][v_moneydrop]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "casedrop = ^"%i^", ", Player_Vip[id][v_casedrop]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "keydrop = ^"%i^" WHERE `User_Id` =  %d;", Player_Vip[id][v_keydrop], ska_get_user_id(id));

   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
/*
public Load_regcucc(id)
{
   
   new Data[2];
   Data[0] = id;
   Data[1] = get_user_userid(id);

   formatex(Query, charsmax(Query), "SELECT * FROM `blacknight_register` WHERE `Id` = %d;", ska_get_user_id(id));
   SQL_ThreadQuery(g_SqlTuple, "QuerySelectData1", Query, Data, 2);
}

public QuerySelectData1(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
   if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
      log_amx("%s", Error);
      return;
   }
   else {
      new id = Data[0];
      
      if( Data[1] != get_user_userid(id) )
         return;
 
      if(SQL_NumRows(Query) > 0) {
      SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Registered_Date" ), g_Reg_Ido[id], charsmax(g_Reg_Ido));
      SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Registered_IP" ), g_Reg_IP[id], charsmax(g_Reg_IP));
      SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Registered_SteamID" ), g_Reg_ID[id], charsmax(g_Reg_ID));
      //SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Registered_Name" ), g_Reg_Name[id], charsmax(g_Reg_Name));
      //SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Username" ), g_Felhsz[id], charsmax(g_Felhsz));
      //SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Last_Login_Name" ), g_LastL[id], charsmax(g_LastL));
      
      }

   }
}
*/
public Save_Profile1(id){
   new Data[2];
   
   Data[0] = id;
   Data[1] = get_user_userid(id);

   formatex(Query, charsmax(Query), "INSERT INTO `shedi_skin` (`User_Id`) VALUES (%d);", ska_get_user_id(id));
   SQL_ThreadQuery(g_SqlTuple, "QuerySetDataProfile", Query, Data, 2);
}
public Save_Profile(id){
   new Data[2];
   
   Data[0] = id;
   Data[1] = get_user_userid(id);

   formatex(Query, charsmax(Query), "INSERT INTO `shedimod` (`User_Id`, `gamename`) VALUES (%d, ^"%s^");", ska_get_user_id(id), name[id]);
   SQL_ThreadQuery(g_SqlTuple, "QuerySetDataProfile", Query, Data, 2);
}

public QuerySetDataProfile(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime){
   if( FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED ){
      log_amx("%s", Error);
      return;
   }
   else{
      new id = Data[0];

      if(Data[1] != get_user_userid(id) )
         return;
   }
}
public Update(id){
   
   new Len;
   
   Len += formatex(Query[Len], charsmax(Query), "UPDATE `shedimod` SET ");
   Len += formatex(Query[Len], charsmax(Query)-Len, "Dollars = ^"%.2f^", ", g_dollar[id]);
   //Len += formatex(Query[Len], charsmax(Query)-Len, "gamename = ^"%s^", ", name[id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "fejloves = ^"%i^", ", hs[id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "NyOles = ^"%i^", ", NyOles[id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "vanprefix = ^"%i^", ", VanPrefix[id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "halal = ^"%i^", ", hl[id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "oles = ^"%i^", ", oles[id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "SzinesFomenu = ^"%i^", ", szinesmenu[id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "VipIdo = ^"%i^", ", g_VipTime[id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "Kulcs = ^"%i^", ", Kulcs[id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "Nevcedula = ^"%i^", ", g_Tools[1][id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "STTool = ^"%i^", ", g_Tools[0][id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "Admin_Szint = ^"%i^", ", g_Admin_Level[id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "KSzint = '%i', ", Player[id][SSzint]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "Exp = ^"%.2f^", ", Player[id][EXP]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "moneydrop = ^"%i^", ", Player_Vip[id][v_moneydrop]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "casedrop = ^"%i^", ", Player_Vip[id][v_casedrop]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "keydrop = ^"%i^", ", Player_Vip[id][v_keydrop]);
   //Len += formatex(Query[Len], charsmax(Query)-Len, "prefixneve = ^"%s^", ", g_Chat_Prefix[id]);
   
   for(new i;i < LADASZAM; i++)
      Len += formatex(Query[Len], charsmax(Query)-Len, "Case%d = ^"%i^", ", i, Lada[i][id]);
      
   Len += formatex(Query[Len], charsmax(Query)-Len, "oles = ^"%i^" WHERE `User_Id` =  %d;", oles[id], ska_get_user_id(id));
   
   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
   sql_update_account3(id);
   Update_Skin(id);
}
public Load_User_Vip(id)
{
   
   new Data[2];
   Data[0] = id;
   Data[1] = get_user_userid(id);

   formatex(Query, charsmax(Query), "SELECT * FROM `DangerVip` WHERE `User_Id` = %d;", ska_get_user_id(id));
   SQL_ThreadQuery(g_SqlTuple, "QuerySelectVip", Query, Data, 2);
}
public QuerySelectVip(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
{
   if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
   {
      log_amx("%s", Error);
      return;
   }
   else
   {
      new id = Data[0];
      
      if(SQL_NumRows(Query) > 0)
      {
         Player_Vip[id][v_isVip] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "isVip"));
         Player_Vip[id][v_time] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "time"));
         Player_Vip[id][v_moneydrop] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "moneydrop"));
         Player_Vip[id][v_casedrop] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "casedrop"));
         Player_Vip[id][v_keydrop] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "keydrop"));         
      }
      else
      {
         new text[512];
           formatex(text, charsmax(text), "INSERT INTO `DangerVip` (`User_Id`) VALUES (%i);", ska_get_user_id(id));
            SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text);
      }   
   }
}
public Update_Skin(id){
   
   new Len;
   
   Len += formatex(Query[Len], charsmax(Query), "UPDATE `shedi_skin` SET ");
      
   Len += formatex(Query[Len], charsmax(Query)-Len, "Skin0 = ^"%i^", ", Selectedgun[AK47][id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "Skin1 = ^"%i^", ", Selectedgun[M4A1][id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "Skin2 = ^"%i^", ", Selectedgun[AWP][id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "Skin3 = ^"%i^", ", Selectedgun[DEAGLE][id]);

   Len += formatex(Query[Len], charsmax(Query)-Len, "Skin4 = ^"%i^" WHERE `User_Id` =  %d;", Selectedgun[KNIFE][id], ska_get_user_id(id));
   
   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
   //sql_update_account1(id);
   //Update_Vip_Data(id);
}
public sql_update_account4(id){
   
   new Len;
   
   Len += formatex(Query[Len], charsmax(Query), "UPDATE `shedi_kuldik` SET ");
   Len += formatex(Query[Len], charsmax(Query)-Len, "QuestH1 = '%i', ", g_Quest[id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "QuestMVP1 = '%i', ", g_QuestMVP[id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "QuestNeed1 = '%i', ", g_QuestKills[0][id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "QuestHave1 = '%i', ", g_QuestKills[1][id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "QuestWeap1 = '%i', ", g_QuestWeapon[id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "QuestHead1 = '%i', ", g_QuestHead[id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "JutLada1 = '%i', ", g_Jutalom[0][id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "JutKulcs1 = '%i', ", g_Jutalom[1][id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "JutST = '%i', ", g_Jutalom[3][id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "JutNC = '%i', ", g_Jutalom[4][id]);
   Len += formatex(Query[Len], charsmax(Query)-Len, "JutPont1 = '%i', ", g_Jutalom[2][id]);

   Len += formatex(Query[Len], charsmax(Query)-Len, "JutDoll1 = ^"%.2f^" WHERE `User_Id` =  %d;", g_dollarjutalom[id], ska_get_user_id(id));
   
   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
public sql_update_account1(id)
{
   
   new Len;
   
   Len += formatex(Query[Len], charsmax(Query), "UPDATE `shedi_stattrak` SET ");
   
   for(new i;i < FEGYO; i++)
      Len += formatex(Query[Len], charsmax(Query)-Len, "st_%d = ^"%i^", ", i, g_StatTrak[i][id]);


   Len += format(Query[Len], charsmax(Query)-Len,"Parameter = '0' ")
   Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE `User_Id` =  %d;", ska_get_user_id(id));
   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
   sql_update_account2(id);
}
public sql_update_account2(id)
{
   
   new Len;
   
   Len += formatex(Query[Len], charsmax(Query), "UPDATE `shedi_stattrakkills` SET ");
   
   for(new i;i < FEGYO; i++)
      Len += formatex(Query[Len], charsmax(Query)-Len, "stkill_%d = ^"%i^", ", i, g_StatTrakKills[i][id]);


   Len += format(Query[Len], charsmax(Query)-Len,"Parameter = '0' ")
   Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE `User_Id` =  %d;", ska_get_user_id(id));
   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
   sql_update_account3(id);
}
public sql_update_account3(id)
{
   
   new Len;
   
   Len += formatex(Query[Len], charsmax(Query), "UPDATE `shedi_fegyo` SET ");
   
   for(new i;i < FEGYO; i++)
      Len += formatex(Query[Len], charsmax(Query)-Len, "F_%d = ^"%i^", ", i, g_Weapons[i][id]);

   Len += format(Query[Len], charsmax(Query)-Len,"Parameter = '0' ")
   Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE `User_Id` =  %d;", ska_get_user_id(id));
   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
   //sql_update_account_nametag(id);
}

public sql_update_account_nametag(id)
{
   
   new Len;
   
   Len += formatex(Query[Len], charsmax(Query), "UPDATE `shedi_nevcedula` SET ");
   
   for(new i;i < FEGYO; i++)
      Len += formatex(Query[Len], charsmax(Query)-Len, "fegyvernev_%d = ^"%s^", ", i, g_GunNames[i][id]);

   Len += format(Query[Len], charsmax(Query)-Len,"Parameter = '0' ")
   Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE `User_Id` =  %d;", ska_get_user_id(id));
   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
   sql_update_account4(id);
}
public sql_update_account6(id)
{
   
   new Len;
   
   Len += formatex(Query[Len], charsmax(Query), "UPDATE `shedi_testers` SET ");
   
   Len += formatex(Query[Len], charsmax(Query)-Len, "Name = ^"%s^", ", name[id]);

   Len += format(Query[Len], charsmax(Query)-Len,"Parameter = '0' ")
   Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE `User_Id` =  %d;", ska_get_user_id(id));
   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
   //sql_update_account1(id);
}

Sok helyen azért van kivéve a sql_updates rész, mert véletlen se történjen még 1x ilyen amíg nem tudom javítani

Szerző:  JohanCorn [ 2019.11.27. 10:11 ]
Hozzászólás témája:  Re: - SQL Error, fegyverek/névcédulák eltűnnek

Sok dolog lehet. Ajánlom a legelejétől átgondolni az egészet.

Belépés:

Az Auth rendszer ellenőrzi a felhasználónevet és jelszót. Globálisan tárold el, hogy a folyamat milyen állapotban van.
0. Az Auth még nem indult el.
1. Az Auth folyamatban van. (pld amikor rányomott a belépésre)
2. Az Auth sikertelen volt (hibás fel. vagy jelszó) ebben az esetben ugrás a 0. pontra. Ellenkező esetben mehet tovább és már tudni fogjuk, hogy ez a fázis rendben van. (megkapja az ID-t.)

Ugrás a módra. Tételezzük fel, hogy csak egy tábla van. Egy ID és egy név oszloppal. Az ID az Authból eredő ID.
Itt, ha a fenti Auth értéke 2 (az-az már authentikálva van) akkor indulhat a lekérdezés. Hasonlóan az Authoz globális tárold el ennek is az állapotát.
0. Ha még nem indult el.
1. Ha már elindult de válasz még nem volt.
2. Ha megvan a válasz. Nyilván itt külön bontva. Ha pld nulla sort adott vissza, akkor insert és majd ennek a válaszában újra select. Vagy ha ha van, akkor megy tovább. (későbbiekben ennek mintáján újra és újra minden táblával.)

Kilépés (Disconnect)
Indul az Update HA az Auth értéke 2 ÉS a mód betöltésének állapota 2.
Ment a kérés. A válasz nem érdekel minket már (kivéve, ha szar az adatbázis kapcsolatod és előszeretettel vesznek el a csomagok. ebben az esetben érdemes újra és újra küldeni ameddig nincs sikeres válasz.)
Miután elment a kérés nullázhatod az ID-t, az Auth és a Mód Betöltés állapotát.

FIGYELEM! Ha az ID a kulcs és te a regben dc esetén nullázod majd (betöltési sorrend pluginokál) a dc a módban később fut le, akkor már nem lesz ID-je. Az-az nem tud hova feltölteni mert a WHERE nulla lesz.

Egyéb: MySQL terhelés esetén a kérések sorrendje felborulhat. Az-az valami hamarabb érezik, ámbár később lett küldve. Ez azért nem okés, mert:
Belépsz. Megkapod az ID-t. Van már ID-d. Indul a cuccaid betöltése (mód) késik a kérés. ID-d már van tehát be vagy lépve ezért tételezzük fel az automentés aktív mivel van ID-d küldeni az UPDATE-t, de mivel a cuccaid még nincsenek bent mindent nullával tölt fel. Elment a kérés. Te lelépsz. Lent vagy. A feltöltés sikeres volt. Fellépsz. És már az a nullákat tölti be.

Nem tudom, hogy erre figyeltél-e, de ezt látom most a legvalószínűbbnek. Illetve az id és az userid ellenőrzés mellett még nem árt beiktatni egy dolgot. A belépéskor eltárolod, hogy mikor lépett be. A kérésben ezt is átadod. Ha az érkezéskor az idre eltárolt érték és a kérés válaszban lévő nem egyezik akkor tuti, hogy közben már lelépett és újracsatlakozott az illető és nem engeded tovább. Így azt a hibát küszöbölheted ki, hogy:
Belépsz. Indul a kérés, de válasz nincs.
Lelépsz. Fellépsz. Belépsz. Indul az új kérés.
Megérkezik a válasz 1 és válasz 2 pld csak ID betöltés esetén így nem fut le 2x.

Nyilván ez programozás. Van más megoldás is. Én ezt használóm.

Szerző:  ~Shediboii [ 2019.11.28. 21:57 ]
Hozzászólás témája:  Re: - SQL Error, fegyverek/névcédulák eltűnnek

JohanCorn írta:
Sok dolog lehet. Ajánlom a legelejétől átgondolni az egészet.

Belépés:
......

Köszönöm a segítségedet!

Szerző:  saxxo [ 2022.08.09. 17:53 ]
Hozzászólás témája:  Re: - SQL Error, fegyverek/névcédulák eltűnnek

JohanCorn írta:
Sok dolog lehet. Ajánlom a legelejétől átgondolni az egészet.

Belépés:

Az Auth rendszer ellenőrzi a felhasználónevet és jelszót. Globálisan tárold el, hogy a folyamat milyen állapotban van.
0. Az Auth még nem indult el.
1. Az Auth folyamatban van. (pld amikor rányomott a belépésre)
2. Az Auth sikertelen volt (hibás fel. vagy jelszó) ebben az esetben ugrás a 0. pontra. Ellenkező esetben mehet tovább és már tudni fogjuk, hogy ez a fázis rendben van. (megkapja az ID-t.)

Ugrás a módra. Tételezzük fel, hogy csak egy tábla van. Egy ID és egy név oszloppal. Az ID az Authból eredő ID.
Itt, ha a fenti Auth értéke 2 (az-az már authentikálva van) akkor indulhat a lekérdezés. Hasonlóan az Authoz globális tárold el ennek is az állapotát.
0. Ha még nem indult el.
1. Ha már elindult de válasz még nem volt.
2. Ha megvan a válasz. Nyilván itt külön bontva. Ha pld nulla sort adott vissza, akkor insert és majd ennek a válaszában újra select. Vagy ha ha van, akkor megy tovább. (későbbiekben ennek mintáján újra és újra minden táblával.)

Kilépés (Disconnect)
Indul az Update HA az Auth értéke 2 ÉS a mód betöltésének állapota 2.
Ment a kérés. A válasz nem érdekel minket már (kivéve, ha szar az adatbázis kapcsolatod és előszeretettel vesznek el a csomagok. ebben az esetben érdemes újra és újra küldeni ameddig nincs sikeres válasz.)
Miután elment a kérés nullázhatod az ID-t, az Auth és a Mód Betöltés állapotát.

FIGYELEM! Ha az ID a kulcs és te a regben dc esetén nullázod majd (betöltési sorrend pluginokál) a dc a módban később fut le, akkor már nem lesz ID-je. Az-az nem tud hova feltölteni mert a WHERE nulla lesz.

Egyéb: MySQL terhelés esetén a kérések sorrendje felborulhat. Az-az valami hamarabb érezik, ámbár később lett küldve. Ez azért nem okés, mert:
Belépsz. Megkapod az ID-t. Van már ID-d. Indul a cuccaid betöltése (mód) késik a kérés. ID-d már van tehát be vagy lépve ezért tételezzük fel az automentés aktív mivel van ID-d küldeni az UPDATE-t, de mivel a cuccaid még nincsenek bent mindent nullával tölt fel. Elment a kérés. Te lelépsz. Lent vagy. A feltöltés sikeres volt. Fellépsz. És már az a nullákat tölti be.

Nem tudom, hogy erre figyeltél-e, de ezt látom most a legvalószínűbbnek. Illetve az id és az userid ellenőrzés mellett még nem árt beiktatni egy dolgot. A belépéskor eltárolod, hogy mikor lépett be. A kérésben ezt is átadod. Ha az érkezéskor az idre eltárolt érték és a kérés válaszban lévő nem egyezik akkor tuti, hogy közben már lelépett és újracsatlakozott az illető és nem engeded tovább. Így azt a hibát küszöbölheted ki, hogy:
Belépsz. Indul a kérés, de válasz nincs.
Lelépsz. Fellépsz. Belépsz. Indul az új kérés.
Megérkezik a válasz 1 és válasz 2 pld csak ID betöltés esetén így nem fut le 2x.

Nyilván ez programozás. Van más megoldás is. Én ezt használóm.



Szia!
Aki már találkozott már ilyen hibával kérem jelezze hogy mi a megoldás erre! Pont nekem is ez a hiba van! :::)

  1. public plugin_cfg()
  2. {
  3.     static Query[10048];
  4.     new Len;
  5.     g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
  6.     Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `sql_mentes_valami`")
  7.     Len += formatex(Query[Len], charsmax(Query)-Len, "(`Steamid` varchar(64) NOT NULL, ");
  8.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsM4A1` int(11) NOT NULL,")
  9.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsAK47` int(11) NOT NULL,")
  10.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsAWP` int(11) NOT NULL,")
  11.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsSCOUT` int(11) NOT NULL,")
  12.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsFAMAS` int(11) NOT NULL,")
  13.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsGALIL` int(11) NOT NULL,")
  14.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsAUG` int(11) NOT NULL,")
  15.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsM3` int(11) NOT NULL,")
  16.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsXM1014` int(11) NOT NULL,")
  17.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsKNIFE` int(11) NOT NULL,")
  18.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsDEAGLE` int(11) NOT NULL,")
  19.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsUSP` int(11) NOT NULL,")
  20.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsGLOCK` int(11) NOT NULL,")
  21.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunM4A1` int(11) NOT NULL,")
  22.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunAK47` int(11) NOT NULL,")
  23.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunAWP` int(11) NOT NULL,")
  24.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunSCOUT` int(11) NOT NULL,")
  25.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunFAMAS` int(11) NOT NULL,")
  26.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunGALIL` int(11) NOT NULL,")
  27.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunAUG` int(11) NOT NULL,")
  28.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunM3` int(11) NOT NULL,")
  29.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunXM1014` int(11) NOT NULL,")
  30.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunKNIFE` int(11) NOT NULL,")
  31.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunDEAGLE` int(11) NOT NULL,")
  32.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunUSP` int(11) NOT NULL,")
  33.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunGLOCK` int(11) NOT NULL,")
  34.     Len += formatex(Query[Len], charsmax(Query)-Len, "`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
  35.     SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
  36. }
  37.  
  38. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  39.     if(Errcode)
  40.         log_amx("Hibat dobtam: %s",Error);
  41.         if(FailState == TQUERY_CONNECT_FAILED)
  42.         set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
  43.     else if(FailState == TQUERY_QUERY_FAILED)
  44.         set_fail_state("Query Error");
  45. }
  46.  
  47. public client_putinserver(id) {
  48.     if(!is_user_bot(id)) {
  49.         get_user_authid(id, g_sSteamid, charsmax(g_sSteamid)); //lekéred a steamid-t
  50.         Load(id);
  51.     }
  52. }
  53.  
  54. public Load(id) {
  55.     static Query[10048];
  56.     new Data[1], g_sSteamid[64];
  57.     Data[0] = id
  58.     get_user_authid(id, g_sSteamid[id], charsmax(g_sSteamid)); //lekéred a steamid-t
  59.     formatex(Query, charsmax(Query), "SELECT * FROM `sql_mentes_valami` WHERE Steamid = ^"%s^";", g_sSteamid[id]); //majd kiválasztod steamid szerint.
  60.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1)
  61. }
  62.  
  63. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  64.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  65.         log_amx("%s", Error)
  66.         return
  67.     }
  68.     else {
  69.         new id = Data[0];
  70.        
  71.         if(SQL_NumRows(Query) > 0) {
  72.             g_uPoints[M4A1][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsM4A1"))
  73.             g_uPoints[AK47][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsAK47"))
  74.             g_uPoints[AWP][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsAWP"))
  75.             g_uPoints[SCOUT][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsSCOUT"))
  76.             g_uPoints[FAMAS][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsFAMAS"))
  77.             g_uPoints[GALIL][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsGALIL"))
  78.             g_uPoints[AUG][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsAUG"))
  79.             g_uPoints[M3][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsM3"))
  80.             g_uPoints[XM1014][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsXM1014"))
  81.             g_uPoints[KNIFE][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsKNIFE"))
  82.             g_uPoints[DEAGLE][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsDEAGLE"))
  83.             g_uPoints[USP][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsUSP"))
  84.             g_uPoints[GLOCK][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsGLOCK"))
  85.             g_SelectedGun[M4A1][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunM4A1"))
  86.             g_SelectedGun[AK47][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunAK47"))
  87.             g_SelectedGun[AWP][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunAWP"))
  88.             g_SelectedGun[SCOUT][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunSCOUT"))
  89.             g_SelectedGun[FAMAS][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunFAMAS"))
  90.             g_SelectedGun[GALIL][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunGALIL"))
  91.             g_SelectedGun[AUG][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunAUG"))
  92.             g_SelectedGun[M3][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunM3"))
  93.             g_SelectedGun[XM1014][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunXM1014"))
  94.             g_SelectedGun[KNIFE][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunKNIFE"))
  95.             g_SelectedGun[DEAGLE][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunDEAGLE"))
  96.             g_SelectedGun[USP][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunUSP"))
  97.             g_SelectedGun[GLOCK][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunGLOCK"))
  98.         }
  99.         else {
  100.             Save(id)
  101.         }
  102.     }
  103. }
  104.  
  105. public Save(id) {
  106.     static Query[10048], g_sSteamid[64];
  107.     get_user_authid(id, g_sSteamid[id], charsmax(g_sSteamid)); //lekéred a steamid-t
  108.     formatex(Query, charsmax(Query), "INSERT INTO `sql_mentes_valami` (`Steamid`) VALUES (^"%s^");", g_sSteamid[id]);
  109.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query)
  110. }
  111.  
  112. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  113.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  114.         log_amx("%s", Error)
  115.         return
  116.     }
  117. }
  118.  
  119. public Update(id) {
  120.     static Query [10048];
  121.     new Len, g_sSteamid[64];
  122.     get_user_authid(id, g_sSteamid[id], charsmax(g_sSteamid));
  123.    
  124.     Len += formatex(Query[Len], charsmax(Query), "UPDATE `sql_mentes_valami` SET g_uPointsM4A1 = ^"%i^", ", g_uPoints[M4A1][id])
  125.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsAK47 = ^"%i^", ", g_uPoints[AK47][id])
  126.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsAWP = ^"%i^", ", g_uPoints[AWP][id])
  127.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsSCOUT = ^"%i^", ", g_uPoints[SCOUT][id])
  128.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsFAMAS = ^"%i^", ", g_uPoints[FAMAS][id])
  129.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsGALIL = ^"%i^", ", g_uPoints[GALIL][id])
  130.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsAUG = ^"%i^", ", g_uPoints[AUG][id])
  131.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsM3 = ^"%i^", ", g_uPoints[M3][id])
  132.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsXM1014 = ^"%i^", ", g_uPoints[XM1014][id])
  133.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsKNIFE = ^"%i^", ", g_uPoints[KNIFE][id])
  134.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsDEAGLE = ^"%i^", ", g_uPoints[DEAGLE][id])
  135.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsUSP = ^"%i^", ", g_uPoints[USP][id])
  136.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsGLOCK = ^"%i^", ", g_uPoints[GLOCK][id])
  137.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunAK47 = ^"%i^", ", g_SelectedGun[AK47][id])
  138.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunAWP = ^"%i^", ", g_SelectedGun[AWP][id])
  139.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunSCOUT = ^"%i^", ", g_SelectedGun[SCOUT][id])
  140.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunFAMAS = ^"%i^", ", g_SelectedGun[FAMAS][id])
  141.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunGALIL = ^"%i^", ", g_SelectedGun[GALIL][id])
  142.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunAUG = ^"%i^", ", g_SelectedGun[AUG][id])
  143.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunM3 = ^"%i^", ", g_SelectedGun[M3][id])
  144.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunXM1014 = ^"%i^", ", g_SelectedGun[XM1014][id])
  145.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunKNIFE = ^"%i^", ", g_SelectedGun[KNIFE][id])
  146.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunDEAGLE = ^"%i^", ", g_SelectedGun[DEAGLE][id])
  147.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunUSP = ^"%i^", ", g_SelectedGun[USP][id])
  148.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunGLOCK = ^"%i^", ", g_SelectedGun[GLOCK][id])
  149.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunM4A1 = ^"%i^" WHERE Steamid = ^"%s^";",g_SelectedGun[M4A1][id], g_sSteamid[id]); //és itt is
  150.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query)
  151. }
  152.  
  153. public client_disconnected(id) {
  154.     if(!is_user_bot(id)) {
  155.         Update(id)
  156.     }
  157.     g_uPoints[M4A1][id] = 0
  158.     g_uPoints[AK47][id] = 0
  159.     g_uPoints[AWP][id] = 0
  160.     g_uPoints[SCOUT][id] = 0
  161.     g_uPoints[FAMAS][id] = 0
  162.     g_uPoints[GALIL][id] = 0
  163.     g_uPoints[AUG][id] = 0
  164.     g_uPoints[M3][id] = 0
  165.     g_uPoints[XM1014][id] = 0
  166.     g_uPoints[KNIFE][id] = 0
  167.     g_uPoints[DEAGLE][id] = 0
  168.     g_uPoints[USP][id] = 0
  169.     g_uPoints[GLOCK][id] = 0
  170.     g_SelectedGun[M4A1][id] = 0
  171.     g_SelectedGun[AK47][id] = 0
  172.     g_SelectedGun[AWP][id] = 0
  173.     g_SelectedGun[SCOUT][id] = 0
  174.     g_SelectedGun[FAMAS][id] = 0
  175.     g_SelectedGun[GALIL][id] = 0
  176.     g_SelectedGun[AUG][id] = 0
  177.     g_SelectedGun[M3][id] = 0
  178.     g_SelectedGun[XM1014][id] = 0
  179.     g_SelectedGun[KNIFE][id] = 0
  180.     g_SelectedGun[DEAGLE][id] = 0
  181.     g_SelectedGun[USP][id] = 0
  182.     g_SelectedGun[GLOCK][id] = 0
  183.     get_user_authid(id, g_sSteamid[id], charsmax(g_sSteamid));
  184. }
  185.  
  186.     public plugin_end() {
  187.         SQL_FreeHandle(g_SqlTuple)
  188.     }

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