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;
}
PHP:
pRobSkill,
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",
Ищем примерно такое:
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]);
PHP:
format(src, sizeof(src), "rob='%i',", PlayerInfo[playerid][pRobSkill]);
strcat(query, src, sizeof(query));
PHP:
PlayerInfo[playerid][pRobSkill] = false;
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, " ", "Вы хотите устроиться на работу карманника?", "Устроиться", "Закрыть");
PHP:
new robpick,
robp,
robp2;
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);
Автор данного мануала - я.
