diff options
| author | aura <nw@moneybot.cc> | 2026-02-17 23:42:09 +0100 |
|---|---|---|
| committer | aura <nw@moneybot.cc> | 2026-02-17 23:42:09 +0100 |
| commit | 5e2eb7d67ae933b7566f1944d0bb7744da03d586 (patch) | |
| tree | 054acff1113270a9cd07933df760f3768c1b6853 /sourcemod/scripting/gokz-localdb/db/save_js.sp | |
| parent | 341db13a008dc12bb22ceb50452d93d01476308c (diff) | |
move source stuff to its own folder
Diffstat (limited to 'sourcemod/scripting/gokz-localdb/db/save_js.sp')
| -rw-r--r-- | sourcemod/scripting/gokz-localdb/db/save_js.sp | 291 |
1 files changed, 0 insertions, 291 deletions
diff --git a/sourcemod/scripting/gokz-localdb/db/save_js.sp b/sourcemod/scripting/gokz-localdb/db/save_js.sp deleted file mode 100644 index 1d50754..0000000 --- a/sourcemod/scripting/gokz-localdb/db/save_js.sp +++ /dev/null @@ -1,291 +0,0 @@ -/* - Inserts or updates the player's jumpstat into the database. -*/ - - - -public void OnLanding_SaveJumpstat(Jump jump) -{ - int mode = GOKZ_GetCoreOption(jump.jumper, Option_Mode); - - // No tiers given for 'Invalid' jumps. - if (jump.type == JumpType_Invalid || jump.type == JumpType_FullInvalid - || jump.type == JumpType_Fall || jump.type == JumpType_Other - || jump.type != JumpType_LadderJump && jump.offset < -JS_OFFSET_EPSILON - || jump.distance > JS_MAX_JUMP_DISTANCE - || jump.type == JumpType_LadderJump && jump.distance < JS_MIN_LAJ_BLOCK_DISTANCE - || jump.type != JumpType_LadderJump && jump.distance < JS_MIN_BLOCK_DISTANCE) - { - return; - } - - char query[1024]; - DataPack data; - int steamid = GetSteamAccountID(jump.jumper); - int int_dist = RoundToNearest(jump.distance * GOKZ_DB_JS_DISTANCE_PRECISION); - - // Non-block - if (gI_PBJSCache[jump.jumper][mode][jump.type][JumpstatDB_Cache_Distance] == 0 - || int_dist > gI_PBJSCache[jump.jumper][mode][jump.type][JumpstatDB_Cache_Distance]) - { - data = JSRecord_FillDataPack(jump, steamid, mode, false); - Transaction txn_noblock = SQL_CreateTransaction(); - FormatEx(query, sizeof(query), sql_jumpstats_getrecord, steamid, jump.type, mode, 0); - txn_noblock.AddQuery(query); - SQL_ExecuteTransaction(gH_DB, txn_noblock, DB_TxnSuccess_LookupJSRecordForSave, DB_TxnFailure_Generic_DataPack, data, DBPrio_Low); - } - - // Block - if (jump.block > 0 - && (gI_PBJSCache[jump.jumper][mode][jump.type][JumpstatDB_Cache_Block] == 0 - || (jump.block > gI_PBJSCache[jump.jumper][mode][jump.type][JumpstatDB_Cache_Block] - || jump.block == gI_PBJSCache[jump.jumper][mode][jump.type][JumpstatDB_Cache_Block] - && int_dist > gI_PBJSCache[jump.jumper][mode][jump.type][JumpstatDB_Cache_BlockDistance]))) - { - data = JSRecord_FillDataPack(jump, steamid, mode, true); - Transaction txn_block = SQL_CreateTransaction(); - FormatEx(query, sizeof(query), sql_jumpstats_getrecord, steamid, jump.type, mode, 1); - txn_block.AddQuery(query); - SQL_ExecuteTransaction(gH_DB, txn_block, DB_TxnSuccess_LookupJSRecordForSave, DB_TxnFailure_Generic_DataPack, data, DBPrio_Low); - } -} - -static DataPack JSRecord_FillDataPack(Jump jump, int steamid, int mode, bool blockJump) -{ - DataPack data = new DataPack(); - data.WriteCell(jump.jumper); - data.WriteCell(steamid); - data.WriteCell(jump.type); - data.WriteCell(mode); - data.WriteCell(RoundToNearest(jump.distance * GOKZ_DB_JS_DISTANCE_PRECISION)); - data.WriteCell(blockJump ? jump.block : 0); - data.WriteCell(jump.strafes); - data.WriteCell(RoundToNearest(jump.sync * GOKZ_DB_JS_SYNC_PRECISION)); - data.WriteCell(RoundToNearest(jump.preSpeed * GOKZ_DB_JS_PRE_PRECISION)); - data.WriteCell(RoundToNearest(jump.maxSpeed * GOKZ_DB_JS_MAX_PRECISION)); - data.WriteCell(RoundToNearest(jump.duration * GetTickInterval() * GOKZ_DB_JS_AIRTIME_PRECISION)); - return data; -} - -public void DB_TxnSuccess_LookupJSRecordForSave(Handle db, DataPack data, int numQueries, Handle[] results, any[] queryData) -{ - data.Reset(); - int client = data.ReadCell(); - int steamid = data.ReadCell(); - int jumpType = data.ReadCell(); - int mode = data.ReadCell(); - int distance = data.ReadCell(); - int block = data.ReadCell(); - int strafes = data.ReadCell(); - int sync = data.ReadCell(); - int pre = data.ReadCell(); - int max = data.ReadCell(); - int airtime = data.ReadCell(); - - if (!IsValidClient(client)) - { - delete data; - return; - } - - char query[1024]; - int rows = SQL_GetRowCount(results[0]); - if (rows == 0) - { - FormatEx(query, sizeof(query), sql_jumpstats_insert, steamid, jumpType, mode, distance, block > 0, block, strafes, sync, pre, max, airtime); - } - else - { - SQL_FetchRow(results[0]); - int rec_distance = SQL_FetchInt(results[0], JumpstatDB_Lookup_Distance); - int rec_block = SQL_FetchInt(results[0], JumpstatDB_Lookup_Block); - - if (rec_block == 0) - { - gI_PBJSCache[client][mode][jumpType][JumpstatDB_Cache_Distance] = rec_distance; - } - else - { - gI_PBJSCache[client][mode][jumpType][JumpstatDB_Cache_Block] = rec_block; - gI_PBJSCache[client][mode][jumpType][JumpstatDB_Cache_BlockDistance] = rec_distance; - } - - if (block < rec_block || block == rec_block && distance < rec_distance) - { - delete data; - return; - } - - if (rows < GOKZ_DB_JS_MAX_JUMPS_PER_PLAYER) - { - FormatEx(query, sizeof(query), sql_jumpstats_insert, steamid, jumpType, mode, distance, block > 0, block, strafes, sync, pre, max, airtime); - } - else - { - for (int i = 1; i < GOKZ_DB_JS_MAX_JUMPS_PER_PLAYER; i++) - { - SQL_FetchRow(results[0]); - } - int min_rec_id = SQL_FetchInt(results[0], JumpstatDB_Lookup_JumpID); - FormatEx(query, sizeof(query), sql_jumpstats_update, steamid, jumpType, mode, distance, block > 0, block, strafes, sync, pre, max, airtime, min_rec_id); - } - - } - - Transaction txn = SQL_CreateTransaction(); - txn.AddQuery(query); - SQL_ExecuteTransaction(gH_DB, txn, DB_TxnSuccess_SaveJSRecord, DB_TxnFailure_Generic_DataPack, data, DBPrio_Low); -} - -public void DB_TxnSuccess_SaveJSRecord(Handle db, DataPack data, int numQueries, Handle[] results, any[] queryData) -{ - data.Reset(); - int client = data.ReadCell(); - data.ReadCell(); - int jumpType = data.ReadCell(); - int mode = data.ReadCell(); - int distance = data.ReadCell(); - int block = data.ReadCell(); - int strafes = data.ReadCell(); - int sync = data.ReadCell(); - int pre = data.ReadCell(); - int max = data.ReadCell(); - int airtime = data.ReadCell(); - delete data; - - if (!IsValidClient(client) || GOKZ_JS_GetOption(client, JSOption_JumpstatsMaster) == JSToggleOption_Disabled) - { - return; - } - - float distanceFloat = float(distance) / GOKZ_DB_JS_DISTANCE_PRECISION; - float syncFloat = float(sync) / GOKZ_DB_JS_SYNC_PRECISION; - float preFloat = float(pre) / GOKZ_DB_JS_PRE_PRECISION; - float maxFloat = float(max) / GOKZ_DB_JS_MAX_PRECISION; - - if (block == 0) - { - gI_PBJSCache[client][mode][jumpType][JumpstatDB_Cache_Distance] = distance; - GOKZ_PrintToChat(client, true, "%t", "Jump Record", - client, - gC_JumpTypes[jumpType], - distanceFloat, - gC_ModeNamesShort[mode]); - } - else - { - gI_PBJSCache[client][mode][jumpType][JumpstatDB_Cache_Block] = block; - gI_PBJSCache[client][mode][jumpType][JumpstatDB_Cache_BlockDistance] = distance; - GOKZ_PrintToChat(client, true, "%t", "Block Jump Record", - client, - block, - gC_JumpTypes[jumpType], - distanceFloat, - gC_ModeNamesShort[mode], - block); - } - - Call_OnJumpstatPB(client, jumpType, mode, distanceFloat, block, strafes, syncFloat, preFloat, maxFloat, airtime); -} - -public void DB_DeleteBestJump(int client, int steamAccountID, int jumpType, int mode, int isBlock) -{ - DataPack data = new DataPack(); - data.WriteCell(client == 0 ? -1 : GetClientUserId(client)); // -1 if called from server console - data.WriteCell(steamAccountID); - data.WriteCell(jumpType); - data.WriteCell(mode); - data.WriteCell(isBlock); - - char query[1024]; - - FormatEx(query, sizeof(query), sql_jumpstats_deleterecord, steamAccountID, jumpType, mode, isBlock); - - Transaction txn = SQL_CreateTransaction(); - txn.AddQuery(query); - - SQL_ExecuteTransaction(gH_DB, txn, DB_TxnSuccess_BestJumpDeleted, DB_TxnFailure_Generic_DataPack, data, DBPrio_Low); -} - -public void DB_TxnSuccess_BestJumpDeleted(Handle db, DataPack data, int numQueries, Handle[] results, any[] queryData) -{ - char blockString[16] = ""; - - data.Reset(); - int client = GetClientOfUserId(data.ReadCell()); - int steamAccountID = data.ReadCell(); - int jumpType = data.ReadCell(); - int mode = data.ReadCell(); - bool isBlock = data.ReadCell() == 1; - delete data; - - if (isBlock) - { - FormatEx(blockString, sizeof(blockString), "%T ", "Block", client); - } - - ClearCache(client); - - GOKZ_PrintToChatAndLog(client, true, "%t", "Best Jump Deleted", - gC_ModeNames[mode], - blockString, - gC_JumpTypes[jumpType], - steamAccountID & 1, - steamAccountID >> 1); -} - -public void DB_DeleteAllJumps(int client, int steamAccountID) -{ - DataPack data = new DataPack(); - data.WriteCell(client == 0 ? -1 : GetClientUserId(client)); // -1 if called from server console - data.WriteCell(steamAccountID); - - char query[1024]; - - FormatEx(query, sizeof(query), sql_jumpstats_deleteallrecords, steamAccountID); - - Transaction txn = SQL_CreateTransaction(); - txn.AddQuery(query); - - SQL_ExecuteTransaction(gH_DB, txn, DB_TxnSuccess_AllJumpsDeleted, DB_TxnFailure_Generic_DataPack, data, DBPrio_Low); -} - -public void DB_TxnSuccess_AllJumpsDeleted(Handle db, DataPack data, int numQueries, Handle[] results, any[] queryData) -{ - data.Reset(); - int client = GetClientOfUserId(data.ReadCell()); - int steamAccountID = data.ReadCell(); - delete data; - - ClearCache(client); - - GOKZ_PrintToChatAndLog(client, true, "%t", "All Jumps Deleted", - steamAccountID & 1, - steamAccountID >> 1); -} - -public void DB_DeleteJump(int client, int jumpID) -{ - DataPack data = new DataPack(); - data.WriteCell(client == 0 ? -1 : GetClientUserId(client)); // -1 if called from server console - data.WriteCell(jumpID); - - char query[1024]; - FormatEx(query, sizeof(query), sql_jumpstats_deletejump, jumpID); - - Transaction txn = SQL_CreateTransaction(); - txn.AddQuery(query); - - SQL_ExecuteTransaction(gH_DB, txn, DB_TxnSuccess_JumpDeleted, DB_TxnFailure_Generic_DataPack, data, DBPrio_Low); -} - -public void DB_TxnSuccess_JumpDeleted(Handle db, DataPack data, int numQueries, Handle[] results, any[] queryData) -{ - data.Reset(); - int client = GetClientOfUserId(data.ReadCell()); - int jumpID = data.ReadCell(); - delete data; - - GOKZ_PrintToChatAndLog(client, true, "%t", "Jump Deleted", - jumpID); -} |
