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

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Maus, HP Left..

PS: Что-то не нашел я его сейчас на AM.. Короче если что, вот оригинал... Там только файл переводов рассчитан на MoreColors, т.к. оригинального что-то не нашел, но думаю подправить не проблема.

А вот компактный:
PHP:
public OnPluginStart() 
{
	LoadTranslations("hpleft.phrases");
	HookEvent("player_death", playerDeath);
}
public Action:playerDeath(Handle:event, const String:name[], bool:dontBroadcast)
{
	new victim = GetClientOfUserId(GetEventInt(event, "userid")),
		attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
	decl String:weapon[24];
	GetEventString(event, "weapon", weapon, sizeof(weapon));
	//Suicide of some form
	if(attacker!=victim && attacker>0 && IsClientInGame(attacker) && strlen(weapon))
	{
		ReplaceStringEx(weapon, sizeof(weapon), "WEAPON_", "");
		PrintToChat(victim,"[HPLEFT] \x04%N \x01%t \x04%s \x01%t \x04%d HP", attacker, "Killed you", weapon, "And has", GetClientHealth(attacker));
	}
}
Файл перевода тогда
C-подобный:
"Phrases"
{
	"Killed you"
	{
		"en"		"killed you with a"
		"ru"		"убил вас с"
	}
	"And has"
	{
		"en"		"and has"
		"ru"		"и имеет"
	}
}
 

Вложения

  • hp_left.sp
    3.1 КБ · Просмотры: 23
  • hp_left.phrases.txt
    262 байт · Просмотры: 24

Maus

Участник
Сообщения
125
Реакции
6
KorDen, он отображает только HP или броню ещё?)
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Maus, только хп, броню тоже можно в принципе, добавив GetClientArmor
Т.е. преддпоследнюю строчку заменить на
PrintToChat(victim,"[HPLEFT] \x04%N \x01%t \x04%s \x01%t \x04%d HP, %d armor", attacker, "Killed you", weapon, "And has", GetClientHealth(attacker), GetClientArmor(client));
 
  • Мне нравится
Реакции: Maus

Maus

Участник
Сообщения
125
Реакции
6
KorDen, супер) этот плагин лучше чем на АМ=) Спасибо тебе большое за труд)
 

mihaput

Участник
Сообщения
694
Реакции
166
Скорей так:
PrintToChat(victim,"[HPLEFT] \x04%N \x01%t \x04%s \x01%t \x04%d HP, %d armor", attacker, "Killed you", weapon, "And has", GetClientHealth(attacker), GetClientArmor(attacker));
Иначе не компилит.
Кстати, у меня почему то в чат цветом не хочет показывать, все в дефолте выводит (((
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
Кстати, у меня почему то в чат цветом не хочет показывать, все в дефолте выводит (((

PHP:
PrintToChat(victim,"\x01[HPLEFT] \x04%N \x01%t \x04%s \x01%t \x04%d HP, %d armor", attacker, "Killed you", weapon, "And has", GetClientHealth(attacker), GetClientArmor(attacker));

Оффтоп
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
mihaput, да, забыл.. Короче на заметку, чтобы сами могли фиксить - если хочется цветов, нужно обязательн первым сиволом чтобы был какой-то цвет... т.е. строчку нужно начинать с \x01 или другого цвета
 

Maus

Участник
Сообщения
125
Реакции
6
KorDen Не отображает ничего в чате после смерти:(
Вот исходник:
#include <sourcemod>

public Plugin:myinfo =
{
name = "Basic HP Left",
author = "KorDen",
description = "Basic HP Left",
version = "1.0.0.0",
url = "http://hlmod.ru"
}

public OnPluginStart()
{
LoadTranslations("hpleft.phrases");
HookEvent("player_death", playerDeath);
}
public Action:playerDeath(Handle:event, const String:name[], bool:dontBroadcast)
{
new victim = GetClientOfUserId(GetEventInt(event, "userid")),
attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
decl String:weapon[24];
GetEventString(event, "weapon", weapon, sizeof(weapon));

if(attacker!=victim && attacker>0 && IsClientInGame(attacker) && strlen(weapon))
{
ReplaceStringEx(weapon, sizeof(weapon), "WEAPON_", "");
PrintToChat(victim,"\x01[HP Left] \x04%N \x01%t \x04%s \x01%t \x04%d HP, %d ARMOR", attacker, "Killed you", weapon, "And has", GetClientHealth(attacker), GetClientArmor(attacker));
}
}
 

vanbka9

Участник
Сообщения
14
Реакции
13
Не отображает ничего в чате после смерти:(
Замени LoadTranslations("hpleft.phrases"); на LoadTranslations("hp_left.phrases");
PHP:
#include <sourcemod>
public Plugin:myinfo =
{
	name = "Basic HP Left",
	author = "KorDen",
	description = "Basic HP Left",
	version = "1.0.0.0",
	url = "http://hlmod.ru"
}

public OnPluginStart() 
{ 
	LoadTranslations("hp_left.phrases"); // Было LoadTranslations("hpleft.phrases");
	HookEvent("player_death", playerDeath); 
} 
public Action:playerDeath(Handle:event, const String:name[], bool:dontBroadcast) 
{ 
	new victim = GetClientOfUserId(GetEventInt(event, "userid")), 
	attacker = GetClientOfUserId(GetEventInt(event, "attacker")); 
	decl String:weapon[24]; 
	GetEventString(event, "weapon", weapon, sizeof(weapon)); 

	if(attacker!=victim && attacker>0 && IsClientInGame(attacker) && strlen(weapon)) 
	{ 
		ReplaceStringEx(weapon, sizeof(weapon), "WEAPON_", ""); 
		PrintToChat(victim,"\x01[HP Left] \x04%N \x01%t \x04%s \x01%t \x04%d HP, %d ARMOR", attacker, "Killed you", weapon, "And has", GetClientHealth(attacker), GetClientArmor(attacker));
	} 
}
 

Вложения

  • hp_left.sp
    946 байт · Просмотры: 13
  • hp_left.phrases.txt
    161 байт · Просмотры: 13
  • Мне нравится
Реакции: Maus

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
или переименуй hp_left.phrases в hpleft.phrases
 
  • Мне нравится
Реакции: Maus

Maus

Участник
Сообщения
125
Реакции
6
vanbka9
R1KO
Спасибо ребят:) Заработало)))

Добавлено через 6 часов 12 минут
Нельзя ли как-нибудь упростить данный плагин?:)
http://hlmod.ru/forum/showthread.php?t=18250

Добавлено через 6 часов 13 минут
т.е. убрать все конфиги, теги... оставить лишь те куски кода которые перекрашивают префикс)
 
Последнее редактирование:

Burton686

Участник
Сообщения
16
Реакции
0
The End Is Near..,можешь ли ты написать плагин чтобы вместо гранаты на сервере css был снежок в руке?
 

kapellan

Участник
Сообщения
36
Реакции
4
Доброго времени суток!
Господа, нужен плагин чтоб первому человеку в статистике psyhoStats выдавался скин, и автоматом снимался если он в стате спустился с первого места, и соответственно другому первому выдавался, возможно-ли такое реализовать для сервера CSS под sm?


Обращаться в скайп: kapellan85
 

T34

Участник
Сообщения
5
Реакции
0
The End Is Near, не мог бы ты написать плагин очистки консоли на стороне клиента? Чтобы по команде с сервера очищалась консоль на стороне клиента.
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
можешь написать плагин который разрешал бы заходить в наблюдатели только игрокам с флагом А
Те по принципу mp allowspectators
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
Maus,
да я то в принципе могу сделать по принципу когда игрок меняет команду на наблюдатдлей его возвращает в старую...
Но я не смогу сделать что бы не отображалось в меню зайти в команду наблюдателей
 

Maus

Участник
Сообщения
125
Реакции
6
Черная вдова неплохо))) можно добавить уведомление в чате \ хинте, можно кик \ бан добавить)) А можно даже и звук какой-нибудь впихнуть:D

Добавлено через 1 минуту
Черная вдова ты вроде с SourcePawn дружишь)) Помоги пожалуйста в теме: http://hlmod.ru/forum/plaginy-dlya-sourcemod/2569-sm-deathbeam-clientprefs-v-1-1-a-3.html. Самый последний пост)

Добавлено через 5 минут
Черная вдова Нашёл вот такой плагин) http://hlmod.ru/forum/showthread.php?t=4163
но там принцип немного другой)
 
Последнее редактирование:
Сверху Снизу