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

Помощь CMS COINT

pollfank

Участник
Сообщения
167
Решения
1
Реакции
32
Баллы
28
Всем здравствуйте.
Уже давно отошел от игровой индустрии), но сын начал бомбить, захотел сервер свой).
Если в кратце. Так как другой хостинг, привязки нет на ключи, на быструю руку накидал плагин, аналог zhorzh78 -а. После убийства, выпадают монеты. Только с отвязкой от ядра cms present.
Все работает, но есть один момент, который хотел бы поправить.
Сообщение в чат выводиться с дублированием. То есть, одно и то самое сообщение в несколько строк.
Выглядит примерно так:

[Info] Монеты только для зарегистрированных пользователей ...
[Info] Монеты только для зарегистрированных пользователей ...
[Info] Монеты только для зарегистрированных пользователей ...
[Info] Монеты только для зарегистрированных пользователей ...

Весь код выкладывать не буду, да бы как не портить интерес к главному модулю)). Но вот часть. Кто может подскажет что ни так, а то уже много чего призабыл с amx скриптинга.
 
Исходный код
Код:
public fw_TouchCoinPost(iEnt, id)
{
    if(!pev_valid(iEnt) || !is_user_alive(id))
        return;

    if (cmsapi_is_user_member(id))
    {
        static sClassName[32];
        pev(iEnt, pev_classname, sClassName, charsmax(sClassName));
        
        if(!equal(sClassName, CLASSNAME_SET))
            return;
            
        cmsapi_add_user_money(id, fMoney);
        client_print_color(id, print_team_default, "%L", LANG_SERVER, "CMS_COINT_TAKE", fMoney);

        emit_sound(id, CHAN_WEAPON, COIN_SOUND, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
    
        set_pev(iEnt, pev_flags, pev(iEnt, pev_flags) | FL_KILLME);
    }
    
    else
    {
        client_print_color(id, print_team_default, "%L", LANG_SERVER, "CMS_COINT_NO_TAKE");
    }
}
Запоминайте время касания и делайте возврат функции, если прошло меньше, например, 5 сек.
 
Назад
Сверху