Код для восстановления

Помощь в написании скриптов для игр.
Vladik2304
Posts: 24
Joined: 20 Jan 2022, 15:58

Код для восстановления

03 May 2022, 09:51

Немного накидал скрипт для восстановления ХП при достижении 20%, но он, почему-то, не работает. Помогите, пожалуйста, исправить или же дописать.
Команды по типу: "GetPlayerHealth()" и тд брал из samp-udf.ahk

Code: Select all

loop {
	SendMessage, 0x50,, 0x4190419,, A
	health := GetPlayerHealth()
	if ( health <= 20 )
	{
	SendChat("/id Ivan_Ivanov")
	restorelog()
	sleep 100
	FileRead, Str, other\done\chatlog.txt
	StringReplace, Str, Str, `r`n, `n, 1
	StringReplace, Str, Str, `r, `n, 1
	RegExMatch("`n" Str "`n", "i).*\n\[\d+:\d+:\d+] (.*) {66CC66}id (\d+)", result)
	SendChat("/hp " result2 " 100")
	
	}
	}
mcl
Posts: 357
Joined: 04 May 2018, 16:35

Re: Код для восстановления

04 May 2022, 15:30

Предположу, что скрипт не работает, потому что в нём ошибка. Вам нужно исправить ошибку, тогда скрипт заработает.
Какой вопрос − такой ответ.

Но задам-таки несколько наводящих вопросов:
1. Вы проверили, записывается ли правильный процент здоровья в переменную health?
2. Отправляется ли что-то в чат? В том samp-udf, который я нашёл, функция называется sendChatMessage, а не SendChat.
3. Предположительно, в регулярке (строка 12) фигурные скобки должны быть экранированы: ...\{66CC66\}.... Находит ли она то, что нужно? Проверьте её работоспособность на искомой строке из чата в отдельном скрипте:

Code: Select all

chatline := "<СКОПИРОВАННАЯ ИЗ ЧАТ-ЛОГА СТРОКА>"
RegExMatch(chatline, "im)^\[\d+:\d+:\d+] (.*) \{66CC66\}id (\d+)", result)
Msgbox R1=%result1%`nR2=%result2%
github://oGDIp - GDI+ wrapper for AHK v1.1
Vladik2304
Posts: 24
Joined: 20 Jan 2022, 15:58

Re: Код для восстановления

04 May 2022, 15:49

mcl wrote:
04 May 2022, 15:30
Предположу, что скрипт не работает, потому что в нём ошибка. Вам нужно исправить ошибку, тогда скрипт заработает.
Какой вопрос − такой ответ.

Но задам-таки несколько наводящих вопросов:
1. Вы проверили, записывается ли правильный процент здоровья в переменную health?
2. Отправляется ли что-то в чат? В том samp-udf, который я нашёл, функция называется sendChatMessage, а не SendChat.
3. Предположительно, в регулярке (строка 12) фигурные скобки должны быть экранированы: ...\{66CC66\}.... Находит ли она то, что нужно? Проверьте её работоспособность на искомой строке из чата в отдельном скрипте:

Code: Select all

chatline := "<СКОПИРОВАННАЯ ИЗ ЧАТ-ЛОГА СТРОКА>"
RegExMatch(chatline, "im)^\[\d+:\d+:\d+] (.*) \{66CC66\}id (\d+)", result)
Msgbox R1=%result1%`nR2=%result2%
Ваш код ничего не выводит. То есть сам msgBox есть, но в %result1% и %result2% ничего не помещает

Return to “Скрипты для Игр”

Who is online

Users browsing this forum: No registered users and 6 guests