Написание плагинов

gravestal

Участник
Сообщения
30
Реакции
4
Attacking Turell
При написания определенной команды создается турель, которая будет убивать противников кто будет поподать в ее радиусе видимости.
 

September

Участник
Сообщения
5,238
Реакции
2,742
1. Название плагина: На усмотрение
2. Детальное описание:
Есть префиксы по флагам доступа

Нужно сделать префиксы по админ группам
Настройки либо вывести в cfg наподобии
PHP:
"PrefGroup" 
{ 
     "group"  "ADMIN" 
     "pref"  "[ADMIN]"
}
{ 
     "group"  "ROOT" 
     "pref"  "[ROOT]"
}
}

Или редактировать это все в исходнике, желательно 2 примера в нем, дальше разберусь:)
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
согласен:)
а можно ещё написать такой плагин который отобразит в чате:
(Команда в которой находишься) (ADMIN) Ник: Текст (флаг b)

Добавлено через 1 минуту
Есть у меня такой исходник:

#include <sourcemod>
#include <cstrike>
#include <colors>

public OnPluginStart()
{
AddCommandListener(Command_Say, "say");
}

public Action:Command_Say(client, const String:command[], args)
{
if(!client || !IsClientInGame(client))
return Plugin_Continue;

if(GetUserAdmin(client) != INVALID_ADMIN_ID)
{
decl String:sText[192];
GetCmdArgString(sText, sizeof(sText));

new startidx;
if(sText[strlen(sText)-1] == '"')
{
sText[strlen(sText)-1] = '\0';
startidx = 1;
}

decl String:sBuffer[256];

switch(GetClientTeam(client))
{
case CS_TEAM_SPECTATOR:
Format(sBuffer, sizeof(sBuffer), "{default}(Spectator) {green}(ADMIN) {teamcolor}%N{default}: %s", client, sText[startidx]);
case CS_TEAM_T:
Format(sBuffer, sizeof(sBuffer), "{default}(Terrorist) {green}(ADMIN) {teamcolor}%N{default}: %s", client, sText[startidx]);
case CS_TEAM_CT:
Format(sBuffer, sizeof(sBuffer), "{default}(Counter-Terrorist) {green}(ADMIN) {teamcolor}%N{default}: %s", client, sText[startidx]);
}

CPrintToChatAllEx(client, "%s", sBuffer);

return Plugin_Handled;
}

return Plugin_Continue;
}

пишешь например !bank всё норм, а если написать /bank то он не скроет команду(
Пробуй
 

Вложения

  • adminchat.sp
    893 байт · Просмотры: 38

HooLIGUN

MatchMaking CS:S / RGMIX.ru
Сообщения
1,062
Реакции
267
Можешь написать плагин,который будет скидывать бомбу у игрока,который стоит афк более 20 сек?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
September, а в чем разница ? У одной группы одни флаги, у другой другие.
 

Лёха Першиков

Участник
Сообщения
10
Реакции
1
Названия не помню.
Нужен плагин для ДМ сервера, возрождение игрока происходит через минуту после его смерти.
Т.е нужен плагин, который будет писать игроку, через сколько он возродится примерно так:

До возрождения 1 минута.
(через 10 секунд)
50 секунд
(через 10 секунд)
40 и т.д
 

September

Участник
Сообщения
5,238
Реакции
2,742
September, а в чем разница ? У одной группы одни флаги, у другой другие.


Ну к примеру у меня 10 групп админов
И к каждой группе нужен свой префикс
Если выдавать по флагам, получится безобразие, да и не хватит мне их
 

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
Последнее редактирование модератором:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
September, ну не у всех столько групп как у тебя. Напиши в скайп я попробую написать плагин.
 

★$$StOk$$★

Участник
Сообщения
629
Реакции
187
В этой теме можете оставлять свои заявки по написанию различных плагинов:


P.S. Некоторые плагины могу пропустить

P.S.S. Буду рад, если кто-то из скриптеров сюда будет заглядывать

Переделать Show damage,дабы показывал не только нанесенный урон,но и
Ник игрока
Нанесенный урон
Сколько осталось HP
The End Is Near... Я в тебя верю,надеюсь ты сделаешь ) :beer:
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
★$$StOk$$★
Пробуй
PHP:
#include <sourcemod>

public OnPluginStart()
{
	HookEvent("player_hurt", Event_OnPlayerHurt);
}

public Event_OnPlayerHurt(Handle:event, const String:name[], bool:silent)
{
	new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));

	if (attacker > 0)
	{
		if (!IsFakeClient(attacker))
		{
			new client = GetClientOfUserId(GetEventInt(event, "userid"));

			if (client > 0)
			{
				PrintCenterText(attacker, "%N\n- %d HP\nОсталось: %d", client, GetEventInt(event, "dmg_health"), GetClientHealth(client));
			}
		}
	}
}
 

★$$StOk$$★

Участник
Сообщения
629
Реакции
187
★$$StOk$$★
Пробуй
PHP:
#include <sourcemod>

public OnPluginStart()
{
	HookEvent("player_hurt", Event_OnPlayerHurt);
}

public Event_OnPlayerHurt(Handle:event, const String:name[], bool:silent)
{
	new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));

	if (attacker > 0)
	{
		if (!IsFakeClient(attacker))
		{
			new client = GetClientOfUserId(GetEventInt(event, "userid"));

			if (client > 0)
			{
				PrintCenterText(attacker, "%N\n- %d HP\nОсталось: %d", client, GetEventInt(event, "dmg_health"), GetClientHealth(client));
			}
		}
	}
}
Сейчас не могу,вечерком потестю ) Спасибо!

Добавлено через 3 минуты
Все нормально,спасибо!
 
Последнее редактирование:
Сверху Снизу