Edit the Terraria EXE with dnSpy, you can add whatever you want that way and it's internal. Horrible but it's what you want and it's the easiest way.
so i just wanted to make a client.
but idk how :9
so then i posted here so i can get some answers
what i wanted to make is an ImGui hack so i can drag windows with hack module on it
i just wanted to see how to make to visual studio code, or any base code that i can work on
because i dont think my base code is working at all and idk how to make ImGui windows that
actually can give you items
i have not worked with ImGui before and i've only ever tried building an .exe example build that
doesn't even have any referenced adresses
my whole life i have never even injected an ImGui dll to terraria :1
i tried making the dll but i failed only for it to build but not make a window (;1)
im sad and seeking help and yes i am sane
Edit the Terraria EXE with dnSpy, you can add whatever you want that way and it's internal. Horrible but it's what you want and it's the easiest way.
about GUI: https://******.com/nikuya3/xnaforms
chat : Main.DoUpdate_HandleChat() 'commands'
interface : Main.drawFPS() 'buttons'
update : Player.update() and Player.updatebuffs() 'mods'
examples:
chat:
if (message.toLower() == ".godmode") //if the message matches ".godmode", then godmode - toggles its value (true-false, false-true) .toLower - returns a copy of this string converted to lowercase (So that the command is accepted by such, sUcH, SUCH letters)
{
Mods.godmode = !Mods.godmode;
Main.newText((godmode ? "En" : "Dis") + "able godmode."); //if godmode = true -> En, else -> Dis
}
update:
if (godmode)
{
Main.player[Main.myPlayer].statLife = Main.player[Main.myPlayer].statLifeMax; //infhp
Main.player[Main.myPlayer].statMana = Main.player[Main.myPlayer].statManaMax; //infmana
Main.player[Main.myPlayer].breath = Main.player[Main.myPlayer].breathMax - 1; //infbreath
if (Terraria.Main.netMode == 1)
{
NetMessage.SendData(16, -1, -1, null, Terraria.Main.myPlayer, 0f, 0f, 0f, 0, 0, 0); //send packet to server
}
}
interface:
if (Mods.godmode)
{
Main.spriteBatch.DrawString(FontAssets.MouseText.V alue, "Godmode", new Vector2(30f, 20f), Color.Green, 0f, default(Vector2), 1f, SpriteEffects.None, 0f); //create an inscription "Godmode", if godmode enable. vector2 - position (х,y) and etc.
}
Last edited by Soibelarus; 03-05-2021 at 08:30 AM.