xabbo-scripts/Scripts/BreedSeedV2.csx
Administrator 7a548130a3 Move all scripts into Scripts/ subfolder
Keeps the repo root clean - only README.md visible on landing page.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 09:49:37 +01:00

69 lines
2.0 KiB
C#

var i = 0;
var u = 0;
var startTime = DateTime.Now;
var intervalInMinutes = 0.1;
var seedsPerMinute = 0;
var lastPotionLevel = -1;
var maxIdleTimeInSeconds = 60; // Maximum time without generating seeds
OnIntercept((In.ErrorReport, In["FurniListInvalidate"], In["UnseenItems"], In.PetStatusUpdate, In.PetBreedingResult), e => e.Block());
OnIntercept((In.PetBreedingResult), e => {
i++; u++;
Log($"Seeds generated {u}");
e.Block();
});
var potionLevels = new[] {
new[] { 6801395, 6801396, 6801397, 6801398, 6801400, 6801399 },
new[] { 6801403, 6801401, 6801402 },
new[] { 6801404, 6801406, 6801405 }
};
while (Run) {
foreach (var pet in Pets) {
int potion = 0;
foreach (var level in potionLevels) {
if (Array.IndexOf(level, (int)pet.Id) != -1 && (int)pet.Id != lastPotionLevel) {
potion = (int)FloorItems.NamedLike($"Rebreeding Potion {Array.IndexOf(potionLevels, level) + 1}").First().Id;
lastPotionLevel = (int)pet.Id;
break;
}
}
Send(Out["CustomizePetWithFurni"], potion, (int)pet.Id);
Delay(100);
Send(Out.BreedPets, 0, (int)pet.Id, (int)pet.Id);
Delay(200);
}
var elapsedTime = (DateTime.Now - startTime).TotalMinutes;
if (elapsedTime >= intervalInMinutes) {
seedsPerMinute = (int)(i / elapsedTime);
Log($"Seeds generated per minute: {seedsPerMinute}");
if (seedsPerMinute == 0) {
Log("Seeds generated per minute hit zero. Restarting the script...");
Delay(1000);
i = 0;
u = 0;
startTime = DateTime.Now;
}
else {
i = 0;
startTime = DateTime.Now;
}
}
if ((DateTime.Now - startTime).TotalSeconds >= maxIdleTimeInSeconds) {
Log($"Script was idle for too long. Restarting the script...");
Delay(1000);
i = 0;
u = 0;
startTime = DateTime.Now;
}
}