Marco_Boo
Ученик
Доброго времени суток! Представляю вам удобную команду /dir. При вводе команды открывается диалоговое окно в котором видно сколько адвокатов, таксистов, лидеров, инструкторов, механиков, медиков, развозчиков продуктов и тренеров онлайн. При нажатии например на Лидеры организаций в чате появится список лидеров онлайн по такому примеру: 1. ФБР: Marco_Boo[0] Телефон: 123456. С каждым последующим лидером цифра 1 будет увеличиваться. Так же в списке лидеров организаций не будут показаны админы которые стоят на лидерах. Сделал это для того что бы админам в смс не флудили с просьбами принять. Автор команды: я (Marco_Boo)
Ищем свою команду /dir или же /directory и заменяем на эту:
PHP:
if(strcmp(cmd, "/directory", true) == 0 || strcmp(cmd, "/dir", true) == 0)
{
new a[MAX_PLAYERS],b[MAX_PLAYERS],d[MAX_PLAYERS],f[MAX_PLAYERS],g[MAX_PLAYERS],q[MAX_PLAYERS],h[MAX_PLAYERS],j[MAX_PLAYERS];
a[playerid] = 0, b[playerid] = 0, d[playerid] = 0, f[playerid] = 0, g[playerid] = 0, q[playerid] = 0, h[playerid] = 0, j[playerid] = 0;
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(PlayerInfo[i][pMember] == 7 && PlayerInfo[i][pRank] == 2) { a[playerid]++; }
if(PlayerInfo[i][pJob] == 4) { b[playerid]++; }
if(PlayerInfo[i][pLeader] > 0 && PlayerInfo[i][pAdmin] == 0) { d[playerid]++; }
if(PlayerInfo[i][pMember] == 11) { f[playerid]++; }
if(PlayerInfo[i][pJob] == 2) { g[playerid]++; }
if(PlayerInfo[i][pMember] == 4 || PlayerInfo[i][pMember] == 22) { q[playerid]++; }
if(PlayerInfo[i][pJob] == 5) { h[playerid]++; }
if(PlayerInfo[i][pJob] == 6) { j[playerid]++; }
}
format(string, sizeof(string), "Адвокаты [Online: %d]\nТаксисты [Online: %d]\nЛидеры организаций [Online: %d]\nИнструкторы [Online: %d]\nМеханики [Online: %d]\nМедики [Online: %d]\nРазвозчики продуктов [Online: %d]\nТренеры [Online: %d]",a[playerid],b[playerid],d[playerid],f[playerid],g[playerid],q[playerid],h[playerid],j[playerid]);
ShowPlayerDialog(playerid,5454,DIALOG_STYLE_LIST,"Справочник",string,"Выбрать","Отмена");
return true;
}
Ищем диалог 5454 ( case 5454: ) и заменяем его вот на этот:
PHP:
case 5454:
{
new kokolo[MAX_PLAYERS], giveplayer[MAX_PLAYER_NAME];
kokolo[playerid] = 0;
if(response)
{
switch(listitem)
{
case 0:
{
SendClientMessage(playerid, 0xE99938AA, "Адвокаты:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) return true;
GetPlayerName(i, giveplayer, sizeof(giveplayer));
if(PlayerInfo[i][pMember] == 7 && PlayerInfo[i][pRank] == 2)
{
kokolo[playerid]++;
format(string, 256, "%d. %s[%d] Тел: %d", kokolo, giveplayer, i, PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
if(kokolo[playerid] == 0) { SendClientMessage(playerid, COLOR_WHITE, "Нет адвокатов онлайн!"); return true; }
}
case 1:
{
SendClientMessage(playerid, 0xE99938AA, "Таксисты:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))
if(PlayerInfo[i][pJob] == 4)
{
kokolo[playerid]++;
format(string, 256, "%d. %s[%d] Тел: %d", kokolo, giveplayer, i, PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
if(kokolo[playerid] == 0) { SendClientMessage(playerid, COLOR_WHITE, "Нет таксистов онлайн!"); return true; }
}
case 2:
{
SendClientMessage(playerid, 0xE99938AA, "Лидеры онлайн:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) return true;
if(PlayerInfo[i][pLeader]>0)
{
kokolo[playerid]++;
new ttext[255];
GetPlayerName(i, giveplayer, sizeof(giveplayer));
if(PlayerInfo[i][pLeader] == 1 && PlayerInfo[i][pAdmin] == 0) { ttext = "LSPD"; }
else if(PlayerInfo[i][pLeader] == 2 && PlayerInfo[i][pAdmin] == 0) { ttext = "ФБР"; }
else if(PlayerInfo[i][pLeader] == 3 && PlayerInfo[i][pAdmin] == 0) { ttext = "Армия: 'Авианосец'"; }
else if(PlayerInfo[i][pLeader] == 4 && PlayerInfo[i][pAdmin] == 0) { ttext = "МЧС San Fierro"; }
else if(PlayerInfo[i][pLeader] == 5 && PlayerInfo[i][pAdmin] == 0) { ttext = "LCN"; }
else if(PlayerInfo[i][pLeader] == 6 && PlayerInfo[i][pAdmin] == 0) { ttext = "Yakuza"; }
else if(PlayerInfo[i][pLeader] == 7 && PlayerInfo[i][pAdmin] == 0) { ttext = "Мэрия"; }
else if(PlayerInfo[i][pLeader] == 8 && PlayerInfo[i][pAdmin] == 0) { ttext = "Casino Caligula"; }
else if(PlayerInfo[i][pLeader] == 9 && PlayerInfo[i][pAdmin] == 0) { ttext = "SF News"; }
else if(PlayerInfo[i][pLeader] == 10 && PlayerInfo[i][pAdmin] == 0) { ttext = "SFPD"; }
else if(PlayerInfo[i][pLeader] == 11 && PlayerInfo[i][pAdmin] == 0) { ttext = "Инструкторы"; }
else if(PlayerInfo[i][pLeader] == 12 && PlayerInfo[i][pAdmin] == 0) { ttext = "The Ballas "; }
else if(PlayerInfo[i][pLeader] == 13 && PlayerInfo[i][pAdmin] == 0) { ttext = "The Vagos"; }
else if(PlayerInfo[i][pLeader] == 14 && PlayerInfo[i][pAdmin] == 0) { ttext = "Russian Mafia"; }
else if(PlayerInfo[i][pLeader] == 15 && PlayerInfo[i][pAdmin] == 0) { ttext = "The Grove"; }
else if(PlayerInfo[i][pLeader] == 16 && PlayerInfo[i][pAdmin] == 0) { ttext = "LS News"; }
else if(PlayerInfo[i][pLeader] == 17 && PlayerInfo[i][pAdmin] == 0) { ttext = "The Aztecas"; }
else if(PlayerInfo[i][pLeader] == 18 && PlayerInfo[i][pAdmin] == 0) { ttext = "The Rifa"; }
else if(PlayerInfo[i][pLeader] == 19 && PlayerInfo[i][pAdmin] == 0) { ttext = "Армия: 'Зона 51'"; }
else if(PlayerInfo[i][pLeader] == 20 && PlayerInfo[i][pAdmin] == 0) { ttext = "LV News"; }
else if(PlayerInfo[i][pLeader] == 21 && PlayerInfo[i][pAdmin] == 0) { ttext = "LVPD"; }
else if(PlayerInfo[i][pLeader] == 22 && PlayerInfo[i][pAdmin] == 0) { ttext = "МЧС Los Santos"; }
else if(PlayerInfo[i][pLeader] == 23 && PlayerInfo[i][pAdmin] == 0) { ttext = "Sons of Silence MC"; }
else if(PlayerInfo[i][pLeader] == 24 && PlayerInfo[i][pAdmin] == 0) { ttext = "Hell's Angels MC"; }
else if(PlayerInfo[i][pLeader] == 25 && PlayerInfo[i][pAdmin] == 0) { ttext = "Outlaws MC"; }
else if(PlayerInfo[i][pLeader] == 26 && PlayerInfo[i][pAdmin] == 0) { ttext = "Warlocks MC"; }
else if(PlayerInfo[i][pLeader] == 27 && PlayerInfo[i][pAdmin] == 0) { ttext = "Highwayman MC"; }
else if(PlayerInfo[i][pLeader] == 28 && PlayerInfo[i][pAdmin] == 0) { ttext = "Free Souls MC"; }
else if(PlayerInfo[i][pLeader] == 29 && PlayerInfo[i][pAdmin] == 0) { ttext = "Pagans MC"; }
else if(PlayerInfo[i][pLeader] == 30 && PlayerInfo[i][pAdmin] == 0) { ttext = "Mongols MC"; }
else if(PlayerInfo[i][pLeader] == 31 && PlayerInfo[i][pAdmin] == 0) { ttext = "Vagos MC"; }
else if(PlayerInfo[i][pLeader] == 32 && PlayerInfo[i][pAdmin] == 0) { ttext = "Bandidos MC"; }
else if(PlayerInfo[i][pLeader] == 33 && PlayerInfo[i][pAdmin] == 0) { ttext = "МЧС Las Venturas"; }
format(string, 256, "%d. %s: %s[%d] Тел: %d", kokolo, ttext, giveplayer, i, PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
if(kokolo[playerid] == 0) { SendClientMessage(playerid, COLOR_WHITE, "Нет лидеров онлайн!"); return true; }
}
case 3:
{
SendClientMessage(playerid, 0xE99938AA, "Инструкторы Online:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) return true;
GetPlayerName(i, giveplayer, sizeof(giveplayer));
if(PlayerInfo[i][pMember] == 11)
{
kokolo[playerid]++;
format(string, 256, "%d. %s[%d] Тел: %d",kokolo, giveplayer, i, PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
if(kokolo[playerid] == 0) { SendClientMessage(playerid, COLOR_WHITE, "Нет инструкторов онлайн!"); return true; }
}
case 4:
{
SendClientMessage(playerid, 0xE99938AA, "Механики:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) return true;
GetPlayerName(i, giveplayer, sizeof(giveplayer));
if(PlayerInfo[i][pJob] == 2)
{
kokolo[playerid]++;
format(string, 256, "%d. %s[%d] Тел: %d",kokolo, giveplayer, i, PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
if(kokolo[playerid] == 0) { SendClientMessage(playerid, COLOR_WHITE, "Нет механиков онлайн!"); return true; }
}
case 5:
{
SendClientMessage(playerid, 0xE99938AA, "Медики:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) return true;
GetPlayerName(i, giveplayer, sizeof(giveplayer));
if(PlayerInfo[i][pMember] == 4 || PlayerInfo[i][pMember] == 22 || PlayerInfo[i][pMember] == 33)
{
kokolo[playerid]++;
format(string, 256, "%d. %s[%d] Тел: %d",kokolo, giveplayer, i, PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
if(kokolo[playerid] == 0) { SendClientMessage(playerid, COLOR_WHITE, "Нет медиков онлайн!"); return true; }
}
case 6:
{
SendClientMessage(playerid, 0xE99938AA, "Развозчики продуктов:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) return true;
GetPlayerName(i, giveplayer, sizeof(giveplayer));
if(PlayerInfo[i][pJob] == 5)
{
kokolo[playerid]++;
format(string, 256, "%d. %s[%d] Тел: %d",kokolo, giveplayer, i, PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
if(kokolo[playerid] == 0) { SendClientMessage(playerid, COLOR_WHITE, "Нет развозчиков продуктов онлайн!"); return true; }
}
case 7:
{
SendClientMessage(playerid, 0xE99938AA, "Тренеры:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) return true;
GetPlayerName(i, giveplayer, sizeof(giveplayer));
if(PlayerInfo[i][pJob] == 6)
{
kokolo[playerid]++;
format(string, 256, "%d. %s[%d] Тел: %d",kokolo, giveplayer, i, PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
if(kokolo[playerid] == 0) { SendClientMessage(playerid, COLOR_WHITE, "Нет тренеров онлайн!"); return true; }
}
}
}
else
{
return true;
}
}
