Сколько сделал прыжков показ в конце раунда.
|
|
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 [ +/- ]
|
|
Да на здоровье :)
|
|
| |