#define
Компетентный
Делать было нечего, дело было вечером.
Думаю мало кто знает эту систему, так что расскажу.
Это автоматическая система повышения себя в должности до 3 ранга.
Чтобы получить второй ранг будучи армейцом, нужно:
1. Развозить маты на склады.
2. Убивать бандитов на территории военной базы.
Чтобы получить второй ранг будучи бандитом, нужно:
1. Развозить маты на склад банды.
2. Грабить дома
3. Убить полицейского/армейца на территории гетто (забрать ключи, форму)
Проверить респекты можно командой /respect
Думаю мало кто знает эту систему, так что расскажу.
Это автоматическая система повышения себя в должности до 3 ранга.
Чтобы получить второй ранг будучи армейцом, нужно:
1. Развозить маты на склады.
2. Убивать бандитов на территории военной базы.
Чтобы получить второй ранг будучи бандитом, нужно:
1. Развозить маты на склад банды.
2. Грабить дома
3. Убить полицейского/армейца на территории гетто (забрать ключи, форму)
Проверить респекты можно командой /respect
Приступим.
в pinfo:
PHP:
pRespect,
PHP:
PlayerInfo[playerid][pRespect] = 0;
PHP:
ini_setInteger(File,"Respect",PlayerInfo[playerid][pRespect]);
PHP:
ini_setInteger(File,"Respect",PlayerInfo[playerid][pRespect]);
PHP:
ini_getInteger(File,"Respect",PlayerInfo[playerid][pRespect]);
PHP:
else if(strcmp(cmd, "/respect", true) == 0)
{
if(PlayerInfo[playerid][pRank] == 1)
{
format(string, sizeof(string), "Ваш уровень респектов: %d из 10", PlayerInfo[playerid][pRespect]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else if(PlayerInfo[playerid][pRank] == 2)
{
format(string, sizeof(string), "Ваш уровень респектов: %d из 20", PlayerInfo[playerid][pRespect]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else if(PlayerInfo[playerid][pRank] > 2)
{
format(string, sizeof(string), "Ошибка: Ваш ранг выше второго!");
SendClientMessage(playerid, COLOR_WHITE, string);
}
return 1;
}
PHP:
Вы потеряли армейскую форму
И полностью заменяем от:
new sendername[MAX_PLAYER_NAME];
new killer[MAX_PLAYER_NAME];
PHP:
new sendername[MAX_PLAYER_NAME];
new killer[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(killerid, killer, sizeof(killer));
if(IsAGang(killerid))
{
if(PlayerInfo[playerid][pMember] == 19 || PlayerInfo[playerid][pLeader] == 19 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
{
for(new i =0;i<sizeof(GZInfo);i++)
{
if(PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]))
{
forma[killerid] = 1;
PlayerInfo[playerid][pModel] =252;
SendClientMessage(playerid, COLOR_YELLOW, "Вы потеряли армейскую форму");
SendClientMessage(killerid, COLOR_YELLOW2, "Вы cняли с армейца форму, введите /armforma, чтобы переодеться");
PlayerInfo[killerid][pZakonp] -= 2;
PlayerInfo[playerid][pRespect] += 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s потерял армейскую форму", sendername);
SendFamilyMessage(19,COLOR_YELLOW2, string);
SpawnPlayer(playerid);
if(PlayerInfo[playerid][pMember] == 3)
{
forma[killerid] = 1;
PlayerInfo[playerid][pModel] =252;
SendClientMessage(playerid, COLOR_YELLOW, "Вы потеряли армейскую форму");
SendClientMessage(killerid, COLOR_YELLOW2, "Вы cняли с армейца форму, введите /armforma, чтобы переодеться");
PlayerInfo[playerid][pRespect] += 1;
PlayerInfo[killerid][pZakonp] -= 2;
}
}
}
}
}
if(IsAGang(killerid))
{
if(IsACop(playerid))
{
for(new i =0;i<sizeof(GZInfo);i++)
{
if(PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]))
{
keys[killerid] += 1;
SendClientMessage(playerid, COLOR_YELLOW, "Вы потеряли ключи от камеры!");
SendClientMessage(killerid, COLOR_YELLOW, "Вы забрали у полицейского ключи от камеры!");
PlayerInfo[killerid][pZakonp] -= 2;
PlayerInfo[playerid][pRespect] += 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Полицейский %s потерял ключи от камеры", sendername);
SendFamilyMessage(1,COLOR_YELLOW2, string);
SendFamilyMessage(10,COLOR_YELLOW2, string);
SendFamilyMessage(21,COLOR_YELLOW2, string);
}
}
}
}
PHP:
else if(MatsArmyCar[playerid]==20)
PHP:
else if(MatsArmyCar[playerid]==20)
{
if(MatHaul[tmpcar-gunscar[0]][mLoad] >= 5000 || armmatbi <= 1000)
{
format(string, sizeof(string), "Склад пуст или грузовик полон!");
SendClientMessage(playerid, COLOR_GREY, string);
DisablePlayerCheckpoint(playerid);
return 1;
}
MatHaul[tmpcar-gunscar[0]][mLoad] += 5000;
format(string, sizeof(string), "Материалы успешно загружены! Компоненты материалов: %d/5000", MatHaul[tmpcar-gunscar[0]][mLoad]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
armmatbi -= 5000;
DisablePlayerCheckpoint(playerid);
format(string, sizeof(string), "На складе Зоны 51: %d/100000", armmatbi);
format(string, sizeof(string), "Используйте: /carm, чтобы начать развозку материалов");
SendClientMessage(playerid, COLOR_WHITE, string);
SaveMaterials();
}
else if(MatsArmyCar[playerid]==35)
{
if(MatHaul[tmpcar-gunscar[0]][mLoad] == 0 || sfpdmats >= 49999)
{
format(string, sizeof(string), "Склад SFPD заполнен, либо грузовик пуст!");
SendClientMessage(playerid, COLOR_WHITE, string);
DisablePlayerCheckpoint(playerid);
return 1;
}
MatHaul[tmpcar-gunscar[0]][mLoad] -= 5000;
sfpdmats += 5000;
DisablePlayerCheckpoint(playerid);
MatsArmyCar[playerid]=0;
format(string, sizeof(string), "Маты успешно доставлены! Компоненты материалов: %d/5000", MatHaul[tmpcar-gunscar[0]][mLoad]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
format(string, sizeof(string), "Склад SFPD: %d/50000", sfpdmats);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pRespect] += 1;
CP[playerid] = 0;
SaveMaterials();
}
else if(MatsArmyCar[playerid]==150)
{
if(MatHaul[tmpcar-gunscar[0]][mLoad] == 0 || lvpdmats >= 49999)
{
format(string, sizeof(string), "Склад LVPD заполнен, либо грузовик пуст!");
SendClientMessage(playerid, COLOR_WHITE, string);
DisablePlayerCheckpoint(playerid);
return 1;
}
MatHaul[tmpcar-gunscar[0]][mLoad] -= 5000;
lvpdmats += 5000;
DisablePlayerCheckpoint(playerid);
MatsArmyCar[playerid]=0;
format(string, sizeof(string), "Маты успешно доставлены! Компоненты материалов: %d/5000", MatHaul[tmpcar-gunscar[0]][mLoad]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
format(string, sizeof(string), "Склад LVPD: %d/50000", lvpdmats);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pRespect] += 1;
SaveMaterials();
}
else if(MatsArmyCar[playerid]==151)
{
if(MatHaul[tmpcar-gunscar[0]][mLoad] == 0 || lsamatbi >= 29999)
{
format(string, sizeof(string), "Склад LSA заполнен, либо грузовик пуст!");
SendClientMessage(playerid, COLOR_WHITE, string);
DisablePlayerCheckpoint(playerid);
return 1;
}
MatHaul[tmpcar-gunscar[0]][mLoad] -= 5000;
lsamatbi += 5000;
DisablePlayerCheckpoint(playerid);
MatsArmyCar[playerid]=0;
format(string, sizeof(string), "Маты успешно доставлены! Компоненты материалов: %d/5000", MatHaul[tmpcar-gunscar[0]][mLoad]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
format(string, sizeof(string), "Склад LSA: %d/50000", lsamatbi);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pRespect] += 1;
SaveMaterials();
}
//========================= Склады банд ========================================
else if(MatsArmyCar[playerid]==100)
{
if(MatHaul[tmpcar-gunscar[0]][mLoad] == 0 || ballasmatbi >= 49999)
{
format(string, sizeof(string), "Склад The Ballas заполнен, либо грузовик пуст!");
SendClientMessage(playerid, COLOR_WHITE, string);
DisablePlayerCheckpoint(playerid);
return 1;
}
MatHaul[tmpcar-gunscar[0]][mLoad] -= 5000;
ballasmatbi += 5000;
DisablePlayerCheckpoint(playerid);
MatsArmyCar[playerid]=0;
format(string, sizeof(string), "Маты успешно доставлены! Компоненты материалов: %d/5000", MatHaul[tmpcar-gunscar[0]][mLoad]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
format(string, sizeof(string), "Склад The Ballas: %d/50000", ballasmatbi);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pRespect] += 1;
SaveMaterials();
}
else if(MatsArmyCar[playerid]==101)
{
if(MatHaul[tmpcar-gunscar[0]][mLoad] == 0 || vagosmatbi >= 49999)
{
format(string, sizeof(string), "Склад The Vagos заполнен, либо грузовик пуст!");
SendClientMessage(playerid, COLOR_WHITE, string);
DisablePlayerCheckpoint(playerid);
return 1;
}
MatHaul[tmpcar-gunscar[0]][mLoad] -= 5000;
vagosmatbi += 5000;
DisablePlayerCheckpoint(playerid);
MatsArmyCar[playerid]=0;
format(string, sizeof(string), "Маты успешно доставлены! Компоненты материалов: %d/5000", MatHaul[tmpcar-gunscar[0]][mLoad]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
format(string, sizeof(string), "Склад The Vagos: %d/50000", vagosmatbi);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pRespect] += 1;
SaveMaterials();
}
else if(MatsArmyCar[playerid]==102)
{
if(MatHaul[tmpcar-gunscar[0]][mLoad] == 0 || groovmatbi >= 49999)
{
format(string, sizeof(string), "Склад The Grove заполнен, либо грузовик пуст!");
SendClientMessage(playerid, COLOR_WHITE, string);
DisablePlayerCheckpoint(playerid);
return 1;
}
MatHaul[tmpcar-gunscar[0]][mLoad] -= 5000;
groovmatbi += 5000;
DisablePlayerCheckpoint(playerid);
MatsArmyCar[playerid]=0;
format(string, sizeof(string), "Маты успешно доставлены! Компоненты материалов: %d/5000", MatHaul[tmpcar-gunscar[0]][mLoad]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
format(string, sizeof(string), "Склад The Grove: %d/50000", groovmatbi);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pRespect] += 1;
SaveMaterials();
}
else if(MatsArmyCar[playerid]==103)
{
if(MatHaul[tmpcar-gunscar[0]][mLoad] == 0 || aztekmatbi >= 49999)
{
format(string, sizeof(string), "Склад The Aztek заполнен, либо грузовик пуст!");
SendClientMessage(playerid, COLOR_WHITE, string);
DisablePlayerCheckpoint(playerid);
return 1;
}
MatHaul[tmpcar-gunscar[0]][mLoad] -= 5000;
aztekmatbi += 5000;
DisablePlayerCheckpoint(playerid);
MatsArmyCar[playerid]=0;
format(string, sizeof(string), "Маты успешно доставлены! Компоненты материалов: %d/5000", MatHaul[tmpcar-gunscar[0]][mLoad]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
format(string, sizeof(string), "Склад The Aztek: %d/50000", aztekmatbi);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pRespect] += 1;
SaveMaterials();
}
else if(MatsArmyCar[playerid]==104)
{
if(MatHaul[tmpcar-gunscar[0]][mLoad] == 0 || rifamatbi >= 49999)
{
format(string, sizeof(string), "Склад The Rifa заполнен, либо грузовик пуст!");
SendClientMessage(playerid, COLOR_WHITE, string);
DisablePlayerCheckpoint(playerid);
return 1;
}
MatHaul[tmpcar-gunscar[0]][mLoad] -= 5000;
rifamatbi += 5000;
DisablePlayerCheckpoint(playerid);
MatsArmyCar[playerid]=0;
format(string, sizeof(string), "Маты успешно доставлены! Компоненты материалов: %d/5000", MatHaul[tmpcar-gunscar[0]][mLoad]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
format(string, sizeof(string), "Склад The Rifa: %d/50000", rifamatbi);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pRespect] += 1;
SaveMaterials();
}
else if(MatsArmyCar[playerid]==31)
{
if(MatHaul[tmpcar-gunscar[0]][mLoad] == 0 || lspdmatbi >= 49999)
{
format(string, sizeof(string), "Склад LSPD заполнен, либо грузовик пуст!");
SendClientMessage(playerid, COLOR_WHITE, string);
DisablePlayerCheckpoint(playerid);
return 1;
}
MatHaul[tmpcar-gunscar[0]][mLoad] -= 5000;
lspdmatbi += 5000;
DisablePlayerCheckpoint(playerid);
MatsArmyCar[playerid]=0;
format(string, sizeof(string), "Маты успешно доставлены! Компоненты материалов: %d/5000", MatHaul[tmpcar-gunscar[0]][mLoad]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
format(string, sizeof(string), "Склад LSPD: %d/50000", lspdmatbi);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pRespect] += 1;
SaveMaterials();
}
else if(MatsArmyCar[playerid]==24)
{
if(MatHaul[tmpcar-gunscar[0]][mLoad] == 0 || fbimats >= 49999)
{
format(string, sizeof(string), "Склад FBI заполнен либо грузовик пуст!");
SendClientMessage(playerid, COLOR_WHITE, string);
DisablePlayerCheckpoint(playerid);
return 1;
}
MatHaul[tmpcar-gunscar[0]][mLoad] -= 5000;
fbimats += 5000;
DisablePlayerCheckpoint(playerid);
MatsArmyCar[playerid]=0;
format(string, sizeof(string), "Маты успешно доставлены! Компоненты материалов: %d/5000", MatHaul[tmpcar-gunscar[0]][mLoad]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
format(string, sizeof(string), "Склад FBI: %d/50000", fbimats);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pRespect] += 1;
SaveMaterials();
}
else if(MatsArmyCar[playerid]==21)
{
if(MatHaul[tmpcar-gunscar[0]][mLoad] == 0 || armmatbi >= 49999)
{
format(string, sizeof(string), "Cклад Армии SF заполнен, или грузовик пуст!");
SendClientMessage(playerid, COLOR_WHITE, string);
DisablePlayerCheckpoint(playerid);
return 1;
}
MatHaul[tmpcar-gunscar[0]][mLoad] -= 5000;
armmatsf += 5000;
DisablePlayerCheckpoint(playerid);
MatsArmyCar[playerid]=0;
format(string, sizeof(string), "Оружие успешно доставлено! Оружие: %d/5000", MatHaul[tmpcar-gunscar[0]][mLoad]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
format(string, sizeof(string), "Склад Армии SF: %d/50000", armmatsf);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pRespect] += 1;
SaveMaterials();
}
else if(MatsArmyCar[playerid]==25)
{
if(MatHaul[tmpcar-gunscar[0]][mLoad] == 0 || armmatsf >= 49999)
{
format(string, sizeof(string), "Склад армии San Fiero заполнен, либо грузовик пуст!");
SendClientMessage(playerid, COLOR_WHITE, string);
DisablePlayerCheckpoint(playerid);
return 1;
}
MatHaul[tmpcar-gunscar[0]][mLoad] -= 5000;
armmatsf += 5000;
DisablePlayerCheckpoint(playerid);
MatsArmyCar[playerid]=0;
format(string, sizeof(string), "Оружие успешно доставлено! Оружие: %d/5000", MatHaul[tmpcar-gunscar[0]][mLoad]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
format(string, sizeof(string), "Склад Армии SF: %d/50000", armmatsf);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pRespect] += 1;
SaveMaterials();
}
PHP:
if(PlayerInfo[playerid][pRank] == 1 && PlayerInfo[playerid][pRespect] > 10)
{
SendClientMessage(playerid, COLOR_WHITE, "Вы достигли максимального уровня респектов и были повышены до 2 ранга!");
PlayerInfo[playerid][pRank] = 2;
PlayerInfo[playerid][pRespect] = 0;
}
if(PlayerInfo[playerid][pRank] == 2 && PlayerInfo[playerid][pRespect] > 20)
{
SendClientMessage(playerid, COLOR_WHITE, "Вы достигли максимального уровня респектов и были повышены до 3 ранга!");
PlayerInfo[playerid][pRank] = 3;
PlayerInfo[playerid][pRespect] = 0;
}
PHP:
else if(strcmp(cmd,"/robhouse",true)==0)
{
for(new h = 0; h < sizeof(HouseInfo); h++)
{
if(IsAGang(playerid))
{
for(new i =0;i<sizeof(GZInfo);i++)
{
if(PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3])&&IsInAllowed(playerid))
{
if (PlayerToPoint(8.0, playerid, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]))
{
if (robhouse[playerid] !=0) return SendClientMessage(playerid, COLOR_WHITE, "Вы уже грабили дом в этом часу");
if(HouseInfo[h][hOwned] == 0) return SendClientMessage(playerid, COLOR_WHITE, "У дома нет владельца");
SendClientMessage(playerid, COLOR_GREEN, "Вы ограбили дом, на сумму 500 вирт!");
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Рация: Cообщает: Неизвестный. Преступление: Ограбление. Подозреваемый: %s",sendername);
SendClientMessage(playerid, 0xFEBC41AA, string);
WantedPoints[playerid]++;
PlayerInfo[playerid][pZvezdi]+=1;
SetPlayerWantedLevel(playerid,WantedLevel[playerid] += 1);
PlayerInfo[playerid][pZakonp] -= 1;
PlayerInfo[playerid][pRespect] += 1;
PlayerInfo[playerid][pCrimes] += 1;
PlayerInfo[playerid][pCash] += 500;
format(string, sizeof(string), "Рация: Cообщает: Неизвестный. Преступление: Ограбление. Подозреваемый: %s",sendername);
SendCopsMessage(playerid, 0xFEBC41AA, string);
robhouse[playerid] =1;
HouseInfo[h][hTakings] -=50;
}
}
}
}
}
return 1;
}
PHP:
new Army;
PHP:
Army = GangZoneCreate(-49.979476, 1695.982177, 414.020507, 2175.982177);
PHP:
GangZoneShowForPlayer(playerid, Army, 0xE2C800AA);
PHP:
if(IsAArm(killerid))
{
if(IsAGang(playerid) || IsABiker(playerid))
{
if(PlayerToPoint(100.0, killerid, 2746.1118,-2444.9143,13.6484) || PlayerToPoint(150.0, killerid, 204.4098,1912.7648,17.6406) || PlayerToPoint(150.0, killerid, -1409.8993,401.5589,7.1875))
{
if(PlayerToPoint(100.0, playerid, 2746.1118,-2444.9143,13.6484) || PlayerToPoint(150.0, playerid, 204.4098,1912.7648,17.6406) || PlayerToPoint(150.0, playerid, -1409.8993,401.5589,7.1875))
{
PlayerInfo[killerid][pRespect] += 1;
}
}
}
