1 (изменено: Oceanica, 2016-11-02 16:46:58)

Тема: Сортировка и подсчет значений из txt

Доброго времени суток, уважаемые друзья! Хотел бы предупредить, что только сегодня, я был вынужден познакомится с AHK. Я играю на одном из множества РП серверов САМП, и меня заинтересовало написание одного скрипта. Он требуется для рыбалки, сама рыбалка очень легко пишется, нужно просто каждые 17 секунд вводить команду /fish. Но когда игрок ловит 5 рыб, его рюкзак полный и он не может ловить больше. Ну, а рыбы как мы знаем бывают разные, иногда можно с 5 рыб заработать, как с одной. Поэтому появилась идея вытаскивать из chatlog.txt название и массу рыбы(Введя команду /fishes, в чате пишет имеющуюся рыбу), считать цену и сравнивать с другими, нерентабельную рыбу выкидывать и ловить дальше.
Собственно сам скрипт рыбалки у меня есть, здесь все очень просто.

#IfWinActive GTA:SA:MP
!F2::
Br:
Sendinput,{F6}/fish{enter}
Sleep 16900
Goto, Br
!F3::Pause
Return


А вот анализатор пойманной рыбы, пока практически не готов. Вот что удалось сделать:

#IfWinActive GTA:SA:MP
!F5::
{
path := "C:\Users\User\Documents\GTA San Andreas User Files\SAMP\"
FileDelete, %path%chatlog.txt
FileDelete, %path%[AHK]fish.txt
Sendinput,{F6}/fishes{enter}
Sleep 100 
Loop, read, %path%chatlog.txt, %path%[AHK]fish.txt
{
    IfInString, A_LoopReadLine, Pыбa:, FileAppend, %A_LoopReadLine%`n
} 
}
return

Данный скрипт вырезает с chatlog.txt нужные нам строки и сохраняет их в отдельном txt, например:

[15:21:36] 15:21:28 ** (1) Pыбa: Краб.   Bec: 10 Кг.
[15:21:36] 15:21:28 ** (2) Pыбa: Дельфин.   Bec: 10 Кг.
[15:21:36] 15:21:28 ** (3) Pыбa: Пика.   Bec: 10 Кг.
[15:21:36] 15:21:28 ** (4) Pыбa: Дельфин.   Bec: 6 Кг.
[15:21:36] 15:21:28 ** (5) Pыбa: None.   Bec: 0 Кг.

Далее хотелось бы, чтобы он рассчитал стоимость рыбы по цене за кг и ее весу и уже исходя из это выкидывал самую дешевую рыбу (то есть писал в чат команду /releasefish [номер рыбы]).
Люди добрые помогите, чем сможете, буду очень благодарен за любой вклад!