Half-Life и Adrenaline Gamer форум

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

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




Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: 04 сен 2017, 14:27 
Не в сети
Зарегистрирован:
18 янв 2016, 20:31
Последнее посещение:
27 ноя 2018, 03:24
Сообщения: 41
Откуда: Yoshkar-Ola
А смысл поднимать i после первого parse, если мне одно и то же значение надо получить дважды (один для массива g_playerlist[ServerID][PlayerID], второй для значения g_playerlist[ServerID][PlayerID][ID])?
Его логично было бы поднимать только в том случае, если бы я не записывал g_playerlist[ServerID][PlayerID][ID].

Насчет доп проверки - понял. Ну и дописать скорее всего while до конца строки, чтобы не парсить еще раз текущую.
 

И еще один вопрос: как правильно и корректнее очищать трехмерный массив?
Код:
      new i, i_pl;
      for (i = 0; i < MAXPLAYERS; i++)
(62)      for (i_pl = 0; i_pl < sizeof(g_playerlist[pcvar_serverid][i]); i_pl++)
            arrayset(g_playerlist[pcvar_serverid][i][i_pl], 0, sizeof(g_playerlist[pcvar_serverid][i][i_pl]));
плюется ошибками
Цитата:
//(62) : error 001: expected token: "]", but found "-identifier-"
//(62) : error 029: invalid expression, assumed zero
//(62) : warning 217: loose indentation
//(62) : error 029: invalid expression, assumed zero
// (62) : fatal error 107: too many error messages on one line


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 04 сен 2017, 18:48 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
26 мар 2024, 21:42
Сообщения: 6864
MXPLRS|Kirill писал(а):
А смысл поднимать i после первого parse, если мне одно и то же значение надо получить дважды
Не смотрел внимательно что ты читаешь, и предположил что ты разбил чтобы поскипать userID.
Код:
                     parse (response[i], p_id, 2);
                     parse (response[i], g_playerlist[pcvar_serverid][p_id][ID],
Надо p_id в число сконвертировать чтобы в индексаторе использовать, ну и снова парсить его нет смысла, наверное.

MXPLRS|Kirill писал(а):
как правильно и корректнее очищать трехмерный массив?
Код:
arrayset(g_playerlist[pcvar_serverid][i], 0, sizeof(g_playerlist[pcvar_serverid][i]));
Но зависит от потребностей. Можно ведь просто
Код:
g_playerlist[pcvar_serverid][i][p_id] = 0;

Код:
g_playerlist[sizeof(g_serverlist)][MAXPLAYERS][PLAYERSLIST];
А что это за массив в целом? sizeof(g_serverlist) тут о чем?
По идее, должно быть [номер сервера][номер игрока][поле данных].
Соответственно, либо заранее задаешь сколько у тебя максимум серверов будет (а сейчас у тебя это sizeof(g_serverlist) = 32+10+64), либо динамические массивы нужны.


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 05 сен 2017, 14:40 
Не в сети
Зарегистрирован:
18 янв 2016, 20:31
Последнее посещение:
27 ноя 2018, 03:24
Сообщения: 41
Откуда: Yoshkar-Ola
Lev писал(а):
Надо p_id в число сконвертировать чтобы в индексаторе использовать, ну и снова парсить его нет смысла, наверное.
Хорошо, наверное действительно опустим.
Lev писал(а):
Код:
arrayset(g_playerlist[pcvar_serverid][i], 0, sizeof(g_playerlist[pcvar_serverid][i]));
Но зависит от потребностей. Можно ведь просто
Код:
g_playerlist[pcvar_serverid][i][p_id] = 0;
Мне это надо чтобы перед заливкой новой инфы не оставались поля со старой.
Lev писал(а):
Код:
g_playerlist[sizeof(g_serverlist)][MAXPLAYERS][PLAYERSLIST];
А что это за массив в целом? sizeof(g_serverlist) тут о чем?
По идее, должно быть [номер сервера][номер игрока][поле данных].
Соответственно, либо заранее задаешь сколько у тебя максимум серверов будет (а сейчас у тебя это sizeof(g_serverlist) = 32+10+64), либо динамические массивы нужны.
Понял, тогда через дефайн сделаю зашитое количество(как наивный думал что будет браться количество записей на первом уровне :) )

 


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

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


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

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


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

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