Перейти к содержимому


Фотография

Помощь


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 28

#21 dr_lex

dr_lex

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 582 сообщений

Отправлено 17 Октябрь 2019 - 18:57

 

Исправил, как вы и написали, всё равно ошибки:

 Exception reported: Client 1 is not in game
L 10/17/2019 - 17:48:41: [SM] Blaming: l4d2_teamdisplay2_0-1.smx
L 10/17/2019 - 17:48:41: [SM] Call stack trace:
L 10/17/2019 - 17:48:41: [SM]   [0] GetClientTeam
L 10/17/2019 - 17:48:41: [SM]   [1] Line 267, plugin.sp::Teampanel
L 10/17/2019 - 17:48:41: [SM]   [2] Line 597, plugin.sp::PAe
L 10/17/2019 - 17:48:41: [SM] Exception reported: Client 1 is not in game
attachicon.gifl4d2_teamdisplay2_0-1.sp

 

Ответ проблемы звучит в начале лога)

 Exception reported: Client 1 is not in game
RU: Сообщение об исключении: Клиент 1 не в игре

Меню открывается тогда когда игрока уже нету на сервере.

Добавить проверку на игрока

if (client)
{
 остальной код
}

 Если что готовый кусок тут

Скрытый текст

Я уже как-то писал что у меня есть похожий плагин но немного отличается кодом и не только. Могу его дать если интересно. Правад там переделана на открытие и закрытие командой !list
Если что в ЛС могу скинуть.

 


Сообщение отредактировал dr_lex: 17 Октябрь 2019 - 18:59


#22 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 478 сообщений

Отправлено 17 Октябрь 2019 - 21:07

... 


Сообщение отредактировал BloodyBlade: 17 Октябрь 2019 - 21:30


#23 dragokas

dragokas

    Пользователь

  • Пользователь
  • PipPipPip
  • 234 сообщений

Отправлено 17 Октябрь 2019 - 22:30

 

 

L 10/17/2019 - 17:48:41: [SM]   [1] Line 267, plugin.sp::Teampanel
 

 

Вот в эту строку добавляете IsClientInGame

 

if (IsClientInGame(client) && GetClientTeam(client) == 1 и т.д.



#24 KRUTIK

KRUTIK

    Участник

  • Пользователь
  • PipPip
  • 149 сообщений

Отправлено Вчера, 18:12

Ок.


Сообщение отредактировал KRUTIK: Вчера, 18:45


#25 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 478 сообщений

Отправлено Вчера, 18:41

Вот в эту строку добавляете IsClientInGame

 

if (IsClientInGame(client) && GetClientTeam(client) == 1 и т.д.

Так имеешь ввиду?

Скрытый текст


#26 dragokas

dragokas

    Пользователь

  • Пользователь
  • PipPipPip
  • 234 сообщений

Отправлено Вчера, 19:43

Достаточно одного раза.

 

P.S. Какой монстр писал такую длинную строку О_о


Сообщение отредактировал dragokas: Вчера, 19:44


#27 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 478 сообщений

Отправлено Вчера, 19:45

Достаточно одного раза.

Я так для надежности добавил. Т.к. там же "||" стоит после каждого условия.

Автор плагина: hihi1210


Сообщение отредактировал BloodyBlade: Вчера, 19:48


#28 dragokas

dragokas

    Пользователь

  • Пользователь
  • PipPipPip
  • 234 сообщений

Отправлено Вчера, 20:00

Более высокой надежности здесь не будет.

 

В условных и тернарных операторах проверка идёт слева направо

и как только первое из условий возвращает false, остальная часть кода,

в т.ч. математических операций, вроде ++, не исполняется.

 

Есть не так много языков, например в старом Visual Basic, где дела обстоят иначе:

исполняется вся строка целиком. Но чтобы обеспечить там безопасность,

подобную строку нужно было бы разбить на несколько отдельных if

в порядке последовательности логических проверок.



#29 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 478 сообщений

Отправлено Вчера, 20:31

Более высокой надежности здесь не будет.

 

В условных и тернарных операторах проверка идёт слева направо

и как только первое из условий возвращает false, остальная часть кода,

в т.ч. математических операций, вроде ++, не исполняется.

 

Есть не так много языков, например в старом Visual Basic, где дела обстоят иначе:

исполняется вся строка целиком. Но чтобы обеспечить там безопасность,

подобную строку нужно было бы разбить на несколько отдельных if

в порядке последовательности логических проверок.

Ясно в общем. Если у @KRUTIK не вызовет ошибок та версия, что я скинул, то исправлю, как ты описал.


Сообщение отредактировал BloodyBlade: Вчера, 20:34



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных