Can anybody make a video of this cheat so we can learn this methodGoghor wrote: ↑Tue Oct 23, 2018 11:49 pmHow do I know if I'm about to get any Job Card summon?
How do I know if I'm about to get any Ability Card summon?Job Card Result
Code: Select all
public static Mevius.Db.Api.GachaCardResultType GetGachaResultType(int index) { if ((DbManager._i._gachaResult2[index] & 2) == 2) { return Mevius.Db.Api.GachaCardResultType.GachaCardResultType_JOB; } return Mevius.Db.Api.GachaCardResultType.GachaCardResultType_ABILITY; } public static DbManager.JobCardInfo GetGachaJobCardResultInfo(int index) { return Mevius.Db.Api.GetJobCardInfoLoaclIndex((int)((4095 & DbManager._i._gachaResult[index]) - 1)); } public static C912567889466ef0cf80daa8b03815aff.C648971f118c7e1100318b6fb7ac13b59 GetGachaJobCardResult(int index) { DbManager.JobCardInfo gachaJobCardResultInfo = Mevius.Db.Api.GetGachaJobCardResultInfo(index); return C912567889466ef0cf80daa8b03815aff.Find(gachaJobCardResultInfo.card_name); }
Ability Card Result
Code: Select all
public static DbManager.CardInfo GetGachaAbilityCardResultInfo(int index) { if ((DbManager._i._gachaResult[index] & 32768) == 32768) { return Mevius.Db.Api.GetCardInfo("c" + ((int)(8191 & DbManager._i._gachaResult[index])).ToString("D4"), false, false, false, false); } if ((DbManager._i._gachaResult2[index] & 4) == 4) { return Mevius.Db.Api.GetCardInfo("c" + ((int)(8191 & DbManager._i._gachaResult[index])).ToString("D4"), false, false, false, false); } return Mevius.Db.Api.GetCardInfoLoaclIndex((int)((32767 & DbManager._i._gachaResult[index]) - 1)); } public static Cce76e2a43c381cdc7447ac7340578ed3.Cb7e018306898cacd6ff6351b58dd9425 GetGachaAbilityCardResult(int index) { DbManager.CardInfo gachaAbilityCardResultInfo = Mevius.Db.Api.GetGachaAbilityCardResultInfo(index); return Cce76e2a43c381cdc7447ac7340578ed3.Find(gachaAbilityCardResultInfo.card_name); }
How do I use that?More Clues
Code: Select all
case GuiScratchMenu.Status.Scratch_Wait: if (Mevius.Gui.Util.IsExistTaskId(ref this.m_TaskId)) { return; } if (base._CheckNetworkConnection()) { NetworkManager.SessionResultType sessionResult = Mevius.Network.Api.GetSessionResult(); if (sessionResult == NetworkManager.SessionResultType.SessionResultType_NONE && Mevius.Db.Api.IsGachaSuccess()) { if (!this.IsSkillGacha) { this.m_ScratchCount = Mevius.Db.Api.GetGachaCardCount(); } this.m_rareResult = false; this.m_rarityCutName = this.m_RarityCutNames[0]; int num24 = 0; int num25 = -1; this.m_RewardStoneCountedUp = false; DbManager.BackupReward backupReward = Mevius.Db.Api.GetBackupReward(); for (int num26 = 0; num26 < this.m_ScratchCount; num26++) { if (this.IsSkillGacha) { SkillCardGacha.GachaResult skillGachaResult = Mevius.Db.Api.GetSkillGachaResult(num26); if (skillGachaResult.cardInfo.GetCardClass() - 1 > num24) { num24 = skillGachaResult.cardInfo.GetCardClass() - 1; } if (num24 >= this.m_RarityCutNames.Length) { num24 = this.m_RarityCutNames.Length - 1; } } else if (Mevius.Db.Api.GetGachaResultType(num26) == Mevius.Db.Api.GachaCardResultType.GachaCardResultType_JOB) { DbManager.JobCardInfo gachaJobCardResultInfo = Mevius.Db.Api.GetGachaJobCardResultInfo(num26); if (gachaJobCardResultInfo.get_count == 1u) { this.m_rareResult = true; if (num24 < this.m_RarityCutNames.Length - 1) { num24 = this.m_RarityCutNames.Length - 1; } } if (gachaJobCardResultInfo.isClassChangeCardNew()) { this.m_rareResult = true; if (num24 < this.m_RarityCutNames.Length - 1) { num24 = this.m_RarityCutNames.Length - 1; } } if (gachaJobCardResultInfo.isAvatarJob()) { num24 = this.m_RarityCutNames.Length; } } else { DbManager.CardInfo gachaAbilityCardResultInfo = Mevius.Db.Api.GetGachaAbilityCardResultInfo(num26); int cardIndexByName = Mevius.Db.Api.GetCardIndexByName(gachaAbilityCardResultInfo.card_name); if (!backupReward.get_receive_card(cardIndexByName) || Mevius.Db.Api.IsClassChangeCard(num26)) { this.m_rareResult = true; int num27 = (!Mevius.Gui.Api.IsServiceWorldWide()) ? 5 : 4; if ((int)gachaAbilityCardResultInfo.getCard().m67848041ff9f182f0939a2860264272d() >= num27) { if (num24 < 2) { num24 = 2; } } else if (num24 < 1) { num24 = 1; } if ((int)gachaAbilityCardResultInfo.getCard().me82baaf68246a911ff06abeca30677f1() > 0) { num24 = this.m_RarityCutNames.Length; } } } } if (this.IsSkillGacha) { this.m_scratchMotionName = "z_exidle1"; this.m_rarityCutName = this.m_RarityCutNames[num24]; } else { if (num24 == 1) { this.m_rarityCutName = this.m_RarityCutNames[1]; num25 = Mevius.DataSheet.Api.GetResidentInteger("gacha_rare_motion_percent", 30); } else if (num24 == 2) { if (Mevius.DataSheet.Api.GetResidentInteger("gacha_new_lv5_cut_enable", 0) > 0) { this.m_rarityCutName = this.m_RarityCutNames[2]; } else { this.m_rarityCutName = this.m_RarityCutNames[3]; } num25 = Mevius.DataSheet.Api.GetResidentInteger("gacha_rare_motion_percent_lv5", 80); } else if (num24 == this.m_RarityCutNames.Length - 1) { this.m_rarityCutName = this.m_RarityCutNames[this.m_RarityCutNames.Length - 1]; num25 = Mevius.DataSheet.Api.GetResidentInteger("gacha_rare_motion_percent_lv5", 80); } else if (num24 == this.m_RarityCutNames.Length) { this.m_rarityCutName = "ev_0000_360"; num25 = 100; } this.m_scratchMotionName = "z_exidle2"; if (this.m_rareResult && (ulong)(Mevius.Common.Random.GetInstance().GetUnsignedInteger() % 100u) <= (ulong)((long)num25)) { this.m_scratchMotionName = "z_exidle3"; } } this._setMenuMode(GuiScratchMenu.MenuMode.Mode_OnScratch, false); Mevius.Gui.Util.SetText(this.m_TouchScreenLabel, Mevius.Gui.Util.GetGuiText("$scratch_018")); this.m_Status = GuiScratchMenu.Status.Scratch_CutBegin; } else if (sessionResult == NetworkManager.SessionResultType.SessionResultType_TERM_OUT) { int num28 = Mevius.Gui.Util.CheckMessageBox(ref this.m_MsgHandle, "$syoukan_011", "$syoukan_006", GuiMessageBox.Buttons.OK, GuiMessageBox.Skin.Default, false, GuiMessageBox.DefaultFromTextButtonSE, Mevius.Gui.Constants.SoundEffectKind.system_se_window_in, false); if (num28 >= 0) { this._setMenuMode(GuiScratchMenu.MenuMode.Mode_Common, false); this.updateButtonMenu(); this.updateTickeNumDisplay(); this.m_Status = GuiScratchMenu.Status.WaitSelect; } } else { this.updateButtonMenu(); this.updateTickeNumDisplay(); this.m_Status = this.m_StatusMemo; } } break;
Make sure I am familiar with Cheat Engine, activate Mono Features. Look/search at that APIs posted above, play with function Breakpoint, dump the stack, etc. Still hard? Learn Cheat Engine tutorial on YouTube, you gain more knowledge more power. Not spoonfeded
public static C912567889466ef0cf80daa8b03815aff.C648971f118c7e1100318b6fb7ac13b59 GetGachaJobCardResult(int index)
{
DbManager.JobCardInfo gachaJobCardResultInfo = Mevius.Db.Api.GetGachaJobCardResultInfo(index);
return C912567889466ef0cf80daa8b03815aff.Find(gachaJobCardResultInfo.card_name);
}
public static Cce76e2a43c381cdc7447ac7340578ed3.Cb7e018306898cacd6ff6351b58dd9425 GetGachaAbilityCardResult(int index)
{
DbManager.CardInfo gachaAbilityCardResultInfo = Mevius.Db.Api.GetGachaAbilityCardResultInfo(index);
return Cce76e2a43c381cdc7447ac7340578ed3.Find(gachaAbilityCardResultInfo.card_name);
}
Am I getting a Rare (already owned) 5* Card?
Look up ev_0000_350 on the enumerated results.Code: Select all
public const string c_RareLv5Cut = "ev_0000_350";
Am I getting a new Rare (never owned) 5* Card?
Look up ev_0000_345 on the enumerated results.Code: Select all
public const string c_RareLv5NewCut = "ev_0000_345";
Am I getting a new Rare 5+Card?
Look up ev_0000_360 on the enumerated results.Code: Select all
public const string c_RareLv6Cut = "ev_0000_360";
Am I getting a Normal TRASH Card?
Look up ev_0000_330 on the enumerated results.Code: Select all
public const string c_NormalResultCut = "ev_0000_330";
And so on and so on and so on...
--- Supreme Card is categorised within c_RareLv6Cut
How to use this cheat table?
- Install Cheat Engine
- Double-click the .CT file in order to open it.
- Click the PC icon in Cheat Engine in order to select the game process.
- Keep the list.
- Activate the trainer options by checking boxes or setting values from 0 to 1