Доступ к готовым решениям

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Иконка в киллчат при убийстве транспортом в транспорте

Статус
В этой теме нельзя размещать новые ответы.

OKStyle

Адвокат по делам семейным
Administrator
Wiki Team
Регистрация
4 Мар 2011
Сообщения
7,094
Лучшие ответы
226
Репутация
2,455
Награды
11
На официальном форуме задали вопрос: как вывести иконку в килл-лист, если игрока убили в транспорте. Другими словами, если 2 тачки толкались и одна взорвалась, то сейчас киллер не имеет отношения к убийству по показаниям килл-листа. Код ниже это исправит.

PHP:
public OnPlayerSpawn(playerid)
{
	SetPVarInt(playerid, "killerid", INVALID_PLAYER_ID); // устанавливаем несуществующего убийцу
	return 1;
}
public OnVehicleDamageStatusUpdate(vehicleid, playerid)
{
	if(GetPlayerVehicleID(playerid) != vehicleid)
	{
		for(new i = GetMaxPlayers() - 1; i != -1; i--)
		{
			if(!IsPlayerConnected(i) || IsPlayerNPC(i) || !IsPlayerInVehicle(i, vehicleid)) continue; // нашли водителя авто, который наносил повреждения другому авто
			SetPVarInt(i, "killerid", playerid); // нашли убийцу и записали в переменную
			break; // если только водителя убивать, если и пассажиров - убирай строку
		}
	}
	return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
	if(killerid == INVALID_PLAYER_ID) killerid = GetPVarInt(playerid, "killerid"); // если не самоубийство, то проверяем переменную убицйы
	if(killerid != INVALID_PLAYER_ID) SendDeathMessage(killerid, playerid, 49); // если убийца найден, то отправляем сообщение
	return 1;
}
Автор я. Может пригодиться для дерби-серверов. Тестируйте.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу