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

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

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

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

Мануал Проникновение за пределы карты(оповещение)

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

DDoS_[XakeR]

Компетентный
Всем привет,решил сделать скрипт который будет оповещать всех игроков о том что какой-либо игрок проник за пределы игровой карты т.е - этот скрипт подойдет для RP модов в которых действия происходят в каком-либо городе,или деревне.Можно проводить мереоприятия по определенному пути,и сделать так чтобы администраторов оповещало о том что игрок "мухлюет".Так же можно использовать для DM модов...
Ко всем инклюдам:
PHP:
#include <streamer>
Ко всем дефайнам:
PHP:
#define MAX_ZONES 1//кол-во зон можно менять
Ко всем new
PHP:
new zones[MAX_ZONES];
new Float:zones_points_0[] = {
		1920.0,1375.0,
		2062.0,1375.0,
		2062.0,1285.0,
		1919.0,1286.0,
		1920.0,1375.0
};//координаты взяты у первичного появления в Las-Veturas
new zones_text[MAX_ZONES][64] = {
	"NameZone"//название зоны
};
В public OnGameModeInit()
PHP:
zones[0] = CreateDynamicPolygon(zones_points_0);
В конец мода:
PHP:
public OnPlayerEnterDynamicArea(playerid, areaid) {
	for (new zone=0; zone<MAX_ZONES; zone++) {
		if (areaid==zones[zone]) {
			new msg[90];
			format(msg, 90, "Welcome to %s", zones_text[zone]);
			SendClientMessage(playerid, 0xFFFFFFFF, msg);
		}
	}
	return 1;
}

public OnPlayerLeaveDynamicArea(playerid, areaid) {
	for (new zone=0; zone<MAX_ZONES; zone++) {
		if (areaid==zones[zone]) {
			new msg[90];
			format(msg, 90, "Goodbye from %s", zones_text[zone]);
			SendClientMessage(playerid, 0xFFFFFFFF, msg);
		}
	}
	return 1;
}
А теперь создаем оповещение:
в public OnPlayerLeaveDynamicArea(playerid, areaid)
PHP:
		new name[25], string[256];
	    GetPlayerName(playerid, name, sizeof(name));
	    format(string, sizeof(string), "%s покинул игровую карту", name);
	    SendClientMessageToAll(COLOR_WHITE, string);
Вот и все.
SendClientMessageToAll - можно заменить на оповещение администраторам.
Координаты я взял из программы SAMP_Zone_Editor
Так же в ней Вы найдете все эти паблики и переменные,я их вставил сюда чтобы вы увидили что да как.
**Оповещение игрока о входе/выходы из карты можно убрать.​
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу