Compare commits
283 Commits
Author | SHA1 | Date | |
---|---|---|---|
5cbdaa7134 | |||
b2f59431a6 | |||
04ec214714 | |||
196b56ab71 | |||
226742776f | |||
f4ec2ee5fa | |||
f33d37cd90 | |||
2394ec7f5d | |||
8baa61b72c | |||
f35ea79475 | |||
46b8ca0b63 | |||
b8cfaf308d | |||
c7d3e5021c | |||
a689b425ca | |||
9bd45157a4 | |||
![]() |
169b8997ec | ||
![]() |
aa6ea882d9 | ||
![]() |
c86b275096 | ||
![]() |
a81985549e | ||
![]() |
f4e9409afa | ||
6647e5bd37 | |||
64b7c25de5 | |||
7c562228c6 | |||
91a194c948 | |||
50a30331e5 | |||
![]() |
da47941564 | ||
![]() |
6e999f92a0 | ||
f4fc0ef3c5 | |||
![]() |
2dc8dc734b | ||
![]() |
98663240de | ||
ba782c85d4 | |||
dea067b21f | |||
d56c73e2a3 | |||
5d208d1220 | |||
47a3a1c7ab | |||
56059b4f4f | |||
09577d5403 | |||
fb77f9432a | |||
0f70405041 | |||
399888f976 | |||
a8a0a14713 | |||
59af1e468d | |||
0d1bad5551 | |||
7eb2ff1624 | |||
72351ba60f | |||
7dc2dcc9db | |||
5b4a7d784d | |||
1d8d199af7 | |||
c4e29dc000 | |||
72ec031f8a | |||
2300b8d5db | |||
7ec81ab146 | |||
cf3ffeb8c6 | |||
118a7fe0f1 | |||
005c68cc5b | |||
70f390c5d7 | |||
65de82a227 | |||
a2494b59f7 | |||
b05269712a | |||
740463f017 | |||
![]() |
30521d068e | ||
c7898401ce | |||
d169de9a9e | |||
74ddb428ee | |||
ba4837f1f8 | |||
cdf25f6b6f | |||
e630c53c9f | |||
db13f82bfc | |||
63ebaa5df8 | |||
7b886ea251 | |||
436c4d809c | |||
6ab7bac20b | |||
![]() |
7f852ffb8e | ||
69e68810ba | |||
a63f79230b | |||
3b01c62ed2 | |||
cdc69d23b9 | |||
92a15afabf | |||
277e265bf1 | |||
473163e7c6 | |||
f1eb40bb0d | |||
6c23915615 | |||
d0361c29aa | |||
9ee1239341 | |||
a2a74980bf | |||
01c7f7d528 | |||
a9c8a667ec | |||
bcfb23a8fb | |||
111a98a916 | |||
784163d816 | |||
ce2a6533f2 | |||
17275e194a | |||
9664c9f11d | |||
8b1e4a3d1a | |||
e7347a1a26 | |||
a4cf38dd71 | |||
c018b23913 | |||
0c003616cb | |||
7bfd6517a7 | |||
42e5c94601 | |||
cd25afe0c7 | |||
302e4e327d | |||
52317d8d5a | |||
757bb2dd95 | |||
3be6550593 | |||
![]() |
f79764dbb5 | ||
![]() |
61a598d7e3 | ||
dc61940e3c | |||
086c4da557 | |||
d79b50527e | |||
4a91e5a6bd | |||
8db5fd1efd | |||
![]() |
d22ba331d9 | ||
![]() |
cc20e81ebf | ||
0dac9051f7 | |||
![]() |
78106ee726 | ||
b708cff0cd | |||
aa075f5f91 | |||
8d42ddee10 | |||
2a3100c822 | |||
97bc9d8f6a | |||
f2c4bfb7d3 | |||
d84f8036f7 | |||
16a57f38d3 | |||
88031a79d0 | |||
a36ce1af0f | |||
397ec8472b | |||
160b49d752 | |||
fd515b18cf | |||
5c7c64ea6c | |||
64626ad065 | |||
8a65120e47 | |||
150e3a1132 | |||
fbe53a7a0b | |||
641d130a72 | |||
6313373283 | |||
f70e61c686 | |||
7d19876072 | |||
74613a809d | |||
60e54b1c91 | |||
c860180564 | |||
f0885a1fee | |||
641a4b0006 | |||
fec144cb64 | |||
c6b2c0ea65 | |||
8c42aca027 | |||
d84a34b268 | |||
![]() |
eb6f15f078 | ||
![]() |
bd7aac6fcf | ||
346a68ddb4 | |||
e8736c997a | |||
![]() |
5d383ad72f | ||
![]() |
0ec942275e | ||
![]() |
24a38cbdf4 | ||
c0a798ba93 | |||
d930e3ee11 | |||
![]() |
3dbfa76de9 | ||
8634d37977 | |||
f2a923a654 | |||
5737a967b3 | |||
5f80a270c1 | |||
e3664f577e | |||
46eb1ee6b1 | |||
a43744c89d | |||
12d7dde2e7 | |||
![]() |
69068fad63 | ||
![]() |
2975ef0b49 | ||
0871238e59 | |||
5f2755f5bb | |||
746254c348 | |||
c43b73db3f | |||
af40aed3f3 | |||
![]() |
ea013737f6 | ||
79d4b266b8 | |||
6430000aad | |||
2b6af9aacd | |||
43ff071250 | |||
a70a3979e5 | |||
013b3c76b4 | |||
6575931ab2 | |||
26f5f31be5 | |||
7204297465 | |||
![]() |
4dfcb2538d | ||
![]() |
e9cd500628 | ||
7ce0c132fe | |||
5b1d86b155 | |||
53cb968e67 | |||
314f9b67e3 | |||
50f7e72ff5 | |||
ce7ac5bc8a | |||
aff13c2a97 | |||
eba9db1e35 | |||
71ac75a4ca | |||
f393b372ec | |||
cfb94e70b7 | |||
ab9b955c31 | |||
4e4b47a9e6 | |||
3da3bc4f23 | |||
7cc46eb677 | |||
b9d1a2c2cd | |||
a0cc908983 | |||
7dc7c7c8ac | |||
ad4ca74e71 | |||
a079685be8 | |||
6703037527 | |||
417f0b7334 | |||
45aec44f39 | |||
7dd1e78512 | |||
418dfec289 | |||
bc69a1c4ba | |||
63f7eda5c3 | |||
879bc34358 | |||
c5a6d7f041 | |||
20b1aca700 | |||
fb1a332f2c | |||
867bdd1d00 | |||
5e28d1e625 | |||
e6ecde9951 | |||
![]() |
2cb9f08caa | ||
![]() |
9eba1d6368 | ||
![]() |
ef4f06d6c3 | ||
2857024b4c | |||
61f53d11e4 | |||
4bb4f4a715 | |||
e68e7e2c12 | |||
![]() |
49b56d7354 | ||
![]() |
9e69037972 | ||
![]() |
973cbead42 | ||
0c0f9fc03e | |||
b15eea8d1b | |||
6b8b392d65 | |||
![]() |
dfd93fcdb0 | ||
![]() |
f80be7608c | ||
12b8608a16 | |||
![]() |
f34e97c8c8 | ||
13d6109c8c | |||
14c455071b | |||
6e978543a6 | |||
23c0aff49f | |||
2bbe0e1a65 | |||
f678b10171 | |||
cae6f73eeb | |||
![]() |
66aa1bc8cb | ||
19b637eee9 | |||
![]() |
0377b0141a | ||
3e89c93589 | |||
a3bb2c9cf4 | |||
![]() |
da86e2672d | ||
110c1017e7 | |||
166f0b5fda | |||
2de8a46bd5 | |||
e90aaf6f97 | |||
b37ead7acf | |||
ed9b393478 | |||
037d2c4a5a | |||
563cee5c4c | |||
7f10eb8ac4 | |||
![]() |
3c7a21cdbd | ||
f59a76e236 | |||
9bc4c07112 | |||
792ff48bb9 | |||
21ac4151a7 | |||
06192a06fe | |||
c69369857d | |||
17b055d898 | |||
8da2e6a4c7 | |||
1006124f8a | |||
7155ecd05d | |||
fcfef2317b | |||
407ee069c1 | |||
b798593cbb | |||
![]() |
378f978000 | ||
3b5c5460f0 | |||
509db272a8 | |||
99db22a18e | |||
![]() |
e09f08018f | ||
![]() |
fc4124e35b | ||
ac3b04eb52 | |||
93104f7b8b | |||
![]() |
91b5e572a3 | ||
5c5108fe13 | |||
03b5d89410 | |||
239ade1402 |
32
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
name: Build project
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- Source/**
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- Source/**
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup MSBuild.exe
|
||||
uses: microsoft/setup-msbuild@v1.1.3
|
||||
|
||||
- name: Build release
|
||||
run: msbuild Source/GrasscutterTools.sln /p:Configuration=Release /t:build /restore
|
||||
|
||||
- name: Upload build artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: GrasscutterTools
|
||||
path: Source/GrasscutterTools/bin/Release/GrasscutterTools.exe
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 40 KiB |
BIN
Doc/Screenshots-en/15-DropEditor.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
Doc/Screenshots-en/16-MailEditor.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
Doc/Screenshots-en/17-ShopEditor.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
Doc/Screenshots-en/18-TaskPage.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Doc/Screenshots-en/19-AchievementPage.png
Normal file
After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 22 KiB |
BIN
Doc/Screenshots-ru/1-Home.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
Doc/Screenshots-ru/10-Mail.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
Doc/Screenshots-ru/11-Quests.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
Doc/Screenshots-ru/12-Scenes.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Doc/Screenshots-ru/13-Shop.png
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
Doc/Screenshots-ru/14-Gachas.png
Normal file
After Width: | Height: | Size: 95 KiB |
BIN
Doc/Screenshots-ru/15-Drops.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
Doc/Screenshots-ru/16-Textmaps.png
Normal file
After Width: | Height: | Size: 7.1 KiB |
BIN
Doc/Screenshots-ru/18-TaskPage.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
Doc/Screenshots-ru/19-AchievementPage.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
Doc/Screenshots-ru/2-Opencommand.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
Doc/Screenshots-ru/3-Custom.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Doc/Screenshots-ru/4-Artifacts.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
Doc/Screenshots-ru/5-Spawn.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
Doc/Screenshots-ru/6-Give.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
Doc/Screenshots-ru/7-Character.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
Doc/Screenshots-ru/8-Weapons.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
Doc/Screenshots-ru/9-Accounts.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
Doc/Screenshots-tw/0-Home.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
Doc/Screenshots-tw/1-CustomCommands.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
Doc/Screenshots-tw/10-GachaBannerEditor.png
Normal file
After Width: | Height: | Size: 136 KiB |
BIN
Doc/Screenshots-tw/11-TextMapBrowser.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
Doc/Screenshots-tw/12-Remote.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
Doc/Screenshots-tw/13-Quest.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
Doc/Screenshots-tw/15-DropEditor.png
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
Doc/Screenshots-tw/16-MailEditor.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
Doc/Screenshots-tw/17-ShopEditor.png
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
Doc/Screenshots-tw/18-TaskPage.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
Doc/Screenshots-tw/19-AchievementPage.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
Doc/Screenshots-tw/2-CustomArtifact.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
Doc/Screenshots-tw/3-CustomWeapon.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
Doc/Screenshots-tw/4-GiveItem.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
Doc/Screenshots-tw/5-GiveAvatar.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
Doc/Screenshots-tw/6-SpawnEntity.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
Doc/Screenshots-tw/6.1-AttackMod.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
Doc/Screenshots-tw/6.2-AttackInfuse.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
Doc/Screenshots-tw/7-ChangeScene.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
Doc/Screenshots-tw/9-Manage.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
Doc/Screenshots-tw/AttackMod.gif
Normal file
After Width: | Height: | Size: 3.6 MiB |
BIN
Doc/Screenshots-tw/ConfigHttp.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
Doc/Screenshots-tw/GrasscutterLogo.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
Doc/Screenshots-tw/OpenCommand.gif
Normal file
After Width: | Height: | Size: 821 KiB |
BIN
Doc/Screenshots-tw/RunMultipleCommands.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 49 KiB |
BIN
Doc/Screenshots/15-DropEditor.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
Doc/Screenshots/16-MailEditor.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
Doc/Screenshots/17-ShopEditor.png
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
Doc/Screenshots/18-TaskPage.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
Doc/Screenshots/19-AchievementPage.png
Normal file
After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 42 KiB |
BIN
Doc/Screenshots/6.1-AttackMod.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
Doc/Screenshots/6.2-AttackInfuse.png
Normal file
After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 31 KiB |
BIN
Doc/Screenshots/AttackMod.gif
Normal file
After Width: | Height: | Size: 3.6 MiB |
BIN
Doc/Screenshots/ConfigHttp.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
Doc/Screenshots/RunMultipleCommands.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
102
README.md
@@ -3,69 +3,93 @@
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/blob/main/LICENSE)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/stargazers)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases/latest)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml)
|
||||
[](https://qm.qq.com/cgi-bin/qm/qr?k=PdS9--b-n8LEAmYjX8fNFXtKDcsp4NHN&jump_from=webapi&authKey=7ty3ZCKYMKLGWLmO8O84qiNAZ0EuCnSGF+acP+74xuDMKYXXNjuPP7iUzffHz4r2)
|
||||
|
||||
中文 | [EN](README_en-US.md)
|
||||
English | [简体中文](README_zh-cn.md) | [繁體中文](README_zh-tw.md) | [Русский](README_ru-RU.md)
|
||||
|
||||
## Commands Generator
|
||||
|
||||
请从 [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases) 中获取最新版本
|
||||
Please download the latest committed automated build from [Action](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml), or a release from [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases) (may be behind)
|
||||
|
||||
## 远程执行
|
||||
Support 简体中文, 繁體中文, English and Русский languages.
|
||||
|
||||
服务端需要 [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) 插件支持
|
||||
> **Warning**: app look may be different rather than on screenshots. It may also contain translation errors and a lack of certain resources. **We're welcome everyone to contribute to their [improvement](/Source/GrasscutterTools/Resources/en-us)**
|
||||
|
||||
## Update log
|
||||
|
||||
### GrasscutterTools-v1.9
|
||||

|
||||
|
||||
### GrasscutterTools-v1.8
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.3
|
||||

|
||||
|
||||
Added [AttackModifier](https://github.com/NotThorny/AttackModifier), [AttackInfusedWithItem](https://github.com/snoobi-seggs/AttackInfusedWithItem), [SwitchElementTraveller](https://github.com/Penelopeep/SwitchElementTraveller) plugins command generation
|
||||
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.2
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.1
|
||||
- Gadgets(CHS Only)
|
||||
|
||||
### GrasscutterTools-v1.7.0
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## Remote command
|
||||
|
||||
The server require [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) support
|
||||
|
||||

|
||||
|
||||
> If you cannot connect to the server, please make sure the server address is correct.
|
||||
>
|
||||
> It is recommended to configure the server to HTTP mode, as shown in the figure(config.json):
|
||||
> 
|
||||
>
|
||||
> You can visit http://127.0.0.1/status/server with a browser to test whether the service is working properly.
|
||||
>
|
||||
> If you are not using port `80`, specify the port number to access in the url: http://127.0.0.1:443
|
||||
|
||||
---
|
||||
|
||||
## TODO List
|
||||
- [ ] 多语言支持(进度:UI已经支持英语,但还有许多ID映射文件缺失,欢迎补充)
|
||||
- [x] Animal.txt
|
||||
- [x] Artifact.txt
|
||||
- [ ] ArtifactCat.txt
|
||||
- [ ] ArtifactMainAttribution.txt
|
||||
- [ ] ArtifactSubAttribution.txt
|
||||
- [x] Avatar.txt
|
||||
- [x] CustomCommands.txt
|
||||
- [x] Item.txt
|
||||
- [x] Monster.txt
|
||||
- [x] NPC.txt
|
||||
- [ ] Ornament.txt
|
||||
- [x] Scene.txt
|
||||
- [x] Weapon.txt
|
||||
- [ ] Quest.txt
|
||||
- [x] 远程执行命令
|
||||
- [ ] 邮件编辑器(无进度)
|
||||
- [ ] 商店编辑器(无进度)
|
||||
|
||||
## 软件截图
|
||||
## Screenshots
|
||||
|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||
|
||||

|
||||

|
||||
|
@@ -1,71 +0,0 @@
|
||||
# Grasscutter Tools
|
||||
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/blob/main/LICENSE)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/stargazers)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases)
|
||||
|
||||
[中文](README.md) | EN
|
||||
|
||||
## Commands Generator
|
||||
|
||||
Please download the latest version from [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases)
|
||||
|
||||
## Remote command
|
||||
|
||||
The server require [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) support
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## TODO List
|
||||
- [ ] Multi-language support (progress: UI already supports English, but there are still many ID mapping files missing, welcome to add)
|
||||
- [x] Animal.txt
|
||||
- [x] Artifact.txt
|
||||
- [ ] ArtifactCat.txt
|
||||
- [ ] ArtifactMainAttribution.txt
|
||||
- [ ] ArtifactSubAttribution.txt
|
||||
- [x] Avatar.txt
|
||||
- [x] CustomCommands.txt
|
||||
- [x] Item.txt
|
||||
- [x] Monster.txt
|
||||
- [x] NPC.txt
|
||||
- [ ] Ornament.txt
|
||||
- [x] Scene.txt
|
||||
- [x] Weapon.txt
|
||||
- [ ] Quest.txt
|
||||
- [x] Execute command remotely
|
||||
- [ ] Mail Editor (no progress)
|
||||
- [ ] Shop Editor (no progress)
|
||||
|
||||
## Screenshots
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
100
README_ru-RU.md
Normal file
@@ -0,0 +1,100 @@
|
||||
# Grasscutter Tools
|
||||
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/blob/main/LICENSE)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/stargazers)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases/latest)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml)
|
||||
|
||||
[English](README.md) | [简体中文](README_zh-cn.md) | [繁體中文](README_zh-tw.md) | Русский - Перевод [Юрий Дворецкий](https://github.com/yurikenjx) (с исправлениями от [EgorBron](https://github.com/EgorBron))
|
||||
|
||||
## Генератор команд (GCG)
|
||||
|
||||
Пожалуйста, загрузите последнюю подтвержденную автоматизированную сборку из [Action](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml) или выпуск из [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases) (может отставать)
|
||||
|
||||
GCG поддерживает 简体中文 (китайский упр.), 繁體中文 (китайский трад.), English (английский) и Русский языки.
|
||||
|
||||
> **Warning**: вид приложения может отличаться от скриншотов. Также в нём могут присутствовать ошибки в переводе и отсутсвие некоторых ресурсов. **Мы приглашаем всех сделать вклад в их [улучшение](/Source/GrasscutterTools/Resources/ru-ru)**
|
||||
|
||||
## Лог обновлений
|
||||
|
||||
### GrasscutterTools-v1.9
|
||||

|
||||
|
||||
### GrasscutterTools-v1.8
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.3
|
||||

|
||||
|
||||
Добавлена поддержка генерации команд для плагинов [AttackModifier](https://github.com/NotThorny/AttackModifier), [AttackInfusedWithItem](https://github.com/snoobi-seggs/AttackInfusedWithItem), [SwitchElementTraveller](https://github.com/Penelopeep/SwitchElementTraveller).
|
||||
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.2
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.1
|
||||
- Гаджеты (пока что только на китайском)
|
||||
|
||||
### GrasscutterTools-v1.7.0
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## Удаленная команда (OpenCommand)
|
||||
|
||||
Чтобы использовать команды прямо из GCG, серверу требуется плагин [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin).
|
||||
|
||||

|
||||
|
||||
> Если вы не можете подключиться к серверу, проверьте правильность написания его URL-адреса.
|
||||
>
|
||||
> Рекомендуется изменить секцию HTTP в конфиге как на скриншоте ниже (конфиг - файл config.json):
|
||||
>
|
||||
> 
|
||||
>
|
||||
> Для проверки можете посетить http://127.0.0.1/status/server в браузере, чтобы проверить работоспособность OpenCommand.
|
||||
>
|
||||
> Если вы не указали порт `80` в конфиге, вам нужно указать свой порт в URL-адресе (например, http://127.0.0.1:443)
|
||||
|
||||
---
|
||||
|
||||
## Скриншоты
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
98
README_zh-cn.md
Normal file
@@ -0,0 +1,98 @@
|
||||
# Grasscutter Tools
|
||||
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/blob/main/LICENSE)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/stargazers)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases/latest)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml)
|
||||
[](https://qm.qq.com/cgi-bin/qm/qr?k=PdS9--b-n8LEAmYjX8fNFXtKDcsp4NHN&jump_from=webapi&authKey=7ty3ZCKYMKLGWLmO8O84qiNAZ0EuCnSGF+acP+74xuDMKYXXNjuPP7iUzffHz4r2)
|
||||
|
||||
[English](README.md) | 简体中文 | [繁體中文](README_zh-tw.md) | [Русский](README_ru-RU.md)
|
||||
|
||||
## Commands Generator
|
||||
|
||||
请从 [Action](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml) 中下载最新提交的自动构建版本,或者从 [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases) 中下载发布版本(可能落后)
|
||||
|
||||
本工具支持 简体中文, 繁體中文, English 与 Русский 语言。
|
||||
|
||||
> **Warning**: 应用程序的外观可能与截图上的不同。它也可能包含翻译错误和缺乏某些资源。**我们欢迎各位为此工具做出贡献并<a href="./Source/GrasscutterTools/Resources/zh-cn">改进</a> : )**
|
||||
|
||||
## Update log
|
||||
|
||||
### GrasscutterTools-v1.9
|
||||

|
||||
|
||||
### GrasscutterTools-v1.8
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.3
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
新增[攻击修改](https://github.com/NotThorny/AttackModifier)、[攻击注入](https://github.com/snoobi-seggs/AttackInfusedWithItem)、[切换元素](https://github.com/Penelopeep/SwitchElementTraveller)等插件命令生成
|
||||
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.2
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.1
|
||||
- 增加了 Gadgets
|
||||
|
||||
### GrasscutterTools-v1.7.0
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## 远程执行
|
||||
|
||||
服务端需要 [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) 插件支持
|
||||
|
||||

|
||||
|
||||
> 如果你无法连接到服务器,请确认填写的服务器地址是否正确。
|
||||
>
|
||||
> 建议配置服务器为HTTP模式,如图所示(config.json):
|
||||
> 
|
||||
>
|
||||
> 你可以用浏览器访问 http://127.0.0.1/status/server 来测试服务是否正常工作。
|
||||
>
|
||||
> 如果使用的不是`80`端口,则要在url中指定访问的端口号:http://127.0.0.1:443
|
||||
|
||||
---
|
||||
|
||||
## 软件截图
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
99
README_zh-tw.md
Normal file
@@ -0,0 +1,99 @@
|
||||
# Grasscutter Tools
|
||||
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/blob/main/LICENSE)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/stargazers)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/releases/latest)
|
||||
[](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml)
|
||||
[](https://qm.qq.com/cgi-bin/qm/qr?k=PdS9--b-n8LEAmYjX8fNFXtKDcsp4NHN&jump_from=webapi&authKey=7ty3ZCKYMKLGWLmO8O84qiNAZ0EuCnSGF+acP+74xuDMKYXXNjuPP7iUzffHz4r2)
|
||||
|
||||
[English](README.md) | [简体中文](README_zh-cn.md) | 繁體中文 | [Русский](README_ru-RU.md)
|
||||
|
||||
## 指令產生工具
|
||||
|
||||
請從 [Action](https://github.com/jie65535/GrasscutterCommandGenerator/actions/workflows/build.yml) 中下載最新提交的自動構建版本,或者從 [Releases](https://github.com/jie65535/GrasscutterCommandGenerator/releases) 中下載發布版本(可能落後)
|
||||
|
||||
本工具支援 简体中文、繁體中文、English 及 Русский 上述語言。
|
||||
|
||||
> **Warning**: 程式中的實際外觀可能會與截圖中的內容不同。其中也可能包含翻譯錯誤及缺乏特定資源。**我們歡迎各位為此工具做出貢獻並[改進](/Source/GrasscutterTools/Resources/zh-tw)**
|
||||
|
||||
## 更新日誌
|
||||
|
||||
### GrasscutterTools-v1.9
|
||||

|
||||
|
||||
### GrasscutterTools-v1.8
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.3
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
新增 [攻擊修改](https://github.com/NotThorny/AttackModifier)、[攻擊注入](https://github.com/snoobi-seggs/AttackInfusedWithItem)、[主角切換元素](https://github.com/Penelopeep/SwitchElementTraveller)等插件指令產生
|
||||
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.2
|
||||

|
||||
|
||||
### GrasscutterTools-v1.7.1
|
||||
- 新增 Gadgets
|
||||
|
||||
### GrasscutterTools-v1.7.0
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## 遠端控制
|
||||
|
||||
伺服器需要安裝 [gc-opencommand-plugin](https://github.com/jie65535/gc-opencommand-plugin) 插件
|
||||
|
||||

|
||||
|
||||
> 如果你無法連接至伺服器,請確認輸入的伺服器位址是否正確。
|
||||
>
|
||||
> 建議將伺服器調整為HTTP模式,如下圖所示(config.json):
|
||||
> 
|
||||
>
|
||||
> 你可藉由任何瀏覽器輸入網址 http://127.0.0.1/status/server 以測試伺服器是否正常運作。
|
||||
>
|
||||
> 如果你並非使用`80`端口, 則須在網址後輸入指定端口: http://127.0.0.1:443
|
||||
|
||||
---
|
||||
|
||||
|
||||
## 工具截圖
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
@@ -17,7 +17,7 @@
|
||||
<value>10001</value>
|
||||
</setting>
|
||||
<setting name="DefaultLanguage" serializeAs="String">
|
||||
<value>zh-CN</value>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="ResourcesDirPath" serializeAs="String">
|
||||
<value />
|
||||
@@ -37,6 +37,39 @@
|
||||
<setting name="TokenCache" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="CommandVersion" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="IsTopMost" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="DropJsonPath" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="DefaultMailSender" serializeAs="String">
|
||||
<value>GrasscutterTools</value>
|
||||
</setting>
|
||||
<setting name="ShopJsonPath" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="MainFormLocation" serializeAs="String">
|
||||
<value>0, 0</value>
|
||||
</setting>
|
||||
<setting name="MainFormSize" serializeAs="String">
|
||||
<value>0, 0</value>
|
||||
</setting>
|
||||
<setting name="BannersJsonPath" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="IsIncludeUID" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="NavContainerSplitterDistance" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
<setting name="ActivityConfigJsonPath" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
</GrasscutterTools.Properties.Settings>
|
||||
</userSettings>
|
||||
</configuration>
|
@@ -14,8 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using GrasscutterTools.DispatchServer.Model;
|
||||
|
@@ -14,8 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
**/
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace GrasscutterTools.DispatchServer.Model
|
||||
@@ -25,6 +26,9 @@ namespace GrasscutterTools.DispatchServer.Model
|
||||
[JsonProperty("playerCount")]
|
||||
public int PlayerCount { get; set; }
|
||||
|
||||
[JsonProperty("MaxPlayer")]
|
||||
public int MaxPlayer { get; set; } = -1;
|
||||
|
||||
[JsonProperty("version")]
|
||||
public string Version { get; set; }
|
||||
}
|
||||
|
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
|
||||
<Costura />
|
||||
</Weavers>
|
2233
Source/GrasscutterTools/FormMain.Designer.cs
generated
@@ -1,859 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="BtnCopy.Text" xml:space="preserve">
|
||||
<value>Copy</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="ChkAutoCopy.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>54, 21</value>
|
||||
</data>
|
||||
<data name="ChkAutoCopy.Text" xml:space="preserve">
|
||||
<value>Auto</value>
|
||||
</data>
|
||||
<data name="GrpCommand.Text" xml:space="preserve">
|
||||
<value>Command (Press and hold Ctrl to run automatically)</value>
|
||||
</data>
|
||||
<data name="BtnInvokeOpenCommand.Text" xml:space="preserve">
|
||||
<value>Run(F5)</value>
|
||||
</data>
|
||||
<data name="TPHome.Text" xml:space="preserve">
|
||||
<value>Home</value>
|
||||
</data>
|
||||
<data name="BtnOpenTextMap.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>120, 23</value>
|
||||
</data>
|
||||
<data name="BtnOpenTextMap.Text" xml:space="preserve">
|
||||
<value>TextMapBrowser</value>
|
||||
</data>
|
||||
<data name="BtnOpenGachaBannerEditor.Text" xml:space="preserve">
|
||||
<value>Banner editor</value>
|
||||
</data>
|
||||
<data name="GrpSettings.Text" xml:space="preserve">
|
||||
<value>Settings</value>
|
||||
</data>
|
||||
<data name="ChkIncludeUID.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>95, 21</value>
|
||||
</data>
|
||||
<data name="ChkIncludeUID.Text" xml:space="preserve">
|
||||
<value>Include UID</value>
|
||||
</data>
|
||||
<data name="LblAbout.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>74, 38</value>
|
||||
</data>
|
||||
<data name="LblAbout.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>158, 24</value>
|
||||
</data>
|
||||
<data name="LblAbout.Text" xml:space="preserve">
|
||||
<value>Have a nice time!</value>
|
||||
</data>
|
||||
<data name="TPCustom.Text" xml:space="preserve">
|
||||
<value>Custom</value>
|
||||
</data>
|
||||
<data name="BtnExportCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>533, 216</value>
|
||||
</data>
|
||||
<data name="BtnExportCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>60, 23</value>
|
||||
</data>
|
||||
<data name="BtnExportCustomCommands.Text" xml:space="preserve">
|
||||
<value>Export</value>
|
||||
</data>
|
||||
<data name="BtnLoadCustomCommands.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>467, 216</value>
|
||||
</data>
|
||||
<data name="BtnLoadCustomCommands.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>60, 23</value>
|
||||
</data>
|
||||
<data name="BtnLoadCustomCommands.Text" xml:space="preserve">
|
||||
<value>Load</value>
|
||||
</data>
|
||||
<data name="LblCustomName.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>30, 17</value>
|
||||
</data>
|
||||
<data name="LblCustomName.Text" xml:space="preserve">
|
||||
<value>Tag</value>
|
||||
</data>
|
||||
<data name="groupBox1.Text" xml:space="preserve">
|
||||
<value>List</value>
|
||||
</data>
|
||||
<data name="BtnRemoveCustomCommand.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>393, 216</value>
|
||||
</data>
|
||||
<data name="BtnRemoveCustomCommand.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>70, 23</value>
|
||||
</data>
|
||||
<data name="BtnRemoveCustomCommand.Text" xml:space="preserve">
|
||||
<value>x Delete</value>
|
||||
</data>
|
||||
<data name="BtnSaveCustomCommand.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>317, 216</value>
|
||||
</data>
|
||||
<data name="BtnSaveCustomCommand.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>70, 23</value>
|
||||
</data>
|
||||
<data name="BtnSaveCustomCommand.Text" xml:space="preserve">
|
||||
<value>√ Save</value>
|
||||
</data>
|
||||
<data name="TxtCustomName.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>267, 23</value>
|
||||
</data>
|
||||
<data name="TPArtifact.Text" xml:space="preserve">
|
||||
<value>Artifact</value>
|
||||
</data>
|
||||
<data name="BtnAddSubAttr.Text" xml:space="preserve">
|
||||
<value>+ Add</value>
|
||||
</data>
|
||||
<data name="LblArtifactStars.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>298, 41</value>
|
||||
</data>
|
||||
<data name="LblArtifactStars.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>37, 17</value>
|
||||
</data>
|
||||
<data name="LblArtifactStars.Text" xml:space="preserve">
|
||||
<value>Stars</value>
|
||||
</data>
|
||||
<data name="LblArtifactPart.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>31, 17</value>
|
||||
</data>
|
||||
<data name="LblArtifactPart.Text" xml:space="preserve">
|
||||
<value>Part</value>
|
||||
</data>
|
||||
<data name="LblArtifactSet.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>87, 11</value>
|
||||
</data>
|
||||
<data name="LblArtifactSet.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>49, 17</value>
|
||||
</data>
|
||||
<data name="LblArtifactSet.Text" xml:space="preserve">
|
||||
<value>Artifact</value>
|
||||
</data>
|
||||
<data name="LblArtifactLevelTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>62, 17</value>
|
||||
</data>
|
||||
<data name="LblArtifactLevelTip.Text" xml:space="preserve">
|
||||
<value>21 is +20</value>
|
||||
</data>
|
||||
<data name="LblClearSubAttrCheckedList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>50, 17</value>
|
||||
</data>
|
||||
<data name="LblClearSubAttrCheckedList.Text" xml:space="preserve">
|
||||
<value>X Clear</value>
|
||||
</data>
|
||||
<data name="LblArtifactLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>99, 41</value>
|
||||
</data>
|
||||
<data name="LblArtifactLevel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>37, 17</value>
|
||||
</data>
|
||||
<data name="LblArtifactLevel.Text" xml:space="preserve">
|
||||
<value>Level</value>
|
||||
</data>
|
||||
<data name="LblSubAttribution.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>80, 102</value>
|
||||
</data>
|
||||
<data name="LblSubAttribution.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>56, 17</value>
|
||||
</data>
|
||||
<data name="LblSubAttribution.Text" xml:space="preserve">
|
||||
<value>Sub Stat</value>
|
||||
</data>
|
||||
<data name="LblMainAttribution.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>73, 71</value>
|
||||
</data>
|
||||
<data name="LblMainAttribution.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>63, 17</value>
|
||||
</data>
|
||||
<data name="LblMainAttribution.Text" xml:space="preserve">
|
||||
<value>Main Stat</value>
|
||||
</data>
|
||||
<data name="TPQuest.Text" xml:space="preserve">
|
||||
<value>Quest</value>
|
||||
</data>
|
||||
<data name="GrpQuestFilters.Text" xml:space="preserve">
|
||||
<value>List Filter</value>
|
||||
</data>
|
||||
<data name="ChkQuestFilterTEST.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>51, 21</value>
|
||||
</data>
|
||||
<data name="ChkQuestFilterTEST.Text" xml:space="preserve">
|
||||
<value>Test</value>
|
||||
</data>
|
||||
<data name="ChkQuestFilterUNRELEASED.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>93, 21</value>
|
||||
</data>
|
||||
<data name="ChkQuestFilterUNRELEASED.Text" xml:space="preserve">
|
||||
<value>Unreleased</value>
|
||||
</data>
|
||||
<data name="ChkQuestFilterHIDDEN.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>69, 21</value>
|
||||
</data>
|
||||
<data name="ChkQuestFilterHIDDEN.Text" xml:space="preserve">
|
||||
<value>Hidden</value>
|
||||
</data>
|
||||
<data name="BtnFinishQuest.Text" xml:space="preserve">
|
||||
<value>Finish</value>
|
||||
</data>
|
||||
<data name="BtnAddQuest.Text" xml:space="preserve">
|
||||
<value>Add</value>
|
||||
</data>
|
||||
<data name="LblQuestDescription.Text" xml:space="preserve">
|
||||
<value>Add or Finish Quest
|
||||
Tip: Many quest require server-side scripting support
|
||||
Therefore, the quest can be add and finish, but not necessarily can be work</value>
|
||||
</data>
|
||||
<data name="TPSpawn.Text" xml:space="preserve">
|
||||
<value>Spawn</value>
|
||||
</data>
|
||||
<data name="BtnSaveSpawnLog.Text" xml:space="preserve">
|
||||
<value>√ Record</value>
|
||||
</data>
|
||||
<data name="BtnRemoveSpawnLog.Text" xml:space="preserve">
|
||||
<value>× Delete</value>
|
||||
</data>
|
||||
<data name="GrpSpawnRecord.Text" xml:space="preserve">
|
||||
<value>Records</value>
|
||||
</data>
|
||||
<data name="GrpEntityType.Text" xml:space="preserve">
|
||||
<value>Class</value>
|
||||
</data>
|
||||
<data name="RbEntityOrnament.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>84, 21</value>
|
||||
</data>
|
||||
<data name="RbEntityOrnament.Text" xml:space="preserve">
|
||||
<value>Ornament</value>
|
||||
</data>
|
||||
<data name="RbEntityAnimal.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>65, 21</value>
|
||||
</data>
|
||||
<data name="RbEntityAnimal.Text" xml:space="preserve">
|
||||
<value>Animal</value>
|
||||
</data>
|
||||
<data name="RbEntityMonster.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 21</value>
|
||||
</data>
|
||||
<data name="RbEntityMonster.Text" xml:space="preserve">
|
||||
<value>Monster</value>
|
||||
</data>
|
||||
<data name="LblSpawnDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>81, 17</value>
|
||||
</data>
|
||||
<data name="LblSpawnDescription.Text" xml:space="preserve">
|
||||
<value>Spawn entity</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="LblEntityAmount.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Bottom, Left</value>
|
||||
</data>
|
||||
<data name="LblEntityAmount.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>53, 17</value>
|
||||
</data>
|
||||
<data name="LblEntityAmount.Text" xml:space="preserve">
|
||||
<value>Amount</value>
|
||||
</data>
|
||||
<data name="LblEntityLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>120, 218</value>
|
||||
</data>
|
||||
<data name="LblEntityLevel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>20, 17</value>
|
||||
</data>
|
||||
<data name="LblEntityLevel.Text" xml:space="preserve">
|
||||
<value>Lv</value>
|
||||
</data>
|
||||
<data name="NUDEntityAmout.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>64, 216</value>
|
||||
</data>
|
||||
<data name="NUDEntityLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>146, 216</value>
|
||||
</data>
|
||||
<data name="TPAvatar.Text" xml:space="preserve">
|
||||
<value>Avatar</value>
|
||||
</data>
|
||||
<data name="LblAvatarGenWarning.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>88, 161</value>
|
||||
</data>
|
||||
<data name="LblAvatarGenWarning.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>427, 51</value>
|
||||
</data>
|
||||
<data name="LblAvatarGenWarning.Text" xml:space="preserve">
|
||||
<value>WARN! Adding a character that is not officially used may result
|
||||
in a corrupted account save, making it impossible to play the game.
|
||||
The data may not be cleared even if the account is recreated.</value>
|
||||
</data>
|
||||
<data name="LblAvatar.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>135, 217</value>
|
||||
</data>
|
||||
<data name="LblAvatar.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>45, 17</value>
|
||||
</data>
|
||||
<data name="LblAvatar.Text" xml:space="preserve">
|
||||
<value>Avatar</value>
|
||||
</data>
|
||||
<data name="LblLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>392, 216</value>
|
||||
</data>
|
||||
<data name="LblLevel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>20, 17</value>
|
||||
</data>
|
||||
<data name="LblLevel.Text" xml:space="preserve">
|
||||
<value>Lv</value>
|
||||
</data>
|
||||
<data name="NUDAvatarLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>418, 214</value>
|
||||
</data>
|
||||
<data name="CmbAvatar.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>186, 214</value>
|
||||
</data>
|
||||
<data name="CmbAvatar.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>200, 25</value>
|
||||
</data>
|
||||
<data name="TPStats.Text" xml:space="preserve">
|
||||
<value>Stats</value>
|
||||
</data>
|
||||
<data name="GrpSetStats.Text" xml:space="preserve">
|
||||
<value>Stats</value>
|
||||
</data>
|
||||
<data name="LblStatTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>26, 17</value>
|
||||
</data>
|
||||
<data name="LblStatTip.Text" xml:space="preserve">
|
||||
<value>Tip</value>
|
||||
</data>
|
||||
<data name="GrpTalentLevel.Text" xml:space="preserve">
|
||||
<value>Talent Level</value>
|
||||
</data>
|
||||
<data name="LnkTalentE.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>283, 24</value>
|
||||
</data>
|
||||
<data name="LnkTalentE.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>15, 17</value>
|
||||
</data>
|
||||
<data name="LnkTalentE.Text" xml:space="preserve">
|
||||
<value>E</value>
|
||||
</data>
|
||||
<data name="LnkTalentQ.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>259, 24</value>
|
||||
</data>
|
||||
<data name="LnkTalentQ.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>18, 17</value>
|
||||
</data>
|
||||
<data name="LnkTalentQ.Text" xml:space="preserve">
|
||||
<value>Q</value>
|
||||
</data>
|
||||
<data name="LnkTalentNormalATK.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>178, 24</value>
|
||||
</data>
|
||||
<data name="LnkTalentNormalATK.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 17</value>
|
||||
</data>
|
||||
<data name="LnkTalentNormalATK.Text" xml:space="preserve">
|
||||
<value>NormalATK</value>
|
||||
</data>
|
||||
<data name="NUDTalentLevel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>128, 23</value>
|
||||
</data>
|
||||
<data name="LblStatsDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>179, 17</value>
|
||||
</data>
|
||||
<data name="LblStatsDescription.Text" xml:space="preserve">
|
||||
<value>Set current active Avatar data</value>
|
||||
</data>
|
||||
<data name="TPWeapon.Text" xml:space="preserve">
|
||||
<value>Weapon</value>
|
||||
</data>
|
||||
<data name="LblWeaponDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>93, 17</value>
|
||||
</data>
|
||||
<data name="LblWeaponDescription.Text" xml:space="preserve">
|
||||
<value>Geive Weapon</value>
|
||||
</data>
|
||||
<data name="LblWeaponRefinement.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>203, 218</value>
|
||||
</data>
|
||||
<data name="LblWeaponRefinement.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>73, 17</value>
|
||||
</data>
|
||||
<data name="LblWeaponRefinement.Text" xml:space="preserve">
|
||||
<value>Refinement</value>
|
||||
</data>
|
||||
<data name="LblWeaponAmount.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>53, 17</value>
|
||||
</data>
|
||||
<data name="LblWeaponAmount.Text" xml:space="preserve">
|
||||
<value>Amount</value>
|
||||
</data>
|
||||
<data name="LblWeaponLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>121, 218</value>
|
||||
</data>
|
||||
<data name="LblWeaponLevel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>20, 17</value>
|
||||
</data>
|
||||
<data name="LblWeaponLevel.Text" xml:space="preserve">
|
||||
<value>Lv</value>
|
||||
</data>
|
||||
<data name="NUDWeaponRefinement.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>282, 216</value>
|
||||
</data>
|
||||
<data name="NUDWeaponAmout.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>65, 216</value>
|
||||
</data>
|
||||
<data name="NUDWeaponLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>147, 216</value>
|
||||
</data>
|
||||
<data name="TPItem.Text" xml:space="preserve">
|
||||
<value>Items</value>
|
||||
</data>
|
||||
<data name="BtnSaveGiveItemLog.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left</value>
|
||||
</data>
|
||||
<data name="BtnSaveGiveItemLog.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>265, 48</value>
|
||||
</data>
|
||||
<data name="BtnSaveGiveItemLog.Text" xml:space="preserve">
|
||||
<value>√ Record</value>
|
||||
</data>
|
||||
<data name="BtnRemoveGiveItemLog.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left</value>
|
||||
</data>
|
||||
<data name="BtnRemoveGiveItemLog.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>265, 77</value>
|
||||
</data>
|
||||
<data name="BtnRemoveGiveItemLog.Text" xml:space="preserve">
|
||||
<value>× Delete</value>
|
||||
</data>
|
||||
<data name="GrpGiveItemRecord.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Bottom, Left</value>
|
||||
</data>
|
||||
<data name="GrpGiveItemRecord.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>249, 162</value>
|
||||
</data>
|
||||
<data name="GrpGiveItemRecord.Text" xml:space="preserve">
|
||||
<value>Records</value>
|
||||
</data>
|
||||
<data name="ListGiveItemLogs.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>243, 140</value>
|
||||
</data>
|
||||
<data name="ChkDrop.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>278, 217</value>
|
||||
</data>
|
||||
<data name="ChkDrop.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>57, 21</value>
|
||||
</data>
|
||||
<data name="ChkDrop.Text" xml:space="preserve">
|
||||
<value>Drop</value>
|
||||
</data>
|
||||
<data name="TxtGameItemFilter.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left, Right</value>
|
||||
</data>
|
||||
<data name="TxtGameItemFilter.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>346, 5</value>
|
||||
</data>
|
||||
<data name="TxtGameItemFilter.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>250, 23</value>
|
||||
</data>
|
||||
<data name="ListGameItems.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Bottom, Left, Right</value>
|
||||
</data>
|
||||
<data name="ListGameItems.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>346, 31</value>
|
||||
</data>
|
||||
<data name="ListGameItems.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>250, 208</value>
|
||||
</data>
|
||||
<data name="LblGameItemAmount.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Bottom, Left</value>
|
||||
</data>
|
||||
<data name="LblGameItemAmount.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>53, 17</value>
|
||||
</data>
|
||||
<data name="LblGameItemAmount.Text" xml:space="preserve">
|
||||
<value>Amount</value>
|
||||
</data>
|
||||
<data name="LblGameItemLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>171, 218</value>
|
||||
</data>
|
||||
<data name="LblGameItemLevel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>37, 17</value>
|
||||
</data>
|
||||
<data name="LblGameItemLevel.Text" xml:space="preserve">
|
||||
<value>Level</value>
|
||||
</data>
|
||||
<data name="NUDGameItemAmout.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>65, 216</value>
|
||||
</data>
|
||||
<data name="NUDGameItemLevel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>209, 216</value>
|
||||
</data>
|
||||
<data name="LblGiveCommandDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>118, 17</value>
|
||||
</data>
|
||||
<data name="LblGiveCommandDescription.Text" xml:space="preserve">
|
||||
<value>Give item to player</value>
|
||||
</data>
|
||||
<data name="TPScene.Text" xml:space="preserve">
|
||||
<value>Scene</value>
|
||||
</data>
|
||||
<data name="ChkIncludeSceneId.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>91, 213</value>
|
||||
</data>
|
||||
<data name="ChkIncludeSceneId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>122, 21</value>
|
||||
</data>
|
||||
<data name="ChkIncludeSceneId.Text" xml:space="preserve">
|
||||
<value>Include scene Id</value>
|
||||
</data>
|
||||
<data name="LblTp.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left, Right</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="LblTp.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="LblTp.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>6, 89</value>
|
||||
</data>
|
||||
<data name="LblTp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>337, 90</value>
|
||||
</data>
|
||||
<data name="LblTp.Text" xml:space="preserve">
|
||||
<value>Teleporting
|
||||
Tip: You can quickly teleport through the 'fishing hook' mark on the minimap in the game
|
||||
In the command, you can use ~ to indicate the current position, and ~100 to indicate the relative current 100</value>
|
||||
</data>
|
||||
<data name="LblTpZ.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>219, 184</value>
|
||||
</data>
|
||||
<data name="LblTpY.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>113, 184</value>
|
||||
</data>
|
||||
<data name="BtnTeleport.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>10, 211</value>
|
||||
</data>
|
||||
<data name="BtnTeleport.Text" xml:space="preserve">
|
||||
<value>Teleport</value>
|
||||
</data>
|
||||
<data name="LblTpX.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>7, 184</value>
|
||||
</data>
|
||||
<data name="NUDTpZ.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>239, 182</value>
|
||||
</data>
|
||||
<data name="NUDTpY.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>133, 182</value>
|
||||
</data>
|
||||
<data name="NUDTpX.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>27, 182</value>
|
||||
</data>
|
||||
<data name="CmbClimateType.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>66, 61</value>
|
||||
</data>
|
||||
<data name="LblClimateType.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>6, 64</value>
|
||||
</data>
|
||||
<data name="LblClimateType.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>54, 17</value>
|
||||
</data>
|
||||
<data name="LblClimateType.Text" xml:space="preserve">
|
||||
<value>weather</value>
|
||||
</data>
|
||||
<data name="LblSceneDescription.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left, Right</value>
|
||||
</data>
|
||||
<data name="LblSceneDescription.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="LblSceneDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>287, 55</value>
|
||||
</data>
|
||||
<data name="LblSceneDescription.Text" xml:space="preserve">
|
||||
<value>Scene control
|
||||
Tip: Most of the scenes have no effect and cannot be entered.</value>
|
||||
</data>
|
||||
<data name="TPManage.Text" xml:space="preserve">
|
||||
<value>Manage</value>
|
||||
</data>
|
||||
<data name="GrpAccount.Text" xml:space="preserve">
|
||||
<value>Account Management</value>
|
||||
</data>
|
||||
<data name="ChkAccountSetUid.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>49, 21</value>
|
||||
</data>
|
||||
<data name="ChkAccountSetUid.Text" xml:space="preserve">
|
||||
<value>UID</value>
|
||||
</data>
|
||||
<data name="NUDAccountUid.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>270, 23</value>
|
||||
</data>
|
||||
<data name="NUDAccountUid.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>130, 23</value>
|
||||
</data>
|
||||
<data name="BtnDeleteAccount.Text" xml:space="preserve">
|
||||
<value>Delete</value>
|
||||
</data>
|
||||
<data name="BtnCreateAccount.Text" xml:space="preserve">
|
||||
<value>Create</value>
|
||||
</data>
|
||||
<data name="LblAccountUserName.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>6, 25</value>
|
||||
</data>
|
||||
<data name="LblAccountUserName.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>67, 17</value>
|
||||
</data>
|
||||
<data name="LblAccountUserName.Text" xml:space="preserve">
|
||||
<value>Username</value>
|
||||
</data>
|
||||
<data name="TxtAccountUserName.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>79, 22</value>
|
||||
</data>
|
||||
<data name="TxtAccountUserName.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>127, 23</value>
|
||||
</data>
|
||||
<data name="GrpPermission.Text" xml:space="preserve">
|
||||
<value>Permission Management</value>
|
||||
</data>
|
||||
<data name="BtmPermRemove.Text" xml:space="preserve">
|
||||
<value>Delete</value>
|
||||
</data>
|
||||
<data name="BtnPermAdd.Text" xml:space="preserve">
|
||||
<value>Add</value>
|
||||
</data>
|
||||
<data name="LblPerm.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>38, 17</value>
|
||||
</data>
|
||||
<data name="LblPerm.Text" xml:space="preserve">
|
||||
<value>Perm</value>
|
||||
</data>
|
||||
<data name="LblPermUID.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>30, 25</value>
|
||||
</data>
|
||||
<data name="LblPermUID.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>30, 17</value>
|
||||
</data>
|
||||
<data name="LblPermUID.Text" xml:space="preserve">
|
||||
<value>UID</value>
|
||||
</data>
|
||||
<data name="TPAbout.Text" xml:space="preserve">
|
||||
<value>About</value>
|
||||
</data>
|
||||
<data name="LnkGithub.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Bottom, Left</value>
|
||||
</data>
|
||||
<data name="LblSupportDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>110, 17</value>
|
||||
</data>
|
||||
<data name="LblSupportDescription.Text" xml:space="preserve">
|
||||
<value>Grasscutter Tools</value>
|
||||
</data>
|
||||
<data name="TPRemoteCall.Text" xml:space="preserve">
|
||||
<value>Remote</value>
|
||||
</data>
|
||||
<data name="GrpServerStatus.Text" xml:space="preserve">
|
||||
<value>Server status</value>
|
||||
</data>
|
||||
<data name="LnkOpenCommandLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>13, 63</value>
|
||||
</data>
|
||||
<data name="LnkOpenCommandLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>100, 17</value>
|
||||
</data>
|
||||
<data name="LnkOpenCommandLabel.Text" xml:space="preserve">
|
||||
<value>OpenCommand</value>
|
||||
</data>
|
||||
<data name="LblOpenCommandSupport.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>119, 63</value>
|
||||
</data>
|
||||
<data name="LblServerVersion.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>119, 29</value>
|
||||
</data>
|
||||
<data name="LblPlayerCount.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>119, 46</value>
|
||||
</data>
|
||||
<data name="LblServerVersionLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>25, 29</value>
|
||||
</data>
|
||||
<data name="LblServerVersionLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>88, 17</value>
|
||||
</data>
|
||||
<data name="LblServerVersionLabel.Text" xml:space="preserve">
|
||||
<value>Game version</value>
|
||||
</data>
|
||||
<data name="LblPlayerCountLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>34, 46</value>
|
||||
</data>
|
||||
<data name="LblPlayerCountLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>79, 17</value>
|
||||
</data>
|
||||
<data name="LblPlayerCountLabel.Text" xml:space="preserve">
|
||||
<value>Player count</value>
|
||||
</data>
|
||||
<data name="GrpRemoteCommand.Text" xml:space="preserve">
|
||||
<value>Remote Cell</value>
|
||||
</data>
|
||||
<data name="TPPlayerCheck.Text" xml:space="preserve">
|
||||
<value>Player</value>
|
||||
</data>
|
||||
<data name="LnkRCHelp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>35, 17</value>
|
||||
</data>
|
||||
<data name="LnkRCHelp.Text" xml:space="preserve">
|
||||
<value>Help</value>
|
||||
</data>
|
||||
<data name="BtnConnectOpenCommand.Text" xml:space="preserve">
|
||||
<value>Connect</value>
|
||||
</data>
|
||||
<data name="LblVerificationCode.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>39, 17</value>
|
||||
</data>
|
||||
<data name="LblVerificationCode.Text" xml:space="preserve">
|
||||
<value>Code</value>
|
||||
</data>
|
||||
<data name="BtnSendVerificationCode.Text" xml:space="preserve">
|
||||
<value>Send Code</value>
|
||||
</data>
|
||||
<data name="TPConsoleCheck.Text" xml:space="preserve">
|
||||
<value>Console</value>
|
||||
</data>
|
||||
<data name="LblConsoleTip.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="LblConsoleTip.Text" xml:space="preserve">
|
||||
<value>Note that normal commands in the console state must specify the target (set include UID)</value>
|
||||
</data>
|
||||
<data name="BtnConsoleConnect.Text" xml:space="preserve">
|
||||
<value>Connect</value>
|
||||
</data>
|
||||
<data name="TxtHost.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>167, 23</value>
|
||||
</data>
|
||||
<data name="BtnQueryServerStatus.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>292, 36</value>
|
||||
</data>
|
||||
<data name="BtnQueryServerStatus.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>65, 23</value>
|
||||
</data>
|
||||
<data name="BtnQueryServerStatus.Text" xml:space="preserve">
|
||||
<value>Query</value>
|
||||
</data>
|
||||
<data name="LblHost.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>35, 17</value>
|
||||
</data>
|
||||
<data name="LblHost.Text" xml:space="preserve">
|
||||
<value>Host</value>
|
||||
</data>
|
||||
</root>
|
346
Source/GrasscutterTools/Forms/FormActivityEditor.Designer.cs
generated
Normal file
@@ -0,0 +1,346 @@
|
||||
namespace GrasscutterTools.Forms
|
||||
{
|
||||
partial class FormActivityEditor
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormActivityEditor));
|
||||
this.BtnSave = new System.Windows.Forms.Button();
|
||||
this.BtnLoad = new System.Windows.Forms.Button();
|
||||
this.ActivityConfigJsonPath = new System.Windows.Forms.TextBox();
|
||||
this.LblActivityConfigJsonPath = new System.Windows.Forms.Label();
|
||||
this.GrpAllActivity = new System.Windows.Forms.GroupBox();
|
||||
this.ListAllActivity = new System.Windows.Forms.ListView();
|
||||
this.ColumnActivityId = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.ColumnActivityName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.GrpFileActivity = new System.Windows.Forms.GroupBox();
|
||||
this.ListActivityConfigItems = new System.Windows.Forms.ListView();
|
||||
this.ColActivityId = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.ColActivityTitle = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.ColActivityBeginTime = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.ColActivityEndTime = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.GrpActivityInfo = new System.Windows.Forms.GroupBox();
|
||||
this.LblActivityTitle = new System.Windows.Forms.Label();
|
||||
this.LblActivityParmEditTip = new System.Windows.Forms.Label();
|
||||
this.BtnDelete = new System.Windows.Forms.Button();
|
||||
this.BtnAddOrUpdate = new System.Windows.Forms.Button();
|
||||
this.DTPEndTime = new System.Windows.Forms.DateTimePicker();
|
||||
this.DTPBeginTime = new System.Windows.Forms.DateTimePicker();
|
||||
this.TxtMeetCondList = new System.Windows.Forms.TextBox();
|
||||
this.NUDScheduleId = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDActivityType = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDActivityId = new System.Windows.Forms.NumericUpDown();
|
||||
this.LblEndTime = new System.Windows.Forms.Label();
|
||||
this.LblBeginTime = new System.Windows.Forms.Label();
|
||||
this.LblMeetCondList = new System.Windows.Forms.Label();
|
||||
this.LblScheduleId = new System.Windows.Forms.Label();
|
||||
this.LblActivityType = new System.Windows.Forms.Label();
|
||||
this.LblActivityId = new System.Windows.Forms.Label();
|
||||
this.GrpAllActivity.SuspendLayout();
|
||||
this.GrpFileActivity.SuspendLayout();
|
||||
this.GrpActivityInfo.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDScheduleId)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDActivityType)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDActivityId)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// BtnSave
|
||||
//
|
||||
resources.ApplyResources(this.BtnSave, "BtnSave");
|
||||
this.BtnSave.Name = "BtnSave";
|
||||
this.BtnSave.UseVisualStyleBackColor = true;
|
||||
this.BtnSave.Click += new System.EventHandler(this.BtnSave_Click);
|
||||
//
|
||||
// BtnLoad
|
||||
//
|
||||
resources.ApplyResources(this.BtnLoad, "BtnLoad");
|
||||
this.BtnLoad.Name = "BtnLoad";
|
||||
this.BtnLoad.UseVisualStyleBackColor = true;
|
||||
this.BtnLoad.Click += new System.EventHandler(this.BtnLoad_Click);
|
||||
//
|
||||
// ActivityConfigJsonPath
|
||||
//
|
||||
resources.ApplyResources(this.ActivityConfigJsonPath, "ActivityConfigJsonPath");
|
||||
this.ActivityConfigJsonPath.Name = "ActivityConfigJsonPath";
|
||||
//
|
||||
// LblActivityConfigJsonPath
|
||||
//
|
||||
resources.ApplyResources(this.LblActivityConfigJsonPath, "LblActivityConfigJsonPath");
|
||||
this.LblActivityConfigJsonPath.Name = "LblActivityConfigJsonPath";
|
||||
//
|
||||
// GrpAllActivity
|
||||
//
|
||||
resources.ApplyResources(this.GrpAllActivity, "GrpAllActivity");
|
||||
this.GrpAllActivity.Controls.Add(this.ListAllActivity);
|
||||
this.GrpAllActivity.Name = "GrpAllActivity";
|
||||
this.GrpAllActivity.TabStop = false;
|
||||
//
|
||||
// ListAllActivity
|
||||
//
|
||||
resources.ApplyResources(this.ListAllActivity, "ListAllActivity");
|
||||
this.ListAllActivity.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.ColumnActivityId,
|
||||
this.ColumnActivityName});
|
||||
this.ListAllActivity.FullRowSelect = true;
|
||||
this.ListAllActivity.HideSelection = false;
|
||||
this.ListAllActivity.MultiSelect = false;
|
||||
this.ListAllActivity.Name = "ListAllActivity";
|
||||
this.ListAllActivity.UseCompatibleStateImageBehavior = false;
|
||||
this.ListAllActivity.View = System.Windows.Forms.View.Details;
|
||||
this.ListAllActivity.SelectedIndexChanged += new System.EventHandler(this.ListAllActivity_SelectedIndexChanged);
|
||||
//
|
||||
// ColumnActivityId
|
||||
//
|
||||
resources.ApplyResources(this.ColumnActivityId, "ColumnActivityId");
|
||||
//
|
||||
// ColumnActivityName
|
||||
//
|
||||
resources.ApplyResources(this.ColumnActivityName, "ColumnActivityName");
|
||||
//
|
||||
// GrpFileActivity
|
||||
//
|
||||
resources.ApplyResources(this.GrpFileActivity, "GrpFileActivity");
|
||||
this.GrpFileActivity.Controls.Add(this.ListActivityConfigItems);
|
||||
this.GrpFileActivity.Name = "GrpFileActivity";
|
||||
this.GrpFileActivity.TabStop = false;
|
||||
//
|
||||
// ListActivityConfigItems
|
||||
//
|
||||
resources.ApplyResources(this.ListActivityConfigItems, "ListActivityConfigItems");
|
||||
this.ListActivityConfigItems.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.ColActivityId,
|
||||
this.ColActivityTitle,
|
||||
this.ColActivityBeginTime,
|
||||
this.ColActivityEndTime});
|
||||
this.ListActivityConfigItems.FullRowSelect = true;
|
||||
this.ListActivityConfigItems.HideSelection = false;
|
||||
this.ListActivityConfigItems.MultiSelect = false;
|
||||
this.ListActivityConfigItems.Name = "ListActivityConfigItems";
|
||||
this.ListActivityConfigItems.UseCompatibleStateImageBehavior = false;
|
||||
this.ListActivityConfigItems.View = System.Windows.Forms.View.Details;
|
||||
this.ListActivityConfigItems.SelectedIndexChanged += new System.EventHandler(this.ListActivityConfigItems_SelectedIndexChanged);
|
||||
//
|
||||
// ColActivityId
|
||||
//
|
||||
resources.ApplyResources(this.ColActivityId, "ColActivityId");
|
||||
//
|
||||
// ColActivityTitle
|
||||
//
|
||||
resources.ApplyResources(this.ColActivityTitle, "ColActivityTitle");
|
||||
//
|
||||
// ColActivityBeginTime
|
||||
//
|
||||
resources.ApplyResources(this.ColActivityBeginTime, "ColActivityBeginTime");
|
||||
//
|
||||
// ColActivityEndTime
|
||||
//
|
||||
resources.ApplyResources(this.ColActivityEndTime, "ColActivityEndTime");
|
||||
//
|
||||
// GrpActivityInfo
|
||||
//
|
||||
resources.ApplyResources(this.GrpActivityInfo, "GrpActivityInfo");
|
||||
this.GrpActivityInfo.Controls.Add(this.LblActivityTitle);
|
||||
this.GrpActivityInfo.Controls.Add(this.LblActivityParmEditTip);
|
||||
this.GrpActivityInfo.Controls.Add(this.BtnDelete);
|
||||
this.GrpActivityInfo.Controls.Add(this.BtnAddOrUpdate);
|
||||
this.GrpActivityInfo.Controls.Add(this.DTPEndTime);
|
||||
this.GrpActivityInfo.Controls.Add(this.DTPBeginTime);
|
||||
this.GrpActivityInfo.Controls.Add(this.TxtMeetCondList);
|
||||
this.GrpActivityInfo.Controls.Add(this.NUDScheduleId);
|
||||
this.GrpActivityInfo.Controls.Add(this.NUDActivityType);
|
||||
this.GrpActivityInfo.Controls.Add(this.NUDActivityId);
|
||||
this.GrpActivityInfo.Controls.Add(this.LblEndTime);
|
||||
this.GrpActivityInfo.Controls.Add(this.LblBeginTime);
|
||||
this.GrpActivityInfo.Controls.Add(this.LblMeetCondList);
|
||||
this.GrpActivityInfo.Controls.Add(this.LblScheduleId);
|
||||
this.GrpActivityInfo.Controls.Add(this.LblActivityType);
|
||||
this.GrpActivityInfo.Controls.Add(this.LblActivityId);
|
||||
this.GrpActivityInfo.Name = "GrpActivityInfo";
|
||||
this.GrpActivityInfo.TabStop = false;
|
||||
//
|
||||
// LblActivityTitle
|
||||
//
|
||||
resources.ApplyResources(this.LblActivityTitle, "LblActivityTitle");
|
||||
this.LblActivityTitle.AutoEllipsis = true;
|
||||
this.LblActivityTitle.ForeColor = System.Drawing.SystemColors.GrayText;
|
||||
this.LblActivityTitle.Name = "LblActivityTitle";
|
||||
//
|
||||
// LblActivityParmEditTip
|
||||
//
|
||||
resources.ApplyResources(this.LblActivityParmEditTip, "LblActivityParmEditTip");
|
||||
this.LblActivityParmEditTip.ForeColor = System.Drawing.SystemColors.GrayText;
|
||||
this.LblActivityParmEditTip.Name = "LblActivityParmEditTip";
|
||||
//
|
||||
// BtnDelete
|
||||
//
|
||||
resources.ApplyResources(this.BtnDelete, "BtnDelete");
|
||||
this.BtnDelete.Name = "BtnDelete";
|
||||
this.BtnDelete.UseVisualStyleBackColor = true;
|
||||
this.BtnDelete.Click += new System.EventHandler(this.BtnDelete_Click);
|
||||
//
|
||||
// BtnAddOrUpdate
|
||||
//
|
||||
resources.ApplyResources(this.BtnAddOrUpdate, "BtnAddOrUpdate");
|
||||
this.BtnAddOrUpdate.Name = "BtnAddOrUpdate";
|
||||
this.BtnAddOrUpdate.UseVisualStyleBackColor = true;
|
||||
this.BtnAddOrUpdate.Click += new System.EventHandler(this.BtnAddOrUpdate_Click);
|
||||
//
|
||||
// DTPEndTime
|
||||
//
|
||||
resources.ApplyResources(this.DTPEndTime, "DTPEndTime");
|
||||
this.DTPEndTime.Name = "DTPEndTime";
|
||||
//
|
||||
// DTPBeginTime
|
||||
//
|
||||
resources.ApplyResources(this.DTPBeginTime, "DTPBeginTime");
|
||||
this.DTPBeginTime.Name = "DTPBeginTime";
|
||||
//
|
||||
// TxtMeetCondList
|
||||
//
|
||||
resources.ApplyResources(this.TxtMeetCondList, "TxtMeetCondList");
|
||||
this.TxtMeetCondList.Name = "TxtMeetCondList";
|
||||
//
|
||||
// NUDScheduleId
|
||||
//
|
||||
resources.ApplyResources(this.NUDScheduleId, "NUDScheduleId");
|
||||
this.NUDScheduleId.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDScheduleId.Name = "NUDScheduleId";
|
||||
//
|
||||
// NUDActivityType
|
||||
//
|
||||
resources.ApplyResources(this.NUDActivityType, "NUDActivityType");
|
||||
this.NUDActivityType.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDActivityType.Name = "NUDActivityType";
|
||||
//
|
||||
// NUDActivityId
|
||||
//
|
||||
resources.ApplyResources(this.NUDActivityId, "NUDActivityId");
|
||||
this.NUDActivityId.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDActivityId.Name = "NUDActivityId";
|
||||
this.NUDActivityId.ValueChanged += new System.EventHandler(this.NUDActivityId_ValueChanged);
|
||||
//
|
||||
// LblEndTime
|
||||
//
|
||||
resources.ApplyResources(this.LblEndTime, "LblEndTime");
|
||||
this.LblEndTime.Name = "LblEndTime";
|
||||
//
|
||||
// LblBeginTime
|
||||
//
|
||||
resources.ApplyResources(this.LblBeginTime, "LblBeginTime");
|
||||
this.LblBeginTime.Name = "LblBeginTime";
|
||||
//
|
||||
// LblMeetCondList
|
||||
//
|
||||
resources.ApplyResources(this.LblMeetCondList, "LblMeetCondList");
|
||||
this.LblMeetCondList.Name = "LblMeetCondList";
|
||||
//
|
||||
// LblScheduleId
|
||||
//
|
||||
resources.ApplyResources(this.LblScheduleId, "LblScheduleId");
|
||||
this.LblScheduleId.Name = "LblScheduleId";
|
||||
//
|
||||
// LblActivityType
|
||||
//
|
||||
resources.ApplyResources(this.LblActivityType, "LblActivityType");
|
||||
this.LblActivityType.Name = "LblActivityType";
|
||||
//
|
||||
// LblActivityId
|
||||
//
|
||||
resources.ApplyResources(this.LblActivityId, "LblActivityId");
|
||||
this.LblActivityId.Name = "LblActivityId";
|
||||
//
|
||||
// FormActivityEditor
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.GrpAllActivity);
|
||||
this.Controls.Add(this.GrpActivityInfo);
|
||||
this.Controls.Add(this.GrpFileActivity);
|
||||
this.Controls.Add(this.BtnSave);
|
||||
this.Controls.Add(this.BtnLoad);
|
||||
this.Controls.Add(this.ActivityConfigJsonPath);
|
||||
this.Controls.Add(this.LblActivityConfigJsonPath);
|
||||
this.Name = "FormActivityEditor";
|
||||
this.GrpAllActivity.ResumeLayout(false);
|
||||
this.GrpFileActivity.ResumeLayout(false);
|
||||
this.GrpActivityInfo.ResumeLayout(false);
|
||||
this.GrpActivityInfo.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDScheduleId)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDActivityType)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDActivityId)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button BtnSave;
|
||||
private System.Windows.Forms.Button BtnLoad;
|
||||
private System.Windows.Forms.TextBox ActivityConfigJsonPath;
|
||||
private System.Windows.Forms.Label LblActivityConfigJsonPath;
|
||||
private System.Windows.Forms.GroupBox GrpAllActivity;
|
||||
private System.Windows.Forms.GroupBox GrpFileActivity;
|
||||
private System.Windows.Forms.GroupBox GrpActivityInfo;
|
||||
private System.Windows.Forms.ListView ListAllActivity;
|
||||
private System.Windows.Forms.Label LblEndTime;
|
||||
private System.Windows.Forms.Label LblBeginTime;
|
||||
private System.Windows.Forms.Label LblMeetCondList;
|
||||
private System.Windows.Forms.Label LblScheduleId;
|
||||
private System.Windows.Forms.Label LblActivityType;
|
||||
private System.Windows.Forms.Label LblActivityId;
|
||||
private System.Windows.Forms.Button BtnDelete;
|
||||
private System.Windows.Forms.Button BtnAddOrUpdate;
|
||||
private System.Windows.Forms.DateTimePicker DTPEndTime;
|
||||
private System.Windows.Forms.DateTimePicker DTPBeginTime;
|
||||
private System.Windows.Forms.TextBox TxtMeetCondList;
|
||||
private System.Windows.Forms.NumericUpDown NUDScheduleId;
|
||||
private System.Windows.Forms.NumericUpDown NUDActivityType;
|
||||
private System.Windows.Forms.NumericUpDown NUDActivityId;
|
||||
private System.Windows.Forms.Label LblActivityParmEditTip;
|
||||
private System.Windows.Forms.Label LblActivityTitle;
|
||||
private System.Windows.Forms.ColumnHeader ColumnActivityId;
|
||||
private System.Windows.Forms.ColumnHeader ColumnActivityName;
|
||||
private System.Windows.Forms.ListView ListActivityConfigItems;
|
||||
private System.Windows.Forms.ColumnHeader ColActivityId;
|
||||
private System.Windows.Forms.ColumnHeader ColActivityTitle;
|
||||
private System.Windows.Forms.ColumnHeader ColActivityBeginTime;
|
||||
private System.Windows.Forms.ColumnHeader ColActivityEndTime;
|
||||
}
|
||||
}
|
301
Source/GrasscutterTools/Forms/FormActivityEditor.cs
Normal file
@@ -0,0 +1,301 @@
|
||||
/**
|
||||
* Grasscutter Tools
|
||||
* Copyright (C) 2023 jie65535
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
**/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using GrasscutterTools.Game;
|
||||
using GrasscutterTools.Game.Activity;
|
||||
using GrasscutterTools.Properties;
|
||||
using GrasscutterTools.Utils;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace GrasscutterTools.Forms
|
||||
{
|
||||
public partial class FormActivityEditor : Form
|
||||
{
|
||||
#region - 成员 -
|
||||
|
||||
private List<ActivityConfigItem> ActivityConfigItems;
|
||||
|
||||
#endregion - 成员 -
|
||||
|
||||
#region - 构造与窗体事件 -
|
||||
|
||||
public FormActivityEditor()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
Icon = Resources.IconGrasscutter;
|
||||
|
||||
DTPBeginTime.Value = DateTime.Today;
|
||||
DTPEndTime.Value = DateTime.Today.AddMonths(1);
|
||||
}
|
||||
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
base.OnLoad(e);
|
||||
LoadAllActivity();
|
||||
|
||||
try
|
||||
{
|
||||
// 加载文件路径
|
||||
var path = Settings.Default.ActivityConfigJsonPath;
|
||||
ActivityConfigJsonPath.Text = path;
|
||||
if (!string.IsNullOrEmpty(path) && File.Exists(path))
|
||||
LoadActivityConfig(path);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnFormClosed(FormClosedEventArgs e)
|
||||
{
|
||||
Settings.Default.ActivityConfigJsonPath = ActivityConfigJsonPath.Text;
|
||||
|
||||
base.OnFormClosed(e);
|
||||
}
|
||||
|
||||
#endregion - 构造与窗体事件 -
|
||||
|
||||
#region - ActivityConfig.json 文件相关 -
|
||||
|
||||
/// <summary>
|
||||
/// 加载按钮点击时触发
|
||||
/// </summary>
|
||||
private void BtnLoad_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
var path = ActivityConfigJsonPath.Text.Trim();
|
||||
if (path == string.Empty)
|
||||
{
|
||||
var dialog = new OpenFileDialog
|
||||
{
|
||||
FileName = "ActivityConfig.json",
|
||||
Filter = "ActivityConfig.Json (*.json)|*.json|All files (*.*)|*.*",
|
||||
};
|
||||
var result = dialog.ShowDialog();
|
||||
if (result == DialogResult.OK)
|
||||
path = ActivityConfigJsonPath.Text = dialog.FileName;
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
// 反序列化
|
||||
LoadActivityConfig(path);
|
||||
MessageBox.Show("OK", Resources.Tips, MessageBoxButtons.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 加载活动配置
|
||||
/// </summary>
|
||||
/// <param name="path">ActivityConfig.json 文件路径</param>
|
||||
private void LoadActivityConfig(string path)
|
||||
{
|
||||
ActivityConfigItems = JsonConvert.DeserializeObject<List<ActivityConfigItem>>(File.ReadAllText(path)) ?? new List<ActivityConfigItem>();
|
||||
ListActivityConfigItems.BeginUpdate();
|
||||
ListActivityConfigItems.Items.Clear();
|
||||
ListActivityConfigItems.Items.AddRange(ActivityConfigItems.Select(Convert).ToArray());
|
||||
ListActivityConfigItems.EndUpdate();
|
||||
}
|
||||
|
||||
private ListViewItem Convert(ActivityConfigItem item)
|
||||
{
|
||||
return new ListViewItem(new[]
|
||||
{
|
||||
item.ActivityId.ToString(),
|
||||
GameData.Activity[item.ActivityId],
|
||||
item.BeginTime.ToShortDateString(),
|
||||
item.EndTime.ToShortDateString(),
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存按钮点击时触发
|
||||
/// </summary>
|
||||
private void BtnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
var path = ActivityConfigJsonPath.Text.Trim();
|
||||
if (path == string.Empty)
|
||||
{
|
||||
var dialog = new SaveFileDialog
|
||||
{
|
||||
FileName = "ActivityConfig.json",
|
||||
Filter = "ActivityConfig.json (*.json)|*.json|All files (*.*)|*.*",
|
||||
};
|
||||
var result = dialog.ShowDialog();
|
||||
if (result == DialogResult.OK)
|
||||
path = ActivityConfigJsonPath.Text = dialog.FileName;
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
// 序列化
|
||||
File.WriteAllText(path, JsonConvert.SerializeObject(ActivityConfigItems, Formatting.Indented));
|
||||
MessageBox.Show("OK", Resources.Tips, MessageBoxButtons.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion - ActivityConfig.json 文件相关 -
|
||||
|
||||
#region - 活动列表 -
|
||||
|
||||
/// <summary>
|
||||
/// 加载所有活动
|
||||
/// </summary>
|
||||
private void LoadAllActivity()
|
||||
{
|
||||
ListAllActivity.BeginUpdate();
|
||||
foreach (var grp in GameData.Activity)
|
||||
{
|
||||
var grpControl = ListAllActivity.Groups.Add(grp.Key, grp.Key);
|
||||
for (var i = 0; i < grp.Value.Count; i++)
|
||||
{
|
||||
ListAllActivity.Items.Add(new ListViewItem(new[]
|
||||
{
|
||||
grp.Value.Ids[i].ToString(), grp.Value.Names[i]
|
||||
}, grpControl));
|
||||
}
|
||||
}
|
||||
ListAllActivity.EndUpdate();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 所有活动列表选中项改变时触发
|
||||
/// </summary>
|
||||
private void ListAllActivity_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (ListAllActivity.SelectedItems.Count == 0)
|
||||
return;
|
||||
NUDActivityId.Text = ListAllActivity.SelectedItems[0].Text;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 活动ID改变时触发
|
||||
/// </summary>
|
||||
private void NUDActivityId_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
// 更新活动名称到提示文本
|
||||
var activityId = (int)NUDActivityId.Value;
|
||||
LblActivityTitle.Text = GameData.Activity[activityId];
|
||||
|
||||
// 检查是否在列表中,允许删除
|
||||
var item = ActivityConfigItems.Find(it => it.ActivityId == activityId);
|
||||
BtnDelete.Enabled = item != null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点击添加或更新按钮时触发
|
||||
/// </summary>
|
||||
private async void BtnAddOrUpdate_Click(object sender, EventArgs e)
|
||||
{
|
||||
var activityId = (int)NUDActivityId.Value;
|
||||
var item = ActivityConfigItems.Find(it => it.ActivityId == activityId);
|
||||
if (item == null)
|
||||
{
|
||||
item = new ActivityConfigItem();
|
||||
ActivityConfigItems.Add(item);
|
||||
ListActivityConfigItems.Items.Add(Convert(item));
|
||||
}
|
||||
|
||||
item.ActivityType = (int)NUDActivityType.Value;
|
||||
item.ScheduleId = (int)NUDScheduleId.Value;
|
||||
try
|
||||
{
|
||||
item.MeetCondList = TxtMeetCondList.Text.Split(',').Select(it => int.Parse(it.Trim())).ToList();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
item.MeetCondList = new List<int>();
|
||||
}
|
||||
|
||||
if (DTPBeginTime.Value > DTPEndTime.Value)
|
||||
{
|
||||
// ?
|
||||
}
|
||||
|
||||
item.BeginTime = DTPBeginTime.Value.Date;
|
||||
item.EndTime = DTPEndTime.Value.Date.AddDays(1).AddSeconds(-1);
|
||||
|
||||
BtnDelete.Enabled = true;
|
||||
await UIUtil.ButtonComplete(BtnAddOrUpdate);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点击删除按钮时触发
|
||||
/// </summary>
|
||||
private void BtnDelete_Click(object sender, EventArgs e)
|
||||
{
|
||||
var activityId = (int)NUDActivityId.Value;
|
||||
var index = ActivityConfigItems.FindIndex(it => it.ActivityId == activityId);
|
||||
if (index != -1)
|
||||
{
|
||||
ListActivityConfigItems.Items.RemoveAt(index);
|
||||
ActivityConfigItems.RemoveAt(index);
|
||||
}
|
||||
BtnDelete.Enabled = false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 当前文件活动配置列表选中项改变时触发
|
||||
/// </summary>
|
||||
private void ListActivityConfigItems_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (ListActivityConfigItems.SelectedItems.Count == 0)
|
||||
return;
|
||||
var index = ListActivityConfigItems.SelectedIndices[0];
|
||||
var configItem = ActivityConfigItems[index];
|
||||
NUDActivityId.Value = configItem.ActivityId;
|
||||
NUDActivityType.Value = configItem.ActivityType;
|
||||
NUDScheduleId.Value = configItem.ScheduleId;
|
||||
TxtMeetCondList.Text = configItem.MeetCondList?.Count > 0
|
||||
? string.Join(",", configItem.MeetCondList)
|
||||
: string.Empty;
|
||||
DTPBeginTime.Value = configItem.BeginTime;
|
||||
DTPEndTime.Value = configItem.EndTime;
|
||||
}
|
||||
|
||||
#endregion - 活动列表 -
|
||||
}
|
||||
}
|
208
Source/GrasscutterTools/Forms/FormActivityEditor.en-US.resx
Normal file
@@ -0,0 +1,208 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="BtnSave.Text" xml:space="preserve">
|
||||
<value>Save</value>
|
||||
</data>
|
||||
<data name="BtnLoad.Text" xml:space="preserve">
|
||||
<value>Load</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="LblActivityConfigJsonPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>145, 17</value>
|
||||
</data>
|
||||
<data name="LblActivityConfigJsonPath.Text" xml:space="preserve">
|
||||
<value>ActivityConfig.json Path:</value>
|
||||
</data>
|
||||
<data name="GrpAllActivity.Text" xml:space="preserve">
|
||||
<value>All Activity by dplek</value>
|
||||
</data>
|
||||
<data name="ColumnActivityName.Text" xml:space="preserve">
|
||||
<value>Activity name</value>
|
||||
</data>
|
||||
<data name="GrpFileActivity.Text" xml:space="preserve">
|
||||
<value>File</value>
|
||||
</data>
|
||||
<data name="ColActivityTitle.Text" xml:space="preserve">
|
||||
<value>Activity name</value>
|
||||
</data>
|
||||
<data name="ColActivityBeginTime.Text" xml:space="preserve">
|
||||
<value>Begin time</value>
|
||||
</data>
|
||||
<data name="ColActivityEndTime.Text" xml:space="preserve">
|
||||
<value>End time</value>
|
||||
</data>
|
||||
<data name="GrpActivityInfo.Text" xml:space="preserve">
|
||||
<value>Activity info</value>
|
||||
</data>
|
||||
<data name="LblActivityTitle.Text" xml:space="preserve">
|
||||
<value>Activity name</value>
|
||||
</data>
|
||||
<data name="LblActivityParmEditTip.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>8, 251</value>
|
||||
</data>
|
||||
<data name="LblActivityParmEditTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>314, 17</value>
|
||||
</data>
|
||||
<data name="LblActivityParmEditTip.Text" xml:space="preserve">
|
||||
<value>Tip: Usually you only need to modify the activity time</value>
|
||||
</data>
|
||||
<data name="BtnDelete.Text" xml:space="preserve">
|
||||
<value>- Delete</value>
|
||||
</data>
|
||||
<data name="BtnAddOrUpdate.Text" xml:space="preserve">
|
||||
<value>√ Add or Update</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>62, 17</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Text" xml:space="preserve">
|
||||
<value>End Time</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>73, 17</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Text" xml:space="preserve">
|
||||
<value>Begin Time</value>
|
||||
</data>
|
||||
<data name="LblMeetCondList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>88, 17</value>
|
||||
</data>
|
||||
<data name="LblMeetCondList.Text" xml:space="preserve">
|
||||
<value>MeetCondList</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>77, 17</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.Text" xml:space="preserve">
|
||||
<value>Schedule ID</value>
|
||||
</data>
|
||||
<data name="LblActivityType.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>80, 17</value>
|
||||
</data>
|
||||
<data name="LblActivityType.Text" xml:space="preserve">
|
||||
<value>Activity Type</value>
|
||||
</data>
|
||||
<data name="LblActivityId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>65, 17</value>
|
||||
</data>
|
||||
<data name="LblActivityId.Text" xml:space="preserve">
|
||||
<value>Activity ID</value>
|
||||
</data>
|
||||
</root>
|