using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.IO;
using System.Media;
using System.Net;
using mshtml;
/*
*
* TODO:
*
* bilden laddas lite off, typ [2,7] _\|
* hakar upp sig lite då o då...
* errorhandling, file input
*
* svara mod
*
*/
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public enum Activity { ranar, mods, updateUsers, rejsarAnv, checkDrag, initRanaAnv, ranarAnv, saljer, raggar, gangSalj, gang, healar, initierar, verktyg, inbox, bank, idle, friend }
Activity aktivitet = Activity.idle;
//IntPtr lastPopUp;
SoundPlayer sp;
DateTime raggaTid, stjalRanaTid, ranaSpelareTid, spelaTid, gangTid, idleTid, bankTid, logoutTid, rejsaTid, updateUsersTid;
int spelaMin, raggaMax, ranaSpelareMax, stjalRanaMax, spelaMax, captchaForsok, gangMax, bankMax, idleTidMax, rejsaMax;
int maxErrors, errorCount, lokal, level, fas, halsa, halsaMin, mnKr, mnKrMin, mnKrKritisk, mnKrMax, fordon, garage, skada, bilPott, verktyg;
bool friendsLoaded, alerted, dragChecked = false, initierad = false, showStat = false;
bool[,] statsData;
string gang, namn;
Dictionary<string, string> urls = new Dictionary<string, string>();
Dictionary<int, user> users = new Dictionary<int, user>();
List<int> friends = new List<int>();
List<int> mods = new List<int>();
List<int> statsStolenCars = new List<int>();
int statsStolenCarsCount = 0, stolenCarsMax = 0;
Stack<int> checkUser = new Stack<int>();
Dictionary<int, DateTime> attackTime = new Dictionary<int, DateTime>();
Dictionary<int, DateTime> raceTime = new Dictionary<int, DateTime>();
//List<int> friends;
//List<int> dangerous;
//List<int> tooQuick;
int[] statsCount;
//string[] allowed, limitedAccess, fullAccess;
double chance;
public Form1(string[] mArgs)
{
InitializeComponent();
checkArgs(mArgs);
}
private void checkArgs(string[] args)
{
//string s="";
//for(int i=0; i<args.Length; i++)
// s += args[i] + "\n";
//lfelsok.Text = s;
if (args.Length > 0)
{
tbAnvandarnamn.Text = args[0];
}
if (args.Length > 1)
tbLosenord.Text = args[1];
}
private void Form1_Load(object sender, EventArgs e)
{
stjalRanaMax = 77; //1:15
raggaMax = 77; //1:15
ranaSpelareMax = 302; //5:00
rejsaMax = 303; //5m vid saknad av offer
spelaMax = 422; //7:00
idleTidMax = 10; //minuter
bankMax = 15; //minuter
halsaMin = 90;
spelaMin = 70;
gangMax = 30;
alerted = false;
errorCount = 0;
maxErrors = 10;
friendsLoaded = false;
logoutTid = DateTime.Now.AddDays(100);
stjalRanaTid = DateTime.Now.AddSeconds(5);
raggaTid = DateTime.Now.AddSeconds(20);
gangTid = DateTime.Now.AddMilliseconds(30);
updateUsersTid = DateTime.Now.AddSeconds(35);
ranaSpelareTid = DateTime.Now.AddSeconds(40);
rejsaTid = DateTime.Now.AddSeconds(60);
spelaTid = DateTime.Now.AddSeconds(1);
idleTid = DateTime.Now;
bankTid = DateTime.Now;
sp = new SoundPlayer();
sp.SoundLocation = "meddelande.wav";
//allowed = new string[] { "hebbe94", "Pyssling", "relaxxa" }; //Gothe86's bror, sarah, sarahs bf
//limitedAccess = new string[] { };
//fullAccess = new string[] { "Sway" };
urls.Add("stjalRana", "http://w...content-available-to-author-only...v.se/default.aspx?p=crime");
urls.Add("online", "http://w...content-available-to-author-only...v.se/default.aspx?p=online");
urls.Add("ragga", "http://w...content-available-to-author-only...v.se/default.aspx?p=dragrace/sponsor");
urls.Add("gang", "http://w...content-available-to-author-only...v.se/default.aspx?p=gang/crime");
urls.Add("kvacksalvare", "http://w...content-available-to-author-only...v.se/default.aspx?p=shop/healer");
urls.Add("lagaSalj", "http://w...content-available-to-author-only...v.se/default.aspx?p=fence");
urls.Add("inbox", "http://w...content-available-to-author-only...v.se/default.aspx?p=messages/inbox&type=1");
urls.Add("inboxGang", "http://w...content-available-to-author-only...v.se/default.aspx?p=messages/inbox&type=8");
urls.Add("bank", "http://w...content-available-to-author-only...v.se/default.aspx?p=bank");
urls.Add("login", "http://w...content-available-to-author-only...v.se");
urls.Add("profil", "http://w...content-available-to-author-only...v.se/default.aspx?p=profile");
urls.Add("verktyg", "http://w...content-available-to-author-only...v.se/default.aspx?p=shop/tools");
urls.Add("logout", "http://b...content-available-to-author-only...v.se/logout.aspx");
urls.Add("mods", "http://w...content-available-to-author-only...v.se/default.aspx?p=stats");
urls.Add("drag", "http://w...content-available-to-author-only...v.se/default.aspx?p=shop/dragcar");
toolTip.SetToolTip(lIdle, "Om man navigerat ifrån stjäl/råna återupptar taskern sitt jobb efter " + idleTidMax.ToString() + " minuters inaktivitet.");
toolTip.SetToolTip(cbBank, "Sätt in pengar automatiskt (endast för fas 3)");
cbLogout.SelectedIndex = 0;
cbCaptcha.SelectedIndex = 0;
FileStream fs;
StreamReader sr;
//try {
// fs = new FileStream("nfo.dat", FileMode.Open, FileAccess.Read, FileShare.None);
// sr = new StreamReader(fs);
// users = sr.ReadLine().Split(' ').ToList();
// sr.Close();
// fs.Close();
//}
//catch(FileNotFoundException exc) {
// System.Diagnostics.Debug.WriteLine(exc.Message);
// return;
//}
//catch {
// System.Diagnostics.Debug.WriteLine("Error reading nfo.dat");
// return;
//}
//läs in catpcha data
try
{
fs = new FileStream(Application.StartupPath + "\\captcha.dat", FileMode.Open, FileAccess.Read, FileShare.None);
}
catch (Exception ex)
{
//timer1.Enabled = false;
cbCaptcha.SelectedIndex = 1;
cbCaptcha.Enabled = false;
lCaptcha.Enabled = false;
MessageBox.Show(ex.Message + "\n\nVerkar som att du får sköta captchan manuellt...","Epic fail!",MessageBoxButtons.OK,MessageBoxIcon.Warning);
webBrowser1.Navigate("http://w...content-available-to-author-only...v.se");
return;
}
sr = new StreamReader(fs);
statsCount = new int[10];
string[] tmpStats = sr.ReadLine().Split(' ');
for (int x = 0; x < 10; x++)
{
statsCount[x] = Convert.ToInt32(tmpStats[x]);
}
int statsSum;
statsSum = statsCount.Sum();
statsData = new bool[100, statsSum];
for (int y = 0; y < statsSum; y++)
{
tmpStats = sr.ReadLine().Split(' ');
for (int x = 0; x < 100; x++)
statsData[x, y] = (tmpStats[x] == "1");
}
sr.Close();
fs.Close();
webBrowser1.Navigate("http://w...content-available-to-author-only...v.se");
}
void Form1_GotFocus(object sender, System.EventArgs e)
{
throw new System.NotImplementedException();
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlDocument document = webBrowser1.Document;
HtmlElement element = document.All["ctl02_lblInfo"];
TimeSpan ts;
string tmp, url;
url = webBrowser1.Url.ToString();
tbURL.Text = url;
idleTid = DateTime.Now;
if(!timer1.Enabled) timer1.Enabled = true;
System.Diagnostics.Debug.WriteLine(url);
//if (aktivitet != Activity.idle) //slow shit down
//{
// int rnd = new Random().Next(1500, 3000);
// System.Threading.Thread.Sleep(rnd);
//}
if (document == null || url == null)
{
System.Diagnostics.Debug.WriteLine("webBrowser1_DocumentCompleted->document/url null");
return;
}
if (element != null) //ctl02_lblInfo check
{
string innerText = element.InnerText;
if (innerText.Contains("Du satte in") || innerText.Contains("Du tog ut"))
{
bankTid = DateTime.Now.AddMinutes(bankMax);
}
else if (innerText.Contains("Du måste vänta") && bankTid <= DateTime.Now)
{
tmp = innerText.Substring(("Du måste vänta ").Length, 2).Trim();
bankTid = DateTime.Now.AddMinutes(Convert.ToInt32(tmp));
if (aktivitet == Activity.bank)
{
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
}
}
else if (innerText.Contains("Du stal") && innerText.Contains("och detta ökade") && showStat)
{
tmp = innerText.Substring(8);
tmp = tmp.Substring(0, tmp.IndexOf(" st."));
int cars = Convert.ToInt32(tmp);
statsStolenCars.Add(cars);
statsStolenCarsCount++;
if (stolenCarsMax < cars) stolenCarsMax = cars;
lFelsok.Visible = true;
lFelsok.Text = "Snitt: " + Math.Round(1.0 * statsStolenCars.Sum() / statsStolenCarsCount, 2).ToString() + "\nMax: " + stolenCarsMax.ToString() + "\nMin: " + statsStolenCars.Min() + "\nSet: " + statsStolenCars.Count;
}
else if (innerText.Contains("Er lokal är full"))
{
aktivitet = Activity.gangSalj;
webBrowser1.Navigate(urls["gang"]);
return;
}
}
if (document.All["ctl04_lblStatus"] != null)
{
if (document.All["ctl04_lblStatus"].InnerText.Contains("Du måste ha bil"))
cbRaggaSpons.Checked = false;
}
if (url.Contains("login.aspx")) //login
{
errorCount++;
aktivitet = Activity.idle;
captchaForsok = 0;
initierad = false;
login();
//if (errorCount < maxErrors) login();
return;
}
else if (!document.Body.InnerText.Contains("Länkar")) //Error/utloggad/uppdaterar/hoppsan
{
System.Diagnostics.Debug.WriteLine("webBrowser1_DocumentCompleted->hoppsan/utloggad/error/uppdaterar");
aktivitet = Activity.idle;
errorCount++;
if (errorCount > 2)
webBrowser1.Navigate(urls["login"]);
else if (!document.Body.InnerText.Contains("Felaktigt användarnamn"))
webBrowser1.Navigate(urls["stjalRana"]);
//this.webBrowser1.Navigate(urls["login"]);
return;
}
else if (document.All["ctl04_tblTaskerCheck"] != null) // in-game captcha
{
ts = DateTime.Now - idleTid;
System.Diagnostics.Debug.WriteLine("webBrowser1_DocumentCompleted->captcha");
if (cbCaptcha.SelectedIndex == 0) // ???-> || (cbCaptcha.SelectedIndex == 0 && ts.Minutes >= idleTidMax))
{
if (captchaForsok > 1)
{
webBrowser1.Navigate(urls["logout"]);
}
else
{
Win32API.ShowWindow(this.Handle, 9); //Win32API.WindowState.SW_RESTORE
Application.DoEvents();
Win32API.SetForegroundWindow(this.Handle);
Application.DoEvents();
this.Activate();
Bitmap bmp = getBmp("ctl04_imgCaptcha");
//this.pictureBox1.Image = bmp;
string value = extractString(bmp);
if (value.Length == 4 && Form.ActiveForm != null) //släng in chance[].min() koll typ eller nåt kanske?
{
errorCount = 0;
captchaForsok++;
document.All["ctl04$txtCaptcha"].SetAttribute("Value", value);
document.All["ctl04$btnSend"].InvokeMember("click");
}
}
return;
}
else if (!cbCaptcha.SelectedText.Contains("blinka"))
{
FlashWindow.Flash(this);
return;
}
else {
return;
}
}
else if (document.All["ctl02_hlNormal"] != null && aktivitet != Activity.inbox) //Meddelande
{
aktivitet = Activity.inbox;
webBrowser1.Navigate(urls["inbox"]);
return;
}
else
{
alerted = false;
errorCount = 0;
}
//lFelsok.Visible = true;
//lFelsok.Text = "kollar fas/level:\n";
tmp = document.GetElementById("ctl02_lblPhase").InnerHtml;
if (tmp == "USA") tmp = "4";
fas = Convert.ToInt32(tmp);
tmp = document.GetElementById("ctl02_lblLevel").InnerText;
if (tmp.Contains("/")) tmp = tmp.Substring(0, tmp.IndexOf(" /"));
tmp = tmp.Replace(" ", "");
level = Convert.ToInt32(tmp);
tmp = document.GetElementById("ctl02_lblMoney").InnerText.Replace(" ", "");
if (tmp.Length > 6)
mnKr = Convert.ToInt32(tmp.Substring(0, tmp.Length - 6));
else
mnKr = 1;
tmp = document.GetElementById("ctl02_lblHealth").InnerHtml;
tmp = tmp.Substring(0, tmp.Length - 1);
halsa = Convert.ToInt32(tmp);
tmp = document.GetElementById("ctl02_lblVehicles").InnerHtml;
tmp = tmp.Substring(0, tmp.IndexOf("/"));
fordon = Convert.ToInt32(tmp);
tmp = document.GetElementById("ctl02_lblTools").InnerHtml;
tmp = tmp.Substring(0, tmp.IndexOf("/"));
verktyg = Convert.ToInt32(tmp);
tmp = document.GetElementById("ctl02_lblVehicles").InnerHtml;
int ln = tmp.IndexOf("/") + 2;
tmp = tmp.Substring(ln, tmp.Length - ln);
garage = Convert.ToInt32(tmp);
tmp = document.All["ctl02_lblDamage"].InnerHtml;
tmp = tmp.Substring(0, tmp.Length - 1);
skada = Convert.ToInt32(tmp);
tmp = document.GetElementById("ctl02_lblVehicles").InnerHtml;
ln = tmp.IndexOf("/") + 2;
tmp = tmp.Substring(ln, tmp.Length - ln);
lokal = Convert.ToInt32(tmp);
//lFelsok.Text = "fas: " + fas + " level: " + level;
if (cbSpela.Checked)
{
ts = spelaTid - DateTime.Now;
if (document.All["ctl04_btnGambleCars"] != null && ts.TotalSeconds <= 0 && fordon >= 5) //spela
{
tmp = document.GetElementById("ctl04_lblCarsInPot").InnerHtml;
ln = tmp.IndexOf("det") + 4;
tmp = tmp.Substring(ln, tmp.IndexOf(" bilar") - ln);
bilPott = Convert.ToInt32(tmp);
if (garage - fordon > spelaMin && bilPott > spelaMin)
{
document.All["ctl04_btnGambleCars"].InvokeMember("click");
spelaTid = DateTime.Now.AddSeconds(spelaMax);
}
}
}
//if (url.Contains("tools")) //fas == 1 && //verktyg, browsing
//{
// if (document.GetElementById("ctl04_lblNumberOfTools") != null)
// {
// verktyg = Convert.ToInt32(document.GetElementById("ctl04_lblNumberOfTools").InnerHtml);
// }
// else if (document.GetElementById("ctl04_tblTools") != null)
// {
// //if (document.GetElementById("ctl04_tblTools").InnerText.Contains("alla verktyg")) //funkar inte i usa
// verktyg = 40; //man kan va i usa utan 40 verktyg... fixa sen kanske...
// }
// System.Diagnostics.Debug.WriteLine("Verktyg=" + verktyg);
//}
if (url.Contains("gangprofile") && cbGang.Checked == false && document.All["ctl04_hlSteal"] != null)
cbGang.Checked = true;
if (url.Contains("inbox") && !url.Contains("&type=") && document.All["ctl02_hlNormal"] == null)
this.Text = "BTT2 | " + namn;
if(url.Contains("dragcar"))
{
dragChecked = true;
if (document.All["ctl04_lblCurrentCar"].InnerText.Contains("Ingen") ||
document.All["ctl04_lblCurrentEngine"].InnerText.Contains("Ingen"))
cbRaggaSpons.Checked = false;
if (aktivitet == Activity.checkDrag)
{
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
return;
}
}
if (aktivitet == Activity.healar) //heala
{
System.Diagnostics.Debug.WriteLine("webBrowser1_DocumentCompleted->heal");
if (halsa >= halsaMin || (fas == 4 && halsa > 0))
{
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
}
else
{
if (fas == 4)
{
document.All["ctl04_btnHeal"].InvokeMember("click");
}
else
{
heala();
}
}
}
else if (aktivitet == Activity.inbox) // läs post
{
HtmlElement elem;
if (url.Contains("type=8")) //gängbox - kolla vice
{
elem = document.All["ctl04_tblInbox"];
elem = elem.Children[0].GetElementsByTagName("td")[5];
if (elem != null)
{
string senaste = elem.InnerHtml.ToString();
if (senaste.Equals("[GÄNG] Grattis, du har just blivit Vice gängledare i ditt gäng!"))
cbGang.Checked = true;
}
}
else if (url.Contains("type=1")) //inbox - kolla mod...
{
this.Text = "[MAIL] BTT2 | " + namn + " | Kolla inboxen!";
HtmlElementCollection elements;
elements = document.All["ctl04_tblInbox"].GetElementsByTagName("tr");
string sID = "";
foreach (HtmlElement elm in elements)
{
if (elm.OuterHtml.Contains("tr-third-row")) // verkar inte gå att få tag i class attributet
{
sID = elm.GetElementsByTagName("a")[2].GetAttribute("href");
sID = sID.Substring(sID.IndexOf("i=") + 2);
if (mods.Contains(Convert.ToInt32(sID)))
{
if (!alerted)
{
Win32API.Beep(300, 100);
Win32API.Beep(200, 200);
sp.Play();
alerted = true;
break;
}
}
}
}
FlashWindow.Flash(this);
}
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
return;
}
else if ((halsa < halsaMin && fas != 4) || (fas == 4 && halsa == 0)) //börja heala
{
System.Diagnostics.Debug.WriteLine("webBrowser1_DocumentCompleted->idle->heala");
aktivitet = Activity.healar;
webBrowser1.Navigate(urls["kvacksalvare"]);
}
else if (!initierad && aktivitet != Activity.initierar) //börja initiera
{
aktivitet = Activity.initierar;
webBrowser1.Navigate(urls["profil"]);
}
else if (!dragChecked)
{
aktivitet = Activity.checkDrag;
webBrowser1.Navigate(urls["drag"]);
}
else if (aktivitet == Activity.verktyg) //verktyg, initiering
{
System.Diagnostics.Debug.WriteLine("webBrowser1_DocumentCompleted->verktyg");
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
}
else if (aktivitet == Activity.raggar) // ragga spons
{
document.All["ctl04_ddlGetSponsor"].SetAttribute("value", "5"); // NK Airfilters (30)
document.All["ctl04_btnGetSponsor"].InvokeMember("click");
aktivitet = Activity.idle;
raggaTid = DateTime.Now.AddSeconds(raggaMax);
webBrowser1.Navigate(urls["stjalRana"]);
}
else if (aktivitet == Activity.rejsarAnv) //rejsa användare
{
string sID = "";
if (!url.Contains("id=") && !url.Contains("i="))
{
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
return;
}
if (url.Contains("id="))
sID = url.Substring(url.IndexOf("id=") + 3);
else
sID = url.Substring(url.IndexOf("i=") + 2);
if (sID.Contains("&q=")) sID = sID.Substring(0, sID.IndexOf("&q="));
int iID = Convert.ToInt32(sID);
string info = "";
if (document.All["ctl02_lblInfo"] != null)
{
info = document.All["ctl02_lblInfo"].InnerText;
if (info.Contains("rejsa mot saknar bil"))
{
users[iID].setRaceable(false);
raceUser();
return;
}
else if (info.Contains("Du måste vänta"))
{
string sTid = info.Substring(info.IndexOf("vänta") + 6, 2).Trim();
int iTid = Convert.ToInt32(sTid) * 60;
if (info.Contains("min och"))
{
sTid = info.Substring(info.IndexOf("och") + 4, 2).Trim();
iTid += Convert.ToInt32(sTid);
}
raceTime.Add(iID, DateTime.Now.AddSeconds(iTid));
raceUser();
return;
}
else //offline/död
{
raceUser();
return;
}
}
else if (document.All["ctl04_tblResults"] != null)
{
info = document.All["ctl04_tblResults"].InnerText;
if (info.Contains("förlorade mot din motståndare"))
users[iID].setFast(true);
else
raceTime.Add(iID, DateTime.Now.AddMinutes(15));
raceUser();
return;
//rejsaTid = DateTime.Now.AddSeconds(rejsaMax);
//aktivitet = Activity.idle;
//webBrowser1.Navigate(urls["stjalRana"]);
}
}
else if (aktivitet == Activity.ranarAnv) //råna användare
{
string sID = "";
if (!url.Contains("id=") && !url.Contains("i="))
{
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
return;
}
if (url.Contains("id="))
sID = url.Substring(url.IndexOf("id=") + 3);
else
sID = url.Substring(url.IndexOf("i=") + 2);
if (sID.Contains("&q=")) sID = sID.Substring(0, sID.IndexOf("&q="));
int iID = Convert.ToInt32(sID);
string info = "";
if (document.All["ctl02_lblInfo"] != null)
{
info = document.All["ctl02_lblInfo"].InnerText;
if (info.Contains("kan inte råna denne"))
{
users[iID].setAttackable(false);
attackUser();
return;
}
else if (info.Contains("Du måste vänta"))
{
string sTid = info.Substring(info.IndexOf("vänta") + 6, 2).Trim();
int iTid = Convert.ToInt32(sTid) * 60;
if (info.Contains("min och"))
{
sTid = info.Substring(info.IndexOf("och") + 4, 2).Trim();
iTid += Convert.ToInt32(sTid);
}
attackTime.Add(iID, DateTime.Now.AddSeconds(iTid));
attackUser();
return;
}
else // offline/död
{
attackUser();
return;
}
}
else if (document.All["ctl04_tblResults"] != null)
{
info = document.All["ctl04_tblResults"].InnerText;
if (info.Contains("rundor förlorade du"))
users[iID].setdangerous(true);
else
attackTime.Add(iID, DateTime.Now.AddMinutes(15));
ranaSpelareTid = DateTime.Now.AddSeconds(ranaSpelareMax);
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
}
}
else if (aktivitet == Activity.updateUsers) //initiera råna användare
{
HtmlElementCollection elements;//, useElms;
string sID = "", name = "", cash = "";
int iID = 0;
if (url.Contains("online"))
{
element = document.GetElementById("ctl04_tblOnline");
elements = element.GetElementsByTagName("tr");
for (int i = 3; i < elements.Count; i++)
{
sID = elements[i].GetElementsByTagName("a")[0].GetAttribute("href");
sID = sID.Substring(sID.IndexOf("i=") + 2);
iID = Convert.ToInt32(sID);
cash = elements[i].GetElementsByTagName("td")[4].InnerText;
if (!friends.Contains(iID))
if (!users.Keys.Contains(iID)) //(!users.Contains<int>(iID))
{
name = elements[i].GetElementsByTagName("td")[0].GetElementsByTagName("a")[0].InnerText;
if (elements[i].GetElementsByTagName("td")[1].InnerHtml.Contains("Fas " + fas))
{
users.Add(iID, new user(iID, name));
attackTime.Add(iID, DateTime.Now);
raceTime.Add(iID, DateTime.Now);
}
else //if (fullAccess.Contains(namn))
{
users.Add(iID, new user(iID, name, false));
raceTime.Add(iID, DateTime.Now);
}
//checkUser.Push(iID);
}
else
{
if (!attackTime.Keys.Contains(iID) && users[iID].isAttackable() &&
elements[i].GetElementsByTagName("td")[1].InnerHtml.Contains("Fas " + fas) &&
(!users[iID].isDangerous() || cash.Length >= 18)) // ofarlig eller 100+mrd
{
attackTime.Add(iID, DateTime.Now);
}
if (!raceTime.Keys.Contains(iID) && users[iID].isRaceable() && !users[iID].isFast()) // fullAccess.Contains(namn) &&
{
raceTime.Add(iID, DateTime.Now);
}
}
}
saveUsers();
updateUsersTid = DateTime.Now.AddMinutes(5);
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
//if (checkUser.Count > 0)
//{
// webBrowser1.Navigate("http://w...content-available-to-author-only...v.se/default.aspx?p=profile&i=" + sID);
//}
//if (attackTime.Count > 0)
//{
// aktivitet = Activity.ranarAnv;
// attackUser();
//}
//else
//{
// ranaSpelareTid = DateTime.Now.AddSeconds(ranaSpelareMax);
// aktivitet = Activity.idle;
// webBrowser1.Navigate(urls["stjalRana"]);
// return;
//}
}
//else
//{
// bool race = (document.All["ctl04_hlRace"] != null);
// users.Add
//}
}
else if (aktivitet == Activity.bank) // sätt in pengar
{
if (document.All["ctl04_txtMoney"] != null)
{
string value = (mnKr - mnKrMin).ToString() + "000000";
document.All["ctl04_txtDeposit"].SetAttribute("value", value);
document.All["ctl04_btnDeposit"].InvokeMember("click");
Application.DoEvents();
}
bankTid = DateTime.Now.AddSeconds(3);
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
}
else if (aktivitet == Activity.mods) // populate mod list
{
if (url.Contains("stats") && document.All["ctl04_tblStats"] == null)
{
webBrowser1.Navigate("javascript:__doPostBack('ctl04$lbStaff','')");
return;
}
else if (document.All["ctl04_tblStats"] != null)
{
HtmlElementCollection elements = document.All["ctl04_tblStats"].GetElementsByTagName("a");
string sID = "";
foreach (HtmlElement elm in elements)
{
sID = elm.GetAttribute("href");
sID = sID.Substring(sID.IndexOf("i=") + 2);
mods.Add(Convert.ToInt32(sID));
}
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
}
else
{
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
}
}
else if (aktivitet == Activity.gangSalj)
{
if (document.All["ctl04$btnGangSell"] != null)
document.GetElementById("ctl04$btnGangSell").InvokeMember("click");
aktivitet = Activity.gang;
webBrowser1.Navigate(urls["gang"]);
}
else if (aktivitet == Activity.gang) // levla gäng
{
if (url.Contains("news") || url.Contains("login"))
{
cbGang.Checked = false;
aktivitet = Activity.idle;
}
else if (document.All["ctl04_btnGangSteal"] != null)
{
aktivitet = Activity.idle;
document.All["ctl04_btnGangSteal"].InvokeMember("click");
}
else
{
aktivitet = Activity.idle;
}
gangTid = DateTime.Now.AddSeconds(gangMax);
webBrowser1.Navigate(urls["stjalRana"]);
}
else if (aktivitet == Activity.friend) //friends
{
string sID = "";
HtmlElementCollection elements;
if (url.Contains("contacts"))
{
element = document.GetElementById("ctl04_tblFriends");
elements = element.GetElementsByTagName("a");
for (int i = 0; i < elements.Count; i += 2)
{
sID = elements[i].GetAttribute("href");
sID = sID.Substring(sID.IndexOf("i=") + 2);
friends.Add(Convert.ToInt32(sID));
}
if (gang != null)
webBrowser1.Navigate(urls["medlemmar"]);
else
aktivitet = Activity.idle;
}
else if (url.Contains("members"))
{
element = document.GetElementById("ctl04_tblMembers");
elements = element.GetElementsByTagName("a");
//foreach (HtmlElement elm in elements)
// tbFelsok.Text += elm.InnerHtml + "\r\n";
int iID;
foreach (HtmlElement elm in elements)//(int i = 0; i < elements.Count; i++)
{
//lfelsok.Text = (i + 1).ToString() + "/" + elements.Count.ToString();
if (elm.InnerHtml != "[X]")
{
sID = elm.GetAttribute("href");
sID = sID.Substring(sID.IndexOf("i=") + 2);
iID = Convert.ToInt32(sID);
if (!friends.Contains(iID))
friends.Add(iID);
}
}
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
}
else
{
webBrowser1.Navigate(urls["friends"]);
}
}
else if (aktivitet == Activity.initierar) //initiera, gäng samt verktyg
{
System.Diagnostics.Debug.WriteLine("webBrowser1_DocumentCompleted->init");
string tmpNamn = namn;
namn = document.GetElementById("ctl04_lblUsername").GetElementsByTagName("a")[0].InnerHtml;
if (tmpNamn == namn && tmpNamn != null)
{
initierad = true;
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
return;
}
if (namn == null)
{
aktivitet = Activity.idle;
return;
}
loadUsers();
gang = "";
element = document.GetElementById("ctl04_lblGang");
if (element.InnerHtml != null)
{
element = element.GetElementsByTagName("a")[0];
gang = element.InnerHtml;
string id = element.GetAttribute("href");
id = id.Substring(id.IndexOf("i=") + 2);
if (urls.ContainsKey("medlemmar")) urls.Remove("medlemmar");
urls.Add("medlemmar", "http://w...content-available-to-author-only...v.se/?p=gang/members&i=" + id);
cbGang.CheckState = CheckState.Checked;
}
//bank, endast intressant för fas3 för tillfället...
switch (fas)
{
case 1: mnKrMin = 10; mnKrMax = 100; mnKrKritisk = 500; break;
case 2: mnKrMin = 50; mnKrMax = 500; mnKrKritisk = 5000; break;
case 3: mnKrMin = 150; mnKrMax = 2000; mnKrKritisk = 15000; break;
}
if (fas != 3)
{
cbBank.Enabled = false;
cbBank.Checked = false;
cbRanaSpelare.Enabled = false;
cbRanaSpelare.Checked = false;
lRanaSpelareTid.Enabled = false;
}
else
{
cbRanaSpelare.Enabled = true;
lRanaSpelareTid.Enabled = true;
cbBank.Enabled = true;
cbBank.Checked = true;
if (document.All["ctl04_lblWeapon"].InnerText == "Nej" || document.All["ctl04_lblProtection"].InnerText == "Nej")
cbRanaSpelare.Checked = false;
else
cbRanaSpelare.Checked = false; // funkar inte jusst nu ... eller?
}
//tillhörighetskontroll
//if (false) //gang != "BÖNDERNA" && !allowed.Contains(namn))
//{
// if (limitedAccess.Contains(namn))
// {
// cbGang.Enabled = false;
// cbGang.Checked = false;
// lgangTid.Enabled = false;
// cbSpela.Enabled = false;
// cbSpela.Checked = false;
// lSpelaTid.Enabled = false;
// cbRaggaSpons.Enabled = false;
// cbRaggaSpons.Checked = false;
// lRaggaSponsTid.Enabled = false;
// cbBank.Enabled = false;
// cbBank.Checked = false;
// cbRanaSpelare.Enabled = false;
// cbRanaSpelare.Checked = false;
// lRanaSpelareTid.Enabled = false;
// cbRace.Enabled = false;
// cbRace.Checked = false;
// lRaceTid.Enabled = false;
// }
// else
// {
// tbURL.Text = "Ledsnen grabben, det är programmet är inget för dig!";
// webBrowser1.AllowNavigation = false;
// try { checkName(); }
// catch { }
// return;
// }
//}
//if (true) //fullAccess.Contains(namn))
//{
// cbRace.Checked = false;
// cbRace.Enabled = true;
// cbRace.Visible = true;
// lRaceTid.Enabled = true;
// lRaceTid.Visible = true;
//}
try { checkName(); }
catch { }
this.Text = "BTT2 | " + namn;
initierad = true;
string friendsUrl = document.GetElementById("ctl04_hlFriends").GetAttribute("href");
if (urls.ContainsKey("friends")) urls.Remove("friends");
urls.Add("friends", friendsUrl);
//if (cbRanaSpelare.Checked || cbRace.Checked)
//{
// aktivitet = Activity.friend;
// webBrowser1.Navigate(urls["friends"]);
//}
//else if (fas == 1) //ehm... hur göra?
//{
//aktivitet = Activity.verktyg;
//webBrowser1.Navigate(urls["verktyg"]);
//}
//else
//{
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
//}
}
else if (aktivitet == Activity.saljer) //sälj
{
System.Diagnostics.Debug.WriteLine("webBrowser1_DocumentCompleted->salj");
if (fordon == 0 || (fordon < lokal / 2 && skada == 0))
{
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
}
else
{
if (fas == 4)
{
saljUSA();
}
else
{
salj();
}
}
}
else if (aktivitet == Activity.ranar && document.All["ctl04$btnWork"] != null) //råna
{
System.Diagnostics.Debug.WriteLine("webBrowser1_DocumentCompleted->rånar");
aktivitet = Activity.idle;
string value;
if (fas == 2)
value = Convert.ToString(Math.Floor(level / 500.0) + 15);
else if (fas == 3)
value = Convert.ToString(Math.Floor(level / 500.0) + 22);
else if (fas == 4)
value = getFas1USARanValue().ToString();
else
value = getFas1RanValue().ToString();
stjalRanaTid = DateTime.Now.AddSeconds(stjalRanaMax);
document.All["ctl04$ddlRob"].SetAttribute("Value", value);
document.All["ctl04$btnRob"].InvokeMember("click");
}
else if (aktivitet == Activity.idle)
{
System.Diagnostics.Debug.WriteLine("webBrowser1_DocumentCompleted->idle");
if (cbSpela.Checked && (spelaTid - DateTime.Now).TotalSeconds <= 0 &&
document.All["ctl04$btnGambleCars"] != null &&
fordon >= 5 && (lokal - fordon) > spelaMin && bilPott > spelaMin)
{
System.Diagnostics.Debug.WriteLine("webBrowser1_DocumentCompleted->idle->spela"); //spela
// and 5<=cars<x
spelaTid = DateTime.Now.AddSeconds(spelaMax);
document.All["ctl04$btnGambleCars"].InvokeMember("click");
}
else if (document.All["ctl02_hlGang"] != null) //gängmeddelande
{
//Win32API.ShowWindow(this.Handle, 9); //Win32API.WindowState.SW_RESTORE
//Application.DoEvents();
aktivitet = Activity.inbox;
webBrowser1.Navigate(urls["inboxGang"]);
}
else if (fordon > (lokal - lokal / 3) ||
(skada > 10 && skada <= 30 && fas != 1)) //börja sälj
{
System.Diagnostics.Debug.WriteLine("webBrowser1_DocumentCompleted->idle->salj");
aktivitet = Activity.saljer;
webBrowser1.Navigate(urls["lagaSalj"]);
}
else if (mods.Count == 0)
{
aktivitet = Activity.mods;
webBrowser1.Navigate(urls["mods"]);
}
}
}
private void raceUser()
{
if (raceTime.Count == 0 || webBrowser1.Document.All["ctl02_hlCrime"] == null)
{
rejsaTid = DateTime.Now.AddSeconds(rejsaMax);
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
return;
}
string q = webBrowser1.Document.All["ctl02_hlCrime"].GetAttribute("href");
q = q.Substring(q.IndexOf("q=") + 2);
aktivitet = Activity.rejsarAnv;
string url;
foreach (int iid in raceTime.Keys)
{
if (raceTime[iid] < DateTime.Now)
{
raceTime.Remove(iid);
url = users[iid].getRaceUrl(q);
webBrowser1.Navigate(url);
return;
}
}
int s = Convert.ToInt32((raceTime.Values.Min() - DateTime.Now).TotalSeconds + 0.5);
s = Math.Min(s, rejsaMax);
rejsaTid = DateTime.Now.AddSeconds(s);
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
}
private void attackUser()
{
if (attackTime.Count == 0 || webBrowser1.Document.All["ctl02_hlCrime"] == null)
{
ranaSpelareTid = DateTime.Now.AddSeconds(ranaSpelareMax);
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
return;
}
string q = webBrowser1.Document.All["ctl02_hlCrime"].GetAttribute("href");
q = q.Substring(q.IndexOf("q=") + 2);
aktivitet = Activity.ranarAnv;
string url;
foreach (int iid in attackTime.Keys)
{
if (attackTime[iid] < DateTime.Now)
{
attackTime.Remove(iid);
url = users[iid].getAttackUrl(q);
webBrowser1.Navigate(url);
return;
}
}
int s = Convert.ToInt32((attackTime.Values.Min() - DateTime.Now).TotalSeconds + 0.5);
s = Math.Min(s, ranaSpelareMax);
ranaSpelareTid = DateTime.Now.AddSeconds(s);
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
}
void saveUsers()
{
Debug.WriteLine("Saving users...");
string fileName = Application.StartupPath + "\\" + namn + "Users.dat";
try
{
FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.Read);
StreamWriter sw = new StreamWriter(fs);
bool full = true; //fullAccess.Contains(namn);
foreach (user u in users.Values)
{
sw.WriteLine(u.outData(full));
}
sw.Close();
fs.Close();
}
catch (Exception ex)
{
Debug.WriteLine("ERROR: saveUsers failed!\n" + ex.Message);
return;
}
Debug.WriteLine("Users saved!");
}
void loadUsers()
{
Debug.WriteLine("Loading users...");
try
{
FileStream fs;
StreamReader sr;
string fileName = Application.StartupPath + "\\" + namn + "Users.dat";
fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None);
sr = new StreamReader(fs);
string[] input;
string row;
while (!sr.EndOfStream)
{
row = sr.ReadLine();
if (row.Contains("\t"))
input = row.Split('\t');
else
input = row.Split(' ');
users.Add(Convert.ToInt32(input[0]), new user(input));
}
sr.Close();
fs.Close();
}
catch (Exception ex)
{
Debug.WriteLine("Reading users data failed!\n" + ex.Message);
return;
}
Debug.WriteLine(users.Count.ToString() + " users loaded!");
}
private int getFas1USARanValue()
{
int value;
if (level < 8)
value = 1;
else if (level < 15)
value = 2;
else if (level < 22)
value = 3;
else if (level < 30)
value = 4;
else if (level < 50)
value = 5;
else if (level < 100)
value = 6;
else if (level < 200)
value = 7;
else if (level < 400) //hit funkare
value = 8;
else if (level < 800)
value = 9;
else if (level < 1600)
value = 10;
else if (level < 3000)
value = 11;
else if (level < 2800)
value = 12;
else
value = 13;
return value;
}
private int getFas1RanValue() {
int value;
if (level < 10)
value = 1;
else if (level < 25)
value = 2;
else if (level < 50)
value = 3;
else if (level < 100)
value = 4;
else if (level < 250)
value = 5;
else if (level < 500)
value = 6;
else if (level < 750)
value = 7;
else if (level < 1000)
value = 8;
else if (level < 1500)
value = 9;
else if (level < 2000)
value = 10;
else if (level < 2500)
value = 11;
else if (level < 2800)
value = 12;
else
value = 13;
return value;
}
private void heala()
{
System.Diagnostics.Debug.WriteLine("heala");
if (halsa <= 50)
webBrowser1.Navigate("javascript:__doPostBack('ctl04$lbheal_4','')");
else if (halsa <= 70)
webBrowser1.Navigate("javascript:__doPostBack('ctl04$lbheal_3','')");
else if (halsa <= 80)
webBrowser1.Navigate("javascript:__doPostBack('ctl04$lbheal_2','')");
else
webBrowser1.Navigate("javascript:__doPostBack('ctl04$lbheal_1','')");
}
private void saljUSA()
{
System.Diagnostics.Debug.WriteLine("salj");
System.Windows.Forms.HtmlDocument document = this.webBrowser1.Document;
string value;
if (skada > 30 || skada == 0)
{
if (skada < 3)
value = "1";
else if (skada < 9)
value = "2";
else if (skada < 17)
value = "3";
else if (skada < 26)
value = "4";
else if (skada < 40)
value = "5";
else if (skada < 51)
value = "6";
else if (skada < 67)
value = "7";
else
value = "8";
document.All["ctl04$ddlSell"].SetAttribute("value", value);
document.All["ctl04$btnSell"].InvokeMember("click");
}
else
{
if (skada < 3)
value = "1";
else if (skada < 10)
value = "2";
else if (skada < 17)
value = "3";
else if (skada < 25)
value = "4";
else
value = "5";
document.All["ctl04$ddlRepair"].SetAttribute("value", value);
document.All["ctl04$btnRepair"].InvokeMember("click");
}
}
private void salj()
{
System.Diagnostics.Debug.WriteLine("salj");
System.Windows.Forms.HtmlDocument document = this.webBrowser1.Document;
string value;
if (fas == 1 || skada > 30 || skada == 0)
{
if (skada < 2)
value = "1";
else if (skada < 10)
value = "2";
else if (skada < 20)
value = "3";
else if (skada < 30)
value = "4";
else if (skada < 40)
value = "5";
else if (skada < 50)
value = "6";
else if (skada < 70)
value = "7";
else if (skada < 86)
value = "8";
else if (skada < 100)
value = "9";
else
value = "10";
document.All["ctl04$ddlSell"].SetAttribute("value", value);
document.All["ctl04$btnSell"].InvokeMember("click");
}
else
{
skada = Convert.ToInt32(Math.Ceiling(skada / 5.0));
value = skada.ToString();
document.All["ctl04$ddlRepair"].SetAttribute("value", value);
document.All["ctl04$btnRepair"].InvokeMember("click");
}
}
private int getToolVal()
{
int val = 0;
if (fas == 1)
{
val = Convert.ToInt32(Math.Floor(verktyg / 5.0) + 1);
if (val > 6) val = 6;
}
else if (fas == 4)
{
if (verktyg < 37)
val = 1;
else if (verktyg < 38)
val = 2;
else if (verktyg < 39)
val = 3;
else if (verktyg < 40)
val = 4;
else
val = 5;
}
else //if (fas == 2 || fas == 3)
{
if (verktyg < 25)
val = 5;
else if (verktyg < 26)
val = 6;
else if (verktyg < 27)
val = 7;
else if (verktyg < 28)
val = 8;
else if (verktyg < 29)
val = 9;
else if (verktyg < 30)
val = 10;
else if (verktyg < 32)
val = 11;
else if (verktyg < 34)
val = 12;
else if (verktyg < 36)
val = 13;
else
val = 14;
}
return val;
}
private void stjalRana()
{
System.Windows.Forms.HtmlDocument document = this.webBrowser1.Document;
if (document != null && document.All["ctl04$btnSteal"] != null)
{
System.Diagnostics.Debug.WriteLine("stjalRana");
int val = getToolVal();
System.Diagnostics.Debug.WriteLine("stjalRana->verktyg->val = " + val.ToString());
document.All["ctl04$ddlSteal"].SetAttribute("value", val.ToString());
aktivitet = Activity.ranar;
document.All["ctl04$btnSteal"].InvokeMember("click");
}
//else
//{
// System.Diagnostics.Debug.WriteLine("stjalRana misslyckades!");
//}
}
private Bitmap getBmp(string id) {
mshtml.IHTMLDocument2 doc = (mshtml.IHTMLDocument2)webBrowser1.Document.DomDocument;
mshtml.IHTMLSelectionObject sobj = doc.selection;
mshtml.HTMLBody body = doc.body as mshtml.HTMLBody;
sobj.empty();
mshtml.IHTMLControlRange range = body.createControlRange() as mshtml.IHTMLControlRange;
mshtml.IHTMLControlElement img = (mshtml.IHTMLControlElement)webBrowser1.Document.All[id].DomElement;
range.add(img);
range.select();
range.execCommand("Copy", false, null);
Bitmap bmp = new Bitmap(Clipboard.GetImage());
return bmp;
}
private void login()
{
HtmlDocument document = webBrowser1.Document;
if (document != null && document.All["btnLogin"] != null && tbAnvandarnamn.Text != "" && tbLosenord.Text != "")
{
document.All["txtUsername"].SetAttribute("Value", tbAnvandarnamn.Text);
document.All["txtPassword"].SetAttribute("Value", tbLosenord.Text);
// ??? -> TimeSpan ts = DateTime.Now - idleTid;
if (cbCaptcha.SelectedIndex == 0) // ??? -> || (cbCaptcha.SelectedIndex == 1 && ts.Minutes >= idleTidMax))
{
Win32API.ShowWindow(this.Handle, 9); //Win32API.WindowState.SW_RESTORE
Application.DoEvents();
Win32API.SetForegroundWindow(this.Handle);
Application.DoEvents();
this.Activate();
//string imgUrl = document.All["imgCaptcha"].GetAttribute("src").ToString();
Bitmap bmp = getBmp("imgCaptcha"); // (imgUrl); //("imgCaptcha"); //temp
//pictureBox1.Image = bmp;
string value = extractString(bmp);
if (value.Length == 3 && Form.ActiveForm != null && errorCount < maxErrors)
{
document.All["txtCaptcha"].SetAttribute("Value", value);
document.All["btnLogin"].InvokeMember("Click");
}
else if (errorCount < maxErrors)
{
Debug.WriteLine("login misslyckades - fel kodlängd");
webBrowser1.Navigate(urls["login"]);
}
else
{
Debug.WriteLine("Abort! To many errors in login");
//fulfix av mysko fel
Process.Start(Application.ExecutablePath, tbAnvandarnamn.Text + " " + tbLosenord.Text);
Application.Exit();
}
}
else if (cbCaptcha.SelectedIndex != 2)
{
FlashWindow.Flash(this);
}
}
else
{
System.Diagnostics.Debug.WriteLine("login misslyckades");
}
}
private void timer1_Tick(object sender, EventArgs e)
{
HtmlDocument document = webBrowser1.Document;
//lfelsok.Text = aktivitet.ToString();
//döda alerts
IntPtr alerthwnd = Win32API.GetLastActivePopup(this.Handle);
string dis, last, bwsr;
dis = this.Handle.ToString();
last = alerthwnd.ToString();
bwsr = webBrowser1.Handle.ToString();
if (dis != last) Debug.Print("this:" + dis + " last:" + last + " brwsr:" + bwsr);
if (alerthwnd != this.Handle) //lastPopUp && alerthwnd != webBrowser1.Handle)
{
//if (document == null)
//if (document.All["imgCaptcha"] != null || document.All["ctl04_imgCaptcha"] != null)
//return;
Debug.WriteLine("sendkeys - alerthwnd: " + alerthwnd.ToString());
SendKeys.Send("~"); //Win32API.PostMessage(this.Handle, 275, new IntPtr(1), IntPtr.Zero); //0x113
}
//lastPopUp = alerthwnd;
//uppdatera tid
TimeSpan ts = spelaTid - DateTime.Now; //spela
if (ts.TotalSeconds > 0)
lSpelaTid.Text = new DateTime(ts.Ticks).ToLongTimeString();
//idle
//
// An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in System.Windows.Forms.dll
// Additional information: The requested resource is in use. (Exception from HRESULT: 0x800700AA)
//
ts = DateTime.Now - idleTid;
lIdle.Text = "Idle: " + new DateTime(ts.Ticks).ToLongTimeString();
if (ts.Seconds > 10 && aktivitet != Activity.idle)
{
aktivitet = Activity.idle;
webBrowser1.Navigate(urls["stjalRana"]);
}
if (ts.Minutes > idleTidMax && document.All["btnLogin"] == null &&
document.All["ctl04_tblTaskerCheck"] == null)
{
aktivitet = Activity.idle;
try
{
webBrowser1.Navigate(urls["stjalRana"]);
}
catch
{
Debug.WriteLine("nav. error in timer, idle!");
}
}
//logout / shut down
if (cbLogout.SelectedIndex > 0)
{
ts = logoutTid - DateTime.Now;
if (ts.TotalSeconds > 0)
{
lLogout.Text = new DateTime(ts.Ticks).ToLongTimeString();
}
else if (cbLogout.SelectedIndex == 1)
{
System.Diagnostics.Debug.WriteLine("timer1_tick->logout->logout");
cbCaptcha.SelectedIndex = 2;
cbLogout.SelectedIndex = 0;
webBrowser1.Navigate(urls["logout"]);
}
else if (cbLogout.SelectedIndex == 2)
{
Process.Start("shutdown", "-s -f -t 180");
Application.Exit();
}
}
//Stjäl / råna'
ts = stjalRanaTid - DateTime.Now;
if (ts.TotalSeconds <= 0)
{
if (aktivitet == Activity.idle)
{
stjalRana();
return;
}
}
else
{
lStjalRanaTid.Text = new DateTime(ts.Ticks).ToLongTimeString();
}
//bank
if (cbBank.Checked)
{
ts = bankTid - DateTime.Now;
if (fas == 3 && mnKr > mnKrMax && aktivitet == Activity.idle && document.All["ctl04_ddlSteal"] != null && ts.TotalMinutes <= 0)
{
if (Form.ActiveForm != null)
{
aktivitet = Activity.bank;
webBrowser1.Navigate(urls["bank"]);
}
else if (mnKr > mnKrKritisk)
{
Win32API.ShowWindow(this.Handle, 9); //Win32API.WindowState.SW_RESTORE
this.Activate();
}
}
}
string url = webBrowser1.Url.ToString();
//spons
if (cbRaggaSpons.Checked)
{
ts = raggaTid - DateTime.Now;
if (ts.TotalSeconds <= 0)
{
if (aktivitet == Activity.idle && url.Contains("crime"))
{
aktivitet = Activity.raggar;
webBrowser1.Navigate(urls["ragga"]);
}
}
else
{
this.lRaggaSponsTid.Text = new DateTime(ts.Ticks).ToLongTimeString();
}
}
//levla gäng
if (cbGang.Checked)
{
ts = gangTid - DateTime.Now;
if (ts.TotalSeconds <= 0)
{