-
Notifications
You must be signed in to change notification settings - Fork 7
/
Program.cs
196 lines (191 loc) · 9.73 KB
/
Program.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Ini;
using System.Collections;
using System.IO;
using System.Threading;
using System.Net;
using System.Management;
using LoLLauncher;
using System.Windows.Forms;
namespace RitoBot
{
public class Program
{
/*| VoliBot is an open source League of Legends Auto Queue Bot
*| Thanks to: Maufeat, Fulcrum and shalzuth.
*| Website: www.volibot.com
*/
public static string Path2;
public static string Region;
public static ArrayList accounts = new ArrayList();
public static ArrayList accounts2 = new ArrayList();
public static int maxBots = 1;
public static bool replaceConfig = false;
public static int connectedAccs = 0;
public static string championId = "";
public static string championId2 = "";
public static int maxLevel = 10;
public static bool buyBoost = false;
public static bool rndSpell = true;
public static string spell1 = "flash";
public static string spell2 = "ignite";
static void Main(string[] args)
{
Console.Title = "RitoBot";
Console.SetWindowSize(Console.WindowWidth + 5, Console.WindowHeight);
Console.Write("====================================================================================\n");
Console.Write("VoliBot - MultiQueue | Version: 1.8.0 for LoL 4.18 by Maufeat\n");
Console.Write("====================================================================================\n");
Console.WriteLine(getTimestamp() + "Loading config.ini");
loadConfiguration();
if (replaceConfig)
{
Console.WriteLine(getTimestamp() + "Replacing Config");
gamecfg();
}
Console.WriteLine(getTimestamp() + "Loading accounts.txt");
loadAccounts();
int curRunning = 0;
foreach (string acc in accounts)
{
try
{
accounts2.RemoveAt(0);
string Accs = acc;
string[] stringSeparators = new string[] { "|" };
var result = Accs.Split(stringSeparators, StringSplitOptions.None);
curRunning += 1;
if (result[2] != null)
{
QueueTypes queuetype = (QueueTypes)System.Enum.Parse(typeof(QueueTypes), result[2]);
RiotBot ritoBot = new RiotBot(result[0], result[1], Region, Path2, curRunning, queuetype);
}
else
{
QueueTypes queuetype = QueueTypes.ARAM;
RiotBot ritoBot = new RiotBot(result[0], result[1], Region, Path2, curRunning, queuetype);
}
Console.Title = " Current Connected: " + connectedAccs;
if (curRunning == maxBots)
break;
}
catch (Exception)
{
Console.WriteLine("CountAccError: You may have an issue in your accounts.txt");
}
}
Console.ReadKey();
}
public static void lognNewAccount()
{
accounts2 = accounts;
accounts.RemoveAt(0);
int curRunning = 0;
if (accounts.Count == 0)
{
Console.WriteLine(getTimestamp() + "No more accounts to login.");
}
foreach (string acc in accounts)
{
string Accs = acc;
string[] stringSeparators = new string[] { "|" };
var result = Accs.Split(stringSeparators, StringSplitOptions.None);
curRunning += 1;
if(result[2] != null)
{
QueueTypes queuetype = (QueueTypes)System.Enum.Parse(typeof(QueueTypes), result[2]);
RiotBot ritoBot = new RiotBot(result[0], result[1], Region, Path2, curRunning, queuetype);
} else {
QueueTypes queuetype = QueueTypes.ARAM;
RiotBot ritoBot = new RiotBot(result[0], result[1], Region, Path2, curRunning, queuetype);
}
Console.Title = " Current Connected: " + connectedAccs;
if (curRunning == maxBots)
break;
}
}
public static void loadConfiguration()
{
try
{
IniFile iniFile = new IniFile(AppDomain.CurrentDomain.BaseDirectory + "config.ini");
//General
Path2 = iniFile.IniReadValue("General", "LauncherPath");
maxBots = Convert.ToInt32(iniFile.IniReadValue("General", "MaxBots"));
maxLevel = Convert.ToInt32(iniFile.IniReadValue("General", "MaxLevel"));
replaceConfig = Convert.ToBoolean(iniFile.IniReadValue("General", "ReplaceConfig"));
//Account
Region = iniFile.IniReadValue("Account", "Region").ToUpper();
//Donator
championId = iniFile.IniReadValue("Donator", "ChampionPick").ToUpper();
buyBoost = Convert.ToBoolean(iniFile.IniReadValue("Donator", "BuyBoost"));
rndSpell = Convert.ToBoolean(iniFile.IniReadValue("Donator", "RndSpell"));
spell1 = iniFile.IniReadValue("Donator", "Spell1").ToUpper();
spell2 = iniFile.IniReadValue("Donator", "Spell2").ToUpper();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Thread.Sleep(10000);
Application.Exit();
}
}
public static void loadAccounts()
{
TextReader tr = File.OpenText(AppDomain.CurrentDomain.BaseDirectory + "accounts.txt");
string line;
while ((line = tr.ReadLine()) != null)
{
accounts.Add(line);
accounts2.Add(line);
}
tr.Close();
}
public static String getTimestamp()
{
return "[" + DateTime.Now + "] ";
}
public static void getColor(ConsoleColor color)
{
Console.ForegroundColor = color;
}
private static void gamecfg()
{
try
{
string path = Path2 + @"Config\\game.cfg";
FileInfo fileInfo = new FileInfo(path);
fileInfo.IsReadOnly = false;
fileInfo.Refresh();
string str = "[General]\nGameMouseSpeed=9\nEnableAudio=0\nUserSetResolution=1\nBindSysKeys=0\nSnapCameraOnRespawn=1\nOSXMouseAcceleration=1\nAutoAcquireTarget=0\nEnableLightFx=0\nWindowMode=1\nShowTurretRangeIndicators=0\nPredictMovement=0\nWaitForVerticalSync=0\nColors=16\nHeight=200\nWidth=300\nSystemMouseSpeed=0\nCfgVersion=4.13.265\n\n[HUD]\nShowNeutralCamps=0\nDrawHealthBars=0\nAutoDisplayTarget=0\nMinimapMoveSelf=0\nItemShopPrevY=19\nItemShopPrevX=117\nShowAllChannelChat=0\nShowTimestamps=0\nObjectTooltips=0\nFlashScreenWhenDamaged=0\nNameTagDisplay=1\nShowChampionIndicator=0\nShowSummonerNames=0\nScrollSmoothingEnabled=0\nMiddleMouseScrollSpeed=0.5000\nMapScrollSpeed=0.5000\nShowAttackRadius=0\nNumericCooldownFormat=3\nSmartCastOnKeyRelease=0\nEnableLineMissileVis=0\nFlipMiniMap=0\nItemShopResizeHeight=47\nItemShopResizeWidth=455\nItemShopPrevResizeHeight=200\nItemShopPrevResizeWidth=300\nItemShopItemDisplayMode=1\nItemShopStartPane=1\n\n[Performance]\nShadowsEnabled=0\nEnableHUDAnimations=0\nPerPixelPointLighting=0\nEnableParticleOptimizations=0\nBudgetOverdrawAverage=10\nBudgetSkinnedVertexCount=10\nBudgetSkinnedDrawCallCount=10\nBudgetTextureUsage=10\nBudgetVertexCount=10\nBudgetTriangleCount=10\nBudgetDrawCallCount=1000\nEnableGrassSwaying=0\nEnableFXAA=0\nAdvancedShader=0\nFrameCapType=3\nGammaEnabled=1\nFull3DModeEnabled=0\nAutoPerformanceSettings=0\n=0\nEnvironmentQuality=0\nEffectsQuality=0\nShadowQuality=0\nGraphicsSlider=0\n\n[Volume]\nMasterVolume=1\nMusicMute=0\n\n[LossOfControl]\nShowSlows=0\n\n[ColorPalette]\nColorPalette=0\n\n[FloatingText]\nCountdown_Enabled=0\nEnemyTrueDamage_Enabled=0\nEnemyMagicalDamage_Enabled=0\nEnemyPhysicalDamage_Enabled=0\nTrueDamage_Enabled=0\nMagicalDamage_Enabled=0\nPhysicalDamage_Enabled=0\nScore_Enabled=0\nDisable_Enabled=0\nLevel_Enabled=0\nGold_Enabled=0\nDodge_Enabled=0\nHeal_Enabled=0\nSpecial_Enabled=0\nInvulnerable_Enabled=0\nDebug_Enabled=1\nAbsorbed_Enabled=1\nOMW_Enabled=1\nEnemyCritical_Enabled=0\nQuestComplete_Enabled=0\nQuestReceived_Enabled=0\nMagicCritical_Enabled=0\nCritical_Enabled=1\n\n[Replay]\nEnableHelpTip=0";
StringBuilder builder = new StringBuilder();
builder.AppendLine(str);
using (StreamWriter writer = new StreamWriter(Path2 + @"Config\game.cfg"))
{
writer.Write(builder.ToString());
}
fileInfo.IsReadOnly = true;
fileInfo.Refresh();
}
catch (Exception exception2)
{
Console.WriteLine("game.cfg Error: If using VMWare Shared Folder, make sure it is not set to Read-Only.\nException:" + exception2.Message);
}
}
private static string RandomString(int size)
{
StringBuilder builder = new StringBuilder();
Random random = new Random();
char ch;
for (int i = 0; i < size; i++)
{
ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble() + 65)));
builder.Append(ch);
}
return builder.ToString();
}
}
}