1

Тема: SA:MP: Оптимизация нагрузки или поиск другого решения.

Приветствую дорогие кодеры. Цель моего скрипта - чтение чата по шаблону и замеца цвета сообщения. Проблема такая - запускаю .ahk файл, работает, но медленно и не сразу меняет цвет сообщения (архетиктура сампа не позволяет обновить чат сразу). Конвертирую в .exe файл, работает быстро но создает отгромные для такого скрипта нагрузки на процессор.
Помогите советом. Как реализовать это лучше.

#NoEnv
#SingleInstance force
#InstallKeybdHook
#MaxThreads, 20
#MaxThreadsPerHotkey, 255
#ifWinActive GTA:SA:MP
SetBatchLines, -1
#Include SAMP.ahk
SetKeyDelay, 0
SetWinDelay, 0
settimer, cLoop, 1
return
cLoop:
settimer, cLoop, off
	iLine := 0
	while iLine < 99
	{
		tChat := GetChatLineEx(iLine)
		if(!RegExMatch(tChat, "^(.*)\[(\d+)\] (.*)\[(\d+)\]", Res))
		{
			iLine++
			continue
		}
		plID := getPlayerIdByName(Res1)
		if(plID != Res2)
		{
			iLine++
			continue
		}
		Color := HexToDec(ColorToStr2(GetPlayerColor(plID)))
		tColor := GetChatLineColor(iLine)
		if(tColor != 4278557651 || tColor = Color || !RegExMatch(GetChatLineEx(iLine),"^" Res1 "\[" plID "\]"))
		{
			iLine++
			continue
		}
		setChatLineColor(iLine, Color)
;		WriteRaw(hGTA, readDWORD(hGTA, dwSAMP + ADDR_SAMP_CHATMSG_PTR) + 0x226 + ( (99-iLine) * 0xFC), &data, 4)
		iLine++
	}
settimer, cLoop, 1
return

На while-loop не обращайте внимания, пробывал и с Loop, и с While. Нагрузки в скомпелированном файле воистину огромны.