26

Re: Слабость к огню/дрож в коленях

Малость видоизменил плагин, дабы прикрутить проверку на эффекты
На практике не проверял, т.к. не на ком.

var MorkovkaTimer = {};
var WeaknessTimer = {};
var randomValue;
var min = 50000;
var max = 70000;
 
function MorkovkaTest(enabled)
{
    if(enabled)
    {   
        MorkovkaTimer[mylogin] = setInterval("MorkovkaHandler()", 500);
        WeaknessTimer[mylogin] = setInterval("WeaknessHandler()", 60000);
    }
    else
    {
        clearInterval(MorkovkaTimer[mylogin]);
        clearInterval(WeaknessTimer[mylogin]);
    }
}
 
function MorkovkaHandler(){
    try
    {
        if(external.inBattle || (external.dungeonEnabled && !IsMapVisible())) return;
 
        var morkovkaName = [];
        var hpRemain = parseInt(maxHP - tkHP);
 
        if(tkHP < 813)
        {
            morkovkaName[morkovkaName.length] = new Array ("Настойка на грибах",4);
        }
 
        if(tkHP < 1513)
        {
            morkovkaName[morkovkaName.length] = new Array ("Заживляющий Эликсир",3);
        }
 
        if(tkHP < 1663)
        {
            morkovkaName[morkovkaName.length] = new Array ("Заживляющая Настойка",3);
        }
 
        for(x = 0; x < morkovkaName.length; x++)
        {
            Morkovka2Handler(morkovkaName[x][0],morkovkaName[x][1]);
        }
    }   
    catch(err)
    {
    }
}
 
function Morkovka2Handler(elikName,razdel)
{
    var s = doLoad("http://" + external.SCity.Text + ".combats.com/main.pl?edit="+razdel+"&rnd=" + Math.random());
    if(s.indexOf("Ослабление после боя") < 0)
    {
        var m = elikName + "(\\s\\(x\\d+\\))?','main.pl',\\s'(.+?)',\\s'.*?',\\s(\\d+)";
 
        var found = s.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];
        }
    }
}
 
function WeaknessHandler()
{
    try
    {
        if(external.inBattle || (external.dungeonEnabled && !IsMapVisible())) return;
 
        var antidoteName = [];
        var weakInf = '';
        weakInf = doLoad("http://"+external.SCity.Text+".combats.com/main.pl?skills=1&rand="+Math.random());
 
        if(weakInf && weakInf.match(/Слабость к (?:Воде|Огню|Воздуху)/i))
        {   
            antidoteName[antidoteName.length] = new Array ("Печень Гусеница",3);
        }
 
        if(weakInf && weakInf.match(/Дрожь в коленях/i))
        {   
            antidoteName[antidoteName.length] = new Array ("Почки Палочника",3);   
        }
 
        for(x = 0; x < antidoteName.length; x++)
        {
            Morkovka2Handler(antidoteName[x][0],antidoteName[x][1]);
        }
 
        clearInterval(WeaknessTimer[mylogin]);
        randomValue = Math.floor(Math.random()*(max - min) + min);
        WeaknessTimer[mylogin] = setInterval("WeaknessHandler()", randomValue);
    }
    catch(err)
    {
    }
}
 
function doLoad(url)
{
    var req;
 
    if (window.XMLHttpRequest)
        req = new XMLHttpRequest();
    else
        req = new ActiveXObject("Microsoft.XMLHTTP");
 
    req.open("GET", url, false);
    req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
    req.send(null);
    return req.responseText;
}
Оставь надежду всяк сюда входящий ©

27

Re: Слабость к огню/дрож в коленях

или вот такой способ:

function Morkovka(enabled)
{
    if(enabled)
    {
        PluginsOnLoad["Morkovka"] = "MorkovkaHandler";
    }
    else
    {
        PluginsOnLoad["Morkovka"] = "";
    }
}
 
function MorkovkaHandler(url)
{
    if(external.inBattle || (external.dungeonEnabled && !IsMapVisible())) return;
 
    var hpRemain = parseInt(maxHP - tkHP);
    var morkovkaName = [];
 
    if(tkHP < 813)
    {
        morkovkaName[morkovkaName.length] = new Array ("Настойка на грибах",4);
    }
 
    if(tkHP < 1513)
    {
        morkovkaName[morkovkaName.length] = new Array ("Заживляющий Эликсир",3);
    }
 
    if(tkHP < 1663)
    {
        morkovkaName[morkovkaName.length] = new Array ("Заживляющая Настойка",3);
    }
 
    for(x = 0; x < morkovkaName.length; x++)
    {
        Morkovka2Handler(morkovkaName[x][0],morkovkaName[x][1]);
    }
}
 
function Antidote(name,index)
{
    var d = doLoad("http://" + external.SCity.Text + ".combats.com/main.pl?edit="+index+"&rnd=" + Math.random());
    var k = name + "(\\s\\(x\\d+\\))?','main.pl',\\s'(.+?)',\\s'.*?',\\s(\\d+)";
    var f = d.match(k);
    if(f != null)
    {
        external.AddToChat("Выпиваю эликсир <b>\\\"" + name + "\\\"</b>");
        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?use=" + f[2] + "&n=" + f[3];
    }
}
 
function Morkovka2Handler(elikName,razdel)
{
    var s = doLoad("http://" + external.SCity.Text + ".combats.com/main.pl?edit="+razdel+"&rnd=" + Math.random());
    if(s.indexOf("Ослабление после боя") < 0)
    {
        var antidoteName = [];
        if(s.match(/Слабость к (?:Воде|Огню|Воздуху)/i))
        {   
            antidoteName[antidoteName.length] = new Array ("Печень Гусеница",3);
        }
 
        if(s.match(/Дрожь в коленях/i))
        {   
            antidoteName[antidoteName.length] = new Array ("Почки Палочника",3);   
        }
 
        for(i = 0; i < antidoteName.length; i++)
        {
            Antidote(antidoteName[i][0],antidoteName[i][1]);
        }
 
        var m = elikName + "(\\s\\(x\\d+\\))?','main.pl',\\s'(.+?)',\\s'.*?',\\s(\\d+)";
 
        var found = s.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];
        }       
    }
}
 
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;
}
Оставь надежду всяк сюда входящий ©

28

Re: Слабость к огню/дрож в коленях

(Please log in or register to see this URL)
Тут выложили обновлённую морковку, вроде всё работает smile

29

Re: Слабость к огню/дрож в коленях

За сим тему закрываю.

(Please log in or register to see this URL)