Log in

View Full Version : [Beta] UPDATE Dust an elysian tail V2.0 by Hellboy v6



I C0z I
08-15-2012, 06:28 PM
I worked always :089:

http://i1134.photobucket.com/albums/m613/gold972/dustv1.png

1) open horizon save 00000000000
2)drag and move the save 000000000
3) mods your save
4 )the tools rehashed & resigned ! automaticly

http://i1134.photobucket.com/albums/m613/gold972/Jtag-image218.jpg
big thank for feudanalte for Package IO
big thank for pureIso
big thank for sephiroth it very good amdinistrator
and for all members

I release my save story avanced 8%

Serious_M
08-15-2012, 06:31 PM
always a awesome job you do Hellboy

CloudStrife7x
08-15-2012, 06:35 PM
nice work done hellboy v6 :)

pogi
08-15-2012, 07:46 PM
wow Good job !! nice and qck ! thanks Hellboy!

thepunisher336
08-15-2012, 08:33 PM
Looking forward to this nice editor for a great game. Nice work!!

thegutta
08-15-2012, 08:36 PM
Excellent work as always hellboy :D

VIP Assasin
08-15-2012, 09:05 PM
Great job Hellboy ur a beast or a demon lol

I C0z I
08-15-2012, 10:39 PM
Thank Serious_M (http://www.360haven.com/forums/member.php?u=140) :029:

I C0z I
08-15-2012, 10:39 PM
Thank Thugetha :006:

I C0z I
08-15-2012, 10:40 PM
Thank VIP Assasin (http://www.360haven.com/forums/member.php?u=123) & CloudStrife7x (http://www.360haven.com/forums/member.php?u=199) :029:

I C0z I
08-15-2012, 10:45 PM
Level 60 = 1 Hit kill

edu_pt
08-16-2012, 12:00 AM
Thanks for another excellent job hellboy v6.

desfunk
08-16-2012, 02:35 AM
NICE WORK!!! I plan on snagging this game once i'm done with Darksiders 2. Awesome to know there's already an editor waiting :)

Thanks!

fairchild
08-16-2012, 07:46 AM
Perhaps there's more you could implement in the editor, here's the sourcecode of the class SaveGame :)



public class SaveGame
{
// Methods
public void CheckMemory(BinaryReader reader, int slot)
{
reader.ReadSingle();
long num = reader.ReadInt64();
if ((Game1.menu.prompt != promptDialogue.Save) && (num >= Game1.menu.mostRecentTime))
{
Game1.menu.mostRecentTime = num;
Game1.stats.saveSlot = Game1.menu.tempSaveSlot = (byte) slot;
}
Game1.menu.saveCompletion[slot] = reader.ReadInt32();
if (reader.ReadBoolean())
{
Game1.menu.canNewGamePlus = true;
}
Game1.menu.saveRegionName[slot] = reader.ReadString();
Game1.menu.saveHP[slot] = reader.ReadInt32();
Game1.menu.saveMaxHP[slot] = (int) Math.Min((float) (reader.ReadInt32() * reader.ReadSingle()), (float) 9999f);
Game1.menu.saveLevel[slot] = reader.ReadInt32();
Game1.menu.saveGold[slot] = reader.ReadInt32();
Game1.menu.saveDifficulty[slot] = reader.ReadByte();
reader.ReadByte();
Game1.menu.saveGameClock[slot] = reader.ReadSingle();
}

public int GetItemArrayID(List<SaveItem> itemList, int newID, string newUniqueID)
{
int num = -1;
for (int i = 0; i < itemList.Count; i++)
{
if ((itemList[i].ID == newID) && ((newUniqueID == null) || (itemList[i].UniqueID == newUniqueID)))
{
num = i;
}
}
return num;
}

public SaveItem GetItemID(List<SaveItem> itemList, string newID)
{
try
{
int num = -1;
for (int i = 0; i < itemList.Count; i++)
{
if (itemList[i].UniqueID == newID)
{
num = i;
break;
}
}
return itemList[num];
}
catch
{
return null;
}
}

public void Read(BinaryReader reader)
{
Character character = Game1.character[0];
Game1.Build = reader.ReadSingle();
reader.ReadInt64();
Game1.stats.Completion = reader.ReadInt32();
Game1.stats.gameComplete = reader.ReadBoolean();
Game1.events.regionDisplayName = reader.ReadString();
character.HP = character.pHP = character.HP = reader.ReadInt32();
character.MaxHP = reader.ReadInt32();
reader.ReadSingle();
Game1.stats.LEVEL = reader.ReadInt32();
Game1.stats.Gold = reader.ReadInt32();
Game1.stats.gameDifficulty = reader.ReadByte();
Game1.stats.startDifficulty = reader.ReadByte();
Game1.stats.gameClock = reader.ReadSingle();
Game1.stats.XP = reader.ReadInt32();
Game1.stats.prevLevelXP = reader.ReadInt32();
Game1.stats.nextLevelXP = reader.ReadInt32();
Game1.stats.skillPoints = reader.ReadInt32();
Game1.stats.canEarnAchievements = reader.ReadBoolean();
string str = reader.ReadString();
if ((Game1.GamerServices && (Game1.xblaManager.MeSignedInGamer() != null)) && (str != Game1.xblaManager.MeSignedInGamer().Gamertag))
{
Game1.stats.canEarnAchievements = false;
}
for (int i = 0; i < Game1.stats.upgrade.Length; i++)
{
Game1.stats.upgrade[i] = reader.ReadByte();
}
for (int j = 0; j < Game1.stats.upgradedStat.Length; j++)
{
Game1.stats.upgradedStat[j] = reader.ReadByte();
}
Game1.stats.projectileType = reader.ReadInt32();
Game1.stats.curCharge = reader.ReadSingle();
for (int k = 0; k < Game1.stats.Equipment.Length; k++)
{
Game1.stats.Equipment[k] = reader.ReadByte();
}
for (int m = 0; m < Game1.stats.EquipBluePrint.Length; m++)
{
Game1.stats.EquipBluePrint[m] = reader.ReadByte();
}
for (int n = 0; n < Game1.stats.shopEquipment.Length; n++)
{
Game1.stats.shopEquipment[n] = reader.ReadByte();
}
for (int num6 = 0; num6 < Game1.stats.Material.Length; num6++)
{
Game1.stats.Material[num6] = reader.ReadInt32();
}
for (int num7 = 0; num7 < Game1.stats.shopMaterial.Length; num7++)
{
Game1.stats.shopMaterial[num7] = reader.ReadInt32();
}
for (int num8 = 0; num8 < Game1.stats.StructureBuilt.Length; num8++)
{
Game1.stats.StructureBuilt[num8] = reader.ReadBoolean();
}
Game1.hud.shopRestockTime = reader.ReadSingle();
Game1.stats.attack = reader.ReadInt32();
Game1.stats.defense = reader.ReadInt32();
Game1.stats.fidget = reader.ReadInt32();
Game1.stats.luck = reader.ReadInt32();
Game1.stats.attackEquip = reader.ReadInt32();
Game1.stats.defenseEquip = reader.ReadInt32();
Game1.stats.newFidgetEquip = reader.ReadInt32();
Game1.stats.luckEquip = reader.ReadInt32();
Game1.stats.newHealtRegen = reader.ReadInt32();
Game1.stats.currentItem = reader.ReadInt32();
Game1.stats.currentPendant = reader.ReadInt32();
Game1.stats.currentAugment = reader.ReadInt32();
Game1.stats.currentArmor = reader.ReadInt32();
Game1.stats.currentRingLeft = reader.ReadInt32();
Game1.stats.currentRingRight = reader.ReadInt32();
for (int num9 = 0; num9 < Game1.cManager.challengeArenas.Count; num9++)
{
Game1.cManager.challengeArenas[num9].HighScore = reader.ReadInt32();
}
Game1.stats.enemiesDefeated = reader.ReadInt32();
Game1.stats.longestChain = reader.ReadInt32();
Game1.events.currentEvent = reader.ReadInt32();
for (int num10 = 0; num10 < Game1.events.sideEventAvailable.Length; num10++)
{
Game1.events.sideEventAvailable[num10] = reader.ReadBoolean();
}
for (int num11 = 0; num11 < Game1.stats.villagerDialogue.Length; num11++)
{
Game1.stats.villagerDialogue[num11] = reader.ReadInt32();
}
for (int num12 = 0; num12 < Game1.events.regionIntroduced.Length; num12++)
{
Game1.events.regionIntroduced[num12] = reader.ReadBoolean();
}
for (int num13 = 1; num13 < Game1.character.Length; num13++)
{
Game1.character[num13].Exists = CharExists.Dead;
}
character.UnloadTextures();
character.Location = new Vector2(reader.ReadSingle(), reader.ReadSingle() - 100f);
Game1.map.transDir = TransitionDirection.None;
Game1.map.path = reader.ReadString();
string str2 = reader.ReadString();
float time = reader.ReadSingle();
int num15 = reader.ReadInt32();
int num16 = reader.ReadInt32();
float num17 = reader.ReadSingle();
int num18 = reader.ReadInt32();
try
{
Game1.questManager.ReadQuests(reader);
}
catch
{
}
try
{
Game1.navManager.ReadSaveFile(reader);
}
catch
{
}
Game1.pManager.Reset(true, true);
Game1.map.SwitchMap(Game1.pManager, Game1.character, Game1.map.path, true);
Game1.wManager.SetWeather((WeatherType) num15, true);
Game1.wManager.randomType = (RandomType) num16;
Game1.wManager.weatherTimer = num17;
WeatherAudio.Play((WeatherAudioType) num18);
Music.Play(null);
Music.Play(str2);
Sound.FadeMusicOut(time);
this.ReadyCharacter();
}

private void ReadyCharacter()
{
Character character = Game1.character[0];
if (character.HP < 1)
{
character.HP = 1;
}
if (Game1.stats.playerLifeState != 0)
{
Game1.stats.playerLifeState = 2;
}
character.LifeBarPercent = 0f;
character.HPLossFrame = 0f;
character.Trajectory = Vector2.Zero;
character.State = CharState.Air;
character.SetAnim("idle00", 0, 2);
character.Floating = false;
character.StatusEffect = StatusEffects.Normal;
character.StatusTime = 0f;
character.GroundCharacter();
character.SetAnim("idle01", 0, 2);
Game1.stats.inFront = true;
Game1.events.skippable = SkipType.Skippable;
Game1.events.eventType = EventType.None;
Game1.events.anyEvent = Game1.hud.inBoss = false;
Game1.hud.bossLife = Game1.hud.bossMaxLife = 0f;
Game1.SlowTime = 0f;
Game1.pManager.ResetFidget(Game1.character);
for (int i = 0; i < Game1.character.Length; i++)
{
if (Game1.character[i].Exists == CharExists.Exists)
{
Game1.character[i].Holding = false;
Game1.character[i].GrabbedBy = -1;
}
}
Game1.map.leftBlock = Game1.map.rightBlock = 0f;
Game1.worldScale = 1f;
Game1.camera.ResetCamera(Game1.character);
Game1.stats.projectileCost = Game1.stats.GetProjectileCost(Game1.stats.projecti leType);
Game1.cManager.ExitScoreBoard(true);
Game1.stats.GetWorldExplored();
}

public void Write(BinaryWriter writer)
{
Character character = Game1.character[0];
int num = (int) Math.Min((float) (character.MaxHP * Game1.stats.bonusHealth), (float) 9999f);
int num2 = (int) Math.Max((float) (num * (1f - ((Game1.stats.gameDifficulty + 1) * 0.25f))), (float) (num * 0.125f));
if (Game1.stats.gameDifficulty == 0)
{
num2 = num;
}
Vector2 location = character.Location;
if (Game1.hud.savePos != Vector2.Zero)
{
location.X = Game1.hud.savePos.X;
}
writer.Write(Game1.Build);
writer.Write(DateTime.Now.Ticks);
writer.Write((int) Game1.stats.Completion);
writer.Write(Game1.stats.gameComplete);
writer.Write(Game1.events.regionDisplayName);
writer.Write(Math.Max(character.HP, num2));
writer.Write(character.MaxHP);
writer.Write(Game1.stats.bonusHealth);
writer.Write(Game1.stats.LEVEL);
writer.Write(Game1.stats.Gold);
writer.Write(Game1.stats.gameDifficulty);
writer.Write(Game1.stats.startDifficulty);
writer.Write(Game1.stats.gameClock);
writer.Write(Game1.stats.XP);
writer.Write(Game1.stats.prevLevelXP);
writer.Write(Game1.stats.nextLevelXP);
writer.Write(Game1.stats.skillPoints);
string gamertag = "noname";
if (Game1.GamerServices && (Game1.xblaManager.MeSignedInGamer() != null))
{
gamertag = Game1.xblaManager.MeSignedInGamer().Gamertag;
}
writer.Write(Game1.stats.canEarnAchievements);
writer.Write(gamertag);
for (int i = 0; i < Game1.stats.upgrade.Length; i++)
{
writer.Write(Game1.stats.upgrade[i]);
}
for (int j = 0; j < Game1.stats.upgradedStat.Length; j++)
{
writer.Write(Game1.stats.upgradedStat[j]);
}
writer.Write(Game1.stats.projectileType);
writer.Write(Game1.stats.curCharge);
for (int k = 0; k < Game1.stats.Equipment.Length; k++)
{
writer.Write(Game1.stats.Equipment[k]);
}
for (int m = 0; m < Game1.stats.EquipBluePrint.Length; m++)
{
writer.Write(Game1.stats.EquipBluePrint[m]);
}
for (int n = 0; n < Game1.stats.shopEquipment.Length; n++)
{
writer.Write(Game1.stats.shopEquipment[n]);
}
for (int num8 = 0; num8 < Game1.stats.Material.Length; num8++)
{
writer.Write(Game1.stats.Material[num8]);
}
for (int num9 = 0; num9 < Game1.stats.shopMaterial.Length; num9++)
{
writer.Write(Game1.stats.shopMaterial[num9]);
}
for (int num10 = 0; num10 < Game1.stats.StructureBuilt.Length; num10++)
{
writer.Write(Game1.stats.StructureBuilt[num10]);
}
writer.Write(Game1.hud.shopRestockTime);
writer.Write(Game1.stats.attack);
writer.Write(Game1.stats.defense);
writer.Write(Game1.stats.fidget);
writer.Write(Game1.stats.luck);
writer.Write(Game1.stats.attackEquip);
writer.Write(Game1.stats.defenseEquip);
writer.Write(Game1.stats.newFidgetEquip);
writer.Write(Game1.stats.luckEquip);
writer.Write(Game1.stats.newHealtRegen);
writer.Write(Game1.stats.currentItem);
writer.Write(Game1.stats.currentPendant);
writer.Write(Game1.stats.currentAugment);
writer.Write(Game1.stats.currentArmor);
writer.Write(Game1.stats.currentRingLeft);
writer.Write(Game1.stats.currentRingRight);
for (int num11 = 0; num11 < Game1.cManager.challengeArenas.Count; num11++)
{
writer.Write(Game1.cManager.challengeArenas[num11].HighScore);
}
writer.Write(Game1.stats.enemiesDefeated);
writer.Write(Game1.stats.longestChain);
writer.Write(Game1.events.currentEvent);
for (int num12 = 0; num12 < Game1.events.sideEventAvailable.Length; num12++)
{
writer.Write(Game1.events.sideEventAvailable[num12]);
}
for (int num13 = 0; num13 < Game1.stats.villagerDialogue.Length; num13++)
{
writer.Write(Game1.stats.villagerDialogue[num13]);
}
for (int num14 = 0; num14 < Game1.events.regionIntroduced.Length; num14++)
{
writer.Write(Game1.events.regionIntroduced[num14]);
}
writer.Write(location.X);
writer.Write((float) (location.Y - ((character.State == CharState.Grounded) ? ((float) 200) : ((float) 0))));
writer.Write(Game1.map.path);
writer.Write(Music.GetMusicName());
writer.Write(Sound.fadeMusic);
writer.Write((int) Game1.wManager.weatherType);
writer.Write((int) Game1.wManager.randomType);
writer.Write(Game1.wManager.weatherTimer);
writer.Write((int) Game1.wManager.weatherAudioType);
Game1.questManager.WriteQuests(writer);
Game1.navManager.WriteSaveFile(writer);
}
}

WantedDeadorAlive
08-16-2012, 01:12 PM
having a problem with this, some of the values edit correctly and others don't, also it set my difficulty from hardcore to casual, so..yeah

I C0z I
08-16-2012, 03:09 PM
thank you fairchild (http://www.360haven.com/forums/member.php?u=442)

Dominus Dolor
08-16-2012, 06:19 PM
IDK if its me but this save editor does not work. my save is 50% completed and i have 14489 gold. I wanted to use this editor to give myself max gold and luck but instead after "changing" the values to what i want it just saves it as the values that pop up on the editors screen when i load the save file so idk where it gets those values from but its not my save. maybe because im .US and the screen shots look like .EU? but its nice non the less and i look forward to the complete version of this editor.

ltclark
08-16-2012, 07:27 PM
IDK if its me but this save editor does not work. my save is 50% completed and i have 14489 gold. I wanted to use this editor to give myself max gold and luck but instead after "changing" the values to what i want it just saves it as the values that pop up on the editors screen when i load the save file so idk where it gets those values from but its not my save. maybe because im .US and the screen shots look like .EU? but its nice non the less and i look forward to the complete version of this editor.

I'm having the same issues. When my save is opened the values it loads are not correct, and it doesn't seem to edit the values correctly. All I changed was gold and when that save was started in game my attack was some absurdly high number and some of the other values had changed as well

Xenoith
08-16-2012, 07:42 PM
I'll give this editor a try and thank you for your hard work.



Breakdown Report of Editor

Works fine, very good. Only problem I see is when you edit Fidget's values you destroy everything but your energy goes down VERY quickly. If there is a way with the source code given, perhaps in a later update you could modify the energy level. Other than that, very good tool. Keep up the good work.

thepunisher336
08-17-2012, 02:21 AM
Same Problem, values it loads are all wrong. i only wish to edit money but it doesnt work. Tried 4 times. :011:

I C0z I
08-17-2012, 04:04 PM
next update send a save please

Xenoith
08-17-2012, 04:43 PM
To those of you who are saying the tool isn't working you're not RR or you're not opening the right file. -sighs- Here's another short tutorial and right when I am in the middle of wave 5 on Mass Effect 3 no doubt.

-Start Elysian Tales
-Go to a save point and save it
-Dashboard
-Go to Storage and go to your HDD and then find Dust
-Find your save and transfer it to your USB Device
-Take said USB device and plug it into the computer
-Open Horizon
-Extract your save game, it should be 000000000000 <-Looks like that

Open the mod tool and mod your save then hit SAVE in the tool. Also the editor will make a BACK UP for you. Remember to ALWAYS back up your saves. That is the first rule to modding.

If you're having trouble extracting let me give you another tutorial

Open Horizon
Go to your USB then hit Games and then click on Dust: An Elysian Tale
Right click the picture and hit extract. That will then move your saved game to your desktop. Now repeat the following above steps.

Have a good day. If you need further help then feel free to PM me or Hellboy, more or less Hellboy since its his tool also HB did you take note of the suggestion? :D

VyutheX
08-17-2012, 05:48 PM
wow really nice :)

ltclark
08-17-2012, 11:49 PM
To those of you who are saying the tool isn't working you're not RR or you're not opening the right file.
pretty sure I am opening the right file since there is only one file in the dust folder and i made sure to rehash and resign but ill upload my save for testing purposes as well as pics of my stats and what the save editor shows when the save is opened.

9176

I8AB2Day
08-18-2012, 02:02 AM
https://dl.dropbox.com/u/1079756/dustSEerror.jpg
One problem after another, right? I'd love to help, but I've hit a roadblock of my own just now... Is it possible to just hex edit this? I've done it before to other games... all I need to do is compare 2 of my saves with Hex Workshop... all I want is more money :011:

EDIT:
Interesting... I was doing my usual shortcut by selecting my external HD from within the game's save menu, and saving directly on to the HD, and I think that was causing my problem. I saved to the regular 360 HD, went to the dash, copied the file over, and this file works fine... let's see how this goes ^_^

O_O oh... wait... nvm... save editor is totally outa whack here... stats are totally bonkers on this for me as well. I think I will try hex editing now...

EDIT:
It's nothing like Dungeon Defenders... T_T I give up... here's my save: 9177 I got 22712 gold.

EDIT:
I bet I know why hex editing didn't work! I didn't extract the data from the save. I feel stupid... I'll try it later...

Dominus Dolor
08-18-2012, 03:20 PM
Well as much as i like the condescending walkthrough yes I took the right file.... the only file... and after extracting the file I edited the exp to 0, the HP to 9999, the attack to 10, the fidget to 10, defense to 999, and luck to 100, gold to 999999, then saved.
Two things i want to note, when i loaded the save i waited until the loading bar on the bottom was full and done but the stats still didnt load right, and when i finished loading the stats I wanted and saved, put it back in my USB, then R&R then put it in my 360 it did the following stats,
HP 80, attack 15139584, defense 65530, fidget 1, luck 655360, and gold 0, and level 0. not to mention im pretty sure that the console ID, profile ID, device ID, and the other ID's belong to Hellboy because the ones that show up on the editor are not mine. I really like the editor. and hope to see it grow with more added on to it maybe an inventory edit to? or just whats equipped at the time. Thank you for the editor hellboy and i hope to see it worked out =)

thepunisher336
08-18-2012, 09:34 PM
To those of you who are saying the tool isn't working you're not RR or you're not opening the right file. -sighs- Here's another short tutorial and right when I am in the middle of wave 5 on Mass Effect 3 no doubt.

-Start Elysian Tales
-Go to a save point and save it
-Dashboard
-Go to Storage and go to your HDD and then find Dust
-Find your save and transfer it to your USB Device
-Take said USB device and plug it into the computer
-Open Horizon
-Extract your save game, it should be 000000000000 <-Looks like that

Open the mod tool and mod your save then hit SAVE in the tool. Also the editor will make a BACK UP for you. Remember to ALWAYS back up your saves. That is the first rule to modding.

If you're having trouble extracting let me give you another tutorial

Open Horizon
Go to your USB then hit Games and then click on Dust: An Elysian Tale
Right click the picture and hit extract. That will then move your saved game to your desktop. Now repeat the following above steps.

Have a good day. If you need further help then feel free to PM me or Hellboy, more or less Hellboy since its his tool also HB did you take note of the suggestion? :D

Thanks for that great guide there but you should know before you *Sigh*, most of us know how to extract and use a save editor. We also know when an editor is not working. We clearly stated that the values were coming up wrong before and after Editing file. Not finding what file to extract wasnt our inquiry. I have also waited for both bars to finish loading at the bottom but nothing still manages to work. I will wait for a future update but hellboy thanks for your time and effort on this nice editor by the way.