Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Помогите фиксануть кусок кода

Статус пользователя turri2
сообщение 29.9.2015, 20:43
Сообщение #1


Стаж: 17 лет

Сообщений: 245
Благодарностей: 54
Полезность: < 0

Помогите фиксануть кусок кода, переделывал один плагин под себя, и в нем добавил ф-цию как в плагине killa_hp (когда тебя убивают пишет в чате статистику) и обнаружил баг: Прикрепленное изображение
Куда именно в меня попали (голова, рука и т.д) и такая же информация высвечивается во второй строке: вы стреляли и попали (голова, рука и т.д) хотя я даже не стрелял, как это можно фиксануть?
Cкрытый текст
Код
    
public ShowHP(id)
{
    if (is_user_alive(id))
    {
        PrintChatColor(id, _, "^1[^4%s^1] ^4Доступно только для мертвых", CHAT_PREFIX);
        return;
    }

    new szBuffer[128];    
    get_hits(g_eDMG[id][ATT_ID], szBuffer, 127);
    
    PrintChatColor(id, _, "^1[^4%s^1] Вас убил ^3%s ^1с ^4%s ^1@ ^3%d метров ^1[^4%d^3HP ^4%d^3AR^1] ^4| %s", CHAT_PREFIX, g_eDMG[id][ATT_NAME], g_eDMG[id][ATT_WPN], g_eDMG[id][ATT_DIST], g_eDMG[id][ATT_HP], g_eDMG[id][ATT_AR], szBuffer);
    PrintChatColor(id, _, "^1[^4%s^1] Вы стреляли в ^3%s ^1попав ^4[^3%d^4] ^1раз и нанесли ^4[^3%d^4] ^1урона ^4| %s", CHAT_PREFIX, g_eDMG[id][ATT_NAME], g_eDMG[id][DMGCOUNT], g_eDMG[id][DMGVALUE], szBuffer);    
}

хотел сделать как на этом скрине, чтобы в конце писало "Ни одного попадания" Прикрепленное изображение
Заранее спасибо

Отредактировал: turri2, - 29.9.2015, 20:54
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя SISA
сообщение 29.9.2015, 20:47
Сообщение #2
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Цитата
такая же информация высвечивается во второй строке


А с чего бы ей не высвечиваться, если у вас два принтчата подряд ? Почему вдруг второй принтчат не должен сработать ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя turri2
сообщение 29.9.2015, 21:04
Сообщение #3


Стаж: 17 лет

Сообщений: 245
Благодарностей: 54
Полезность: < 0

Цитата(SISA @ 29.9.2015, 21:43) *
А с чего бы ей не высвечиваться, если у вас два принтчата подряд ? Почему вдруг второй принтчат не должен сработать ?

соль не в том что у меня 2 принтчата, а то, что высвечиваются одинаковые статы куда попали (рука, голова, грудь и т.д) В первой строчку правильно высвечивается кто в меня стрелял, убил и куда попал, а вот во второй строчке высвечивается в какие части тела я попал, и эта информация вылазит такая же, как я описывал в первом принтчате, чотя я даже не стрелял ни в кого, откуда у меня может взяться "Голова 1, п. рука 2"
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 29.9.2015, 21:08
Сообщение #4
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Цитата(turri2 @ 29.9.2015, 22:59) *
соль не в том что у меня 2 принтчата, а то, что высвечиваются одинаковые статы куда попали (рука, голова, грудь и т.д) В первой строчку правильно высвечивается кто в меня стрелял, убил и куда попал, а вот во второй строчке высвечивается в какие части тела я попал, и эта информация вылазит такая же, как я описывал в первом принтчате, чотя я даже не стрелял ни в кого, откуда у меня может взяться "Голова 1, п. рука 2"


У вас в функцию приходит только один ID. Если вы хотите выводить статистику по двум игрокам (по аттакеру и жертве), то, как минимум, в функцию должны приходить два ID и на каждом должна быть записана информация.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя turri2
сообщение 29.9.2015, 21:11
Сообщение #5


Стаж: 17 лет

Сообщений: 245
Благодарностей: 54
Полезность: < 0

Цитата(SISA @ 29.9.2015, 22:03) *
У вас в функцию приходит только один ID. Если вы хотите выводить статистику по двум игрокам (по аттакеру и жертве), то, как минимум, в функцию должны приходить два ID и на каждом должна быть записана информация.

можете пример привести, как на второй ID сделать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 29.9.2015, 21:14
Сообщение #6
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Пример ? Это надо весь плагин смотреть.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя turri2
сообщение 29.9.2015, 21:15
Сообщение #7


Стаж: 17 лет

Сообщений: 245
Благодарностей: 54
Полезность: < 0

Цитата(SISA @ 29.9.2015, 22:09) *
Пример ? Это надо весь плагин смотреть.

Прикрепленный файл  death_stats.sma ( 3,53 килобайт ) Кол-во скачиваний: 6

и еще один баг нашел.... когда сам к примеру подрываешься гранатой, пишет : Вас убил "и пишет мой же ник".... буду благодарен если и это подскажете как можно фиксануть

Отредактировал: turri2, - 29.9.2015, 21:26
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 29.9.2015, 21:32
Сообщение #8
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Это надо весь плагин переписывать. Делать второй массив, на подобии "g_eDMG[33][DATA]" и при вызове функции ShowHP делать цикл по игрокам и выковыривать инфу из этого массива с тех игроков, которые по вам стреляли. Лучше готовое решение поищите, потому что такие онанизмы:

"register_event("Damage", "EVENT_Damage", "b", "2!0", "4!0")"

Цитата
get_weaponname(wpn, g_eDMG[id][ATT_WPN], 31);
replace(g_eDMG[id][ATT_WPN], 31, "weapon_", "");
ucfirst(g_eDMG[id][ATT_WPN]);


это что-то с чем-то.

Цитата
буду благодарен если и это подскажете как можно фиксануть


Это надо сразу на ХамтейкДамаг переходить и ловить damage_bits & DMG_BULLET

Отредактировал: SISA, - 29.9.2015, 21:32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя turri2
сообщение 29.9.2015, 22:48
Сообщение #9


Стаж: 17 лет

Сообщений: 245
Благодарностей: 54
Полезность: < 0

.... хреновый из меня скриптер, кто может написать отдельный плагин без багов статы /hp и /me?
Готов заплатить
Хотелось бы сделать по такому шаблону:
/hp Прикрепленное изображение
/me Прикрепленное изображение
и без бага при суициде
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя turri2
сообщение 30.9.2015, 7:45
Сообщение #10


Стаж: 17 лет

Сообщений: 245
Благодарностей: 54
Полезность: < 0

тему можете закрывать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: