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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер
3 страниц V   1 2 3

/me только после смерти...

Статус пользователя Bam
сообщение 22.6.2011, 12:08
Сообщение #21
Стаж: 19 лет

Сообщений: 326
Благодарностей: 88
Полезность: 75

Цитата(pike @ 15.5.2011, 18:45) *
Добавляем вверху после
Код
new bool:szShowTopX_Style1 = false

Код
// Round End for cmdMe
new cmdMeREnd = 0

в public eventEndRound() добавляем
Код
cmdMeREnd = 1


В функции public cmdMe(id) делаем изменения
Code

Код
// Display user stats.
public cmdMe(id)
{
    if (!SayMe)
    {
        client_print(id, print_chat, "%L", id, "DISABLED_MSG")
        return PLUGIN_HANDLED
    }
    
    if (is_user_alive(id) && (cmdMeREnd == 1) || (!is_user_alive(id))) // если жив в конце раунда, если мертв
    {
    format_kill_vinfo(id, 0, g_sBuffer)
    client_print(id, print_chat, "* %s", g_sBuffer)
    cmdMeREnd = 0
}
    return PLUGIN_CONTINUE
}





У меня руки кривые, никак не могу сделать, плагин statsx_shell beta 2.0 он немного отличается от стандартного. Бился бился, никак не получается сделать, чтобы когда человек жив, при написании /me выводилось сообщение об ошибке "Нельзя использовать /me если жив" и в конце раунда, если даже жив, то выводилось /me и при смерти тоже. В результате оставил только, когда жив выводит сообщение об ошибке, а когда мертв норм показывает. Подскажите пжлст, как сделать чтобы все таки и в конце раунда /me работал.

сам плагин
Прикрепленные файлы:
Прикрепленный файл  statsx_shellbeta2.rar ( 21,62 килобайт ) Кол-во скачиваний: 14
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя _FuriousRage_
сообщение 24.6.2011, 13:15
Сообщение #22
Стаж: 15 лет

Сообщений: 86
Благодарностей: 7
Полезность: 3

держи)

Прикрепленный файл  statx_shell_beta2.rar ( 119,63 килобайт ) Кол-во скачиваний: 41
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя kupuk96
сообщение 22.7.2011, 15:04
Сообщение #23


Стаж: 15 лет

Сообщений: 456
Благодарностей: 139
Полезность: 554

Сделал, как написал pike, все работает. Но все равно 1 раз за раунд использовать можно, как исправить?
И можно еще добавить: когда живой игрок пишет /me, ему в чате писалось "Данная команда доступна после смерти или в конце раунда" ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя pike
сообщение 22.7.2011, 19:48
Сообщение #24


Стаж: 18 лет

Сообщений: 956
Благодарности: выкл.

Цитата(kupuk96 @ 22.7.2011, 16:04) *
Сделал, как написал pike, все работает. Но все равно 1 раз за раунд использовать можно, как исправить?
И можно еще добавить: когда живой игрок пишет /me, ему в чате писалось "Данная команда доступна после смерти или в конце раунда" ?


Попробуй

Код
    if (is_user_alive(id) && (cmdMeREnd == 1) || (!is_user_alive(id))) // если жив в конце раунда, если мертв
    {
    format_kill_vinfo(id, 0, g_sBuffer)
    client_print(id, print_chat, "* %s", g_sBuffer)  
        cmdMeREnd == 0 //  попробуем вылечить "Но все равно 1 раз за раунд использовать можно"
} else {
        client_print(id, print_chat, "Данная команда доступна после смерти или в конце раунда") // можно добавить в языковой файл
        return PLUGIN_HANDLED
    }
    return PLUGIN_CONTINUE
}


не проверял.

Отредактировал: pike, - 22.7.2011, 19:53
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kupuk96
сообщение 22.7.2011, 20:33
Сообщение #25


Стаж: 15 лет

Сообщений: 456
Благодарностей: 139
Полезность: 554

Выдает предупреждения
Код
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

statsx_shell.sma(2779) : warning 217: loose indentation
statsx_shell.sma(2783) : warning 217: loose indentation
statsx_shell.sma(2783 -- 2784) : warning 215: expression has no effect
statsx_shell.sma(2784) : warning 217: loose indentation
Header size:           3784 bytes
Code size:           120692 bytes
Data size:           138136 bytes
Stack/heap size:      16384 bytes; max. usage is unknown, due to recursion
Total requirements:  278996 bytes

4 Warnings.
Done.


Теперь /me вообще не блокирует ;(

Отредактировал: kupuk96, - 22.7.2011, 20:39
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя pike
сообщение 26.7.2011, 13:49
Сообщение #26


Стаж: 18 лет

Сообщений: 956
Благодарности: выкл.

нужно только заменить условие, что выше.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kupuk96
сообщение 26.7.2011, 14:05
Сообщение #27


Стаж: 15 лет

Сообщений: 456
Благодарностей: 139
Полезность: 554

Я вот это
Код
    if (is_user_alive(id) && (cmdMeREnd == 1) || (!is_user_alive(id))) // если жив в конце раунда, если мертв
    {
    format_kill_vinfo(id, 0, g_sBuffer)
    client_print(id, print_chat, "* %s", g_sBuffer)
    cmdMeREnd = 0
}
    return PLUGIN_CONTINUE
}

заменил на это
Код
    if (is_user_alive(id) && (cmdMeREnd == 1) || (!is_user_alive(id))) // если жив в конце раунда, если мертв
    {
    format_kill_vinfo(id, 0, g_sBuffer)
    client_print(id, print_chat, "* %s", g_sBuffer)  
        cmdMeREnd == 0 //  попробуем вылечить "Но все равно 1 раз за раунд использовать можно"
} else {
        client_print(id, print_chat, "Данная команда доступна после смерти или в конце раунда") // можно добавить в языковой файл
        return PLUGIN_HANDLED
    }
    return PLUGIN_CONTINUE
}

Оно бывает работает, но 1 раз за карту. Вроде как после смены мапы 1 раунд пашет и все.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 27.7.2011, 17:04
Сообщение #28
Стаж: 17 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Вот как бы я сделал:
Код
new bool:gb_UseMe

public cmdMe(id)
{
    if (!SayMe)
    {
        client_print(id, print_chat, "%L", id, "DISABLED_MSG")
        return PLUGIN_HANDLED
    }
    
    if (is_user_alive(id) && !gb_UseMe)
    {
        client_print(id, print_chat, "You cannot use ^"/me^" when are live.")
        return PLUGIN_HANDLED
    }
    else
    {
        format_kill_vinfo(id, 0, g_sBuffer)
        client_print(id, print_chat, "* %s", g_sBuffer)
        return PLUGIN_HANDLED
    }
    
    return PLUGIN_CONTINUE
}

public eventResetHud(id)
{
    new args[1]
    args[0] = id
    
    if (g_iPluginMode & MODE_HUD_DELAY)
    {
        set_task(0.01, "delay_resethud", 200 + id, args, 1)
    }
    else
    {
        delay_resethud(args)
    }
    
    gb_UseMe = false    
    return PLUGIN_CONTINUE
}

public eventEndRound()
{
    get_config_cvars()
    
    if (!g_iRoundEndTriggered)
    {
        read_data(2, t_sText, MAX_TEXT_LENGTH)
        
        if (t_sText[7] == 't')
        {
            g_izTeamScore[0]++
        }
        else if (t_sText[7] == 'c')
        {
            g_izTeamScore[1]++
        }
    }
    
    set_task(0.3, "ERTask", 997)
    gb_UseMe = true
    return PLUGIN_CONTINUE
}

Все это нужно раскидать по коду.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя kupuk96
сообщение 2.8.2011, 10:24
Сообщение #29


Стаж: 15 лет

Сообщений: 456
Благодарностей: 139
Полезность: 554

да блин, у меня не компилится :/
Код
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

statsx_shell.sma(3095) : error 055: start of function body without function header
statsx_shell.sma(3097) : error 010: invalid function or declaration
statsx_shell.sma(3099) : error 010: invalid function or declaration
statsx_shell.sma(3103) : error 010: invalid function or declaration
statsx_shell.sma(3106) : error 029: invalid expression, assumed zero
statsx_shell.sma(3106 -- 3108) : warning 215: expression has no effect
statsx_shell.sma(3108) : warning 209: function "delay_resethud" should return a value
statsx_shell.sma(3108) : error 010: invalid function or declaration
statsx_shell.sma(3109) : error 010: invalid function or declaration
statsx_shell.sma(3112) : error 025: function heading differs from prototype
statsx_shell.sma(3113) : error 021: symbol already defined: "delay_resethud"
statsx_shell.sma(4113) : warning 203: symbol is never used: "args"

9 Errors.
Could not locate output file statsx_shell.amx (compile failed).
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 2.8.2011, 15:05
Сообщение #30
Стаж: 17 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

kupuk96,
Мне интересно, как ты все это по коду раскидал?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kupuk96
сообщение 2.8.2011, 18:12
Сообщение #31


Стаж: 15 лет

Сообщений: 456
Благодарностей: 139
Полезность: 554

Цитата(STR@TEG @ 2.8.2011, 15:05) *
kupuk96,
Мне интересно, как ты все это по коду раскидал?

Если сможешь, посмотри.Прикрепленный файл  statsx_shell.sma.rar ( 21,56 килобайт ) Кол-во скачиваний: 23


Отредактировал: kupuk96, - 2.8.2011, 18:12
Прикрепленные файлы:
Прикрепленный файл  statsx_shell.sma.rar ( 21,56 килобайт ) Кол-во скачиваний: 16
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 2.8.2011, 20:36
Сообщение #32
Стаж: 17 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

kupuk96,
Строки 3094-3095:
Код
// Reset killer info on round restart.
{

>>>

Код
// Reset killer info on round restart.
public eventResetHud(id)
{
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя sweet
сообщение 2.8.2011, 20:47
Сообщение #33
Стаж: 15 лет

Сообщений: 1920
Благодарностей: 597
Полезность: 431

И Теперь выложите полный, рабочий плагин, пожалуйста! :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя jtiq
сообщение 2.8.2011, 20:48
Сообщение #34


Иконка группы

Стаж: 18 лет

Сообщений: 1717
Благодарностей: 767
Полезность: 979

Меценат Меценат

dron34, может на горшок тебя ещё посадить, а потом ещё из ложки покормить?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sweet
сообщение 2.8.2011, 20:51
Сообщение #35
Стаж: 15 лет

Сообщений: 1920
Благодарностей: 597
Полезность: 431

Цитата(AxuJIJI @ 2.8.2011, 21:48) *
dron34, может на горшок тебя ещё посадить, а потом ещё из ложки покормить?


ну я подую... crazy.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kupuk96
сообщение 4.8.2011, 10:49
Сообщение #36


Стаж: 15 лет

Сообщений: 456
Благодарностей: 139
Полезность: 554

Цитата(STR@TEG @ 2.8.2011, 20:36) *
kupuk96,
Строки 3094-3095:
Код
// Reset killer info on round restart.
{

>>>

Код
// Reset killer info on round restart.
public eventResetHud(id)
{

Спасибо :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Hitmaaaaan
сообщение 13.9.2011, 19:23
Сообщение #37


Стаж: 16 лет

Сообщений: 178
Благодарностей: 20
Полезность: 99

Цитата
new bool:gb_UseMe

куда вставить ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Hitmaaaaan
сообщение 13.9.2011, 19:52
Сообщение #38


Стаж: 16 лет

Сообщений: 178
Благодарностей: 20
Полезность: 99

всё сделал по коду STR@TEGа
но вот что в итоге


Отредактировал: Hitmaaaaan, - 13.9.2011, 19:52
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Teemz
сообщение 12.2.2012, 11:46
Сообщение #39


Стаж: 16 лет

Сообщений: 163
Благодарностей: 27
Полезность: 137

Цитата(STR@TEG @ 2.8.2011, 21:36) *
kupuk96,
Строки 3094-3095:
Код
// Reset killer info on round restart.
{

>>>

Код
// Reset killer info on round restart.
public eventResetHud(id)
{



Ну отображает стату когда мертвый



Отредактировал: Teemz, - 12.2.2012, 12:26
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Axotnik
сообщение 9.4.2012, 11:20
Сообщение #40


Стаж: 17 лет

Сообщений: 302
Благодарностей: 52
Полезность: 155

Прикрепленный файл  Рабочий_стол.rar ( 70,16 килобайт ) Кол-во скачиваний: 38


вот мой, все работает отлично!
Прикрепленные файлы:
Прикрепленный файл  Рабочий_стол.rar ( 70,16 килобайт ) Кол-во скачиваний: 75
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
3 страниц V   1 2 3
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: