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

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
1.Автоудар ножа CS:GO
2. При написании в чат команды: "!knb", либо в консоли "sm_knb" (флаг "z") нож будет сам бить по противнику с расстояния 1.5 метра левой кнопкой мыши. Так же при повторном вводе этой команды автоудар отключается.
PHP:
#include <sdktools_engine>
#include <sdktools_trace>

#define KNIFE_DISTANCE	1.5

new bool:AutoHitKnife[MAXPLAYERS + 1];

public OnPluginStart() RegAdminCmd("sm_knb", AutoKnife, ADMFLAG_ROOT, "Переключатель автоудара ножом.");

public Action:AutoKnife(client, args)
{
	if (client) PrintToChat(client, "\x01\04[AutoKnife] \x01Вы \x03в%sключили \x05автоудар ножом\x01.", (AutoHitKnife[client] = !AutoHitKnife[client]) ? "":"ы");
	return Plugin_Handled;
}

public OnClientDisconnect_Post(client) AutoHitKnife[client] = false;

public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
	if (AutoHitKnife[client] && IsPlayerAlive(client))
	{
		static String:classname[13];
		GetClientWeapon(client, classname, sizeof(classname));
		if (strcmp(classname[7], "knife") == 0)
		{
			static Float:origin[3], Float:position[3];
			GetClientEyePosition(client, position);
			TR_TraceRayFilter(position, angles, MASK_SHOT, RayType_Infinite, TraceFilter, client);
			if (TR_GetEntityIndex() > 0)
			{
				TR_GetEndPosition(origin);
				if (GetVectorDistance(position, origin) * 0.01905 < KNIFE_DISTANCE)
				{
					buttons |= IN_ATTACK;
					return Plugin_Changed;
				}
			}
		}
	}
	return Plugin_Continue;
}

public bool:TraceFilter(entity, contentsMask, any:data) return entity != data && entity <= MaxClients;
Включаем автоудар командой !knb, берём нож и просто ловим на прицел противников (своих тоже может бить) - мочарит так, что аж анимация ножа не успевает прорисовываться! :biggrin:
 

8Ahnenerbe8

Участник
Сообщения
113
Реакции
30
@R1KO,
попроб
v3 Оффтоп
PHP:
#include <sourcemod>

public OnPluginStart()
{
    HookUserMessage(GetUserMessageId("HintText"), OnHookUserMessage_HintText, true);
}

public Action:OnHookUserMessage_HintText(UserMsg:iMsg_id, Handle:hPb, const iPlayers[], iPlayersNum, bool:bReliable, bool:bInit)
{
    decl String:szBuffer[32];
    PbReadString(hPb, "text", szBuffer, sizeof(szBuffer));

    if (strcmp(szBuffer, "#SFUI_Notice_YouDroppedWeapon", true) == 0)
    {
        return Plugin_Handled;
    }

    return Plugin_Continue;
}
Не было возможности протетестить вовремя,протестил сегодня,не работает почему-то =/
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
@R1KO,

Не было возможности протетестить вовремя,протестил сегодня,не работает почему-то =/
могу накидать пару вариантов еще)) вечером только если, проверил бы сам, да ксго качать нужн
 

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
PHP:
#include <sdktools_engine>
#include <sdktools_trace>

#define KNIFE_DISTANCE    1.5

new bool:AutoHitKnife[MAXPLAYERS + 1];

public OnPluginStart() RegAdminCmd("sm_knb", AutoKnife, ADMFLAG_ROOT, "Переключатель автоудара ножом.");

public Action:AutoKnife(client, args)
{
    if (client) PrintToChat(client, "\x01\04[AutoKnife] \x01Вы \x03в%sключили \x05автоудар ножом\x01.", (AutoHitKnife[client] = !AutoHitKnife[client]) ? "":"ы");
    return Plugin_Handled;
}

public OnClientDisconnect_Post(client) AutoHitKnife[client] = false;

public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
    if (AutoHitKnife[client] && IsPlayerAlive(client))
    {
        static String:classname[13];
        GetClientWeapon(client, classname, sizeof(classname));
        if (strcmp(classname[7], "knife") == 0)
        {
            static Float:origin[3], Float:position[3];
            GetClientEyePosition(client, position);
            TR_TraceRayFilter(position, angles, MASK_SHOT, RayType_Infinite, TraceFilter, client);
            if (TR_GetEntityIndex() > 0)
            {
                TR_GetEndPosition(origin);
                if (GetVectorDistance(position, origin) * 0.01905 < KNIFE_DISTANCE)
                {
                    buttons |= IN_ATTACK;
                    return Plugin_Changed;
                }
            }
        }
    }
    return Plugin_Continue;
}

public bool:TraceFilter(entity, contentsMask, any:data) return entity != data && entity <= MaxClients;
Включаем автоудар командой !knb, берём нож и просто ловим на прицел противников (своих тоже может бить) - мочарит так, что аж анимация ножа не успевает прорисовываться! :biggrin:

Заливай в ресурсы :)
 

RoadSide Romeo

rest in peace...
Сообщения
1,628
Реакции
1,489
Привет модеры.В плагине Level Ranks присутвсвует команда !knife как её срезать и чтоб плагин имел только ранги.Чтобы вообще ножами не пахло и перчатками.
Чувак а версия ядра то какая у тебя? Небось 1.0.4
 

code++

Участник
Сообщения
367
Реакции
129
Народ может кто переделать данный плагин в ядро дабы в будущем прикреплять к нему модули ?Bloodsucker Mode
 

Lookas

Участник
Сообщения
117
Реакции
9
Поможете убрать массив в плагине ? Мне не надо чтобы текст отображался.... Через Квары не получается, решил убрать массив, намудрил там...
 

Вложения

  • quakesoundsv3.sp
    40.4 КБ · Просмотры: 7

skywalker

Участник
Сообщения
1,153
Реакции
263
Парни помощь нужна,есть ли плагин для кс го блокирующий клан-тег? (многие видели наверно вх,аим меняющийся)AdminTag_russian.smx не справляется
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Поможете убрать массив в плагине ? Мне не надо чтобы текст отображался.... Через Квары не получается, решил убрать массив, намудрил там...
самым варварским методом можешь сделать сам, закомментируй (//) строки, которые начинаются на Print (замена в нотепаде PrintTo на //PrintTo), убирается весь текст в принципе, другое дело, если хочешь убрать только по центру закомментируй PrintTextCenter аналогичным способом
 

Mikhaylovich

Участник
Сообщения
42
Реакции
1
Народ кто напишет плагин типо damage info только если в определенном диапазоне хп попал пишет текст типо "почти убил" "ничё че вх?"(когда через стенку убил) "читер полюбому" когда убил в голову с носкопа , для авп , ну и когда с ножа зарезал "парэжу" желательно что бы фразы чередовались
 
Сверху Снизу