Контакты Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Disconnect: Бан."Причина: X" "Время: Y"
Disconnect: Бан."Причина: X" "Время: Y"
Naykon Дата: Среда, 29.08.2012, 00:58:05 | Сообщение # 1
Сообщений: 439
Репутация: -4 [ +/- ]
Доброго времени суток.
Возник вопрос, каким образом можно осуществить вот такое сообщение при бане игрока "Disconnect: Бан."Причина: X" "Время: Y"", сообщение должно писаться забаненому игроку.

Кретил, мудрил с BanClient и с OnBanClient - но результату не дало((( Максимум удалось вывести причину.
Сейчас пользуюсь только этим:
Code
   ServerCommand("banid %d %s", Time[admin], BanID);
    ServerCommand("kickid %s %s", BanID, Reason);


Подскажите код который может выводить и причину и время забаненому игроку в виде собщения при вылете с сервера.
Примного благодарен. pank

Добавлено (29.08.2012, 00:58:05)
---------------------------------------------
+ Решил не создавать новую тему:
1) Почему SlapPlayer(UserSlap, health=5); - шлепает но не отнимает 5 хп?(((
2)

Code
public SlapHPSelect(Handle:menu, MenuAction:action, admin, i)
{
       if (action == MenuAction_Select)
       {
     decl String:Info[25];
           GetMenuItem(menu, i, Info, sizeof(Info));
     if (StrEqual(Info, "1"))
     {
     PrintToChatAll("\x04[АДМИН %N] Предупредил игрока: %s", admin, SlapName);  
     new health;
     SlapPlayer(UserSlap, health=0);
     }
    }
}


Нужно перед ударом игрока проверить сколько у него ХП, если ХП меньше 20 но не шлепать...
Знаю как проверить - if (GetClientHealth(XXX) > 5) но не знаю какой индекс всунуть сюда.. как получит индекс? ID жертвы получал так:
Code
public SlapMenuClientSelect(Handle:menu, MenuAction:action, admin, i)
{
       if (action == MenuAction_Select)
       {   
    GetMenuItem(menu, i, SlapID, sizeof(SlapID), _, SlapName, sizeof(SlapName));
    UserSlap = GetClientOfUserId(StringToInt(SlapID));
    if (UserSlap > 0)
    {  
     GetMenuItem(menu, i, SlapID, sizeof(SlapID));
     SlapHP(admin);
    }
    else PrintToChat(admin, "Игрок не найден");
    }
}
 
Scarface_slv Дата: Среда, 29.08.2012, 08:07:44 | Сообщение # 2
Сообщений: 738
Репутация: 61 [ +/- ]
1.
BanClient(client, <минут/0=навсегда>, BANFLAG_AUTHID, "причина", "кик-сообщение");для примера basebans.sp
decl String:title[100];
Format(title, sizeof(title), "time %d reason %s", time , reason);
вообщем добавляешь title за место кик-сообщение, и должно отобразить и время и причина
BanClient(client, time, BANFLAG_AUTHID, reason, title); должно получиться)

2.
new damage = 5;
SlapPlayer(client, damage, true); у меня все норм шлепает и отнимает.

3.http://world-source.ru/forum/100-2299-1 там есть про это
если можешь ид получить
GetClientOfUserId(userid); - получить индекс клиента по userid


Сообщение отредактировал Scarface_slv - Среда, 29.08.2012, 08:16:05
 
Naykon Дата: Среда, 29.08.2012, 14:58:31 | Сообщение # 3
Сообщений: 439
Репутация: -4 [ +/- ]
Получилось но коряво... вместо игрока банит админа и пишет ему и время и причину....((
Добавил индекс игрока в BanClient - тогда бенит игрока но не пишет Время и Причину((((

Вот мой код проанализируйте в чем проблема?
Цель: Банить игрока с Временем и Причиной(((
Благодарю.

Добавлено (29.08.2012, 14:58:31)
---------------------------------------------

Code
   decl String:title[100];
    Format(title, sizeof(title), "БАН. Время: %d мин. Причина: %s", Time[admin], Reason);  
     ServerCommand("banid %d %s", Time[admin], BanID);
    ServerCommand("kickid %s %s", BanID, title);


Получилось таким образом спс за идею...

Прикрепления: 1-2-.txt(3.1 Kb)
 
Scarface_slv Дата: Среда, 29.08.2012, 16:12:56 | Сообщение # 4
Сообщений: 738
Репутация: 61 [ +/- ]
не хочу анализировать я не умею=) вот для примера плагин который валялся в папке с мусором

Прикрепления: bans.sp(4.7 Kb)
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Disconnect: Бан."Причина: X" "Время: Y"
  • Страница 1 из 1
  • 1
Поиск: