Как сделать в CSGO конец раунда.
|
|
Scarface_slv
|
Дата: Воскресенье, 01.02.2015, 14:51:48 | Сообщение # 16 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
WOW_NAMES, Не пробовал, не знаю=)Добавлено (01.02.2015, 14:51:48) --------------------------------------------- И вообще проверь команду SetTeamScore, например просто введи SetTeamScore(2, 50) - терам 50 очков, если получится то работает... Не забудь добавить #include <sdktools_functions> в начало)
|
|
| |
BarD
|
Дата: Воскресенье, 01.02.2015, 14:52:36 | Сообщение # 17 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Добавьте #include <sdktools>! Все работает! Функции есть!
|
|
| |
WOW_NAMES
|
Дата: Воскресенье, 01.02.2015, 15:00:29 | Сообщение # 18 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
BarD, Ты на ксго проверяешь ?Добавлено (01.02.2015, 15:00:29) ---------------------------------------------
Цитата Scarface_slv ( ) И вообще проверь команду SetTeamScore, например просто введи SetTeamScore(2, 50) - терам 50 очков, если получится то работает... Не забудь добавить #include <sdktools_functions> в начало) Это работает
|
|
| |
BarD
|
Дата: Воскресенье, 01.02.2015, 15:05:36 | Сообщение # 19 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Цитата WOW_NAMES ( ) Это работает Да ты чтоо? А я тебе не то же самое скинул пару постов назад? Просто забыл в первом коде "#include <sdktools>". Поэтому ошибка была. P.S. Увидел ошибку. Я забыл +1 сделать. Там надо так: Код SetTeamScore(2, GetTeamScore(2)+1); И Код SetTeamScore(3, GetTeamScore(3)+1);
Сообщение отредактировал BarD - Воскресенье, 01.02.2015, 15:08:10 |
|
| |
Scarface_slv
|
Дата: Воскресенье, 01.02.2015, 15:08:11 | Сообщение # 20 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Тогда так попробуй
Гости не могут скачивать файлы
|
|
|
| |
BarD
|
Дата: Воскресенье, 01.02.2015, 15:10:59 | Сообщение # 21 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Scarface_slv, Твой код тоже работать должен) Правда в Код iTeam = iTeam == 2 ? 7 : 8; я не очень уверен :)Добавлено (01.02.2015, 15:10:59) ---------------------------------------------
Код #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)+1); } else if (GetClientTeam(client) == 3) { CS_TerminateRound(5.0, CSRoundEndReason:7, false); SetTeamScore(3, GetTeamScore(3)+1); } } } } Окончательный рабочий код
|
|
| |
Scarface_slv
|
Дата: Воскресенье, 01.02.2015, 15:23:02 | Сообщение # 22 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
BarD, Да это не важно какой код, главное ему помочь и все=)
|
|
| |
WOW_NAMES
|
Дата: Воскресенье, 01.02.2015, 15:23:24 | Сообщение # 23 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
Спасибо парни, бегу тестировать все это дело на свой сервер. Может кто нибуть из вас поможет мне с кодом который бы заставлял ставить бомбу на карте за игрока?
|
|
| |
BarD
|
Дата: Воскресенье, 01.02.2015, 15:44:12 | Сообщение # 24 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Цитата WOW_NAMES ( ) главное ему помочь и все=) Миссия выполнена Отличная работа
Добавлено (01.02.2015, 15:44:12) --------------------------------------------- Ну, сначала нужно entity создать. Код stock CreateC4(client) { new c4 = CreateEntityByName("planted_c4"); if (c4 != -1) { new Float:pos[3]; GetClientAbsOrigin(client, pos); DispatchKeyValueVector(c4, "origin", pos); DispatchSpawn(c4); //Все, энтити заспавнили, теперь нужно как-то активировать. //iEx сказал, что что-то типа "bombticking" надо задать бомбе. //Из netprops я нашел только это: SetEntProp(c4, Prop_Send, "m_bBombTicking", 1); //Скорее всего как-то так. } }
Сообщение отредактировал BarD - Воскресенье, 01.02.2015, 15:49:53 |
|
| |
Sallcom
|
Дата: Воскресенье, 01.02.2015, 16:42:12 | Сообщение # 25 |
|
Сообщений: 205
Репутация: 31 [ +/- ]
|
|
Цитата Scarface_slv ( ) Есть еще #include <cstrike> CS_GetTeamScore CS_SetTeamScore Я ему написал, чтобы он их в API посмотрел.
|
|
| |
WOW_NAMES
|
Дата: Воскресенье, 01.02.2015, 17:17:53 | Сообщение # 26 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
Цитата BarD ( ) Ну, сначала нужно entity создать. Не могу понять как сделать в таймер.
Вот я создаю таймер, после спавню твоим кодом с4, по истечению таймера у меня выводит проверка в чате но бомба не ставиться. Как сделать ее активацию в таймер?
Код #pragma semicolon 1 #include <sdktools> #include <sdktools_functions> #include <sourcemod> #include <cstrike>
public OnPluginStart() { CreateTimer(10.0, C4_Func, _, TIMER_REPEAT); }
stock CreateC4(client) { new c4 = CreateEntityByName("planted_c4"); if (c4 != -1) { new Float:pos[3]; GetClientAbsOrigin(client, pos); DispatchKeyValueVector(c4, "origin", pos); DispatchSpawn(c4); SetEntProp(c4, Prop_Send, "m_bBombTicking", 1); } } public Action:C4_Func(Handle:timer) { PrintToChatAll("\x04[\x01ИНФО\x04] \x03 Победили!\x04 Террористы."); return Plugin_Continue; }
|
|
| |
BarD
|
Дата: Воскресенье, 01.02.2015, 17:43:55 | Сообщение # 27 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Код #pragma semicolon 1 #include <sdktools> #include <sdktools_functions> #include <sourcemod> #include <cstrike>
stock CreateC4(client) { new c4 = CreateEntityByName("planted_c4"); if (c4 != -1) { new Float:pos[3]; GetClientAbsOrigin(client, pos); DispatchKeyValueVector(c4, "origin", pos); DispatchSpawn(c4); SetEntProp(c4, Prop_Send, "m_bBombTicking", 1); } }
public OnPluginStart() { RegConsoleCmd("test",Test); }
public Action:Test(client, args) { if (client) CreateC4(client); }
Я дал тебе функцию, которую и нужно юзать. Пробуй такой код.
Сообщение отредактировал BarD - Воскресенье, 01.02.2015, 17:44:28 |
|
| |
WOW_NAMES
|
Дата: Воскресенье, 01.02.2015, 19:25:11 | Сообщение # 28 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
BarD, Вот я тупой капец ))))Добавлено (01.02.2015, 18:37:47) ---------------------------------------------
Цитата BarD ( ) Я дал тебе функцию, которую и нужно юзать. Пробуй такой код. Ну вот получается только если при вводе команды, а как сделать чтобы без участия игрока само тока на карту попали сразу раз и бомба активировалась. Ну или по таймеру. У меня знаний ноль ваще.Добавлено (01.02.2015, 19:25:11) --------------------------------------------- Так вроде получилось.
|
|
| |
BarD
|
Дата: Понедельник, 02.02.2015, 08:00:38 | Сообщение # 29 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Когда игрок заходит, ставь ему таймер и по окончанию бомбу делай. Код public OnClientPostAdminCheck(client) if (client) CreateTimer(10.0, Timer, client, TIMER_FLAG_NO_MAPCHANGE);
public Action:Timer(Handle:timer, any:client) CreateC4(client); Думаю, как-то так.
|
|
| |
WOW_NAMES
|
Дата: Понедельник, 02.02.2015, 08:39:33 | Сообщение # 30 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
Цитата BarD ( ) Когда игрок заходит, ставь ему таймер и по окончанию бомбу делай. Код public OnClientPostAdminCheck(client) if (client) CreateTimer(10.0, Timer, client, TIMER_FLAG_NO_MAPCHANGE);
public Action:Timer(Handle:timer, any:client) CreateC4(client);
Думаю, как-то так.
Спасибо за помощь я уже вчера сам допендрил ))) У меня другая проблема теперь. Как сделать так чтобы после N количества раундов команды поменялись местами? В идеале мне нужно сделать так - начало карты - запуск таймера на 10 сек - сработает таймер и команды меняются местами - плагин выключается (сработать должен только раз в начале карты) Искал в нете но все что там есть не подходит на ксго
|
|
| |