- Поддерживаемые игры
-
- CS: GO
Описание
Touchdown это игровой режим из игры S4 League.
Я постарался перенести этот игровой режим в CSGO, поэтому я беру звуковые эффекты, bgms и overlays из оригинальной игры.
Я знаю, что мои коды не идеальные, я их улучшу, если у меня будет время ...
Как играть
Вам нужно захватить мяч и отнести его до "ворот".
Это симуляция Американского Футбола
S4 League Wiki Touchdown
Руссификация
Плагин переведен (мной)
Если есть какие-либо предложения или замечания - пишите в теме.
Исправлю. (Надеюсь не ослепните от этого чуда)
Залью рус. перевод после одобрения темы
Русский Перевод : Скачать
Помогал один чмошник
Настройка
- Выберите достаточно сбалансированную карту. (Это очень важно!)
- Встаньте на место где должен быть флаг, мяч. Наведите прицел на это место. Пропишите команду "sm_whereic" в консоль. (Требуется флаг ADMFLAG_GENERIC)
- Скопируйте позиции которые укажет в чате после ввода команды "sm_whereic". Вставьте их в конфиг "addons/sourcemod/configs/kento_touchdown.cfg"
- Перезапустите Карту.
Web
Я взял за основу web интерфейс с rankme для этого режима игры.
Пример Web: Akami Studio Touchdown Stats
Для Разработчиков / Скриптеров
I have created some natives and forwards for this plugin. You can make 3rd party plugin for this gamemode. (Maybe zep store credits?)
kento_touchdown.inc
Пример Плагина: kento_touchdown_test
kento_touchdown.inc
PHP:
#if defined _Touchdown_included
#endinput
#endif
#define _Touchdown_included
/**
* Gets the ball holder.
*
* @return client id.
*/
native int Touchdown_GetBallHolder();
/**
* Gets which team drop the ball.
*
* @return TR = 2, CT = 3.
*/
native int Touchdown_GetBallDropTeam();
/**
* Is client ball holder?
*
* @param client Client id.
* @return True if client holding the ball.
*/
native bool Touchdown_IsClientBallHolder(int client);
/**
* Gets client points.
*
* @return client points.
*/
native int Touchdown_GetClientPoints(int client);
/**
* Gets client kills.
*
* @return client points.
*/
native int Touchdown_GetClientKills(int client);
/**
* Gets client deaths.
*
* @return client points.
*/
native int Touchdown_GetClientDeaths(int client);
/**
* Gets client assists.
*
* @return client points.
*/
native int Touchdown_GetClientAssists(int client);
/**
* Gets client touchdown.
*
* @return client points.
*/
native int Touchdown_GetClientTouchdown(int client);
/**
* Gets client kill ballholder.
*
* @return client points.
*/
native int Touchdown_GetClientKillball(int client);
/**
* Gets client drop ball.
*
* @return client points.
*/
native int Touchdown_GetClientDropball(int client);
/**
* Gets client pickup ball.
*
* @return client points.
*/
native int Touchdown_GetClientGetball(int client);
/**
* Called when a player drop the ball.
*
* @param client Player index.
* @return No return
*/
forward Action Touchdown_OnPlayerDropBall(int client);
/**
* Called when a player kill the ball holder.
*
* @param ballholder Ball Holder.
* @param attacker Attacker.
* @return No return
*/
forward Action Touchdown_OnPlayerKillBall(int ballholder, int attacker);
/**
* Called when the ball reset.
*
* @param client Player index.
* @return No return
*/
forward Action Touchdown_OnBallReset();
/**
* Called when a player get the ball.
*
* @param client Player index.
* @return No return
*/
forward Action Touchdown_OnPlayerGetBall(int client);
/**
* Called when a player touchdown.
*
* @param client Player index.
* @return No return
*/
forward Action Touchdown_OnPlayerTouchDown(int client);
Пример Плагина: kento_touchdown_test
PHP:
#include <sourcemod>
#include <kento_touchdown>
#pragma newdecls required
// Teams
#define SPEC 1
#define TR 2
#define CT 3
public Plugin myinfo =
{
name = "[CS:GO] Touch Down Sample 3rd Party Plugin",
author = "Kento from Akami Studio",
version = "1.0",
description = "Test touchdown natives and forwards",
url = "https://github.com/rogeraabbccdd/CSGO-Touchdown"
};
public void OnPluginStart()
{
RegConsoleCmd("sm_tdtest", Command_Test, "Test");
}
public Action Touchdown_OnPlayerDropBall(int client)
{
char clientname [PLATFORM_MAX_PATH];
GetClientName(client, clientname, sizeof(clientname));
PrintToChatAll("%s drop the ball!", clientname);
}
public Action Touchdown_OnBallReset()
{
PrintToChatAll("ball reset");
}
public Action Touchdown_OnPlayerGetBall(int client)
{
char clientname [PLATFORM_MAX_PATH];
GetClientName(client, clientname, sizeof(clientname));
PrintToChatAll("%s get the ball!", clientname);
}
public Action Touchdown_OnPlayerTouchDown(int client)
{
char clientname [PLATFORM_MAX_PATH];
GetClientName(client, clientname, sizeof(clientname));
PrintToChatAll("%s touchdown", clientname);
}
public Action Touchdown_OnPlayerKillBall(int ballholder, int attacker)
{
char ballholdername [PLATFORM_MAX_PATH];
GetClientName(ballholder, ballholdername, sizeof(ballholdername));
char attackername [PLATFORM_MAX_PATH];
GetClientName(attacker, attackername, sizeof(attackername));
PrintToChatAll("%s kill the ball holder %s", attackername, ballholdername);
}
public Action Command_Test(int client, int args)
{
char ballholdername [PLATFORM_MAX_PATH];
GetClientName(Touchdown_GetBallHolder(), ballholdername, sizeof(ballholdername));
PrintToChat(client, "Ball Drop Team %i", Touchdown_GetBallDropTeam());
PrintToChat(client, "Ball Holder %s", Touchdown_GetBallHolder());
if(Touchdown_IsClientBallHolder(client))
PrintToChat(client, "You are the ball holder");
else if(!Touchdown_IsClientBallHolder(client))
PrintToChat(client, "You are NOT the ball holder");
}
Changelog
1.0
1.1
1.2
1.3
1.4
1.5
2.0
2.1
2.2
2.3
- Released.
1.1
- Freeze all players except who touchdown in round end. (like original S4)
- Only the player who touchdown can fire his weapon in round end. (like original S4)
- Fixed sm_ballreset.
- Fixed ball bounce sound, sound should from the ball, not the player.
1.2
- Fixed bugs.
1.3
- Fixed bugs.
1.4
- Fixed bugs.
- All players can't fire weapon and move if time is up.
1.5
- Fixed warmup, now you can add warmup in this gamemode.
- New bgm "Come On" which is played in map "Tunnel" in S4.
- New bgm "Access" which is played in map "Neoniac" in S4.
- New bgm "Grave Consequence" which is played in map "Colosseum" in S4.
- New bgm "Syriana" which is played in map "Side 3" in S4.
- New bgm "StarFish" which is played in map "Warp Ship" in S4.
- New bgm "NB Power" which is played in map "Circle" in S4.
2.0
- Added Stats and rank system.
- Removed respawn timer in warmup.
- Added healthshot and taser. (You can disable this by cvar.)
- Added more natives.
2.1
- Removed insert sql query in error log. (I forgot to remove this before release.)
- Fixed kill timer bug.
2.2
- Fix kill messages display wrong point.
- Fix mp_ignore_round_win_conditions cause warmup not end problem.
2.3
- Fix pistol menu.
Если нашли Баги
To Do
- Убрать мой гадкий Код.
WARNING
- Этот плагин работает ТОЛЬКО с MP_TIMELIMIT.
Так что вы не сможете использовать MP_MAXROUNDS - Рекомендуется MAX PLAYERS = 10.
- Рекомендуется ROUNDTIME = 5.
Donate
Если вам нравиться робота, вы можете отблагодарить меня - steam trade offer.
Credits
[*]S4 League Developers - Thanks for their awesome game, I take idea, sound effects, bgms and overlay effect from this game.
[*]boomix - I take the flag model and resize it, and I also take lots of code(weapon menu, terminate round...etc) from his ctf gamemode.
[*]mottzi - I take the ball model and some code(spawn ball) from his Simple Ball Plugin.
[*]iEx - I think auras I use in this gamemode are made by him. I found files in my game folder, maybe I got them from someone's server.
[*]boomix - I take the flag model and resize it, and I also take lots of code(weapon menu, terminate round...etc) from his ctf gamemode.
[*]mottzi - I take the ball model and some code(spawn ball) from his Simple Ball Plugin.
[*]iEx - I think auras I use in this gamemode are made by him. I found files in my game folder, maybe I got them from someone's server.
Ссылки
GITHUB
Возможные карты для этого режима
Тема на AlliedMods
- Переменные
-
- sm_touchdown_respawn "8.0" //Время до возрождения
- sm_touchdown_reset "15.0" //Как долго мяч будет лежать до возврата на точку спавна, когда его обронят на землю.
- sm_touchdown_ball_position "1" // Точка где мяч будет прикреплен к части тела, когда игрок поднял его? 0 = front, 1 = head
- sm_touchdown_taser "1" // Давать игрокам Шокер? (Zeus)
- sm_touchdown_healthshot "1" // Давать игрокам Healshot? (мед. шприц)
- sm_touchdown_stats_enabled "1" // Включить статистику или нет? (Поддерживается ТОЛЬКО MYSQL!!! )
- sm_touchdown_stats_min "4" // Мин. кол. игроков что бы работала статистика.
- sm_touchdown_stats_table "touchdown" //MySQL имя таблицы в databases.cfg
- sm_touchdown_points_enabled "1" // Включить Очки или нет?
- sm_touchdown_points_td "10" // Как много очков игрок получит после touchdown?
- sm_touchdown_points_kill "2" //Как много очков игрок получит после убийства?
- sm_touchdown_points_assist "1" //Как много очков игрок получит после ассиста? (помощь)
- sm_touchdown_points_bonus "2.0" //Атака/Защита множитель бонуса
- sm_touchdown_points_death "0" //Как много очков игрок потеряет после смерти?
- sm_touchdown_points_dropball "0" //Как много очков игрок потеряет после потери мяча?
- sm_touchdown_points_killball "0" //Как много очков игрок получит после убийства игрока с мячем?
- sm_touchdown_points_pickball "2" //Как много очков игрок получит после поднятия мяча?
- sm_touchdown_points_start "0" //Стартовые Очки.
- sm_touchdown_points_min_enabled "1" //Включить минимальное кол. очков?
- sm_touchdown_points_min "0" //Минимальное кол. очков
Т.е. может быть и -500, но если sm_touchdown_points_min = 0, то ниже чем "0" НЕ может быть.
- Команды
-
Клиентские Команды:
- sm_guns //Меню Оружия
- sm_vol // Изменить Громкость Эффектов
- sm_rank // Показать ваш ранг
- sm_stats // Показать вашу статистику
- sm_top // Показать топ игроков
Админ Команды
- sm_resetball //Reset Ball (Нужен флаг ADMFLAG_GENERIC)
- sm_whereic // Узнать позицию точки куда вы смотрите (whereic.smx)
- Установка
-
- Загрузите все файлы на сервер и FASTDL
- Установите Easy Spawn Protection
- Если вы желаете использовать статистику и ранги, добавьте в "databases.cfg"(Работает только с MYSQL)
PHP:"touchdown" { "driver" "mysql" "host" "your_host" "database" "your_database" "user" "your_user" "pass" "your_pw" //"timeout" "0" "port" "3306" }