[Помощь] - Ограничение по рангу.
|
|
Logins007 |
Дата: Среда, 01.08.2018, 22:26 | Сообщение # 1
|
Новичок
Сообщений: 14
Статус: Offline
|
Доброй ночи посетители данного раздела, возник вопрос. Как реализовать ограничение по рангу, в GUI к примеру мы выбираем в GUI должность "Колумнист" и он сможет может дать выговор, а если "Директор" тогда, сможет зайти в раздел "Собеседование" и занять/освободить новостную волну. Заранее огромное спасибо.
Код Menu, Tray, add, Gui, Show, w300 h300, Rang Gui, Add, DropDownList, w150 h150 vRang Choose%Rangs%, Стажер|Помощник Редакции|Колумнист|Журналист|Репортёр|Ведущий|Режисёр|Редактор|Главный Редактор|Директор| Gui, Add, Button, x100 w100 h20 gSave, Сохранить
Save: Gui, Submit, NoHide Rang:
F7:: ShowDialog(2, "*", "Собеседование`nВыдать выговор", "Закрыть") Result := LineResult() if (!Result) return gosub, Cons%Result% return
Cons2: SendChat("/me дал выговор") sleep 1000 return
Cons1: ShowDialog(2, "Собеседования", "Занять новостную волную`nОсвободить новостную волну", "Закрыть") Result := LineResult() if (!Result) return gosub, Consi%Result% return
Consi1: SendChat("Занял волну") sleep 1000 return
Consi2: SendChat("Освободил волну") sleep 1000 return
LineResult() { if (!isDialogOpen() || getDialogStyle() = 0 || getDialogStyle() = 1 || getDialogStyle() = 3) return false while isDialogOpen() continue if GetKeyState("Esc", "P") return false return getDialogLineNumber() }
|
|
|
|
MrGPro |
Дата: Четверг, 02.08.2018, 00:03 | Сообщение # 2
|
Боец
Сообщений: 202
Статус: Offline
|
Logins007, Можно так как ниже в коде можно создать label:return с фильтрами ShowDialog и if gui которые будут кидать на нужные labels
Код Menu, Tray, add, Gui, Show, w300 h300, Rang Gui, Add, DropDownList, w150 h150 vRang Choose%Rangs%, Стажер|Помощник Редакции|Колумнист|Журналист|Репортёр|Ведущий|Режисёр|Редактор|Главный Редактор|Директор| Gui, Add, Button, x100 w100 h20 vName gSave, Сохранить
Save: Gui, Submit, NoHide return
F7:: ShowDialog(2, "*", "Собеседование`nВыдать выговор", "Закрыть") Result := LineResult() if (!Result) return gosub, % "Cons" . Result . Rang return
Cons2Колумнист: MsgBox,, Ass SendChat("/me дал выговор") sleep 1000 return
Cons1Директор: ShowDialog(2, "Собеседования", "Занять новостную волную`nОсвободить новостную волну", "Закрыть") Result := LineResult() if (!Result) return gosub, % "Consi" . Result . Rang return
Consi1Директор: SendChat("Занял волну") sleep 1000 return
Consi2Директор: SendChat("Освободил волну") sleep 1000 return
LineResult() { if (!isDialogOpen() || getDialogStyle() = 0 || getDialogStyle() = 1 || getDialogStyle() = 3) return false while isDialogOpen() continue if GetKeyState("Esc", "P") return false return getDialogLineNumber() }
можно Consi2Директор сделать eng но нужно создать массив переменных для замены через if или брать не имя с gui а index выбранной строки со списка
Тебе помогли не забывай про благодарность >> тыкни репутацию ---------------------------------------͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏ ----------------------------------------------------- Зам.Администратора на проекте "DayZ Epoсh SPN" сервер Arma 2OA DayZ Epoch пиратка и лицензия
Сообщение отредактировал MrGPro - Четверг, 02.08.2018, 00:05 |
|
|
|
Logins007 |
Дата: Четверг, 02.08.2018, 08:20 | Сообщение # 3
|
Новичок
Сообщений: 14
Статус: Offline
|
Выдаёт ошибку.
|
|
|
|
MrGPro |
Дата: Четверг, 02.08.2018, 15:52 | Сообщение # 4
|
Боец
Сообщений: 202
Статус: Offline
|
Logins007, хм как же вы так копируете в коде же есть % а у вас нет
Код gosub, % "Cons" . Result . Rang gosub, - направляет на Label:return. % - указывает что все значения который не заключен в "..." являются переменными. "Cons" - указывает что это не переменная, а статичный текст. . - разделяет переменные и статичные тексты. метод выше более гуманный чем код ниже.
Код gosub, Cons%Result%%Rang%
Тебе помогли не забывай про благодарность >> тыкни репутацию ---------------------------------------͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏ ----------------------------------------------------- Зам.Администратора на проекте "DayZ Epoсh SPN" сервер Arma 2OA DayZ Epoch пиратка и лицензия
Сообщение отредактировал MrGPro - Четверг, 02.08.2018, 16:03 |
|
|
|
Andreyringo1 |
Дата: Четверг, 02.08.2018, 17:20 | Сообщение # 5
|
Новичок
Сообщений: 25
Статус: Offline
|
У меня тоже выводит ошибку но тем не менее в коде есть строчка
Код gosub, % "Cons" . Result . Rang
Сообщение отредактировал Andreyringo1 - Четверг, 02.08.2018, 17:21 |
|
|
|
Logins007 |
Дата: Четверг, 02.08.2018, 18:22 | Сообщение # 6
|
Новичок
Сообщений: 14
Статус: Offline
|
Тоже самое.
|
|
|
|
MrGPro |
Дата: Четверг, 02.08.2018, 18:49 | Сообщение # 7
|
Боец
Сообщений: 202
Статус: Offline
|
Ошибочка вышла код который указан выше требует слишком много классов (кол классов = кол участников и кол-списков в пункте меню) этого я не учел из-за Result переменной вот ниже код более оптимальный
Код global Result
Menu, Tray, add, Gui, Show, w300 h300, Rang Gui, Add, DropDownList, w150 h150 vRang Choose%Rangs%, Стажер|Помощник Редакции|Колумнист|Журналист|Репортёр|Ведущий|Режисёр|Редактор|Главный Редактор|Директор| Gui, Add, Button, x100 w100 h20 vName gSave, Сохранить
Save: Gui, Submit, NoHide return
F7:: Result:=0 ShowDialog(2, "*", "Собеседование`nВыдать выговор", "Закрыть") Result := LineResult() if (!Result) return gosub, % "Cons" . Rang return
ConsКолумнист: if (Result = 2) SendChat("/me дал выговор") sleep 1000 return
ConsДиректор: ShowDialog(2, "Собеседования", "Занять новостную волную`nОсвободить новостную волну", "Закрыть") Result := LineResult() if (!Result) return gosub, % "Consi" . Rang return
ConsiДиректор: if (Result = 1) SendChat("Занял волну") if (Result = 2) SendChat("Освободил волну") sleep 1000 return
LineResult() { if (!isDialogOpen() || getDialogStyle() = 0 || getDialogStyle() = 1 || getDialogStyle() = 3) return false while isDialogOpen() continue if GetKeyState("Esc", "P") return false return getDialogLineNumber() }
Тебе помогли не забывай про благодарность >> тыкни репутацию ---------------------------------------͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏ ----------------------------------------------------- Зам.Администратора на проекте "DayZ Epoсh SPN" сервер Arma 2OA DayZ Epoch пиратка и лицензия
Сообщение отредактировал MrGPro - Четверг, 02.08.2018, 18:50 |
|
|
|