Доступ к архиву

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

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

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

[Мануал] Арена смерти. (Orio[N])

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

Like2

Компетентный
Добрый день. :)

Небольшое описание:
Игрок встает на пикап, соглашается, его телепортирует куда-либо (координаты поставите), за убийство игрока + 200$, за смерть -100$.
- Рандом оружие (5 видов).
- Красивый текст при убийстве/смерти.

Сразу же говорю, неточная копия..
- Статистику арены смерти чуть позже доделаю.
- Ну и маппинг позже сделаю, сейчас нет возможности зайти в mta.

Начнем.
Ко всем new:
PHP:
new zone[MAX_PLAYERS], pickupzone;
В OnPlayerConnect:
PHP:
zone[playerid] = false;
В public SetPlayerSpawn:
PHP:
if(zone[playerid] == 1)
{
	SetPlayerPos(playerid, 268.5777,1857.9351,9.8133);
	switch(random(6))
	{
	case 0: GivePlayerWeapon(playerid, 9, 200);
	case 1: GivePlayerWeapon(playerid, 16, 200);
	case 2: GivePlayerWeapon(playerid, 24, 200);
	case 3: GivePlayerWeapon(playerid, 26, 200);
	case 4: GivePlayerWeapon(playerid, 32, 200);
	case 5: GivePlayerWeapon(playerid, 34, 200);
	}
}
В OnGameModeInit:
PHP:
pickupzone = CreatePickup(1239, x,y,z,-1); // ставите координаты где хотите..
В OnPlayerPickup:
PHP:
if(pickupid == pickupzone)
{
	ShowPlayerDialog(playerid, 599, DIALOG_STYLE_MSGBOX,"Арена смерти","Добро пожаловать на арену смерти.\nОписание: за убийство вы получаете $200, за смерть -$100.\nВы хотите принять участие в арене смерти?","Принять","Отмена");
	SetPlayerPos(playerid, x,y,z); // ставите координаты, чтобы когда встанишь на пикап, немного тпшило от него, а то диалог.окно будет появляеться. :|
}
В OnDialogResponse:
PHP:
case 599:
{
	switch(listitem)
	{
	case 0:
		{
			zone[playerid] = 1;
			SendClientMessage(playerid, -1, "Вы приняли участие в арене смерти.");
			SetPlayerPos(playerid, 268.5777,1857.9351,9.8133);
			switch(random(6))
			{
			case 0: GivePlayerWeapon(playerid, 9, 200);
			case 1: GivePlayerWeapon(playerid, 16, 200);
			case 2: GivePlayerWeapon(playerid, 24, 200);
			case 3: GivePlayerWeapon(playerid, 26, 200);
			case 4: GivePlayerWeapon(playerid, 32, 200);
			case 5: GivePlayerWeapon(playerid, 34, 200);
			}
		}
	case 1:
		{
			SendClientMessage(playerid, -1, "Вы отказались от участия.");
		}
	}
}
В OnPlayerDeath:
PHP:
if(zone[playerid] == 1 || zone[killerid] == 1)
{
	new string[126];
	GivePlayerMoney(killerid, -200);
	GivePlayerMoney(playerid, 100);
	format(string, sizeof(string), "~r~$+%d", 200);
	GameTextForPlayer(playerid, string, 200, 1);
	format(string, sizeof(string), "~r~$-%d", 100);
	GameTextForPlayer(killerid, string, 200, 1);
}
Ну и команда для выхода с арены:
PHP:
CMD:exarena(playerid, params[])
{
	if(zone[playerid] == 0) return 1;
	SetPlayerHealth(playerid, 0), SendClientMessage(playerid, -1, "Вы покинули арену смерти.");
	zone[playerid] = 0;
	return true;
}
ВНИМАНИЕ:
Возможно ошибки есть, сам не проверял. Будут ошибки - напишите..
Автор: я.
​
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу