Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 29 мар 2024, 04:32

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 15 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 11 мар 2018, 15:35 
Не в сети
Аватара пользователя
Зарегистрирован:
12 июн 2016, 01:22
Последнее посещение:
14 июн 2019, 12:52
Сообщения: 345
Откуда: Родом из Халфляндии
Всем привет!
Я написал плагин "Система рангов" для Half-Life но у меня возникли трудности :cry:
На Win-де сервер работает стабильно , а вот на Linux (Ubuntu 16.04) у меня происходят странные вещи...
Сервер не запускается , пишет в ответ Sigmentation Fault , а иногда такую парашу как :
 
Но если запустить плагин в dеbug режиме все работает нормально , но если тебя убивает trigger_hut ты замераешь на месте и не возрождаешься. Это можно увидеtь на кaрте Crossfire


Вложения:
Скачать плагин или Скачать исходник [HLRS.sma - 4.86 КБ]
Скачиваний: 215

_________________
Изображение

Изображение

Изображение
Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 12 мар 2018, 00:36 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
BIGs
то что падает на старте сервера - попробуй убрать вывод сообщений на старте сервера, у тебя там их штук ~6, если поможет - тогда сформируй из них 1но(используй formatex) и выводи за раз.

Цитата:
dеbug режиме все работает нормально , но если тебя убивает trigger_hut
а в дебаг режиме не пишется нечто типа - "индекс аут оф боундс" при тех же условиях ?
Код:
public HamPlayerKill(victim , attacker)
..
if(!equal(PlayerSteamId[attacker] ,"") && !equal(PlayerSteamId[victim] ,"") )
..
new pKills = rs_get_score(PlayerSteamId[attacker]);
..
rs_set_score(PlayerSteamId[attacker],form);
if(victim != attacker)
{
   PlayerScore[attacker]++;
   PlayerScore[victim]--;
}
а где проверки на соответствие "киллера" игроку ?

PS
Код:
public InfoHudMsg(id)
{
   if(is_user_connected(id) && is_user_alive(id))
   {
если игрок "жив", то он и "коннектед" .. лишняя проверка в данном случае

ещё сомневаюсь вот в этом
Код:
case 2001..3500:
{
   return ScoreTab[6];
}
case 3501..5000:
..
тут лучше работать с if / else if (<= ..)

тоже сомнительно
Код:
public client_putinserver(id)
{
   if(id != 0 && id <= get_maxplayers())
   {
на сколько я это знаю - игровая дллка гарантирует диапазон индексов передаваемых в функцию 0 < ? <= MAX_PLAYERS


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 12 мар 2018, 02:00 
Не в сети
Аватара пользователя
Зарегистрирован:
12 июн 2016, 01:22
Последнее посещение:
14 июн 2019, 12:52
Сообщения: 345
Откуда: Родом из Халфляндии
Спасибо Лила :)
Я практически все доработал , все работает. Но вот я долго мучался с этой ошибкой
Код:
hlds_i686: malloc.c:3722: _int_malloc: Assertion `(unsigned long) (size) >= (uns
igned long) (nb)' failed.
Она дается когда плагин без дебага. Я уже и вывод сообщений закоментил.
Все ровно.
PS
Хм . Сейчас я попробовал выдавать инфу через отформатированную строку и то что мне дало
 

_________________
Изображение

Изображение

Изображение


Последний раз редактировалось BIGs 12 мар 2018, 02:21, всего редактировалось 1 раз.

Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 12 мар 2018, 02:13 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
BIGs
а в каком месте падает ? на плугин ините ? или где-то после ?
попробуй зарегать public plugin_cfg() - она идёт после плугин инита, ну и сделать вывод там


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 12 мар 2018, 02:25 
Не в сети
Аватара пользователя
Зарегистрирован:
12 июн 2016, 01:22
Последнее посещение:
14 июн 2019, 12:52
Сообщения: 345
Откуда: Родом из Халфляндии
Хм , сейчас я вообще избавился от вывода при старте.
И вот итог -
Код:
hlds_i686: malloc.c:3722: _int_malloc: Assertion `(unsigned long) (size) >= (unsigned long) (nb)' failed.


Вложения:
Скачать плагин или Скачать исходник [HLRS.sma - 4.62 КБ]
Скачиваний: 217

_________________
Изображение

Изображение

Изображение
Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 12 мар 2018, 02:31 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
BIGs
выглядит вроде нормально ..

видимо придётся исключать код построчно(из плугин инита) и проверять.
стоит начать с этого, как мне кажется
Код:
//Create DataFile
   new fp = nvault_open("hlrs");
   nvault_close(fp);


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 12 мар 2018, 02:36 
Не в сети
Аватара пользователя
Зарегистрирован:
12 июн 2016, 01:22
Последнее посещение:
14 июн 2019, 12:52
Сообщения: 345
Откуда: Родом из Халфляндии
Ну вот , я убрал все что могло как-то намекать.
 
Все ровно даёт мне
Код:
hlds_i686: malloc.c:3722: _int_malloc: Assertion `(unsigned long) (size) >= (unsigned long) (nb)' failed.

_________________
Изображение

Изображение

Изображение


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 12 мар 2018, 02:54 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
BIGs
проверил у себя:
Код:
file /lib/i386-linux-gnu/libc.so.6
/lib/i386-linux-gnu/libc.so.6: symbolic link to libc-2.23.so
т.е. такая же как и у тебя:
Код:
f7550000-f7700000 r-xp 00000000 fd:01 6043569 /lib/i3
86-linux-gnu/libc-2.23.so
при этом, подобных ошибок у себя я никогда не замечал.

какой версии амхх ?


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 12 мар 2018, 02:57 
Не в сети
Аватара пользователя
Зарегистрирован:
12 июн 2016, 01:22
Последнее посещение:
14 июн 2019, 12:52
Сообщения: 345
Откуда: Родом из Халфляндии
У меня 1.8.2 hg14
И мет 1.20

_________________
Изображение

Изображение

Изображение


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 12 мар 2018, 03:27 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
BIGs
попробовал скомпилять у себя
Цитата:
AMX Mod X version 1.8.3-dev+5120
Metamod version 1.20
возникла та же проблема что и у тебя(иногда писало про двойное освобождение памяти).

по итогам тестов получилось, что проблема в компиляторе амхх.

используй онлайн компилятор с сайта:
http://aghl.ru/webcompiler/webcompiler.php


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB