AMX MOD X
Суббота, 03.01.2026, 06:29:05



Приветствую Вас Гость | RSS
[ Главная ] [ ошибка при исполнении client_damage - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
ошибка при исполнении client_damage
BruteДата: Пятница, 11.07.2008, 20:24:22 | Сообщение # 1
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
В данном коде:
Code
#include <amxmodx>
#include <amxmisc>
#include <csstats>

#define PLUGIN "txt STats"
#define VERSION "1.0a"
#define AUTHOR "Brute"

#define StMaxSize 200
#define WeaponsNum 30

#define PlayerDamageTeam 1 //сколько урона игрок нанёс команде
#define TeamDamagePlayer 2 //сколько урона команда нанесла игроку
#define    PlayerDamageEnemy 3 //сколько урона игрок нанёс врагам
#define    EnemyDamagePlayer 4 //сколько урона враги нанесли игроку
#define    PlayerTotalPlayer 5 //сколько урона игрок нанёс себе

new WeaponsTable[32][WeaponsNum][StMaxSize]

public plugin_init()
{
  register_plugin(PLUGIN, VERSION, AUTHOR)
}

public client_damage(attacker,victim,damage,wpnindex,hitplace,TA)
{
  if(attacker == victim) WeaponsTable[attacker][wpnindex][PlayerTotalPlayer]+=damage
  if(TA==1) WeaponsTable[victim][wpnindex][TeamDamagePlayer]+=WeaponsTable[attacker][wpnindex][PlayerDamageTeam]+=damage
  if(TA==0) WeaponsTable[victim][wpnindex][EnemyDamagePlayer]+=WeaponsTable[attacker][wpnindex][PlayerDamageEnemy]+=damage
  return PLUGIN_CONTINUE
}

возникает ошибка, обычно при "мясе".
Помогите оптимизировать код и избавится от ошибки, если это конечно возможно
Прикрепления: txt_stats.sma (0.9 Kb)
 
slogicДата: Пятница, 11.07.2008, 21:24:04 | Сообщение # 2
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
Максимальный индекс массива WeaponsTable[32] будет 31, а не 32. Соотв-но при 32 игроках будет жопа. Зачем тебе StMaxSize равный 200, когда у тебя максимальный индекс в этой размерности - 6?
 
BruteДата: Пятница, 11.07.2008, 21:44:32 | Сообщение # 3
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
Quote (slogic)
Максимальный индекс массива WeaponsTable[32] будет 31, а не 32. Соотв-но при 32 игроках будет жопа.

Максимальное количество игроков было 20, но всё равно спасибо-учту.

Quote (slogic)
Зачем тебе StMaxSize равный 200, когда у тебя максимальный индекс в этой размерности - 6?

Это только маленькая часть плагина.

Да и дело не в массивах, а в коде.

Добавлено (2008-07-11, 9:44 Pm)
---------------------------------------------
Сделал по твоему: увеличил размер WeaponsTable, уменьшил размер StMaxSize до 6 - помогло, но ошибка продолжает вылазить:

Code

L 07/11/2008 - 23:41:52: [AMXX] Run time error 4 (plugin "txt_stats.amxx") - debug not enabled
 
slogicДата: Суббота, 12.07.2008, 20:16:40 | Сообщение # 4
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
Хотя бы для приличия debug поставил напротив имени плагина в plugins.ini.

CSW_P90 имеет код 30. У тебя макс. индекс оружия - 29.

 
BruteДата: Суббота, 12.07.2008, 21:56:44 | Сообщение # 5
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
Quote (slogic)
CSW_P90 имеет код 30. У тебя макс. индекс оружия - 29.

действительно, неудивительно что ошибки выскакивали в самый неожиданный момент. Сейчас буду тестировать.

Добавлено (2008-07-12, 9:56 Pm)
---------------------------------------------
slogic, всё работает и без ошибок! Спасибо. В следующий раз буду внимательнее.

 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2026