Не знаю как доделать частично рабочий плагин

Данилка

Участник
Сообщения
57
Реакции
15
Собственно плагин не мой но хотелось бы его улучшить но не знаю как так как ранее с таким не сталкивался))

сначало обьясню что за плагин и с чем его едят

Введение: Плагин пишет в чат имя игрока котороый кинул блеву в другова игрока в чат

Ну вроде ознакомил)) Теперь перейдем к делу проблема в том что плагин просто уведомляет кто ет сделал но не наказывает обидчика я придумал один способ и знаю что он возможен но не знаю как его написать =( хочу чтоб обидчика шлепало ну грубо снимало 30 хп за одного заблеванного человека если он заблевал больше 3 людей его убивало как ет реализовать ?

вот сам плагин:

PHP:
public OnPluginStart()
{
    HookEvent("player_now_it", Event_NowVomit);
}

public Event_NowVomit(Handle:event, const String:name[], bool:dontBroadcast)
{
    new thrower = GetClientOfUserId(GetEventInt(event, "attacker"));
    new victim = GetClientOfUserId(GetEventInt(event, "userid"));

    if (IsClientInGame(thrower) && !IsFakeClient(thrower) && IsClientInGame(victim) && !IsFakeClient(victim) && !GetEventBool(event, "by_boomer"))
    {
        PrintToChatAll("\x04Player \x05%N \x01threw a bile bomb at \x05%N!", thrower, victim);
    }
}
 

duxa

Участник
Сообщения
7
Реакции
8
Что-то вроде этого. Нету возможности проверить.
PHP:
#include <sourcemod>
#include <sdktools>

new slap_number = 0; 

public OnPluginStart() 
{ 
	HookEvent("player_now_it", Event_NowVomit); 
} 

public Event_NowVomit(Handle:event, const String:name[], bool:dontBroadcast) 
{ 
	new thrower = GetClientOfUserId(GetEventInt(event, "attacker")); 
	new victim = GetClientOfUserId(GetEventInt(event, "userid")); 

	if (IsClientInGame(thrower) && !IsFakeClient(thrower) && IsClientInGame(victim) && !IsFakeClient(victim) && !GetEventBool(event, "by_boomer")) 
    { 
		if (++slap_number > 3)	//Если игрок "заблевал" больше 3 людей
        { 
			ForcePlayerSuicide(thrower)
			PrintToChatAll("\x04Player \x05%N \x01was killed for attack \x05%N!", thrower, victim); 
			slap_number = 0;	//Игрок наказан, сбрасываем число "заблеваных" людей
		} else
		{
		SlapPlayer(thrower, 30, true);	//2 значение - урон наносимый игроку
		PrintToChatAll("\x04Player \x05%N \x01threw a bile bomb at \x05%N!", thrower, victim);
		}
    }
}
 
Последнее редактирование:

Данилка

Участник
Сообщения
57
Реакции
15
Не плохо надо будет затестить =) спасибо пока не буду говорить)))

Добавлено через 1 час 34 минуты
Спасибо все работает =)
 
Последнее редактирование:
Сверху Снизу