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

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

  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Как сделать в CSGO конец раунда.
Как сделать в 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 нет, может для кс го pardon
 
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
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Как сделать в CSGO конец раунда.
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск: