1 (изменено: Drusik, 2017-02-13 18:05:23)

Тема: Команда с разной переменной

Здравствуйте уважаемые форумчане, появился вопрос к вам. Пытался сам погуглить, и ни к чему так и не пришел.
Сразу оговорюсь что пытаюсь сделать это в игре Aion. Кто не знает что за игра, гугл подскажет.

В общем суть такова, мне нужно сделать такую команду ".эфир название кол-во".

Сейчас у меня это выглядит так:

:K10*?:..эфир он::
{
sendinput {enter}
sleep 500
loop 91{
	sendinput {enter}/использование Очищенный магический эфир{enter}
	sleep 4000
}
}
return

Используется для разбора эфира, так как в ручную клацать все это очень долго, пришлось немного автоматезировать что бы можно было попить чайку пока идет разбор эфира.

В общем все просто, но как реализовать не знаю. К примеру я ввожу ".эфир Чистый магический эфир 10" или ".эфир Сияющий магический эфир 15". Нужно что бы команда выполнила действие в чат "/использование Чистый магический эфир" столько раз, сколько я укажу в конце.

Надеюсь внятно объяснил. Чат в игре открывается клавишей enter и так же отправляется сообщение.

Помогите пожалуйста разобраться, или скиньте ссылки на что-то подобное, может сам разберусь.

2

Re: Команда с разной переменной

Drusik, расставьте точки в конце предложений.

3

Re: Команда с разной переменной

Как задать число циклов через переменную:

number := 3
Loop, %number%
{
MsgBox, %A_Index%
}
Return

4

Re: Команда с разной переменной

Спасибо, с этим разобрались, но как все это объединить в один скрипт?

1. Открываем чат.
2. Вводим команду .эфир 'название эфир' 'кол-во выполнения'.
3. Скрипт берет переменные "Название эфира" и "кол-во выполнения"  подставляет в нужное место.

Я не могу сообразить, как сделать именно это.

5 (изменено: svoboden, 2017-03-20 07:37:01)

Re: Команда с разной переменной

Можно по простому сделать, просто напиши нужные автозамены и укажи количество повторов в конце. Или командой Input, наверно, возможно, такое сделать.

6

Re: Команда с разной переменной

В общем методом проб и ошибок добился нужного мне результата.

:K10*?:.эфир::
{
sleep 500
        SendInput Название:{Space}
	    Input ItemName, V I M,{enter}
		
		sleep 1000
		
		if (ItemName != "") {
			SendInput {enter} 
			SendInput Кол-во:{Space}
			Input count, V I M,{enter}
			sleep 1000
		} else {
			
		}	
		
        if (ItemName != "") and (count != "") {
		    loop, %count%
			{	
			    sendinput {enter}/использование %ItemName%{enter}
				sleep 4000
			}	
		}	
}		
return

Не знаю на сколько это правильно и грамотно, но главное что работает именно так, как и задумано. Есть правда один нюанс, фразы "Название: магический эфир" и "Кол-во: 10" например, отправляется в чат как сообщение, но это не страшно)

7

Re: Команда с разной переменной

Drusik, оформите код тегом "code". И у Вас в двух сообщениях не хватает точек.