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

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

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

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

Система побега с тюрмы с помощю ключей

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

MrJunior

Компетентный

Я продолжаю делать команды и системы. Данную систему я видел на некоторых серверах и решил добавить на свой ну и сюда выложить так как его нет на П-И.
Перейдём к системе. Данная система позволяет убежать с тюрьмы любому игроку если у него есть ключи от тюрьмы. Их можно получить убив полицейского/ФБР или вам может передать ключи игрок у которого они есть.

Сперва нужно добавить в enum pInfo.
PHP:
pKey,
Так-же по желанию можно добавить его в сохранение/загрузку и т.д. Что-бы кол-во ключей сохранялись.

Идем дальше. В OnPlayerDeath добавляем:
PHP:
	if(PlayerInfo[playerid][pMember] == 10 || PlayerInfo[playerid][pMember] == 11 || PlayerInfo[playerid][pMember] == 12 ||PlayerInfo[playerid][pMember] == 13 ||PlayerInfo[playerid][pMember] == 31) PlayerInfo[killerid][pKey] += 1;

Внимание: меняйте id фракций на свои!



Ладно. Основное есть. Теперь сами команды побега и передачи ключей:

/escape:
PHP:
	else if(strcmp(cmd, "/escape", true) == 0)
	{
	    if(PlayerInfo[playerid][pKey] == 0) return SCM(playerid, COLOR_LIGHTRED, "У вас нет ключей от тюрмы!");
	    if(PlayerInfo[playerid][pJailed] == 0) return SCM(playerid, COLOR_LIGHTRED, "Вы не сидите в тюрме!");
	    PlayerInfo[playerid][pJailed] = 0, PlayerInfo[playerid][pJailTime] = 0;
	    SetPlayerPos(playerid, 1543.1598, -1675.8076, 13.5559), SetPlayerFacingAngle(playerid, 90.0), SetPlayerInterior(playerid, 0), SetPlayerVirtualWorld(playerid, 0);
	    SCM(playerid, COLOR_LIGHTGREEN, "Вы незаметно сбежали с тюрмы");
	    return 1;
	}

Внимание: Переменные pJailed(Сидит в тюрьме) и pJailTime(время в тюрьме) меняйте на свои!


/givekey:
PHP:
	else if(strcmp(cmd, "/givekey", true) == 0)
	{
	    if(PlayerInfo[playerid][pKey] == 0) return SCM(playerid, COLOR_LIGHTRED, "У вас нет ключей");
	    new giveplayerid, sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], string[110];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return  SendClientMessage(playerid, COLOR_WHITE, "Введите: /givekey [id]");
	    giveplayerid = ReturnUser(tmp), GetPlayerName(playerid, sendername, sizeof(sendername)), GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
	    PlayerInfo[playerid][pKey] -= 1;
	    PlayerInfo[giveplayerid][pKey] += 1;
	    format(string, sizeof(string), "%s передал вам ключи от тюрмы", sendername), SCM(giveplayerid, COLOR_LIGHTGREEN, string);
	    format(string, sizeof(string), "Вы передали %s ключи от тюрмы", giveplayer), SCM(playerid, COLOR_LIGHTGREEN, string);
	    return 1;
	}


На этом всё. Надеюсь вам понравится система. Всё писал лично я. Все вопросы в ответы.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу