Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Script dlja trechzarstvie

-

Вопросы и ответы, обсуждения

- Общение и обсуждения на тему браузерных игр

Ответ
 
Опции темы
Старый 08.09.2015, 17:49   #1
 Разведчик
Аватар для seergej
 
seergej никому не известный тип
Регистрация: 09.10.2012
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
Post Script dlja trechzarstvie

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Threading;
using System.Windows.Forms;

namespace _3k.AppLibrary
{
class TestFormOp
{
public static void AutorizeGame()
{
string email = ""; // Логин
string password = ""; // Пароль
BotBase.GameWebControl.ExecuteJavascript("Login.va lue = '" + email + "'");
BotBase.GameWebControl.ExecuteJavascript("Password .value = '" + password + "'");
BotBase.GameWebControl.ExecuteJavascript("document .forms[0].submit();");
}
}
/// <summary>
/// Сбор
/// </summary>
class Ingathering
{
private static Thread _ingatheringThread;

/// <summary>
/// Запуск и остановка сбора
/// </summary>
public static void StartIngathering()
{
if (_ingatheringThread == null || _ingatheringThread.ThreadState == ThreadState.Aborted ||
_ingatheringThread.ThreadState == ThreadState.Stopped)
{
BotBase.AddLogDebug("Старт Сбор");
_ingatheringThread = new Thread(LogicIngathering) { IsBackground = true };
_ingatheringThread.Start();
}
else
{
BotBase.GetHuntConf = false; // Выключить отлов hunt_conf response с сервера.
BotBase.AddLogDebug("Стоп Сбор");
CommonBot.ShowChatAfterStop();
_ingatheringThread.Abort();
}
}

/// <summary>
/// <remarks>Метод сбора ресурсов</remarks>
/// </summary>
private static void LogicIngathering()
{
CommonBot.OpenHuntWait();
while (true)
{
BotBase.GetHuntConf = true;
if (HuntConfig.Resources.Count > 0)
{
int local_storona = CommonBot.CheckStorona();
bool local_str = false;
List<BotOperations.ObjectResource> resources = HuntConfig.Resources;
int random = new Random().Next(resources.Count);
while (true)
{
local_storona = CommonBot.CheckStorona();
local_str = false;
resources = HuntConfig.Resources;
random = new Random().Next(resources.Count);
foreach (BotOperations.ObjectResource objectResource in resources)
{
if (objectResource.StoronaH == local_storona)
{
local_str = true;
break;
}
}
if (local_str == false)
{
CommonBot.MouseClickStorona(resources[random].Coord);
}
if (local_str)
{
break;
}
}
BotBase.AddLogDebug("Нашел \"" + resources[random].Name + "\"" + resources[random].Coord + " Буду добывать ID:" + resources[random].IdRes);
BotBase.GetHuntConf = false;
Thread.Sleep(500);
CommonBot.MouseClickToPointInHunt(resources[random].Coord);
CommonBot.SborButtonClick();
if (CommonBot.CheckDobicha())
{
CommonBot.WaitDobicha();
}
}
Thread.Sleep(300);
}
}
}

/// <summary>
/// Бой
/// </summary>
class Fight
{
private static Thread _boiThread; // Поток
private static Thread _boiHpMpThread;
private static int HP = 100;
private static int MP = 100;



/// <summary>
/// Запуск и остановка боя
/// </summary>
public static void StartFight()
{
//Условие если поток не инициализирован, если поток завершен, если поток остановлен
if (_boiThread == null || _boiThread.ThreadState == ThreadState.Aborted ||
_boiThread.ThreadState == ThreadState.Stopped)
{
BotBase.AddLogDebug("Старт Бой");
// Установим новый поток для метода ScriptBoi(), укажем что поток IsBackground = true
// Что позволит потоку работать в фоновом режиме
_boiThread = new Thread(Fighting) { IsBackground = true };
_boiThread.Start(); // Запустить поток
_boiHpMpThread = new Thread(GetHPMP) { IsBackground = true };
_boiHpMpThread.Start();
}
else //Условие если поток запущен
{
BotBase.GetHuntConf = false; // Выключить отлов hunt_conf response с сервера.
BotBase.AddLogDebug("Стоп Бой");
CommonBot.ShowChatAfterStop(); // Показать чат после боя
_boiThread.Abort(); // Остановить поток
_boiHpMpThread.Abort();
}
}

private static void Fighting()
{
BotBase.RetPoint = new Point(750, 750);
WaitFullHpMp();
CommonBot.OpenHuntWait();
Fighting_s1();
/*
*Установили отступные координаты для охоты, ждем полное воссстановление уровня жизни и удали
*Открываем охоту и ждем полной её загрузки, запускаем метод боя
*/
}

public static void GetHPMP()
{
while (true)
{
if (BotOperations.CheckHpmp)
{
HP = GetHP();
MP = GetMP();
BotBase.AddLogDebug("HP=" + HP + "% & " + "MP=" + MP + "%");
}
Thread.Sleep(1500);
}
}

public static int GetHP()
{
BotLibrary.Find hp = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/hp.png"));
if (hp.Found == true)
{
int ix = 0;
for (int i = 0; i <= 135; i++)
{
if ((i % 5) == 0)
{
Rectangle r = new Rectangle(hp.Coordinates.X - i, hp.Coordinates.Y - 5, 5, 20);
BotLibrary.Find hpinfo = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/hp_info.png"), r);
if (hpinfo.Found == true)
{
double percent = i / 1.35;
int procent = 100 - (int)percent;
return procent;
}

}
}
}
return 100;
}


public static int GetMP()
{
BotLibrary.Find hp = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/hp.png"));
if (hp.Found == true)
{
int ix = 0;
for (int i = 0; i <= 135; i++)
{
if ((i % 5) == 0)
{
Rectangle rs = new Rectangle(hp.Coordinates.X - i, hp.Coordinates.Y + 8, 5, 20);
BotLibrary.Find hpinfos = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/mp_info.png"), rs);
if (hpinfos.Found == true)
{
double percent = i / 1.35;
int procent = 100 - (int)percent;
return procent;
}
}
}
}
return 100;
}

private static void Fighting_s1()
{
while (true)
{
BotBase.GetHuntConf = true; // Включить отлов hunt_conf response с сервера.
List<BotOperations.ObjectResource> mobs = HuntConfig.Mobs;
if (mobs.Count > 0)
{
int index = 0; // Установим индецкс
int local_storona = CommonBot.CheckStorona(); // Узнаем текущую сторону
bool local_str = false; // Текущая сторона = стороне где находится объект
int random = new Random().Next(mobs.Count); // Выбрать рандомный объект из mobs
while (true) // Бесконечный цикл
{
mobs = HuntConfig.Mobs;
local_storona = CommonBot.CheckStorona(); // Узнаем текущую сторону
local_str = false; // Текущая сторона = стороне где находится объект
random = new Random().Next(mobs.Count); // Выбрать рандомный объект из mobs
for (index = 0; index < mobs.Count; index++)
{
if (mobs[index].StoronaH == local_storona) // Если объект находится на текущей стороне
{
local_str = true; // Объект находится на текущей стороне
break; // Выходим из цикла for
}
else
{
CommonBot.MouseClickStorona(mobs[random].Coord); // Клик по стороне другого ресурса
}
}
if (local_str) // Если объект находится на текущей стороне
{
break;
}
if (local_str == false) // Объект не находится на текущей стороне
{
CommonBot.MouseClickStorona(mobs[random].Coord); // Клик по стороне другого ресурса
}
}
if (local_str)
{
BotBase.AddLogDebug("Нашел \"" + mobs[index].Name + "\" Буду нападать");
BotBase.GetHuntConf = false; // Отключить отлов hunt_conf response с сервера на момент нападения
Thread.Sleep(500); // Ждем 0,5 секунд для нормализации пакетов
CommonBot.MouseClickToPointInHunt(mobs[index].Coord); // Клик мыши по объекту
if (CommonBot.AttackButtonClick() == true) // Клик по кнопке нападать
{
CommonBot.WaitLoadBattle(); // Ждем загрузки битвы
BotBase.AddLogDebug("Мы в битве, дерись!");
LogicBattle(mobs[index].Name);
break;
}
}
}
Thread.Sleep(500);
}
}

public static void LogicBattle(string nameBot)
{
BotOperations.Udary = BotOperations.SetUdary();
while (true)
{
BotBase.AddLogDebug("Парсим Fight Log");
List<CommonFight.ObjectLog> log = CommonFight.ParseFightLog();
if (log.Count > 0)
{
BotBase.AddLogDebug("Появились какие-то записи в логе");
Udary(nameBot);
}
Thread.Sleep(300);
}
}

public static void Udary(string nameBot)
{
BotBase.AddLogDebug("Удары пошли");
for (int i = 0; i < BotOperations.Udary.Count; i++)
{
CheckWin();
Wait(nameBot);
if (BotOperations.Udary[i].NotUdar)
{
if (BotOperations.Udary[i].NumWait <= 0)
{
Udar(BotOperations.Udary[i].NumUdar);
UdarMinus();
Thread.Sleep(500);
continue;
}
}
if (!BotOperations.Udary[i].NotUdar)
{
if (BotOperations.Udary[i].NumWait <= 0)
{
Udar(BotOperations.Udary[i].NumUdar);
UdarMinus();
Thread.Sleep(3000);
Wait(nameBot);
continue;
}
}
}
}

public static void UdarMinus()
{
for (int i = 0; i < BotOperations.Udary.Count; i++)
{
BotOperations.UdarConstruct ur = new BotOperations.UdarConstruct();
ur.NotUdar = BotOperations.Udary[i].NotUdar;
ur.NumUdar = BotOperations.Udary[i].NumUdar;
ur.NumWait = BotOperations.Udary[i].NumWait - 1;
if (ur.NumWait == -1)
{
List<BotOperations.UdarConstruct> constructs = BotOperations.SetUdary();
ur.NumWait = constructs[i].NumWait;
}
BotOperations.Udary[i] = ur;
BotBase.AddLogDebug("Номер удара: " + ur.NumUdar + " Осталось ждать удару: " + ur.NumWait);
}
}

public static void CheckWin()
{
if (Win())
{
BotBase.AddLogDebug("Закончили бой");
Fighting();
}
}

public static void WaitFullHpMp()
{
BotBase.AddLogDebug("Ждем когда восстановится");
bool fullhp = false;
bool fullmp = false;
while (true)
{
if (!fullhp)
{
BotLibrary.Find fullhps = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/fullhp.png"));
if (fullhps.Found == true)
{
BotBase.AddLogDebug("Жизни полные");
fullhp = true;
}
}
if (!fullmp)
{
BotLibrary.Find fullmps = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/fullmp.png"));
if (fullmps.Found == true)
{
BotBase.AddLogDebug("Удаль полная");
fullmp = true;
}
}
if (fullhp && fullmp)
{
break;
}
Thread.Sleep(2000);
}
}

public static string myNick = CommonBot.MyNick();
public static void Wait(string nameBot)
{
BotBase.AddLogDebug("Ждем когда вражеский моб атакует");
while (true) // Ждем когда моб атакует
{
CheckWin();
List<CommonFight.ObjectLog> log = CommonFight.ParseFightLog(); // Спарсим еще раз
if (log[log.Count - 1].UdarilWho.Contains(myNick) == false) // Если имя моба != моему нику
{
BotBase.AddLogDebug("Моб атаковал, выхожу чтобы дать пизды");
break;
}
if (log[log.Count - 1].IspolsovalWho.Contains(myNick) == true) // Если последний использовал я
{
BotBase.AddLogDebug("Я что-то использовал?");
for (int x = log.Count - 1; x >= 0; x--)
{
BotBase.AddLogDebug("Ищу кто атаковал до использования");
if (log[x].UdarilWho.Contains(myNick) == false) // Если имя моба != моему нику
{
BotBase.AddLogDebug("Моб атаковал, выхожу чтобы дать пизды");
break;
}
}
}
Thread.Sleep(300);
}
}

public static bool Udar(int num)
{
//left.png (1) + 30px (2,3,4,5,6...) +50px
int px = 0;
if (num >= 0)
{
px += 30;
px = px + (num * 50);
}
BotLibrary.Find udar = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/left.png"));
if (udar.Found == true)
{
BotLibrary.LeftClick(new Point(udar.Coordinates.X + px, udar.Coordinates.Y));
}
return udar.Found;
}

public static bool Win()
{
BotLibrary.Find win = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/win.png"));
if (win.Found == true)
{
BotLibrary.LeftClick(new Point(win.Coordinates.X, win.Coordinates.Y));
}
return win.Found;
}
}

static class CommonBot
{
public static string MyNick()
{
string sr = "";
BotBase.GameWebControl.Invoke(new Action(() =>
{
sr = BotBase.GameWebControl.ExecuteJavascriptWithResult ("myNick");
}));
return sr;
}

public static void OpenHuntWait()
{
BotLibrary.Find hunt = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/hunt.png"));
BotLibrary.LeftClick(hunt.Coordinates);
while (true)
{
BotLibrary.Find hunt_hunt = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/hunt/hunt.png"));
if (hunt_hunt.Found)
{
BotBase.GameWebControl.Invoke(new Action(() =>
{
BotBase.GameWebControl.ExecuteJavascriptWithResult ("document.getElementById('chat_TR').hidden = true");
Size s = BotBase.GameWebControl.Size;
BotBase.GameWebControl.Dock = DockStyle.None;
BotBase.GameWebControl.Location = new Point(0, 0);
BotBase.GameWebControl.Size = new Size(s.Width, 885);
}));
Thread.Sleep(200);
break;
}
}
}

public static void ShowChatAfterStop()
{
BotBase.GameWebControl.Invoke(new Action(() =>
{
BotBase.GameWebControl.ExecuteJavascriptWithResult ("document.getElementById('chat_TR').hidden = false");
BotBase.GameWebControl.Dock = DockStyle.Fill;
}));
}

public static int CheckStorona()
{
int storona = 0;
BotLibrary.Find sever = BotLibrary.ImageSearchInGameWindow(new Bitmap("img/hunt/sever.png"));
if (sever.Found) { storona = 0; }
BotLibrary.Find vostok = BotLibrary.ImageSearchInGameWindow(new Bitmap("img/hunt/vostok.png"));
if (vostok.Found) { storona = 1; }
BotLibrary.Find zapad = BotLibrary.ImageSearchInGameWindow(new Bitmap("img/hunt/zapad.png"));
if (zapad.Found) { storona = 2; }
BotLibrary.Find yg = BotLibrary.ImageSearchInGameWindow(new Bitmap("img/hunt/yg.png"));
if (yg.Found) { storona = 3; }
BotBase.AddLogDebug("CheckStorona:" + storona);
return storona;
}

public static bool CheckDobicha()
{
BotLibrary.Find dobicha;
dobicha.Found = false;
for (int i = 0; i < 3; i++)
{
dobicha = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/dobicha.png"));
if (dobicha.Found)
{
BotBase.AddLogDebug("Добываю ресурс? " + dobicha.Found);
break;
}
Thread.Sleep(200);
}
BotBase.AddLogDebug("Добываю ресурс? " + dobicha.Found);
return dobicha.Found;
}

private static Boolean CheckDobivayutNow(Point objectCoord, BotOperations.ObjectResource resource)
{
Rectangle rect = new Rectangle(objectCoord.X - 30, objectCoord.Y - 30, 60, 60);
BotLibrary.Find dobivayut = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/dobivayut.png"), rect);
BotBase.AddLogDebug("Занятость ресурса " + dobivayut.Found);
return dobivayut.Found;
}

public static void CheckError()
{
BotLibrary.Find close_error = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/close_error.png"));
if (close_error.Found)
{
BotBase.AddLogDebug("Нашли ошибку при сборе - ликвидировать!");
BotLibrary.LeftClick(new Point(close_error.Coordinates.X + 20, close_error.Coordinates.Y));
}
}

public static void WaitDobicha()
{
BotBase.AddLogDebug("Добываю! Жду окончания.");
while (true)
{
BotLibrary.Find dobicha = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/dobicha.png"));
if (!dobicha.Found)
{
BotBase.AddLogDebug("Вроде завершили добычу.");
Thread.Sleep(1000);
CheckError();
return;
}
Thread.Sleep(1000);
}
}

public static void MouseClickStorona(Point coordinates)
{
BotOperations.ObjectResource resource = new BotOperations.ObjectResource();
resource.Coord = coordinates;
resource.SetRetreat();
BotLibrary.Find nav = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/nav.png"));
BotLibrary.LeftClick(new Point(nav.Coordinates.X + resource.RetreatStorona.X, nav.Coordinates.Y + resource.RetreatStorona.Y));
Thread.Sleep(200);
}

public static void MouseClickToPointInHunt(Point coordinates)
{
BotOperations.ObjectResource resource = new BotOperations.ObjectResource();
resource.Coord = coordinates;
resource.SetRetreat();
Thread.Sleep(200);
BotLibrary.Find downLeft = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/down_left.png"));
int m = downLeft.Coordinates.Y - 750; // Отступные координаты окна охоты

if (CheckDobivayutNow(new Point(downLeft.Coordinates.X + resource.Coord.X + resource.Retreat.X, m + resource.Coord.Y + resource.Retreat.Y), resource))
{
BotBase.AddLogDebug("Ресурс уже добывают");
}
BotLibrary.LeftClick(new Point(downLeft.Coordinates.X + resource.Coord.X + resource.Retreat.X, m + resource.Coord.Y + resource.Retreat.Y)); // Клик по объекту
Thread.Sleep(300);
}

public static void SborButtonClick()
{
BotLibrary.Find trav = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/hunt/ms/trav.png"));
if (trav.Found)
{
BotLibrary.LeftClick(new Point(trav.Coordinates.X, trav.Coordinates.Y));
Thread.Sleep(1000);
return;
}
BotLibrary.Find kamen = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/hunt/ms/kamen.png"));
if (kamen.Found)
{
BotLibrary.LeftClick(new Point(kamen.Coordinates.X, kamen.Coordinates.Y));
Thread.Sleep(1000);
return;
}
BotLibrary.Find fisher = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/hunt/ms/fisher.png"));
if (fisher.Found)
{
BotLibrary.LeftClick(new Point(fisher.Coordinates.X, fisher.Coordinates.Y));
Thread.Sleep(1000);
return;
}
}

public static bool AttackButtonClick()
{
BotLibrary.Find attack = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/hunt/ms/attack.png"));
if (attack.Found)
{
BotLibrary.LeftClick(new Point(attack.Coordinates.X, attack.Coordinates.Y));
Thread.Sleep(1000);
return true;
}
return false;
}

public static void WaitLoadBattle()
{
BotBase.AddLogDebug("Ждем загрузки битвы");
while (true)
{
BotLibrary.Find in_battle = BotLibrary.ImageSearchInGameWindow((Bitmap)Image.F romFile("img/battle/in_battle.png"));
if (in_battle.Found)
{
break;
}
Thread.Sleep(500);
}
}
}
}
esle komuta pomog sa scriptam moschet bot dat dlja drakoni ve4nosti poschalusta
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PW Script Bot 3а РУСЬ усРУСЬ† Боты, скрипты и прочий софт для Perfect World 87 26.09.2013 10:08
[Скрипт] Script dina Общение и обсуждение Counter-Strike 2 12.03.2011 17:35
Script of Pad (PE) v.1.5 Джон1 Читы и хаки для CS 10 17.08.2010 01:33
script 6 ап Gra Вопросы и ответы, обсуждения 1 13.11.2009 21:52

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 17:19.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net