Как сделать в CSGO конец раунда.
|
|
WOW_NAMES
|
Дата: Пятница, 30.01.2015, 13:11:20 | Сообщение # 1 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
Есть сервер ксго и задумка сделать командную игру по выполнению задания. Суть его такая: - начало раунда время 1 минута на все - контры или теры должны выполнить задание например добежать до места. - если задание не выполнено надо чтоб сработал плагин на окончание раунда Я сделал все работает, но почему то не идет счет! Не зависимо от причины конца раунда счет по нолям, если играть просто как обычно то счет идет в зависимости от проделанных действий как обычно. Подскажите как завершить раунд в чью то пользу чтобы счет тоже пошел.
|
|
| |
BarD
|
Дата: Пятница, 30.01.2015, 13:13:20 | Сообщение # 2 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Ответил в уроке про конец раунда
|
|
| |
WOW_NAMES
|
Дата: Пятница, 30.01.2015, 14:38:10 | Сообщение # 3 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
Цитата BarD ( ) Ответил в уроке про конец раунда
Не могу понять как сделать ее, по моему такой функции нет в ксго. Гуглил не нашел ничего поданному вопросу( Можешь помочь кодом на примере выше изложенного конца раунда по вводу в чате 1? Ну или скинь ссылку где можно хоть чтото узнать про это дело.
|
|
| |
BarD
|
Дата: Пятница, 30.01.2015, 16:05:44 | Сообщение # 4 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Покажи, как ты завершаешь раунд.
|
|
| |
WOW_NAMES
|
Дата: Пятница, 30.01.2015, 17:48:47 | Сообщение # 5 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
Цитата BarD ( ) Покажи, как ты завершаешь раунд. Я пока тренируюсь на примере кода вс из урока Код #pragma semicolon 1
#include <sourcemod> #include <cstrike>
public OnPluginStart() { HookEvent("player_say", Say);
} public Say(Handle:event, const String:name[], bool:silent) { decl String:text[5]; GetEventString(event, "text", text, 5); if (strcmp(text, "1") == 0) CS_TerminateRound(5.0, CSRoundEndReason:8, false); } потом планирую прикрутить туда таймер который запускается вместе с началом карты и уже по его завершению выполнять команду CSRoundEndReason
Сообщение отредактировал WOW_NAMES - Пятница, 30.01.2015, 17:52:19 |
|
| |
BarD
|
Дата: Суббота, 31.01.2015, 11:53:40 | Сообщение # 6 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Код public Say(Handle:event, const String:name[], bool:silent) { new client = GetClientOfUserId(GetEventInt(event, "userid")); if (client) { decl String:text[5]; GetEventString(event, "text", text, 5); if (strcmp(text, "1") == 0) { if (GetClientTeam(client) == 2) { CS_TerminateRound(5.0, CSRoundEndReason:8, false); SetTeamScore(2, GetTeamScore(2)); } else if (GetClientTeam(client) == 3) { CS_TerminateRound(5.0, CSRoundEndReason:7, false); SetTeamScore(3, GetTeamScore(3)); } } } }
Вот этот код закончит раунд и добавит +1 к общему счету твоей команды. Будешь за Т, +1 к счету Т, и наоборот.
Сообщение отредактировал BarD - Суббота, 31.01.2015, 11:53:56 |
|
| |
WOW_NAMES
|
Дата: Воскресенье, 01.02.2015, 13:14:01 | Сообщение # 7 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
Возьми и попробуй скомпилировать свой код! Кто нибудь знает как в ксго закончить раунд с добавлением счета победившей команде???
|
|
| |
Sallcom
|
Дата: Воскресенье, 01.02.2015, 14:09:33 | Сообщение # 8 |
|
Сообщений: 205
Репутация: 31 [ +/- ]
|
|
Цитата WOW_NAMES ( ) Возьми и попробуй скомпилировать свой код! Кто нибудь знает как в ксго закончить раунд с добавлением счета победившей команде??? Залезь а API и посмотри, как по-другому пишется то, что у тебя не компилируется.
https://sm.alliedmods.net/api/
|
|
| |
WOW_NAMES
|
Дата: Воскресенье, 01.02.2015, 14:14:57 | Сообщение # 9 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
Цитата Sallcom ( ) Залезь а API и посмотри, как по-другому пишется то, что у тебя не компилируется.
https://sm.alliedmods.net/api/ А можешь дать ссылку сразу на команду добавления счета в апи?Добавлено (01.02.2015, 14:14:57) --------------------------------------------- Не надо уже нашел, только вот там нет ничего про то как правельно написать ее в коде для ксго ((((
|
|
| |
BarD
|
Дата: Воскресенье, 01.02.2015, 14:21:11 | Сообщение # 10 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Код #pragma semicolon 1 #include <sdktools> #include <sourcemod> #include <cstrike>
public OnPluginStart() { HookEvent("player_say", Say);
}
public Say(Handle:event, const String:name[], bool:silent) { new client = GetClientOfUserId(GetEventInt(event, "userid")); if (client) { decl String:text[5]; GetEventString(event, "text", text, 5); if (strcmp(text, "1") == 0) { if (GetClientTeam(client) == 2) { CS_TerminateRound(5.0, CSRoundEndReason:8, false); SetTeamScore(2, GetTeamScore(2)); } else if (GetClientTeam(client) == 3) { CS_TerminateRound(5.0, CSRoundEndReason:7, false); SetTeamScore(3, GetTeamScore(3)); } } } } Пробуй.
|
|
| |
WOW_NAMES
|
Дата: Воскресенье, 01.02.2015, 14:27:54 | Сообщение # 11 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
Цитата BarD ( ) Пробуй. Скомпилировалось но счет не добавляет. Тупо раунд завершает за команду в которой я играю и все ((((Добавлено (01.02.2015, 14:27:54) ---------------------------------------------
Код Command_SwapScore() L 02/01/2015 - 15:37:41: [SM] Native "GetConVarInt" reported: Invalid convar handle 0 (error 4)
|
|
| |
Scarface_slv
|
Дата: Воскресенье, 01.02.2015, 14:34:15 | Сообщение # 12 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Есть еще #include <cstrike> CS_GetTeamScore CS_SetTeamScore Таких команд source v34 нет, может для кс го
|
|
| |
WOW_NAMES
|
Дата: Воскресенье, 01.02.2015, 14:38:12 | Сообщение # 13 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
Scarface_slv, Привет дай скайп свой спросить хочу.
|
|
| |
Scarface_slv
|
Дата: Воскресенье, 01.02.2015, 14:38:58 | Сообщение # 14 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Попробуй так, может прокатитДобавлено (01.02.2015, 14:38:58) --------------------------------------------- Мой скайп => мой ник=)
Гости не могут скачивать файлы
|
|
|
| |
WOW_NAMES
|
Дата: Воскресенье, 01.02.2015, 14:43:45 | Сообщение # 15 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
Цитата Scarface_slv ( ) Мой скайп => мой ник=)
Ок приеду домой добавлю тебя. А код твой не компилит пишет некоректный символ как раз на этих параметрах. Я подозреваю что на кс го нельзя добавлять к счету. Может подскажешь как сделать чтобы плагин выставил бомбу за тера??? http://world-source.ru/forum/102-4109-1
|
|
| |