[Stealth v6.1.4] Simple Fishing
11 лет
Trasher
Сообщений: 153
Рег. 5.10.2013
16 ноября 2013 21:37
Сообщение #1
Всем привет!

Написал, не большой простенький фишинг... Решил заделится, вдруг кому пригодится!

Описание скрипта:
Стартует откуда попало, идет на полянки которые мы ему вписываем. Приходим на полянку, собираем в массив все водяные тайлы. Начинаем облов по массиву собранных тайлов, следим за весом и удочками и ножиками. Если рыбка вылавливается - режем и суем в пак, а тип выловленного итема записываем в массив лута. После облова или по достижении одного из условий при которых облов будет остановлен, а именно - отсутствие удочек, даггеров, превышение допустимого веса персонажа - идем на разгрузку, разгружаем то, что наловили и удочки, дальше берем 1-2 удочки в пак и идем дальше ловить. Если удочки заканчиваются - идем в магазин к вендору покупаем удочки, идем разгружаем их и идем ловим. Вроде все.

Скрипт простой по-этому никаких дллок качать не надо, тело скрипта будет спрятано в спойлер в этом посте или следующем.

Предлагайте свои дополнения - с радостью прикручу, ну и чувствуйте себя спокойно если захочется подредактировать!

Настройка:

Нужно заполнить константы и массив точек облова!


const
    Dagger_Type = $0000; //тип ножика для резки рыбки;
    FishingPole_Type = $0000; // тип удочки;
    VendorX = 0000; //координата Х в магазине;
    VendorY = 0000;  //координата У в магазине;
    Vendor_Id = 00000000; //айдишка вендора;
    BankX = 0000; //координата Х банка;
    BankY = 0000; //координата У банка;
    MyMaxWeight = 000; //вес до которого ловить;
    msg = 'You fish | failed |You pull out a |There are no |You cannot fish '; //сообщения от сервера;



//Процедура где нужно внести свои "полянки" для облова;    
procedure InitFishPlace_Array;
begin
    //#1
    FishPlace_Array[0].X := 0000;
    FishPlace_Array[0].Y := 0000;
    //#2
    FishPlace_Array[1].X := 0000;
    FishPlace_Array[1].Y := 0000;
    //#3
    FishPlace_Array[2].X := 0000;
    FishPlace_Array[2].Y := 0000;
    //#4
    FishPlace_Array[3].X := 0000;
    FishPlace_Array[3].Y := 0000;
end;


Данные фрагменты обязательны к заполнению!

Количество полянок очень просто изменить, достаточно поправить вот это поле:


FishPlace_Array : Array[0..3] of TFishPlace; //здесь вы можете указать 1 и тогда полян будет 2, если укажете 0 то поляна будет 1.


Сам скрипт:
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
16 ноября 2013 22:06
Сообщение #2
Спс за труды =)
11 лет
Trasher
Сообщений: 153
Рег. 5.10.2013
17 ноября 2013 00:16
Сообщение #3
Публикую скрипт. ССЫЛКА НА СКРИПТ

Просьба к модераторам - удалите спойлер "скрипт" из моего первого поста, пожалуйста.

З.Ы. А почему редактировать свой пост запрещено? Мне намного удобней было бы обновлять скрипт в стартовом посте, чтоб пользователи не рыскали по теме в поисках обновлений. Да и не всегда знаешь, когда оно выйдет. Вообщем, может, хотя бы - топикстартеру дать право на редакцию своего поста?

Старший Лейтенант (5006416)15 лет
Администратор
Сообщений: 19675
Рег. 31.07.2009
17 ноября 2013 00:51
Сообщение #4
Напиши его здесь, я вставлю в первое сообщение.

--------------------
11 лет
Trasher
Сообщений: 153
Рег. 5.10.2013
17 ноября 2013 01:03
Сообщение #5
Jose Cuervo,
Прошу прощения, но написать - что?

Скрипт не влазит в длину сообщения, по-этому приходится ссылками маяться.

З.Ы. Если не трудно - можно узнать каков лимит по длине сообщения? А то скрипт, вроде 300 строк...

Старший Лейтенант (5006416)15 лет
Администратор
Сообщений: 19675
Рег. 31.07.2009
17 ноября 2013 01:17
Сообщение #6
:dntknw: Олега надо спрашивать.

--------------------
11 лет
Trasher
Сообщений: 153
Рег. 5.10.2013
17 ноября 2013 01:18
Сообщение #7
:dntknw: я таких не знаю...
11 лет
Trasher
Сообщений: 153
Рег. 5.10.2013
17 ноября 2013 03:16
Сообщение #8
Флудану скриптом на Taste Identification...

Пора спать, решил накидать пару строк - быстрый и удобный скрипт на Taste Id:
Холостой простой скрипта <= 100 мс между юзами...

Program Taste_Id;

var
    i : Integer;
    cTime : TDateTime;

begin
    while not Dead do
        begin
            cTime := Now;
            UseSkill('Taste Identification');
            CheckLag(30000);
            if WaitForTarget(3000) then TargetToObject(FindType($097B, Backpack)); //Coocked fish steaks;
            for i := 0 to 55 do
                begin
                    while IsGump do CloseSimpleGump(GetGumpsCount-1);
                    Wait(100);
                    CheckLag(30000);
                    if (InJournalBetweenTimes('You cannot ', cTime, Now) <> -1) or IsGump then break;
                end;
        end;    
end.
Последние посетители (0):

 
Сейчас: 25 ноября 2024 17:48