1

Тема: AHK : SA:MP 0.3.7

Хотел себе написать скрипт небольшой. И вот у меня возникла следующая проблема: 2 и 3 лекция работают, а 1 нет, понять почему не могу((. Помогите пожалуйста
Вот сам кусок скрипта:




:?:/slec::

ShowDialog("2", "{00b41e}__________________ЛЕКЦИИ________________", ">Новобранцам `n>Основные правила`n>Строевая дисциплина", "Закрыть")

Result := LineResult()
if (!Result)
if (Result = "1") {
SendChat("/s Здравия желаю, новобранцы! Вы попали в армию Land Forces!")
sleep, 5000
SendChat("/s Сейчас я расскажу вам основные правила нашей армии и министерства обороны в целом!")
sleep, 5000
SendChat("/s Вы обязаны подчиняться старшим по званию или должности!")
sleep, 5000
SendChat("/s В армии нет таких слов, как Нет, Да, Можно, Извините, Спасибо!")
sleep, 5000
SendChat("/s Вместо этого мы хотим слышать: Никак нет, Так точно, Разрешите, Виноват, Благодарю!")
sleep, 5000
SendChat("/s Ваша прямая обязанность - охрана базы и военного имущества")
sleep, 5000
SendChat("/s Вам запрещено подключаться на волну МО. Исключение: крупное ЧС на базе!")
sleep, 5000
SendChat("/n В /f вам писать строго запрещено, разрешено только в /r")
sleep, 5000
SendChat("/s Самовольно покидать базу строго запрещено, в ином случае контракт будет разорван!")
sleep, 5000
SendChat("/s С этого момента ваш дом - казарма и жить вы обязаны только в ней!")
sleep, 5000
SendChat("/s Склад открыт при состоянии свыше 190.000 едениц, но его могут закрыть старшие по званию!")
sleep, 5000
SendChat("/s Присяга проводится на усмотрение генерала, в зависимости от вашей работы!")
sleep, 5000
SendChat("/s На этом лекция подошла к концу. У кого есть вопросы - шаг с строя, фамилия, вопрос")
return
}

if (Result = "2") {
SendChat("/s Здравия желаю, бойцы! Сейчас я вам напомню основные правила армии!")
sleep, 5000
SendChat("/s Стрельба на КПП запрещена, разрешается только в случае нападения!")
sleep, 5000
SendChat("/s Если вы стоите на постах необходимо делать доклады каждые 10 минут о состоянии")
sleep, 5000
SendChat("/s Самовольно покидать базу строго запрещено. Разрешено только по разрешению старших")
sleep, 5000
SendChat("/s При выезде из базы вы обязаны доложить в рацию. Не важно куда вы, в магазин или на СО!")
sleep, 5000
SendChat("/s Офицерам со званием Мл.лейтенант и выше разрешено ходить в увольнительное!")
return
SendChat("/s В случае непредвиденной ситуации действуйте по уставу!")
sleep, 5000
SendChat("/s На этом лекция подошла к концу. У кого есть вопросы - шаг с строя, фамилия, вопрос")
return
}
if (Result = "3") {
SendChat("/s Здравия желаю, бойцы. Сейчас я вам расскажу о строевой дисциплине!")
sleep, 5000
SendChat("/s При объявлении о построении, бойцы обязаны построиться в указанном месте!")
sleep, 5000
SendChat("/s В строю соблюдать тишину, руки вытянуты вдоль туловища. ")
sleep, 5000
SendChat("/s Категорически запрещено самовольно покидать строй. Только по разрешению старших")
sleep, 5000
SendChat("/s Категорически запрещено доставать оружие в строю, а тем более  стрелять!")
sleep, 5000
SendChat("/s Построение считается оконченным по команде Разойтись")
sleep, 5000
SendChat("/s За нарушение этих правил в лучшем случае вы получите выговор в личное дело!")
return
}
LineResult() {
if (!isDialogOpen())
return false
if (getDialogStyle() = 0 || getDialogStyle() = 1 || getDialogStyle() = 3)
return false
while (!GetKeyState("LButton", "P") && !GetKeyState("Enter", "P") && !GetKeyState("Esc", "P"))
continue
if (GetKeyState("Enter", "P"))
return getDialogLineNumber()
else if (GetKeyState("Esc", "P"))
return false
else{
KeyWait, LButton
KeyWait, LButton, D T0.25
if (ErrorLevel)
return LineResult()
else
return getDialogLineNumber()
}
}

2

Re: AHK : SA:MP 0.3.7

1. Зачем вы числа в кавычки берете?
2. В коде видно if (!Result), зачем оно? Предполагаю что это и есть причиной твоей проблемы.

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)