Итак,друг,ты определись для начала чего ты хочешь.Во-первых,у тебя уже должно стоять вот это:
SPOILER
Showvar temp_inf = "";
var temp_inf_razdel = 0;
function Morkovka(enabled)
{
if(enabled)
{
PluginsOnLoad["Morkovka"] = "MorkovkaHandler";
}
else
{
PluginsOnLoad["Morkovka"] = "";
}
}
function MorkovkaHandler(url)
{
if (top.Battle.bInBattle)return;
var hpRemain = parseInt(maxHP - tkHP);
var manaRemain = 0;
if(window.tkMana)
manaRemain = parseInt(maxMana - tkMana);
var morkovkaName = [];
if(external.room_name=='Грибница' && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/(?:Слабость к (?:Воде|Огню|Воздуху))|(?:Дрожь в коленях)/i))
{
temp_inf = doLoad("http://" + external.SCity.Text + ".combats.com/main.pl?edit=3&rnd=" + Math.random());
temp_inf_razdel = 3;
}
if(temp_inf && (temp_inf.match(/Слабость к (?:Воде|Огню|Воздуху)/i) || temp_inf.match(/Дрожь в коленях/i)))
{
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Печень Гусеница");
morkovkaName[morkovkaName.length-1].push(3);
}
if(hpRemain > 1500){
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Настойка на грибах");
morkovkaName[morkovkaName.length-1].push(4); //Раздел инвентаря, где лежит элексир. 3- раздел "Элексиры", 4 - "Прочее"
}
if(tkHP < 200){
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Сосуд жизненных сил");
morkovkaName[morkovkaName.length-1].push(4); //Раздел инвентаря, где лежит элексир. 2- раздел "Элексиры", 3 - "Прочее"
}
if(hpRemain > 300){
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Заживляющий Эликсир");
morkovkaName[morkovkaName.length-1].push(3); //Раздел инвентаря, где лежит элексир. 3- раздел "Элексиры", 4 - "Прочее"
}
if(hpRemain > 150){
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Заживляющая Настойка");
morkovkaName[morkovkaName.length-1].push(3); //Раздел инвентаря, где лежит элексир. 3- раздел "Элексиры", 4 - "Прочее"
}
if(morkovkaName.length > 0)
for(x=0;x<=(morkovkaName.length-1);x++){
if(Morkovka2Handler(morkovkaName[x][0],morkovkaName[x][1]))
break;
}
}
function Morkovka2Handler(elikName,razdel)
{
if(temp_inf_razdel != razdel)
temp_inf = doLoad("http://" + external.SCity.Text + ".combats.com/main.pl?edit="+razdel+"&rnd=" + Math.random());
temp_inf_razdel = razdel;
var m = elikName + "(\\s\\(x\\d+\\))?','main.pl',\\s'(.+?)',\\s'.*?',\\s(\\d+)";
var found = temp_inf.match(m);
if(found != null)
{
external.AddToChat("Выпиваю эликсир <b>\\\"" + elikName + "\\\"</b>");
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?use=" + found[2] + "&n=" + found[3];
if(elikName == "Печень Гусеница" || elikName == "Почки Палочника")
temp_inf = "";
temp_inf_razdel = 0;
return true;
}
return false;
}
function doLoad(url) {
if (window.XMLHttpRequest)
req = new XMLHttpRequest();
else
req = new ActiveXObject("Microsoft.XMLHTTP");
req.open("GET", url, false); // задать параметры методу open
req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); //чтоб не кэшировались GET запросы
req.send(null); // отправить запрос
return req.responseText;
}
Во-вторых,я тебе подгонял под твои цифры
SPOILER
Showменя использует только заживляющий эликсир... остальное нет. ожет кто подскажет где, что изменить?? Хп у меня
1669 .. Хочу - , чтоб при 1200 и меньше юзал Заживляющую настойку до 1450, при 600хп и меньше заживл эликсир до 1450, при 200 и меньше ту что востанавливает полностью хп..
В связи с твоим недовольством и тд
,
1. Идет бот по пещере, прыгнул в бой, хп осталось на 200 меньше , в боте стоит установка нападать при +-10%от Хп, и Тут плагин взял и использовал элик +150.-при этом он у тебя будет постоянно почти с полными ХП,и твоя установка +-10% нафиг тогда не нужна.
2.Бот попер дальше и напал... вышел из поединка -400 хп бот берет и пьет +300 ( а на деле бот пьет 2 раза по +150)-
Хочу - , чтоб при 1200 и меньше юзал Заживляющую настойку до 1450=>условия выпивания абсолютно разные))))
3.Про настойку я тебе исправил плагин,ты его не установил вообще.
Результат,изначально,у тебя почти что был идеальный вариант)Сейчас вот так поставь и попробуй:
1.1690-~10%=Нападение при ~1520+
2.После боя ~1300-"Заживляющая Настойка"будет пить 2 штуки,так как хила одной 150 не хватает.Потому лучше сделать разницу на выпивание 1-го эля.Это будет 319.
3.После боя ~1100 ХП-Разница от нападения 420.Выпьет +300 и +150=~1550.Делаем разницу ХП 470.
4.Ну и далее,если разница в ХП=> 1500="Настойка на грибах" и если ХП меньше 200="Сосуд жизненных сил"(Но это актуально ток в кализации)
Итог имеем:
SPOILER
Showvar temp_inf = "";
var temp_inf_razdel = 0;
function Morkovka(enabled)
{
if(enabled)
{
PluginsOnLoad["Morkovka"] = "MorkovkaHandler";
}
else
{
PluginsOnLoad["Morkovka"] = "";
}
}
function MorkovkaHandler(url)
{
if (top.Battle.bInBattle)return;
var hpRemain = parseInt(maxHP - tkHP);
var manaRemain = 0;
if(window.tkMana)
manaRemain = parseInt(maxMana - tkMana);
var morkovkaName = [];
if(external.room_name=='Грибница' && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/(?:Слабость к (?:Воде|Огню|Воздуху))|(?:Дрожь в коленях)/i))
{
temp_inf = doLoad("http://" + external.SCity.Text + ".combats.com/main.pl?edit=3&rnd=" + Math.random());
temp_inf_razdel = 3;
}
if(temp_inf && (temp_inf.match(/Слабость к (?:Воде|Огню|Воздуху)/i) || temp_inf.match(/Дрожь в коленях/i)))
{
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Печень Гусеница");
morkovkaName[morkovkaName.length-1].push(3);
}
if(hpRemain > 1500){
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Настойка на грибах");
morkovkaName[morkovkaName.length-1].push(4); //Раздел инвентаря, где лежит элексир. 3- раздел "Элексиры", 4 - "Прочее"
}
if(tkHP < 200){
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Сосуд жизненных сил");
morkovkaName[morkovkaName.length-1].push(4); //Раздел инвентаря, где лежит элексир. 2- раздел "Элексиры", 3 - "Прочее"
}
if(hpRemain > 470){
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Заживляющий Эликсир");
morkovkaName[morkovkaName.length-1].push(3); //Раздел инвентаря, где лежит элексир. 3- раздел "Элексиры", 4 - "Прочее"
}
if(hpRemain > 319){
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Заживляющая Настойка");
morkovkaName[morkovkaName.length-1].push(3); //Раздел инвентаря, где лежит элексир. 3- раздел "Элексиры", 4 - "Прочее"
}
if(morkovkaName.length > 0)
for(x=0;x<=(morkovkaName.length-1);x++){
if(Morkovka2Handler(morkovkaName[x][0],morkovkaName[x][1]))
break;
}
}
function Morkovka2Handler(elikName,razdel)
{
if(temp_inf_razdel != razdel)
temp_inf = doLoad("http://" + external.SCity.Text + ".combats.com/main.pl?edit="+razdel+"&rnd=" + Math.random());
temp_inf_razdel = razdel;
var m = elikName + "(\\s\\(x\\d+\\))?','main.pl',\\s'(.+?)',\\s'.*?',\\s(\\d+)";
var found = temp_inf.match(m);
if(found != null)
{
external.AddToChat("Выпиваю эликсир <b>\\\"" + elikName + "\\\"</b>");
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?use=" + found[2] + "&n=" + found[3];
if(elikName == "Печень Гусеница" || elikName == "Почки Палочника")
temp_inf = "";
temp_inf_razdel = 0;
return true;
}
return false;
}
function doLoad(url) {
if (window.XMLHttpRequest)
req = new XMLHttpRequest();
else
req = new ActiveXObject("Microsoft.XMLHTTP");
req.open("GET", url, false); // задать параметры методу open
req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); //чтоб не кэшировались GET запросы
req.send(null); // отправить запрос
return req.responseText;
}
Поставь,пожалуйста,попробуй,и отпишись.Я надеюсь понятно объяснил)))думаю,в дальнейшем ты его сам можешь прекрасно подгонять под себя)
Отредактировано Mr Blanco (2011-07-01 17:53:44)
Вранье.Вранье.Вранье.Правда.(с)Rand