diff --git a/client/src/libs/Rayfield.d.ts b/client/src/libs/Rayfield.d.ts index 8f5f298..67c37ee 100644 --- a/client/src/libs/Rayfield.d.ts +++ b/client/src/libs/Rayfield.d.ts @@ -37,6 +37,7 @@ interface Rayfield { Key: string[] } }): Window + LoadConfiguration(): void } interface Window { diff --git a/client/src/libs/Unc.d.ts b/client/src/libs/Unc.d.ts index 8bc1b7d..b43e9af 100644 --- a/client/src/libs/Unc.d.ts +++ b/client/src/libs/Unc.d.ts @@ -107,6 +107,7 @@ export declare function saveinstance( ): void export declare function decompile(script: Instance): string export declare function messagebox(text: string, title: string, flag: number): number +export declare function queue_on_teleport(script: string): undefined // Reflection export declare function loadstring(chunk: string, chunk_name?: string): func diff --git a/client/src/libs/Unc.lua b/client/src/libs/Unc.lua index fc48a63..0d1493a 100644 --- a/client/src/libs/Unc.lua +++ b/client/src/libs/Unc.lua @@ -285,6 +285,10 @@ function Module.isreadonly(a1) return isreadonly(a1) end +function Module.queue_on_teleport(a1) + queue_on_teleport(a1) +end + -- Cache library Module.cache = { replace = function(x, y) diff --git a/client/src/main.client.ts b/client/src/main.client.ts index 7a5ca6a..db9a656 100644 --- a/client/src/main.client.ts +++ b/client/src/main.client.ts @@ -5,7 +5,8 @@ import destoryErrorLogging from "utils/destoryErrorLogging" import Board from "utils/LuaFuncs/board" import { Highlighter } from "utils/Highlighter" import findBestMove from "utils/findBestMove" -import { StarterGui } from "@rbxts/services" +import { Players, StarterGui } from "@rbxts/services" +import { queue_on_teleport } from "libs/Unc" const notiBindableFunc = new Instance("BindableFunction") notiBindableFunc.OnInvoke = (buttonName: string) => { @@ -32,6 +33,11 @@ const window = Rayfield.CreateWindow({ Name: "Chess", LoadingTitle: "Loading 🔃", LoadingSubtitle: "By Haloxx", + ConfigurationSaving: { + Enabled: true, + FolderName: "keplerHaloxx-Chess", + FileName: "chess-script-config", + }, }) const board = new Board() @@ -123,9 +129,7 @@ task.spawn(() => { }) mainTab.CreateSection("Bot Options") -mainTab.CreateLabel( - "Maximum amount of time Stockfish has to think" -) +mainTab.CreateLabel("Maximum amount of time Stockfish has to think") const thinkTimeSlider = mainTab.CreateSlider({ Name: "Max Think Time", Range: [100, 5_000], @@ -135,3 +139,12 @@ const thinkTimeSlider = mainTab.CreateSlider({ Increment: 10, Callback: (value: number) => {}, }) + +Rayfield.LoadConfiguration() + +// re-excecute script on rejoin +Players.LocalPlayer.OnTeleport.Connect(() => { + queue_on_teleport( + `loadstring(game:HttpGet("https://github.com/keplerHaloxx/roblox-chess-script/releases/latest/download/main.lua"))()` + ) +}) diff --git a/client/src/utils/findBestMove.ts b/client/src/utils/findBestMove.ts index d06cbc0..173d991 100644 --- a/client/src/utils/findBestMove.ts +++ b/client/src/utils/findBestMove.ts @@ -1,8 +1,6 @@ import { HttpService, Workspace } from "@rbxts/services" import HttpGet from "./HttpGet" import Board from "./LuaFuncs/board" -import rprint from "./rprint" -import { Highlighter } from "./Highlighter" import getPosFromResult from "./getPosFromResult" interface MoveJsonData {