Absolute C# Newcomer - Looking for a starting point

Hi all!

I’m an absolute newcomer, to both botting and C#

After scouring the forums, it seems most advice is to start with an already developed Sanderling bot, and customize it bit by bit there.

However, I am more in this for the education experience, outside of just botting in my game of choice.

I’d like to bot in EVE!

First however, I want to emphasis that I am not looking for someone to write the code! :stuck_out_tongue: I am, however, looking for general tips of how I can go about it. Specifically, the italicized lines below, as these are commands that would need to be frequently run, not just performed in a linear sequence, and I’m not sure how to go about that.

Hoping someone can lend some advice, on some operators/functions/ect I should consider!

The general algorithm I’m looking to start with would be pretty simple:

// Undock, activate all modules that can sustain in warp
(bot)

  • Scan system for combat sites
    - Scan Local for Non-friendlies
    • If non-friendly present, warp to safe BM, (wait X amount of time, then scan again) else continue
  • Select closest Foresaken Rally Point
  • Warp to Foresaken Rally Point @ 0km
    • Add signature to ignore list, in case blue is already on site, in prep for next site warp
    • If blue is present on overview, choose new site. Else, continue
  • Activate afterburner, armor rep
  • Launch Drones (5)
  • Select largest rat ship in overview, orbit @15km
    - If wreck is present on overview and currently orbiting ship, orbit wreck instead.
    - If no hostile rats in overview, then recall drones. Deactivate afterburner
  • restart loop

If you made it this far, cheers! Thanks for reading.

1 Like

Hello @Bulldog welcome here .

There is no problem with that, everybody start from 0, even if they forgot that :slight_smile:

indeed, the easier way is to take a bot , try to make him work for you and in time you continue to modify him.

:slight_smile: ok ok but let’s go at work:
here is a newbie guide: How to Automate Anything in EVE Online
if you have troubles to use Sanderling you can take a look here:
Explanation for dumb peeps as meself - #8 by kaboonus
the main guide is here: GitHub - Arcitectus/Sanderling: APIs and libraries to read information directly from the EVE Online game client.

here I have something to say : any program run linear. but from time to time you say him: ok , now I wanna you check this again. he will check and get back at line. Anyway, there are stuffs you cannot solve them so easy.

having the guide from above, and taking into account you wanna do ratting, i suggest you use
this one

and you have a guide comprehensible ( i hope) made for my scripts:

so what you change on script?
Foresaken Rally Point from forsaken hub (line 44)
from “Within 30 km” to “Within 0 m” at line 34
Select largest rat ship in overview, orbit @15km largest or not, you orbit arround rats. but, if you want to have rats ordered by class, then you have to contact @pikacuq, he will offer you his solution and work
back on script

is already do that and the rest of your conditions.
more than that, it can use salvage drones or mtu.
and all the rest of changes you have my wiki guide

1 Like

Welcome to the Bot Academy Bulldog!

Confirm, that is a good way to go about it.
There is also another way to make development easier: You can not only reuse complete bots but also parts from other existing bots to improve your own.
In case you have not seen it yet, there is this new tool to quickly teast code snippets, specifically for EVE Online: A Simpler Way to Make EVE Online Bots

A general tip is: Before writing code, development starts with getting the information about what the bot should do.

Sure, functions for the bot parts you listed is below:

This can be done using the menu opened using the surroundings button, like here:

Selecting an object can be done by clicking on its row in the Overview window:

var overviewRow = Sanderling?.MemoryMeasurementParsed?.Value?.WindowOverview?.FirstOrDefault()?.ListView?.Entry?.FirstOrDefault();
Sanderling.MouseClickLeft(overviewRow);

You can do this by clicking on these modules in the ship UI:

These parts need someone with more EVE Online specific experience. Let me know in case we should expand on these.

1 Like

Forsaken Rally point is an anomaly, is not visible on overview. You use Windowprobe, ( use the entire function takeanomaly so you can delete all other anomalies and to warp at any distance offered by menu)

marvel script ( is for ratting) have an interesting void to warp using shortcuts and overview and like an backup if the station is not on overview he warpslow:

void WarpInstant ()
{
    K=1;
    if (0 < DronesInSpaceCount)
        DroneEnsureInBay();
    else if (listOverviewStationName?.Length > 0 )
    {
            Console.Beep(1500, 200);
        Sanderling.KeyDown(Warpkey);
            Sanderling.MouseClickLeft(listOverviewStationName?.FirstOrDefault());
        Sanderling.KeyUp(Warpkey);
        Host.Log("               Try warp  Instant    " +listOverviewStationName?.FirstOrDefault()?.Name+ "");
        Host.Delay(444);
    }
    else if (listOverviewStationName?.Length == 0 )
        WarpingSlow(RetreatBookmark, "dock");
}

:slight_smile:
scan local is about local chat, if there are chars flagged different:

bool IsNeutralOrEnemy(IChatParticipantEntry participantEntry) =>
   !(participantEntry?.FlagIcon?.Any(flagIcon =>
     new[] { "good standing", "excellent standing", "Pilot is in your (fleet|corporation|alliance)", "Pilot is an ally in one or more of your wars", }
     .Any(goodStandingText =>
flagIcon?.HintText?.RegexMatchSuccessIgnoreCase(goodStandingText) ?? false)) ?? false);

all features are all included in marvel script.

1 Like

Does marvel script include carrier ratting?