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


Фотография

Помощь


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

#21 dr_lex

dr_lex

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

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

Отправлено 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
  • 1 102 сообщений

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

... 


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


#23 dragokas

dragokas

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

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

Отправлено 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

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

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

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

Ок.


Сообщение отредактировал KRUTIK: 19 Октябрь 2019 - 18:45


#25 BloodyBlade

BloodyBlade

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

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

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

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

 

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

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

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


#26 dragokas

dragokas

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

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

Отправлено 19 Октябрь 2019 - 19:43

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

 

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


Сообщение отредактировал dragokas: 19 Октябрь 2019 - 19:44


#27 BloodyBlade

BloodyBlade

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

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

Отправлено 19 Октябрь 2019 - 19:45

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

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

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


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


#28 dragokas

dragokas

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

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

Отправлено 19 Октябрь 2019 - 20:00

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

 

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

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

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

 

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

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

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

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



#29 BloodyBlade

BloodyBlade

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

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

Отправлено 19 Октябрь 2019 - 20:31

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

 

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

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

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

 

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

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

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

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

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


Сообщение отредактировал BloodyBlade: 19 Октябрь 2019 - 20:34


#30 KRUTIK

KRUTIK

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

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

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

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

 

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

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

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

 

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

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

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

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

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

 [SM] Exception reported: Client 5 is not in game
L 10/21/2019 - 10:27:08: [SM] Blaming: l4d2_teamdisplay2_0-1.smx
L 10/21/2019 - 10:27:08: [SM] Call stack trace:
L 10/21/2019 - 10:27:08: [SM]   [0] GetClientTeam
L 10/21/2019 - 10:27:08: [SM]   [1] Line 269, plugin.sp::Teampanel
L 10/21/2019 - 10:27:08: [SM]   [2] Line 607, plugin.sp::PAe


#31 KRUTIK

KRUTIK

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

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

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

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

Вот исправленный вариант.

Всё равно ошибки идут:

: Info (map "c2m1_highway") (file "errors_20191025.log")
L 10/25/2019 - 13:00:56: [SM] Exception reported: Invalid timer handle 892f05f9 (error 3)
L 10/25/2019 - 13:00:56: [SM] Blaming: luffy_rpg_2.smx
L 10/25/2019 - 13:00:56: [SM] Call stack trace:
L 10/25/2019 - 13:00:56: [SM]   [0] KillTimer
L 10/25/2019 - 13:00:56: [SM]   [1] Line 3173, plugin.sp::ResetClient
L 10/25/2019 - 13:00:56: [SM]   [2] Line 1445, plugin.sp::EVENT_SurvivorRescued
L 10/25/2019 - 13:05:45: Error log file session closed.


#32 dragokas

dragokas

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

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

Отправлено 25 Октябрь 2019 - 16:56

 

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

 [SM] Exception reported: Client 5 is not in game
L 10/21/2019 - 10:27:08: [SM] Blaming: l4d2_teamdisplay2_0-1.smx
L 10/21/2019 - 10:27:08: [SM] Call stack trace:
L 10/21/2019 - 10:27:08: [SM]   [0] GetClientTeam
L 10/21/2019 - 10:27:08: [SM]   [1] Line 269, plugin.sp::Teampanel
L 10/21/2019 - 10:27:08: [SM]   [2] Line 607, plugin.sp::PAe

 

Значит, что то явно написали не так, как говорил. Добавил проверку в начало функции, и замену client на UserId в таймерах.

Прикрепленные файлы



#33 KRUTIK

KRUTIK

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

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

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

Значит, что то явно написали не так, как говорил. Добавил проверку в начало функции, и замену client на UserId в таймерах.

Спасибо за l4d2_teamdisplay2_0-1 проверю, отпишусь вам...



#34 BloodyBlade

BloodyBlade

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

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

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

Значит, что то явно написали не так, как говорил. Добавил проверку в начало функции, и замену client на UserId в таймерах.

Уже в который раз хочу спросить. Ты просматриваешь код перед публикацией?

473 строчка. Такие строчки могут давать подлаг и утечку.


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


#35 dragokas

dragokas

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

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

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

 

Всё равно ошибки идут:

: Info (map "c2m1_highway") (file "errors_20191025.log")
L 10/25/2019 - 13:00:56: [SM] Exception reported: Invalid timer handle 892f05f9 (error 3)
L 10/25/2019 - 13:00:56: [SM] Blaming: luffy_rpg_2.smx
L 10/25/2019 - 13:00:56: [SM] Call stack trace:
L 10/25/2019 - 13:00:56: [SM]   [0] KillTimer
L 10/25/2019 - 13:00:56: [SM]   [1] Line 3173, plugin.sp::ResetClient
L 10/25/2019 - 13:00:56: [SM]   [2] Line 1445, plugin.sp::EVENT_SurvivorRescued
L 10/25/2019 - 13:05:45: Error log file session closed.

 

поправил

Прикрепленные файлы

  • Прикрепленный файл  luffy_rpg_2.sp   143,01К   4 Количество загрузок:


#36 KRUTIK

KRUTIK

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

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

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

поправил

Спасибо вам огромное...



#37 dragokas

dragokas

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

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

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

Уже в который раз хочу спросить. Ты просматриваешь код перед публикацией?

473 строчка. Такие строчки могут давать подлаг и утечку.

 

BloodyBlade,

 

1) в выложенном мною коде нет 473 строчки.

2) о какой утечке идет речь, если пишешь, то по-конкретней

3) этот код не мой, чтобы его полностью просматривать

4) я этот код уже редактировал значительно (и ЕМНИП, тоже говорил о проблемах с производительностью, которые в новой версии тогда исправил), но людям он не понравился потому что стал работать "как-то не так" в версусе (я кстати у себя на коопе им до сих пор пользуюсь), так что по второму разу мне уже лень делать одну и ту же работу. Уж извините, что вы до сих пор пользуетесь старой версией. Передаю эстафету кому-то другому. Цените чужой труд и время.



#38 BloodyBlade

BloodyBlade

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

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

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

BloodyBlade,

 

1) в выложенном мною коде нет 473 строчки.

2) о какой утечке идет речь, если пишешь, то по-конкретней

3) этот код не мой, чтобы его полностью просматривать

4) я этот код уже редактировал значительно (и ЕМНИП, тоже говорил о проблемах с производительностью, которые в новой версии тогда исправил), но людям он не понравился потому что стал работать "как-то не так" в версусе (я кстати у себя на коопе им до сих пор пользуюсь), так что по второму разу мне уже лень делать одну и ту же работу. Уж извините, что вы до сих пор пользуетесь старой версией. Передаю эстафету кому-то другому. Цените чужой труд и время.

Есть 473 строчка, и она пустая(между закрытиями под-функций).

Исправление было сделано в цельной функции(Teampanel), что означает, что функция цельная(из ... строчек).

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

У меня не старая версия. Я обновил уже плагин после публикации @KRUTIK в данной теме.

Вот версия моя(с твоей последней правкой) : Прикрепленный файл  l4d2_teamdisplay2_0-1.sp   22,79К   2 Количество загрузок:

Разве есть разница: твой код или нет?

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

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

 

Вот тебе пример: Fork by Dragokas: https://forums.allie...383&postcount=5

448 строчка. Функция "GameCheck".


Сообщение отредактировал BloodyBlade: 26 Октябрь 2019 - 0:19


#39 dragokas

dragokas

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

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

Отправлено 26 Октябрь 2019 - 5:54

Утечка, из-за пустой строчки? Я случайно не учавствую в каком-нибудь розыгрыше?

По какому критерию ты определяешь, какая из пустых строчек в коде опасная, а какая нет? О_о

 

Скинь мне две версии monsterbots, я сравню.

---

Посмотрел твои правки, ты в некоторых местах многострочные условия записал в одну строку (зачем?),

а в других наоборот разбил на несколько строк. О чем мне вообще это должно говорить?


 

Разве есть разница: твой код или нет?

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

 

Я вообще не пойму, что за предъявы.

Человек попросил исправить конкретную ошибку. Я исправил.

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

Ладно если бы там у меня прямо под носом была бы какая-то критическая ошибка, и я бы ее не заметил,

но ты предъявляешь какие-то мутные претензии, которые я даже никогда в жизни нигде не видел описание

подобных проблем. Покажи мне на любом форуме цитату от другого человека,

чтобы было ясно, что это обще-известная ошибка. Потому что просто так тыкать пальцем на проблему,

о которой я хз сколько хотя бы на этом форуме человек знает (есть ли хоть один?, и есть ли эта проблема вообще?), ну это какой-то наезд.


--

И по хорошему, если такая проблема действительно имеет место, то об этом нужно писать не мне,

а открывать issue на github разработчиков sourcemod-а, или даже sourcepawn.



#40 KRUTIK

KRUTIK

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

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

Отправлено 26 Октябрь 2019 - 8:51

поправил

Всё равно ошибки:

: Info (map "c2m1_highway") (file "errors_20191026.log")
L 10/26/2019 - 08:45:10: [SM] Plugin "luffy_rpg_2.smx" encountered error 23: Native detected error
L 10/26/2019 - 08:45:10: [SM] Invalid timer handle 11800558 (error 3) during timer end, displayed function is timer callback, not the stack trace
L 10/26/2019 - 08:45:10: [SM] Unable to call function "Timer_ClientAgility" due to above error(s).
L 10/26/2019 - 08:45:51: [SM] Plugin "luffy_rpg_2.smx" encountered error 23: Native detected error
L 10/26/2019 - 08:45:51: [SM] Invalid timer handle 1ac3054b (error 3) during timer end, displayed function is timer callback, not the stack trace
L 10/26/2019 - 08:45:51: [SM] Unable to call function "Timer_ClientEndurance" due to above error(s).
L 10/26/2019 - 08:48:01: [SM] Plugin "luffy_rpg_2.smx" encountered error 23: Native detected error
L 10/26/2019 - 08:48:01: [SM] Invalid timer handle 471f05d0 (error 3) during timer end, displayed function is timer callback, not the stack trace
L 10/26/2019 - 08:48:01: [SM] Unable to call function "Timer_ClientAgility" due to above error(s).
L 10/26/2019 - 08:49:22: [SM] Plugin "luffy_rpg_2.smx" encountered error 23: Native detected error
L 10/26/2019 - 08:49:22: [SM] Invalid timer handle 8b9506d6 (error 3) during timer end, displayed function is timer callback, not the stack trace
L 10/26/2019 - 08:49:22: [SM] Unable to call function "Timer_ClientAgility" due to above error(s).
L 10/26/2019 - 08:49:49: [SM] Plugin "luffy_rpg_2.smx" encountered error 23: Native detected error
L 10/26/2019 - 08:49:49: [SM] Invalid timer handle c58206b8 (error 3) during timer end, displayed function is timer callback, not the stack trace
L 10/26/2019 - 08:49:49: [SM] Unable to call function "Timer_ClientEndurance" due to above error(s).
L 10/26/2019 - 08:49:59: Error log file session closed.



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

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