Русское сообщество по скриптингу

ZP run time errors

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.

ZP run time errors

Сообщение sandrin » 07 фев 2012, 01:42

Всем доброй ночи))

Забиваются логи такой ошибкой:

[pawn]
  1. L 02/06/2012 - 05:21:53: Start of error session.

  2. L 02/06/2012 - 05:21:53: Info (map "zm_tupik_house4") (file "addons/amxmodx/logs/error_20120206.log")

  3. L 02/06/2012 - 05:21:53: [ZP] Invalid Player (3)

  4. L 02/06/2012 - 05:21:53: [AMXX] Displaying debug trace (plugin "zp_sub_bank.amxx")

  5. L 02/06/2012 - 05:21:53: [AMXX] Run time error 10: native error (native "zp_get_user_ammo_packs")

  6. L 02/06/2012 - 05:21:53: [AMXX]    [0] zp_sub_bank.sma::client_disconnect (line 301)

  7. L 02/06/2012 - 05:21:53: [ZP] Invalid Player (4)

  8. L 02/06/2012 - 05:21:53: [AMXX] Displaying debug trace (plugin "zp_sub_bank.amxx")

  9. L 02/06/2012 - 05:21:53: [AMXX] Run time error 10: native error (native "zp_get_user_ammo_packs")

  10. L 02/06/2012 - 05:21:53: [AMXX]    [0] zp_sub_bank.sma::client_disconnect (line 301)
[/pawn]

помогите исправить:
zp_sub_bank.sma

Тема перемещена в соответствующий ей раздел // EvilCoder
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
sandrin
 
Сообщения: 64
Зарегистрирован: 20 фев 2011, 00:35
Благодарил (а): 17 раз.
Поблагодарили: 4 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: ZP run time errors

Сообщение DJ_WEST » 07 фев 2012, 08:48

L 02/06/2012 - 05:21:53: [ZP] Invalid Player (4)

Добавить проверку is_user_connected.
Не пишите мне в ЛС: если вам нужна помощь на бесплатной основе. Любые вопросы на форум.
Аватара пользователя
DJ_WEST
Администратор
 
Сообщения: 3641
Зарегистрирован: 22 авг 2009, 00:38
Благодарил (а): 48 раз.
Поблагодарили: 2209 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Left 4 Dead
Left 4 Dead 2

Re: ZP run time errors

Сообщение sandrin » 07 фев 2012, 10:45

DJ_WEST писал(а):
L 02/06/2012 - 05:21:53: [ZP] Invalid Player (4)

Добавить проверку is_user_connected.


не помогает, так как команда посылается когда игрок уже дисконектен с сервера, ошибка остается
Аватара пользователя
sandrin
 
Сообщения: 64
Зарегистрирован: 20 фев 2011, 00:35
Благодарил (а): 17 раз.
Поблагодарили: 4 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: ZP run time errors

Сообщение DJ_WEST » 08 фев 2012, 08:24

Функция zp_get_user_ammo_packs:
[pawn]
  1. public native_get_user_ammo_packs(plugin_id, num_params)

  2. {

  3.         new id = get_param(1)

  4.        

  5.         if (!is_user_valid(id))

  6.         {

  7.                 log_error(AMX_ERR_NATIVE, "[ZP] Invalid Player (%d)", id)

  8.                 return -1;

  9.         }

  10.        

  11.         if (LibraryExists(LIBRARY_AMMOPACKS, LibType_Library))

  12.                 return zp_ammopacks_get(id);

  13.        

  14.         if (!get_pcvar_num(cvar_ammopack_to_money_enable))

  15.                 return -1;

  16.        

  17.         return cs_get_user_money(id) / get_pcvar_num(cvar_ammopack_to_money_ratio);

  18. }
[/pawn]
Участок, который срабатывает:
[pawn]
  1.         if (!is_user_valid(id))

  2.         {

  3.                 log_error(AMX_ERR_NATIVE, "[ZP] Invalid Player (%d)", id)

  4.                 return -1;

  5.         }
[/pawn]
Сам is_user_valid:
[pawn]
  1. #define is_user_valid(%1) (1 <= %1 <= g_MaxPlayers)

  2. g_MaxPlayers = get_maxplayers()
[/pawn]
Соответственно получается, что:
L 02/06/2012 - 05:21:53: [ZP] Invalid Player (4)

Игрок с id = 4 не удовлетворяет условию: 1 <= 4 <= g_MaxPlayers.
Сколько слотов на сервере? За одно добавь debug отладку и посмотри, какое значение хранится в данный момент ошибки в g_MaxPlayers, к примеру::
[pawn]
  1. log_error(AMX_ERR_NATIVE, "[ZP] Invalid Player (%d) (max: %d)", id, get_maxplayers())
[/pawn]
Не пишите мне в ЛС: если вам нужна помощь на бесплатной основе. Любые вопросы на форум.
Аватара пользователя
DJ_WEST
Администратор
 
Сообщения: 3641
Зарегистрирован: 22 авг 2009, 00:38
Благодарил (а): 48 раз.
Поблагодарили: 2209 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Left 4 Dead
Left 4 Dead 2


Вернуться в Вопросы по AMXX и его плагинам

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

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

cron