Erfg1

Well-Known Member
OP
Member
Joined
Jan 3, 2016
Messages
105
Trophies
0
Age
37
XP
509
Country
United States
Once you understand the basics you can use almost any programming language. You would also have to learn the structure too.

Things like conditional statements, booleans, integers, floats, etc.
 

ov3rkill

Well-Known Member
Member
Joined
May 10, 2009
Messages
1,675
Trophies
1
Location
in a cardboard box
XP
2,092
Country
Australia
From what I understand, Codecademy wants you to put exactly what it sais on the site,
Example(Not from the actual site):
Would tell me to put a font size in a .css file, when I could just use <style> in html5.

That's why it's good for beginners. It would confuse the hell out of them if you provide them with a lot of info at first.
 
  • Like
Reactions: BooDaRippa

Psionic Roshambo

Well-Known Member
Member
Joined
Aug 12, 2011
Messages
2,246
Trophies
2
Age
50
XP
3,339
Country
United States
I need an FPS shooter that trains me how to code, then my short attention span could be overcome lol

Seriously why has no one made some sort of game game about C++ or C# or just C. Hell even if it is just a trivia game to help noobs learn (like myself)

Or maybe it has been made and I just haven't come across it.

Edit: Maybe this would be a fun place to start off for people. https://codecombat.com/

Edit 2: Maybe this would be a bit better, it claims to support C and C++ and C# so you can pick your weapon of choice. https://www.codewars.com/
 
Last edited by Psionic Roshambo,

Rottweiler

Member
Newcomer
Joined
Sep 25, 2017
Messages
13
Trophies
0
Age
34
XP
63
Country
United States
Recently had to write my own trainer implementation for a game, it supports multiple offsets and getting module base address

var trainer = new Trainer(Process.GetProcessesByName("hl2").FirstOrDefault());
if(trainer.IsValid()) {
var address = (uint) trainer.ReadInt(trainer.GetModuleAddress("server.dll") + 0xFFFFFF);
var result = trainer.WriteInt(address, VALUE, .. offset);
}

PHP:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace Growl.Core.Memory
{
    public class Trainer
    {
        public Process Process { get; }
        public bool IsValid { get { return Process != null && Process.Handle != null && !Process.HasExited; } }

        public Trainer(Process process)
        {
            Process = process;
        }

        private uint RecalculateAddress(uint address, params uint[] offset)
        {
            for (int i = 0; i < offset.Length; i++)
            {
                if (i == offset.Length)
                {
                    return address + offset[i];
                }
                else
                {
                    address = (uint)ReadInt(address + offset[i]);
                }
            }

            return address;
        }

        public int ReadInt(uint address)
        {
            var read = 0u;
            var value = -1;
            ReadInt(Process.Handle, address, out value, sizeof(int), out read);
            return value;
        }

        public int ReadInt(uint address, params uint[] offset)
        {
            return ReadInt(RecalculateAddress(address, offset));
        }

        public bool WriteInt(uint address, int value)
        {
            var write = 0u;
            WriteInt(Process.Handle, address, ref value, sizeof(int), out write);
            return write > 0;
        }

        public bool WriteInt(uint address, int value, params uint[] offset)
        {
            return WriteInt(RecalculateAddress(address, offset), value);
        }

        public float ReadFloat(uint address)
        {
            var read = 0u;
            var value = -1f;
            ReadFloat(Process.Handle, address, out value, sizeof(float), out read);
            return value;
        }

        public float ReadFloat(uint address, params uint[] offset)
        {
            return ReadFloat(RecalculateAddress(address, offset));
        }

        public bool WriteFloat(uint address, float value)
        {
            var write = 0u;
            WriteFloat(Process.Handle, address, ref value, sizeof(float), out write);
            return write > 0;
        }

        public bool WriteFloat(uint address, float value, params uint[] offset)
        {
            return WriteFloat(RecalculateAddress(address, offset), value);
        }

        public byte ReadByte(uint address)
        {
            var read = 0u;
            var value = default(byte);
            ReadByte(Process.Handle, address, out value, sizeof(byte), out read);
            return value;
        }

        public byte ReadByte(uint address, params uint[] offset)
        {
            return ReadByte(RecalculateAddress(address, offset));
        }

        public bool WriteByte(uint address, byte value)
        {
            var write = 0u;
            WriteByte(Process.Handle, address, ref value, sizeof(byte), out write);
            return write > 0;
        }

        public bool WriteByte(uint address, byte value, params uint[] offset)
        {
            return WriteByte(RecalculateAddress(address, offset), value);
        }

        public uint GetModuleAddress(string name)
        {
            foreach (ProcessModule module in Process.Modules)
            {
                if (module.ModuleName.ToLower() == name.ToLower() || Regex.Match(module.ModuleName.ToLower(), name.ToLower()).Success)
                {
                    return (uint)module.BaseAddress.ToInt32();
                }
            }

            return default(UInt32);
        }

        [DllImport("kernelbase", EntryPoint = "ReadProcessMemory")]
        private static extern IntPtr ReadInt(IntPtr handle, uint address, out int value, uint length, out uint read);

        [DllImport("kernelbase", EntryPoint = "WriteProcessMemory")]
        private static extern IntPtr WriteInt(IntPtr handle, uint address, ref int value, uint length, out uint write);

        [DllImport("kernelbase", EntryPoint = "ReadProcessMemory")]
        private static extern IntPtr ReadFloat(IntPtr handle, uint address, out float value, uint length, out uint read);

        [DllImport("kernelbase", EntryPoint = "WriteProcessMemory")]
        private static extern IntPtr WriteFloat(IntPtr handle, uint address, ref float value, uint length, out uint write);

        [DllImport("kernelbase", EntryPoint = "ReadProcessMemory")]
        private static extern IntPtr ReadByte(IntPtr handle, uint address, out byte value, uint length, out uint read);

        [DllImport("kernelbase", EntryPoint = "WriteProcessMemory")]
        private static extern IntPtr WriteByte(IntPtr handle, uint address, ref byte value, uint length, out uint write);

    }
}
 
Last edited by Rottweiler,

Rottweiler

Member
Newcomer
Joined
Sep 25, 2017
Messages
13
Trophies
0
Age
34
XP
63
Country
United States
I need an FPS shooter that trains me how to code, then my short attention span could be overcome lol

Seriously why has no one made some sort of game game about C++ or C# or just C. Hell even if it is just a trivia game to help noobs learn (like myself)

Or maybe it has been made and I just haven't come across it.

Edit: Maybe this would be a fun place to start off for people. https://codecombat.com/

Edit 2: Maybe this would be a bit better, it claims to support C and C++ and C# so you can pick your weapon of choice. https://www.codewars.com/

Unity engine uses C# and there are tons of tutorials out there for that. Games in pure C# with GDI tend to perform so bad that nobody wants to use it
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: https://www.youtube.com/watch?v=pnRVIC7kS4s