Files
hanfuit 645b64fe21 DNF90 服务端与启动器完整源码(含 GM 工具功能增强)
服务端(Go):
- GM 塞背包/带属性装备发放:在线角色推送 op14 增量物品行,背包实时刷新,无需回角色选择界面
- GM 改金币/改等级:去掉在线拒绝,落库后推送 op14 钱包/op37 等级状态,在线实时刷新
- 等级端点统一切换到新版 GMSetCharacterLevel(自带在线刷新)
- 无限/锁死疲劳模式 + 燃烧疲劳:每房间消耗 2 点、打怪与通关经验双倍
- 燃烧疲劳开关时给所有在线角色推送系统提示(op12 mode 0)
- 深渊史诗掉率:GM 全局倍率 + 城镇增益药剂窗口倍率,真实接入掉落结算

启动器(Python/JS):
- 标题栏自绘、窗口 1204x717、禁止拖拽改大小、仅最小化/关闭
- GM 工具:疲劳与燃烧、深渊史诗掉率、拍卖行上架(单一定价对齐)
- 拍卖行上架前端对齐服务端单一价格语义,修复 400 报错
2026-11-04 14:31:55 +08:00

274 lines
11 KiB
TypeScript

// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
/**
* ArchiveService: 打开/关闭归档、状态查询、资源树懒加载与搜索。
* @module
*/
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import { Call as $Call, CancellablePromise as $CancellablePromise } from "@wailsio/runtime";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as $models from "./models.js";
/**
* AdvancedIndexStatus returns the lazy string reverse-index status.
*/
export function AdvancedIndexStatus(): $CancellablePromise<$models.AdvancedSearchIndexStatus> {
return $Call.ByID(2276700277);
}
/**
* AdvancedSearch searches raw token bytes, string-pool references, or explorer metadata.
* Pass NextCursor back unchanged; string-mode cursors identify the query
* session and position, while binary mode retains its legacy offset. Limit is 1..1000.
*/
export function AdvancedSearch(mode: string, query: string, scopePath: string, regex: boolean, cursor: number, limit: number): $CancellablePromise<$models.AdvancedSearchResult | null> {
return $Call.ByID(3108371697, mode, query, scopePath, regex, cursor, limit);
}
/**
* CancelAdvancedSearch releases the lazy string index and cancels its current
* build/query. Binary search keeps its existing API and cancellation behavior.
*/
export function CancelAdvancedSearch(): $CancellablePromise<void> {
return $Call.ByID(4160052339);
}
/**
* Close 关闭当前归档,丢弃未保存的内存修改。
*/
export function Close(): $CancellablePromise<void> {
return $Call.ByID(3538974537);
}
/**
* CreateFile adds an empty editable file to the current archive. dataType is
* pvf.TypeScript or pvf.TypeUnicode; the caller can fill its content through
* EditorService.SetText afterwards.
*/
export function CreateFile(path: string, dataType: number): $CancellablePromise<$models.TreeNode | null> {
return $Call.ByID(3528027549, path, dataType);
}
/**
* DeleteFiles removes one or more file entries from the current archive.
*/
export function DeleteFiles(fileIndexes: number[] | null): $CancellablePromise<string[] | null> {
return $Call.ByID(1323782031, fileIndexes);
}
/**
* DeleteFilesWithRegistrations removes files and, when requested, the
* configured .lst entries that register those files.
*/
export function DeleteFilesWithRegistrations(fileIndexes: number[] | null, syncRegistrations: boolean): $CancellablePromise<string[] | null> {
return $Call.ByID(3396075955, fileIndexes, syncRegistrations);
}
/**
* FindFileRegistrations returns configured .lst entries that point to the
* supplied file indexes. It uses the same relation definitions as the search
* index, including contextual skill lists.
*/
export function FindFileRegistrations(fileIndexes: number[] | null): $CancellablePromise<($models.FileRegistration | null)[] | null> {
return $Call.ByID(3214711988, fileIndexes);
}
/**
* ImportFiles imports sourcePaths into targetDir. The source paths may be
* files or directories. All source data is read and staged before the live
* archive is replaced, so an error leaves the current archive unchanged.
*/
export function ImportFiles(sourcePaths: string[] | null, targetDir: string, mode: string): $CancellablePromise<$models.ImportResult | null> {
return $Call.ByID(1820874221, sourcePaths, targetDir, mode);
}
/**
* ImportFilesDialog opens a native multi-selection picker and imports the
* selected files or directories into targetDir.
*/
export function ImportFilesDialog(targetDir: string, mode: string): $CancellablePromise<$models.ImportResult | null> {
return $Call.ByID(2956082033, targetDir, mode);
}
/**
* IndexHashTargets lists the available list/indexhash pairs in a Paged110
* archive. Older archive layouts intentionally return an error.
*/
export function IndexHashTargets(): $CancellablePromise<($models.IndexHashTarget | null)[] | null> {
return $Call.ByID(531951057);
}
/**
* IndexStatus 返回当前归档的语义搜索索引状态。
*/
export function IndexStatus(): $CancellablePromise<$models.IndexStatus> {
return $Call.ByID(1258396651);
}
/**
* Info 返回当前归档状态;未打开时 Path 为空。
*/
export function Info(): $CancellablePromise<$models.ArchiveInfo> {
return $Call.ByID(1156716487);
}
/**
* ListChildren 懒加载某目录的直接子节点;path 为空表示根。
*/
export function ListChildren(path: string): $CancellablePromise<($models.TreeNode | null)[] | null> {
return $Call.ByID(3689351460, path);
}
/**
* ListDescendantFiles returns all files below a directory path. An empty path
* returns every file in the archive. Results preserve the archive path order.
*/
export function ListDescendantFiles(scopePath: string): $CancellablePromise<($models.TreeNode | null)[] | null> {
return $Call.ByID(1570903299, scopePath);
}
/**
* ListModifiedFiles lists the files currently changed in the in-memory PVF
* overlay. It deliberately does not depend on the optional version sidecar,
* so the version panel can show pending edits before version control is
* initialized.
*/
export function ListModifiedFiles(): $CancellablePromise<($models.TreeNode | null)[] | null> {
return $Call.ByID(3738676551);
}
/**
* ListRegistrationOptions returns the configured lists that can point to a
* file. Existing registrations are supplied by the search index and displayed
* beside the editor file, so this endpoint only supplies a target list and a
* collision-free default id.
*/
export function ListRegistrationOptions(fileIndex: number): $CancellablePromise<$models.FileRegistrationOptions | null> {
return $Call.ByID(4087817400, fileIndex);
}
/**
* Open 加载指定路径的归档并构建目录索引。
*/
export function Open(path: string): $CancellablePromise<$models.ArchiveInfo> {
return $Call.ByID(1804667807, path);
}
/**
* OpenDialog 弹出文件选择框并加载归档。
*/
export function OpenDialog(): $CancellablePromise<$models.ArchiveInfo | null> {
return $Call.ByID(4043575243);
}
/**
* PreviewImport validates and maps sourcePaths without modifying the live
* archive. It also stages the files on an isolated archive to catch encoding
* and index-building errors before the user confirms the operation.
*/
export function PreviewImport(sourcePaths: string[] | null, targetDir: string, mode: string): $CancellablePromise<$models.ImportPreview | null> {
return $Call.ByID(928248660, sourcePaths, targetDir, mode);
}
/**
* RebuildSearchIndex starts an asynchronous forced rebuild. An existing ready
* snapshot remains available to Search while the replacement is prepared.
*/
export function RebuildSearchIndex(): $CancellablePromise<$models.IndexStatus> {
return $Call.ByID(2232923942);
}
/**
* RegisterFileToList registers one file in the selected list. Paged110 files
* also receive the generated companion index-hash entry in the same mutation.
*/
export function RegisterFileToList(fileIndex: number, listPath: string, id: string): $CancellablePromise<$models.FileRegistration | null> {
return $Call.ByID(1202157717, fileIndex, listPath, id);
}
/**
* RegisterMissingIndexHashes writes generated hashes for ids that are absent
* from the selected companion file, and repairs entries written to the wrong
* string pool. Valid existing entries are left untouched.
*/
export function RegisterMissingIndexHashes(listPath: string, rawIDs: string[] | null): $CancellablePromise<$models.IndexHashRegistrationResult | null> {
return $Call.ByID(1112195474, listPath, rawIDs);
}
/**
* ResolveFiles resolves archive files by their normalized paths. Missing
* paths are omitted and duplicate input paths are returned only once.
*/
export function ResolveFiles(paths: string[] | null): $CancellablePromise<($models.TreeNode | null)[] | null> {
return $Call.ByID(2727375736, paths);
}
/**
* Search 在路径、语义名称和 id 中做不区分大小写的子串匹配。
* 查询包含 * 或 ? 时,改用通配符匹配:* 匹配任意长度字符,? 匹配一个字符。
* cursor 传上次返回的 NextCursor(首次传 0),limit 为本页上限(1..1000)。
*/
export function Search(query: string, cursor: number, limit: number): $CancellablePromise<$models.SearchResult | null> {
return $Call.ByID(685177899, query, cursor, limit);
}
/**
* SearchEffectResources applies the resource scope before pagination. Particle
* paths are discovered across the archive, including monster/ and equipment/.
*/
export function SearchEffectResources(kind: string, query: string, cursor: number, limit: number): $CancellablePromise<$models.SearchResult | null> {
return $Call.ByID(2434630623, kind, query, cursor, limit);
}
/**
* SearchExact 在路径、语义名称和 id 中做不区分大小写的全量匹配。
* 查询包含 * 或 ? 时,通配符仍按完整字段匹配。
* cursor 传上次返回的 NextCursor(首次传 0),limit 为本页上限(1..1000)。
*/
export function SearchExact(query: string, cursor: number, limit: number): $CancellablePromise<$models.SearchResult | null> {
return $Call.ByID(2978904002, query, cursor, limit);
}
/**
* SearchItems searches only registered equipment and stackable items. Filtering
* happens before pagination, so unrelated records cannot hide valid choices.
*/
export function SearchItems(query: string, cursor: number, limit: number): $CancellablePromise<$models.SearchResult | null> {
return $Call.ByID(2107665645, query, cursor, limit);
}
/**
* SearchQuestTargets searches registered dungeon, monster, or NPC IDs before pagination.
*/
export function SearchQuestTargets(kind: string, query: string, cursor: number, limit: number): $CancellablePromise<$models.SearchResult | null> {
return $Call.ByID(750277207, kind, query, cursor, limit);
}
/**
* SelectImportFilesDialog opens the native multi-selection picker without
* changing the current archive. The returned paths can be previewed first.
*/
export function SelectImportFilesDialog(): $CancellablePromise<string[] | null> {
return $Call.ByID(2682653281);
}
/**
* SetTextEncoding reinterprets native text without rewriting the archive.
*/
export function SetTextEncoding(encoding: string): $CancellablePromise<$models.ArchiveInfo> {
return $Call.ByID(3088270803, encoding);
}
/**
* SuggestDirectories returns directory paths with a case-insensitive prefix
* match. An empty prefix returns no suggestions to avoid flooding the UI.
*/
export function SuggestDirectories(prefix: string, limit: number): $CancellablePromise<string[] | null> {
return $Call.ByID(1741104606, prefix, limit);
}