Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Custom Deathmessage - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ FS ][ All ]
Custom Deathmessage
Оценка: -----

#1
Пользователь офлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Раскрыть информацию
Пока не забыл, решил выложить заготовку скрипта для кастомных сообщений о смерти. Красноречивее слов скажут скрины:

Изображение

============================ Вариант 1 ============================

#include <a_samp>
public OnFilterScriptInit()
{
	ConnectNPC("Killer", "blank");
	return 1;
}
public OnFilterScriptExit()
{
	new PlayerName[MAX_PLAYER_NAME];
	for(new i, j = GetMaxPlayers(); i != j; i++)
	{
		if(!IsPlayerConnected(i)) continue;
		if(!IsPlayerNPC(i)) continue;
		GetPlayerName(i, PlayerName, sizeof(PlayerName));
		if(strcmp(PlayerName, "Killer", true) != 0) continue;
		else if(strcmp(PlayerName, "Killer", true) == 0) Kick(i);
	}
	return 1;
}
public OnPlayerSpawn(playerid)
{
	if(IsPlayerNPC(playerid))
	{
		new KillerName[MAX_PLAYER_NAME];
		GetPlayerName(playerid, KillerName, sizeof(KillerName));
		if(strcmp(KillerName, "Killer", true) == 0)
		{
			SetPlayerColor(playerid, 0xFFFFFF00);
		}
	}
	return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
	if(killerid == INVALID_PLAYER_ID)
	{
		new KillerName[MAX_PLAYER_NAME];
		for(new i, j = GetMaxPlayers(); i != j; i++)
		{
			if(!IsPlayerConnected(i)) continue;
			if(!IsPlayerNPC(i)) continue;
			GetPlayerName(i, KillerName, sizeof(KillerName));
			if(strcmp(KillerName, "Killer", true) != 0) continue;
			else if(strcmp(KillerName, "Killer", true) == 0)
			{
				killerid = i;
				break;
			}
		}
		switch(reason)
		{
			case 49: SetPlayerName(killerid, "SbitMashinoy");
			case 50: SetPlayerName(killerid, "RazrublenVintami");
			case 51: SetPlayerName(killerid, "Vzorvalsa");
			case 53: SetPlayerName(killerid, "Utonul");
			case 54: SetPlayerName(killerid, "Razbilsa");
			case 200: SetPlayerName(killerid, "Podkluchilsa");
			case 201: SetPlayerName(killerid, "Otkluchilsa");
			default: SetPlayerName(killerid, "Ue*alsa");
		}
		SendDeathMessage(playerid, killerid, reason);
		SetPlayerName(killerid, "Killer");
	}
	else SendDeathMessage(killerid, playerid, reason);
	return 1;
}


============================ Вариант 2 ============================

#include <a_samp>
public OnFilterScriptInit()
{
	ConnectNPC("SbitMashinoy", "blank");
	ConnectNPC("RazrublenVintami", "blank");
	ConnectNPC("Vzorvalsa", "blank");
	ConnectNPC("Utonul", "blank");
	ConnectNPC("Razbilsa", "blank");
	ConnectNPC("Podkluchilsa", "blank");
	ConnectNPC("Otkluchilsa", "blank");
	ConnectNPC("Ue*alsa", "blank");
	return 1;
}
public OnFilterScriptExit()
{
	new PlayerName[MAX_PLAYER_NAME];
	for(new i, j = GetMaxPlayers(); i != j; i++)
	{
		if(!IsPlayerConnected(i)) continue;
		if(!IsPlayerNPC(i)) continue;
		GetPlayerName(i, PlayerName, sizeof(PlayerName));
		if(strcmp(PlayerName, "SbitMashinoy", true) == 0
		|| strcmp(PlayerName, "RazrublenVintami", true) == 0
		|| strcmp(PlayerName, "Vzorvalsa", true) == 0
		|| strcmp(PlayerName, "Utonul", true) == 0
		|| strcmp(PlayerName, "Razbilsa", true) == 0
		|| strcmp(PlayerName, "Podkluchilsa", true) == 0
		|| strcmp(PlayerName, "Otkluchilsa", true) == 0
		|| strcmp(PlayerName, "Ue*alsa", true) == 0) Kick(i);
		else continue;
	}
	return 1;
}
public OnPlayerSpawn(playerid)
{
	if(IsPlayerNPC(playerid))
	{
		new KillerName[MAX_PLAYER_NAME];
		GetPlayerName(playerid, KillerName, sizeof(KillerName));
		if(strcmp(PlayerName, "SbitMashinoy", true) == 0
		|| strcmp(PlayerName, "RazrublenVintami", true) == 0
		|| strcmp(PlayerName, "Vzorvalsa", true) == 0
		|| strcmp(PlayerName, "Utonul", true) == 0
		|| strcmp(PlayerName, "Razbilsa", true) == 0
		|| strcmp(PlayerName, "Podkluchilsa", true) == 0
		|| strcmp(PlayerName, "Otkluchilsa", true) == 0
		|| strcmp(PlayerName, "Ue*alsa", true) == 0)
		{
			SetPlayerColor(playerid, 0xFFFFFF00);
		}
	}
	return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
	if(killerid == INVALID_PLAYER_ID)
	{
		new KillerName[MAX_PLAYER_NAME];
		switch(reason)
		{
			case 49:
			{
				for(new i, j = GetMaxPlayers(); i != j; i++)
				{
					if(!IsPlayerConnected(i)) continue;
					if(!IsPlayerNPC(i)) continue;
					GetPlayerName(i, KillerName, sizeof(KillerName));
					if(strcmp(KillerName, "SbitMashinoy", true) != 0) continue;
					else if(strcmp(KillerName, "SbitMashinoy", true) == 0)
					{
						killerid = i;
						break;
					}
				}
			}
			case 50:
			{
				for(new i, j = GetMaxPlayers(); i != j; i++)
				{
					if(!IsPlayerConnected(i)) continue;
					if(!IsPlayerNPC(i)) continue;
					GetPlayerName(i, KillerName, sizeof(KillerName));
					if(strcmp(KillerName, "RazrublenVintami", true) != 0) continue;
					else if(strcmp(KillerName, "RazrublenVintami", true) == 0)
					{
						killerid = i;
						break;
					}
				}
			}
			case 51:
			{
				for(new i, j = GetMaxPlayers(); i != j; i++)
				{
					if(!IsPlayerConnected(i)) continue;
					if(!IsPlayerNPC(i)) continue;
					GetPlayerName(i, KillerName, sizeof(KillerName));
					if(strcmp(KillerName, "Vzorvalsa", true) != 0) continue;
					else if(strcmp(KillerName, "Vzorvalsa", true) == 0)
					{
						killerid = i;
						break;
					}
				}
			}
			case 53:
			{
				for(new i, j = GetMaxPlayers(); i != j; i++)
				{
					if(!IsPlayerConnected(i)) continue;
					if(!IsPlayerNPC(i)) continue;
					GetPlayerName(i, KillerName, sizeof(KillerName));
					if(strcmp(KillerName, "Utonul", true) != 0) continue;
					else if(strcmp(KillerName, "Utonul", true) == 0)
					{
						killerid = i;
						break;
					}
				}
			}
			case 54:
			{
				for(new i, j = GetMaxPlayers(); i != j; i++)
				{
					if(!IsPlayerConnected(i)) continue;
					if(!IsPlayerNPC(i)) continue;
					GetPlayerName(i, KillerName, sizeof(KillerName));
					if(strcmp(KillerName, "Razbilsa", true) != 0) continue;
					else if(strcmp(KillerName, "Razbilsa", true) == 0)
					{
						killerid = i;
						break;
					}
				}
			}
			case 200:
			{
				for(new i, j = GetMaxPlayers(); i != j; i++)
				{
					if(!IsPlayerConnected(i)) continue;
					if(!IsPlayerNPC(i)) continue;
					GetPlayerName(i, KillerName, sizeof(KillerName));
					if(strcmp(KillerName, "Podkluchilsa", true) != 0) continue;
					else if(strcmp(KillerName, "Podkluchilsa", true) == 0)
					{
						killerid = i;
						break;
					}
			}
			case 201:
			{
				for(new i, j = GetMaxPlayers(); i != j; i++)
				{
					if(!IsPlayerConnected(i)) continue;
					if(!IsPlayerNPC(i)) continue;
					GetPlayerName(i, KillerName, sizeof(KillerName));
					if(strcmp(KillerName, "Otkluchilsa", true) != 0) continue;
					else if(strcmp(KillerName, "Otkluchilsa", true) == 0)
					{
						killerid = i;
						break;
					}
			}
			default:
			{
				for(new i, j = GetMaxPlayers(); i != j; i++)
				{
					if(!IsPlayerConnected(i)) continue;
					if(!IsPlayerNPC(i)) continue;
					GetPlayerName(i, KillerName, sizeof(KillerName));
					if(strcmp(KillerName, "Ue*alsa", true) != 0) continue;
					else if(strcmp(KillerName, "Ue*alsa", true) == 0)
					{
						killerid = i;
						break;
					}
			}
		}
		SendDeathMessage(playerid, killerid, reason);
	}
	else SendDeathMessage(killerid, playerid, reason);
	return 1;
}


P.S. Для русских сообщений нужен плагин Romanius'а для русских ников (на крэкнутом сервере не проверял).

Автор: OKStyle
1

#2
Пользователь офлайн   doctorAlex 

  • Местный
  • Вставить ник
  • Раскрыть информацию
На англ выложить никак?
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей