Иконка ресурса

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • Автор ресурса
  • #21
В конфиг регистрации команд, команды добавлять только на английском языке.
UPD: обновил плагин добавил возможность установки цвета игроку, написавшему отказ. Цвет работает по таймеру и возвращает в конце цвет.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #22
White Wolf,
PHP:
OtkazMenuInitialized(client)
{
	new Handle:oprfile = OpenFile("addons/sourcemod/configs/otkaz_reasons.ini", "r");
	if (oprfile == INVALID_HANDLE)
	{
		PrintToServer("Не удалось открыть файл addons/sourcemod/configs/otkaz_reasons.ini");
		return;
	}
	new Handle:menu = CreateMenu(OtkazMenuHandler);
	decl String:StR[85];
	SetMenuTitle(menu, "Выберите причину отказа:\n \n");
	while (ReadFileLine(oprfile, StR, 85))
	{
		AddMenuItem(menu, StR, StR);
	}
	CloseHandle(oprfile);
	DisplayMenu(menu, client, 15);
	SetMenuExitBackButton(menu, false);
	SetMenuExitButton(menu, true);
}
Бредово. Сделай меню глобальным, создай его 1 раз при старте плагина и потом только отправляй клиентам.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
while (ReadFileLine(oprfile, StR, 85))    {        AddMenuItem(menu, StR, StR);    }
Читает, читает... циклично без остановки, что ли? Что-то я ваше чтение файлов ещё больше не понимаю.
White Wolf, ты проверял, "стоп-кран" есть?
 

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • Автор ресурса
  • #25
оператор while в sourcemod выполняется пока верно условие, а так оно верно, значит он сам break'ается.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
выполняется пока верно условие, а так оно верно, значит он сам break'ается
Не вижу логики. Может, если не верно? Раньше этим условием было достижение конца файла, а тут только чтение. Интересно)
"До тех пор, пока условие выражения остается истинным, цикл будет выполняться.". И когда ж оно не истинно?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #27
White Wolf, точно, ошибочка. Так должно быть:
PHP:
while (!IsEndOfFile(oprfile) && ReadFileLine(oprfile, StR, sizeof(StR)))
Я и не заметил.



Оффтоп
 

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • Автор ресурса
  • #28
Да, а я и не заметил)

Надо наверное это во функции перемещать. А то в блоке OnPluginStart много всего.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Раньше этим условием было достижение конца файла, а тут только чтение
Оффтоп
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #30
White Wolf, какая разница что ты сделаешь это в OnPluginStart или сделаешь в фукции вызванной из OnPluginStart ? На оптимальности это не скажется.
 

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • Автор ресурса
  • #31
Я тоже был не до конца уверен с циклом while, ведь все знают что его обычно останавливают или break или do { // И т.д. код}. Но как оказалось в вики и в других плагинах его не останавливают, а используют лишь условие. Видимо SourceMod и сам способен остановить цикл.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • Автор ресурса
  • #33
AlmazON, нет не из за этого, а из за ориентировки в коде.
 
Сообщения
161
Реакции
12
White Wolf,
дорогой не мог бы ты в первом посте дополнить информацию , например куда бросить файлы , или что писать в конкретных файлах , я то понял полистав ваши дебаты а вот другие могут и этого не понять...

Добавлено через 45 минут
в файле otkaz_cmds.ini написано:
otkaz
отказ
Отказ

Русские слова в чате не воспринимает,только !otkaz работает.
как быть?
Спасибо

не пойму зачем писать в файле кмдс.ини возможные команды если это не работает, в каком месте глюк..... я так понимаю по умолчанию команда !otkaz работает причины тоже а вот другие команды я что то не увидел !отказ не работает или просто отказ, даже просто otkaz не работает
но все равно спасибо работает норм...
было б лучше еслиб можно писать по русски или по всякому как я укажу в кмдс .ини
ДА пока вспомнил, если вас не затруднит добавьте в плагин вывод функции для КТ по середине экрана что мол заключеный такойто вам написал отказ расмотрите, в противном случае у вас отнимется фраг за не расмотрение отказа ну или просто расмотрите отказ , а то малыши да и не только не смотрят в чат а потом говорят что отказа не было, да и начинающим игрокам будет полезно знать что надо смотреть в чат почаще,желательно вывод сообщения большими буквами чтобы точно видел, и при нажатии определенной клавиши КТ( отказ будет расмотрен)здесь примечательно чтоб от отказов можно отказаться например (отказы не принимаются) , (Теру выводится сообщение назовите причину отказа) и после этого Т жмет функцию причин...
 
Последнее редактирование:

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • Автор ресурса
  • #36
я что то не увидел !отказ не работает или просто отказ, даже просто otkaz не работает
Я пробовал сделать независимые команды вызова, но не вышло.

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

определенной клавиши КТ
Под плагин JailCommander?
 
Сообщения
161
Реакции
12
Такой способ не является эффективным, так как новый отказ будет перебивать новое сообщение по центру экрана.[/COLOR]

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

Добавлено через 2 минуты
Считывание с файла - это вы сами мутите, а команды можно любые ловить, хукнув чат. Если строка равна нужной - выполняем.
а по подробней , ведь ты понял что я имел в виду, и такое же возможно ?
 
Последнее редактирование:

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • Автор ресурса
  • #39
AlmazON, я автоматизировать попробовал, чтобы не лезть постоянно в исходник и не править там команды. Пробую через KeyValues может что-то выйдет.
 
Сообщения
161
Реакции
12
Можно в качестве команд использовать что угодно, хоть целое предложение/символы/цифры. Это ненамного труднее того, что использует автор. Но нагрузка больше конечно.
White Wolf, да, с файла читать я не занимался, не буду переубеждать. Причину же можно даже заставить даже самого Т писать, вплоть до "ушёл в туалет". :-D

кстати я поставил и се довольны пищат как слоники )))) , тера конечно можно заставить написать но мы же добиваемся другого , чтоб это происходило быстро и без ожидания, и как можно функциональней
 
Сверху Снизу