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

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

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

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

Работа карманника. [Engine RP]

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

LivingThings

Умник
Hello all. :dn:

Ко всем дефайнам:
PHP:
#define ROBJOB                                      55

Команды:
PHP:
CMD:clearwanted(playerid)
{
	if(PlayerInfo[playerid][pJob] != ROBJOB) return SendClientMessage(playerid, -1, "Ошибка: Вы не являетесь карманником.");
    if(!IsPlayerInRangeOfPoint(playerid, 15.0, 2809.2434,-1167.6431,1025.5703)) return SendClientMessage(playerid, -1, "Ошибка: Вы должны находиться в убежище карманников, для снятия розыска.");
	if(PlayerInfo[playerid][pWanted] == 0) return SendClientMessage(playerid, -1, "Ошибка: Вы не находитесь в уголовном розыске...");
	SendClientMessage(playerid, COLOR_BLUE, "[ВНИМАНИЕ]{FFFFFF} Ваш розыск был полностью очищен, впредь, будьте аккуратней!");
	PlayerInfo[playerid][pWanted] = 0;
	SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pWanted]);
	return 1;
}
CMD:rob(playerid, params[])
{
	new points, arank;
	if(PlayerInfo[playerid][pRobSkill] >= 0 && PlayerInfo[playerid][pRobSkill] <= 50) arank = 1;
	else if(PlayerInfo[playerid][pRobSkill] >= 51 && PlayerInfo[playerid][pRobSkill] <= 100) arank = 2;
	else if(PlayerInfo[playerid][pRobSkill] >= 101 && PlayerInfo[playerid][pRobSkill] <= 200) arank = 3;
	else if(PlayerInfo[playerid][pRobSkill] >= 201 && PlayerInfo[playerid][pRobSkill] <= 400) arank = 4;
	else if(PlayerInfo[playerid][pRobSkill] >= 401) arank = 5;
	if(PlayerInfo[playerid][pJob] != ROBJOB) return SendClientMessage(playerid, -1, "Ошибка: Вы не являетесь карманником.");
    if(PlayerInfo[playerid][pWanted] >= arank) return SendClientMessage(playerid, -1, "Ошибка: Вы уже находитесь в розыске. Очистите розыск, после продолжайте грабить...");
	if(sscanf(params, "u", params[0])) return SendClientMessage(playerid, COLOR_LIGHTRED, "Использование: /rob [ ид игрока ]");
	if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, PlayerIsNotOnline);
	if(PlayerLogged[params[0]] == 0) return SendClientMessage(playerid, -1, PlayerIsNotLogged);
	if(params[0] == playerid) return SendClientMessage(playerid, -1, "Ошибка: Вы не можете ограбить самого себя.");
	if(!IsPlayerInRangeOfPlayer(3.0, playerid, params[0])) return SendClientMessage(playerid, -1, "Ошибка: Игрок должен находиться рядом с вами, для ограбления.");
	if(PlayerInfo[params[0]][pLevel] < 2) return SendClientMessage(playerid, -1, "Ошибка: Невозможно ограбить игрока ниже 2 уровня.");
	if(PlayerInfo[params[0]][pCash] < 500) return SendClientMessage(playerid, -1, "Ошибка: У указанного игрока слишком мало денег при себе.");
	if(PlayerInfo[params[0]][pJob] == ROBJOB) return SendClientMessage(playerid, -1, "Ошибка: Невозможно ограбить карманника.");
	if(PlayerInfo[params[0]][pCash] >= 500 && PlayerInfo[params[0]][pCash] <= 600) { points = 50-random(300); }
	else if(PlayerInfo[params[0]][pCash] >= 600 && PlayerInfo[params[0]][pCash] <= 850) { points = 180-random(300); }
	else if(PlayerInfo[params[0]][pCash] >= 850 && PlayerInfo[params[0]][pCash] <= 1250) { points = 360-random(600); }
	else if(PlayerInfo[params[0]][pCash] >= 1250 && PlayerInfo[params[0]][pCash] <= 1480) { points = 700-random(1000); }
	else if(PlayerInfo[params[0]][pCash] >= 1480 && PlayerInfo[params[0]][pCash] <= 200) { points = 1000-random(1500); }
    else if(PlayerInfo[params[0]][pCash] >= 200) { points = 1300-random(2000); }
    SendMes(playerid, COLOR_LIGHTBLUE, "Вы ограбили игрока %s на сумму %i долларов.", sendername(params[0]), points);
    SendMes(params[0], COLOR_LIGHTBLUE, "Вас ограбил карманник %s на сумму %i долларов.", sendername(playerid), points);
	PlayerInfo[playerid][pRobSkill] ++;
	PlayerInfo[playerid][pWanted] += 2;
	SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pWanted]);
	GiveMoney(params[0], -points);
	GiveMoney(playerid, points);
	return 1;
}
CMD:richlist(playerid, params[])
{
	new full = 0;
	if(PlayerInfo[playerid][pJob] != ROBJOB) return SendClientMessage(playerid, -1, "Ошибка: Вы не являетесь карманником.");
	if(PlayerInfo[playerid][pRobSkill] < 100) return SendClientMessage(playerid, -1, "Ошибка: Эта команда будет доступна после 100 рабочьего навыка.");
	foreach(Player, i)
	{
	    if(!IsPlayerConnected(i) || PlayerLogged[i] == 0) continue;
	    if(PlayerInfo[i][pCash] < 20000) continue;
	    full++;
	    format(string, 500, "{FFFFFF}Игрок %s. | Количество денег: {33CCFF}%i{FFFFFF} долларов.", sendername(i), PlayerInfo[i][pCash]);
	    SPD(playerid, D_NULL, DIALOG_STYLE_MSGBOX, " ", string, "Закрыть", "");
	}
	if(full == 0) return SPD(playerid, D_NULL, DIALOG_STYLE_MSGBOX, " ", "В данный момент, игроков с более 20000 долларов - не найдено!", "Закрыть", "");
	return 1;
}
В pInfo:
PHP:
pRobSkill,
Ищем stock LoadAccount:

PHP:
sscanf(query, "p<|>is[32]s[32]s[16]is[32]s[64]iiiis[16]iiiiiiis[16]s[40]s[160]s[40]iiiis[16]s[20]iiiis[32]s[32]fiiiiis[32]s[32]iiiiiiiiis[32]iiiiiii",
Находим примерно такую строку и вставляем 1 ''i''.

Ищем примерно такое:
PHP:
		PlayerInfo[playerid][pRefMoney],
		PlayerInfo[playerid][pPayCheck],
		PlayerInfo[playerid][pFish],
		PlayerInfo[playerid][pLottery]);
Заменяем на это:
PHP:
		PlayerInfo[playerid][pRefMoney],
		PlayerInfo[playerid][pPayCheck],
		PlayerInfo[playerid][pFish],
		PlayerInfo[playerid][pLottery],
                PlayerInfo[playerid][pRobSkill]);
В stock SaveAccount:
PHP:
	format(src, sizeof(src), "rob='%i',", PlayerInfo[playerid][pRobSkill]);
	strcat(query, src, sizeof(query));
В stock ResetNow:
PHP:
PlayerInfo[playerid][pRobSkill] = false;
В OnPlayerPickup:
PHP:
 	if(pickupid == robp2)
 	{
 	    SetPlayerPos(playerid, 2257.1382,2339.2788,10.8203);
 	    SetPlayerInterior(playerid, 0);
 	    SetPlayerFacingAngle(playerid, 268.2900);
 	    SetCameraBehindPlayer(playerid);
 	    return 1;
 	}
 	if(pickupid == robp)
	{
	    if(PlayerInfo[playerid][pJob] != ROBJOB) return SendClientMessage(playerid, -1, "Вход доступен только для своих... Проваливай отсюда!");
		SetPlayerInterior(playerid, 8);
		SetPlayerPos(playerid, 2807.619873,-1171.899902,1025.570312);
		SetPlayerFacingAngle(playerid, 359.4960);
		SetCameraBehindPlayer(playerid);
		return 1;
	}
 	if(pickupid == robpick) return SPD(playerid, D_MAIN+40, DIALOG_STYLE_MSGBOX, " ", "Вы хотите устроиться на работу карманника?", "Устроиться", "Закрыть");
Ко всем new:
PHP:
new robpick,
	robp,
	    robp2;
в stock LoadPickups:
PHP:
    robpick = CreatePickup(1210, 23, 2254.8530,2340.2122,10.8203);
    robp = CreatePickup(19132, 23, 2257.0381,2342.3340,10.8203);
    robp2 = CreatePickup(19132, 23, 2807.5916,-1174.7557,1025.5703);
    CreatePickup(1247, 23, 2809.2434,-1167.6431,1025.5703);
    Create3DTextLabel("Используйте {E3BE88}/clearwanted{FFFFFF}, чтобы снять розыскиваемость", -1, 2809.2434,-1167.6431,1025.5703, 10.0, 0, 0);
    Create3DTextLabel("Работа {00CC00}карманника\n{FFFFFF}Для устройства встаньте на пикап", -1, 2254.8530,2340.2122,10.8203, 10.0, 0, 0);
Скриншоты:








Автор данного мануала - я.​
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу