@echo off
CD /D %~dp0
mode con: cols=80 lines=30
chcp 936 > nul
color 47
title Prefire ONE-CLICK RUN by:RoyZ 2024.5.16

NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' ( goto gotAdmin ) else ( goto getAdmin )

:getAdmin
:: 获取管理员权限
if exist "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs"
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B

:gotAdmin
REM 检查是否存在PFServer文件夹
if not exist "%~dp0PFServer" (
    echo 脚本路径下未找到PFServer文件夹，请将压缩包内的PFServer解压。
    echo 3秒后退出
    timeout /t 5 > nul
    exit
) else (
    echo PFServer文件夹检查通过！
)

REM 检查是否存在game文件夹
if not exist "%~dp0game" (
    echo 脚本路径下未找到game文件夹，请将脚本放置在包含game文件夹的路径下。
    echo 3秒后退出
    timeout /t 5 > nul
    exit
) else (
    echo game文件夹检查通过！
)

REM 检查是否存在cs2.exe文件
if not exist "%~dp0game\bin\win64\cs2.exe" (
    echo 未找到cs2.exe文件，请检查是否正确安装游戏。
    echo 3秒后退出
    timeout /t 5 > nul
    exit
) else (
    echo cs2.exe文件检查通过！
)

echo 环境检查通过！
echo 环境检查通过！
echo 环境检查通过！
echo 环境检查通过！
echo 请自行检查并确保游戏安装路径不含中文！！！！！！
echo 5秒后继续~
timeout /t 5 >nul

:menu
cls                                                                                                            
echo ------------------------------------------------------
echo -----------------Cellinia Texas-----------------------
echo ------------------------------------------------------                                                     
echo                ████               ██████             
echo                ██ ██                 ██              
echo                █████ █████████ ███  ██               
echo                ████  ██   █ █████  ██                
echo                ██ █████████  ███  ██████             
echo                             ███                      
echo                             ██            


echo 脚本作者：RoyZ
echo 脚本发布地址：https://royz.lanzoub.com/b0kmy8aza 密码:6657
echo 脚本使用教程：https://www.bilibili.com/video/BV1zJ4m1p7X2
echo =================================================
echo =================================================
echo =================================================
echo ===欢迎使用预瞄插件一键安装启动脚本 v2024.5.16===
echo 请输入功能序号并回车：
echo 1. 一键创建预瞄服务器文件并创建快捷方式
echo 2. 游戏或插件更新后重新创建服务器
echo 3. 安装困难BOT参数文件
echo 4. 创建桌面快捷方式
echo 5. 创建桌面快捷方式（方法二）
echo 6. 删除预瞄服务器（释放硬盘）
echo 7. 退出


set /p choice=请输入功能编号：

if /I "%choice%"=="1" (
    call :create_server
) else if /I "%choice%"=="2" (
    call :update_plugin
) else if /I "%choice%"=="3" (
    call :advancedbot
) else if /I "%choice%"=="4" (
    call :shortcut
) else if /I "%choice%"=="5" (
    call :shortcut2
) else if /I "%choice%"=="6" (
    call :delserver
) else if /I "%choice%"=="7" (
    exit
) else (
    echo 无效选择，请重新输入。
    timeout /t 5 > nul
    goto :menu
)

:create_server
cls
echo 即将进行复制操作，将会占用约35GB磁盘空间。请确保CS2游戏已经关闭并等候约3分钟后方可进行继续操作。
pause
echo 正在复制game文件夹...
xcopy /E /I /Y /C "game" "gamePFS"
echo game文件夹复制完成.

echo 正在安装插件...
xcopy /E /I /Y /C "PFServer\doneplugins\bin" "gamePFS\bin"
xcopy /E /I /Y /C "PFServer\doneplugins\csgo" "gamePFS\csgo"
echo 安装插件完成.

echo 正在创建桌面快捷方式...
echo Set oWS = WScript.CreateObject("WScript.Shell") > CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut("%USERPROFILE%\Desktop\启动预瞄服务器.lnk") >> CreateShortcut.vbs
echo oLink.TargetPath = "%cd%\gamePFS\bin\win64\preaimserver.bat" >> CreateShortcut.vbs
echo oLink.Save >> CreateShortcut.vbs
cscript CreateShortcut.vbs
del CreateShortcut.vbs
echo Set oWS = WScript.CreateObject("WScript.Shell") > CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut("%USERPROFILE%\Desktop\连接预瞄服务器.lnk") >> CreateShortcut.vbs
echo oLink.TargetPath = "%cd%\gamePFS\bin\win64\connectserver.bat" >> CreateShortcut.vbs
echo oLink.Save >> CreateShortcut.vbs
cscript CreateShortcut.vbs
del CreateShortcut.vbs
echo 创建完成！如果没有正常创建，请使用功能5！

echo 预瞄服务器创建完成，已在桌面创建快捷方式.
set /p run_server=是否现在运行预瞄服务器？（Y/N）
set run_server=%run_server:~0,1%
if /I "%run_server%"=="Y" (
    start gamePFS\bin\win64\preaimserver.bat
    echo 按下任意键可进入预瞄服务器，否则请直接关闭窗口。
    pause
    start steam://connect/127.0.0.1?appid=730
    echo 正在返回菜单
    timeout /t 5 > nul
    goto :menu
) else (
    echo 正在返回菜单
    timeout /t 5 > nul
    goto :menu
)
echo 正在返回菜单
timeout /t 5 > nul
goto :menu
goto :eof

:update_plugin
cls
echo 即将进行更新操作。请确保CS2游戏已经关闭并等候约3分钟后方可进行继续操作。
echo 如是插件更新请确保使用新压缩包内脚本、删除原有的PFServer文件夹并使用新压缩包内的PFServer文件夹
pause
set /p confirm=这将删除已经复制的game文件夹，非本脚本创建的文件夹不会删除需要手动操作。（Y/N）
set confirm=%confirm:~0,1%
if /I "%confirm%"=="Y" (
    rmdir /s /q "gamePFS"
    echo gamePFS文件夹已删除.
) else (
    echo 正在返回菜单
    timeout /t 5 > nul
    goto :menu
)

echo 正在复制game文件夹...
xcopy /E /I /Y /C "game" "gamePFS"
echo game文件夹复制完成.

echo 正在安装插件...
xcopy /E /I /Y /C "PFServer\doneplugins\bin" "gamePFS\bin"
xcopy /E /I /Y /C "PFServer\doneplugins\csgo" "gamePFS\csgo"
echo 安装插件完成.
echo 正在返回菜单
timeout /t 5 > nul
goto :menu

goto :eof

:shortcut
cls
echo 正在创建桌面快捷方式...
echo Set oWS = WScript.CreateObject("WScript.Shell") > CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut("%USERPROFILE%\Desktop\启动预瞄服务器.lnk") >> CreateShortcut.vbs
echo oLink.TargetPath = "%cd%\gamePFS\bin\win64\preaimserver.bat" >> CreateShortcut.vbs
echo oLink.Save >> CreateShortcut.vbs
cscript CreateShortcut.vbs
del CreateShortcut.vbs
echo Set oWS = WScript.CreateObject("WScript.Shell") > CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut("%USERPROFILE%\Desktop\连接预瞄服务器.lnk") >> CreateShortcut.vbs
echo oLink.TargetPath = "%cd%\gamePFS\bin\win64\connectserver.bat" >> CreateShortcut.vbs
echo oLink.Save >> CreateShortcut.vbs
cscript CreateShortcut.vbs
del CreateShortcut.vbs
echo 创建完成！如果没有正常创建，请使用功能5！
echo 正在返回菜单
timeout /t 5 > nul
goto :menu

goto :eof

:delserver
cls
set /p confirm=这将删除已经复制的game文件夹，非本脚本创建的文件夹不会删除，需要手动操作。（Y/N）
set confirm=%confirm:~0,1%
if /I "%confirm%"=="Y" (
    rmdir /s /q "gamePFS"
    echo gamePFS文件夹已删除，请手动删除桌面快捷方式！！！
) else (
    echo 正在返回菜单
    timeout /t 5 > nul
    goto :menu
)
echo 正在返回菜单
timeout /t 5 > nul
goto :menu

:shortcut2
cls
mklink "%userprofile%\Desktop\启动预瞄服务器.lnk" "%cd%\gamePFS\bin\win64\preaimserver.bat"
mklink "%userprofile%\Desktop\连接预瞄服务器.lnk" "%cd%\gamePFS\bin\win64\connectserver.bat"
echo 创建完成！如果没有正常创建请参照压缩包内文档手动创建。
echo 正在返回菜单
timeout /t 5 > nul
goto :menu

:advancedbot
cls
echo 正在安装困难BOT参数...
xcopy /E /I /Y /C "PFServer\advancedbot\csgo" "gamePFS\csgo"
echo 安装完成！如需移除请使用功能2更新即可！
echo 正在返回菜单
timeout /t 5 > nul
goto :menu

goto :eof