Как сделать в 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 );
1
И SetTeamScore( 3 , GetTeamScore( 3 )+ 1 );
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 ;
1
я не очень уверен :)Добавлено (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 );
}
}
}
}
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Окончательный рабочий код
|
|
| |
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);
SetEntProp(c4, Prop_Send, "m_bBombTicking" , 1 );
}
}
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
Сообщение отредактировал BarD - Воскресенье, 01.02.2015, 15:49:53 |
|
| | |
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;
}
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
|
| |
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);
}
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Я дал тебе функцию, которую и нужно юзать. Пробуй такой код.
Сообщение отредактировал 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);
1 2 3
Думаю, как-то так.
|
|
| | |
|