Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

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

  • Страница 1 из 1
  • 1
Сколько сделал прыжков показ в конце раунда.
andrey50390 Дата: Четверг, 11.12.2014, 14:36:04 | Сообщение # 1
Сообщений: 62
Репутация: 0 [ +/- ]
Всем привет, подскажите как сделать чтобы показывало в конце раунда у кого много прыжков было сделано? Желательно 3 места.
 
BarD Дата: Пятница, 12.12.2014, 09:57:12 | Сообщение # 2
Сообщений: 943
Репутация: 137 [ +/- ]
Код
#include <sourcemod>
#pragma semicolon 1

new Jumps[MAXPLAYERS+1];

public OnPluginStart()
{
   HookEvent("round_end", End);  //Хукаем событие конца раунда
  HookEvent("player_jump", Jump); //И прыжка
}

public Action:Jump(Handle:event, const String:name[], bool:dontBroadcast)//Когда прыгнул
{
    new client = GetClientOfUserId(GetEventInt(event, "userid")); //Ловим прыгуна
    if (client && IsClientInGame(client)) Jumps[client]++;//Добавляем к его прыжкам 1
}

public Action:End(Handle:event, const String:name[], bool:dontBroadcast) //Когда раунд кончился
{
new first=1, second=1, third=1; //Создаем переменные для хранения индексов наших чемпионов
   for (new i=1;i<=MaxClients;i++) //Пролетаем по всем игрокам
{
    if (Jumps[i] > Jumps[first]) first = i;                           //<------
    if (Jumps[second] < Jumps[i] < Jumps[first]) second = i;//<----| ----Проводим алгоритм отбора
    if (Jumps[third] < Jumps[i] < Jumps[second]) third = i;//<------           
}//В результате у нас в переменных записаны победители
    PrintToChatAll("Первый %N: %d прыжков!", first, Jumps[first]);  //Выводим каждого
    PrintToChatAll("Второй %N: %d прыжков!", second, Jumps[second]);
    PrintToChatAll("Третий %N: %d прыжков!", third, Jumps[third]);

    for (new k=1;k<=MaxClients;k++) if (IsClientInGame(k)) Jumps[k] = 0; //Очищаем переменные для нового раунда.
}


Думаю, что такой алгоритм сработает. Попробуешь, отпишись.
 
andrey50390 Дата: Пятница, 12.12.2014, 13:35:22 | Сообщение # 3
Сообщений: 62
Репутация: 0 [ +/- ]
Работает, но не получается сделать цвет ставлю так: PrintToChatAll("\x04Второй %N: %d прыжков!", second, Jumps[second]);
 
BarD Дата: Пятница, 12.12.2014, 14:31:05 | Сообщение # 4
Сообщений: 943
Репутация: 137 [ +/- ]
CS:GO?
 
andrey50390 Дата: Пятница, 12.12.2014, 14:36:14 | Сообщение # 5
Сообщений: 62
Репутация: 0 [ +/- ]
Да
 
BarD Дата: Пятница, 12.12.2014, 14:39:52 | Сообщение # 6
Сообщений: 943
Репутация: 137 [ +/- ]
Тут обычные цветовые коды не работают. Есть библиотека

Код
#include <csgo_colors>


вот тут найдешь описание и функции.


Сообщение отредактировал BarD - Пятница, 12.12.2014, 14:46:15
 
andrey50390 Дата: Пятница, 12.12.2014, 16:12:57 | Сообщение # 7
Сообщений: 62
Репутация: 0 [ +/- ]
Инкульд поставил и сделал так: PrintToChatAll("{GREEN}Второй %N: %d прыжков!", second, Jumps[second]); и не работает...
 
BarD Дата: Пятница, 12.12.2014, 17:09:58 | Сообщение # 8
Сообщений: 943
Репутация: 137 [ +/- ]
Потому что функция пишется так:

Код
CGOPrintToChatAll("{GREEN}Второй %N: %d прыжков!", second, Jumps[second]);


Там же написано
 
andrey50390 Дата: Пятница, 12.12.2014, 17:11:32 | Сообщение # 9
Сообщений: 62
Репутация: 0 [ +/- ]
Ой точно извини=( я не внимательный спасибо за помощь.
 
BarD Дата: Суббота, 13.12.2014, 11:36:15 | Сообщение # 10
Сообщений: 943
Репутация: 137 [ +/- ]
Да на здоровье :)
 
  • Страница 1 из 1
  • 1
Поиск: