Skip to content

Commit

Permalink
updata v1.3.1
Browse files Browse the repository at this point in the history
  • Loading branch information
AUSTIN2526 committed Feb 15, 2023
1 parent 2d19aea commit 5cc2870
Show file tree
Hide file tree
Showing 4 changed files with 307 additions and 131 deletions.
34 changes: 24 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Holocure Trainer
This project can help you dynamically modify the game.

This is a multipurpose trainer for HoloCure

## Download(exe)
```
Expand All @@ -10,7 +9,7 @@ https://github.com/AUSTIN2526/holocure-trainer/releases
## Screenshot
![Image text](https://github.com/AUSTIN2526/holocure-trainer/blob/main/screen.png)

## Funtion
## Dynamic funtion
* ### Unlimited HP
Increase HP to 99999.

Expand All @@ -30,11 +29,27 @@ https://github.com/AUSTIN2526/holocure-trainer/releases
Reduce the level to 1 to get the upgrade effect.

* ### Stop Level Up
Increase level to 999

* ### Unlimited Coin(sometime will fail)
Increase level to 999.

## Save editor
* ### Unlimited Coin
Increase coin to 99999999.

* ### Unlock Armory
Unlock All armory.

* ### Unlock Achievements
Unlock All achievements.

* ### ALL Outfits and Characters
Unlock All characters outfits and modify characters LV to 20.

* ### All Stage
Unlock All stage.

* ### Max Upgrades
Increase upgrades to max.

## How to use
1.Open HoloCure and Trainer.
2.Click the detection button.
Expand All @@ -43,7 +58,6 @@ https://github.com/AUSTIN2526/holocure-trainer/releases
## Please Note
1.Don't use HoloCure Launcher open the game(will cause the locked fail).
2.Unlocking the collabs recipe may cause the trainer to fail, you need to restart the stage to solve it.
3.Unlimited Coin function sometime will fail, you need to reopen the HoloCure many a time(this is a bug, next version maybe fix it).
4.If your character is Ame need to use Unlimited SP(Ame) instead of Unlimited SP.
5.If function don't work in stage, press esc can help you solve the problem.
6.The value of some functions needs to exceed 0 to be able to use.
3.If your character is Ame need to use Unlimited SP(Ame) instead of Unlimited SP.
4.If function don't work in stage, press esc can help you solve the problem.
5.The value of some functions needs to exceed 0 to be able to use.
112 changes: 66 additions & 46 deletions UI.py
Original file line number Diff line number Diff line change
@@ -1,67 +1,68 @@
from PyQt5 import QtCore, QtWidgets
from PyQt5 import QtCore, QtWidgets, QtGui
import locale


class Ui_Form(object):
def setupUi(self, page):
class Ui_Form:
def __init__(self):

#get language
self.language = locale.getdefaultlocale()[0]
#setting different language parameters

#set system language
if self.language =='zh_TW' or self.language =='zh':
self.language = 'zh_TW'
self.w, self.h, self.space = 410, 300, 90
self.w, self.h, self.space, self.row_space = 450, 300, 90, 30

else:
self.language = 'en'
self.w, self.h, self.space = 450, 300, 110
self.w, self.h, self.space, self.row_space = 620, 300, 140, 30


#different language text
#UI language (if you want add new function modify here【format func_name_ + "num"】)
self.UI_text = {'zh_TW':{'ui_name':'HoloCure修改器 by AUSTIN2526',
'info':'【啟動遊戲後按偵測按鈕遊戲即可啟用功能】',
'detect_button':'偵測遊戲',

#if you want to add a row modify here(format func_name_ + "num")
#modify here
'func_name_1':['鎖血無敵', '全圖撿物', '秒殺怪物', '999 攻速'],
'func_name_2':['無限技能','無限技能(Ame)'],
'func_name_3':['無限升級', '停止升級'],
'func_name_4':['無限金幣'],
'func_name_4':['無限金幣', '解鎖裝備', '解鎖成就', '全角色與服裝', '解鎖關卡', '解鎖被動'],

#if you want to add a row modify here(format func_title_ + "num")
'func_title_1':'主要功能',
'func_title_2':'特殊技能',
'func_title_3':'升級',
'func_title_4':'其他'},
#modify here
'func_title_1':'主要功能',
'func_title_2':'特殊技能',
'func_title_3':'♦ 升級 ♦',
'func_title_4':'♣ 修改存檔 ♣'},

'en':{'ui_name':'HoloCure Trainer by AUSTIN2526',
'info':'【Pleas click the detection button to enable function】',
'detect_button':'Detect',

#if you want to add a row modify here(format func_name_ + "num")
#modify here
'func_name_1':['Unlimited HP', 'EX Pick Range', 'Spike Monster', '999 Haste'],
'func_name_2':['Unlimited SP','Unlimited SP(Ame)'],
'func_name_3':['Unlimited EXP', 'Stop Level Up'],
'func_name_4':['Unlimited Coin'],
'func_name_4':['Unlimited Coin', 'All Armorys', 'All Achievements', 'ALL Outfits and Characters', 'All Stages', 'Max Upgrades'],

#if you want to add a row modify here(format func_title_ + "num")
'func_title_1':'Main Function',
'func_title_2':'Special Skill',
'func_title_3':'Level Up',
'func_title_4':'Other'},


#modify here
'func_title_1':'♠ Main Function ♠',
'func_title_2':'♥ Special Skill ♥',
'func_title_3':'♦ Level Up ♦',
'func_title_4':'♣ Save Editor ♣'},
}

#QCheckBox group
self.func_group_1, self.func_group_2, self.func_group_3, self.func_group_4 = [], [], [], []
self.all_group = [self.func_group_1, self.func_group_2, self.func_group_3, self.func_group_4]
def setupUi(self, page):

#QCheckBox group(save_editor_func_1 need to be in the last)
self.func_group_1, self.func_group_2, self.func_group_3, self.save_editor_func_1 = [], [], [], []
self.all_group = [self.func_group_1, self.func_group_2, self.func_group_3, self.save_editor_func_1]

#setting window
#set window
page.resize(self.w, self.h)
page.setWindowTitle(self.UI_text[self.language]['ui_name'])


#detect button

#set detect button
self.makelabel(page, 110, 10, 2000, 30, self.UI_text[self.language]['info'])
self.page_button = QtWidgets.QPushButton(page)
self.page_button.setGeometry(QtCore.QRect(10, 10, 100, 30))
Expand All @@ -72,25 +73,44 @@ def setupUi(self, page):
for _ in self.UI_text[self.language][f'func_name_{cnt}']:
group_ID.append(QtWidgets.QCheckBox(page))



#set QCheckBox
#UI init position
x, y =10, 50
for cnt, group_ID in enumerate(self.all_group, 1):
#stage 1~3
self.makelabel(page, 10, 50+(cnt-1)*60, 2000, 30, self.UI_text[self.language][f'func_title_{cnt}'])
for index in range(len(self.UI_text[self.language][f'func_name_{cnt}'])):
group_ID[index].setGeometry(QtCore.QRect(10 + self.space*index, 80+(cnt-1)*60, 2000, 30))
group_ID[index].setText(self.UI_text[self.language][f'func_name_{cnt}'][index])
group_ID[index].setEnabled(False)
#title x position always 10
self.makelabel(page, 10, y, 2000, 30, self.UI_text[self.language][f'func_title_{cnt}'])

#calc length
func_num = len(self.UI_text[self.language][f'func_name_{cnt}'])
row_cnt = func_num//5
col_cnt = func_num if func_num < 4 else 4


for row in range(row_cnt+1):
for col in range(col_cnt):
index = row * 4 + col

#updat x and y position
x = 10 + self.space * index if index < 4 else 10 + self.space * (index-row_cnt*4)
y = y if index % 4 != 0 else y +25

group_ID[index].setGeometry(QtCore.QRect(x, y, 2000, 30))
group_ID[index].setText(self.UI_text[self.language][f'func_name_{cnt}'][index])
group_ID[index].setEnabled(False)

col_cnt = func_num if func_num <= 4 else func_num-row_cnt*4

#title space
y+=self.row_space









def makelabel(self, page, x=10, y=10, w=10, h=20, text='', s=True):
font = QtGui.QFont()
font.setPointSize(10)
self.label = QtWidgets.QLabel(page)
self.label.setGeometry(QtCore.QRect(x, y, w, h))
self.label.setObjectName('label')
self.label.setText(text)
self.label.setEnabled(s)

self.label.setFont(font)
Loading

0 comments on commit 5cc2870

Please sign in to comment.