Если Вы нашли ответ на вопрос, пожалуйста, пометьте необходимый ответ лучшим (галочка сбоку от сообщения) и поблагодарите автора этого ответа поднятием репутации (плюс в нижней правой части сообщения). Спасибо.
Подробнее:
FAQ по форуму
Как пометить ответ лучшим

Вопросы

1. Помогите сделать систему списка лидеров, что бы было видно кто в данный момент на лидерки и даже кто оффлайн, Пример:
- [Организация] Nick_Name | Выговоров:

Поделиться сообщением


Ссылка на сообщение

9 ответов на этот вопрос

  • 0

Заменить: 
 

Спойлер

forward CheckLeaders(playerid); 
public CheckLeaders(playerid)
{
	new string[400], rows, fields, leaderid, onlinestatus, name[MAX_PLAYER_NAME], online[8]; 
	cache_get_data(rows, fields); 
	if(!rows) return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Ошибка", "Лидеров нет!", "Окей", "");
	for(new i; i < rows; i++)
    {
        cache_get_field_content(i, "name", name, dbHandle, MAX_PLAYER_NAME);
     	leaderid = cache_get_field_content_int(i, "leader"); 
        onlinestatus = cache_get_field_content_int(i, "online"); 
        switch(onlinestatus)
       	{
        	case 0: online = "Оффлайн";
            case 1: online = "Онлайн";
       	}
                        
       	format(string, sizeof(string), "%s{FFFFFF}%s - фракция '%s' [%s]\n", name, Fraction_Name[leaderid], online); 
    }
    ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Лидеры фракций", string, "Закрыть", "");
    return true;
}

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Daniil Roslyakov Что у вас в базе данных отвечает за лидерство? Скиньте массив с наименованиями фракций, а также назовите столбец и таблицу, в которой хранится данные о лидерстве игрока. 

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs

Спойлер

static const stock Fraction_Name[MAX_FRACTIONS][32] = {
    "Нет", // 0
    "Администрация призедента", // 1
    "Полиция", // 2
    "ГИБДД", // 3
    "ФСБ", // 4
    "Больница", // 5
    "Автошкола", // 6
    "Итальянская Мафия",// 7
    "Армия", // 8
    "ОПГ 'Ореховское'", // 9
    "ОПГ 'Солнцевское'", // 10
    "Русская Мафия",// 11
    "СМИ" // 12
};

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs Данные в таблице: accounts
 

Спойлер

CREATE TABLE IF NOT EXISTS `accounts` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(24) CHARACTER SET utf8 NOT NULL,
  `password` varchar(32) CHARACTER SET utf8 NOT NULL,
  `ip` varchar(16) CHARACTER SET utf8 NOT NULL DEFAULT '0.0.0.0',
  `admin` int(11) NOT NULL DEFAULT '0',
  `securitycode` int(11) NOT NULL DEFAULT '0',
  `checkcode` int(11) NOT NULL DEFAULT '0',
  `mail` varchar(64) CHARACTER SET utf8 NOT NULL DEFAULT 'None',
  `level` int(11) NOT NULL DEFAULT '1',
  `cash` int(11) NOT NULL DEFAULT '200',
  `bank` int(11) NOT NULL DEFAULT '250',
  `exp` int(11) NOT NULL DEFAULT '0',
  `regip` varchar(16) CHARACTER SET utf8 NOT NULL DEFAULT '0.0.0.0',
  `datareg` varchar(15) CHARACTER SET utf8 NOT NULL DEFAULT '0.0.0',
  `leader` int(3) NOT NULL DEFAULT '0',
  `templeader` int(3) NOT NULL DEFAULT '0',
  `member` int(3) NOT NULL DEFAULT '0',
  `rank` int(3) NOT NULL DEFAULT '0',
  `warn` int(11) NOT NULL DEFAULT '0',
  `sex` int(11) NOT NULL DEFAULT '1',
  `age` int(11) NOT NULL DEFAULT '14',
  `model` int(11) NOT NULL DEFAULT '0',
  `memberskin` int(11) NOT NULL DEFAULT '0',
  `lic` varchar(16) CHARACTER SET utf8 NOT NULL DEFAULT '0, 0, 0, 0, 0',
  `guns` varchar(56) COLLATE utf8_bin NOT NULL DEFAULT '0,0,0,0,0,0,0,0,0,0,0,0,0',
  `ammos` varchar(56) COLLATE utf8_bin NOT NULL DEFAULT '0,0,0,0,0,0,0,0,0,0,0,0,0',
  `mute` int(11) NOT NULL DEFAULT '0',
  `pick` int(11) NOT NULL DEFAULT '0',
  `checktime` int(6) NOT NULL DEFAULT '0',
  `news` int(11) NOT NULL DEFAULT '0',
  `phone` int(11) NOT NULL DEFAULT '0',
  `phonenumber` int(11) NOT NULL DEFAULT '0',
  `text` varchar(20) CHARACTER SET utf8 NOT NULL DEFAULT '0, 0, 0, 0',
  `jail` int(11) NOT NULL DEFAULT '0',
  `jailtime` int(11) NOT NULL DEFAULT '0',
  `wanted` int(11) NOT NULL DEFAULT '0',
  `wantedtime` int(11) NOT NULL DEFAULT '0',
  `wantedwho` varchar(24) CHARACTER SET utf8 NOT NULL DEFAULT 'None',
  `wantedreason` varchar(32) CHARACTER SET utf8 NOT NULL DEFAULT 'None',
  `heal` varchar(11) CHARACTER SET utf8 NOT NULL DEFAULT '100.0',
  `drugs` int(11) NOT NULL DEFAULT '0',
  `patron` int(11) NOT NULL DEFAULT '0',
  `gunamount` int(11) NOT NULL DEFAULT '0',
  `crimes` int(11) NOT NULL DEFAULT '0',
  `job` int(11) NOT NULL DEFAULT '0',
  `married` int(11) NOT NULL DEFAULT '0',
  `whomarried` varchar(24) CHARACTER SET utf8 NOT NULL DEFAULT 'None',
  `referal` varchar(24) CHARACTER SET utf8 NOT NULL DEFAULT 'None',
  `refmoney` int(11) NOT NULL DEFAULT '0',
  `paycheck` int(11) NOT NULL DEFAULT '0',
  `charity` int(11) NOT NULL DEFAULT '0',
  `vip` int(11) NOT NULL DEFAULT '0',
  `viptime` int(11) NOT NULL DEFAULT '0',
  `time` int(11) NOT NULL DEFAULT '0',
  `fstyle` int(11) NOT NULL DEFAULT '0',
  `credits` int(11) NOT NULL DEFAULT '0',
  `totalcredits` int(11) NOT NULL DEFAULT '0',
  `skin1` int(11) NOT NULL DEFAULT '0',
  `skin2` int(11) NOT NULL DEFAULT '0',
  `skin3` int(11) NOT NULL DEFAULT '0',
  `spawnchange` int(11) NOT NULL DEFAULT '0',
  `sdpistol` int(11) NOT NULL DEFAULT '0',
  `deserteagle` int(11) NOT NULL DEFAULT '0',
  `shotgun` int(11) NOT NULL DEFAULT '0',
  `mp5` int(11) NOT NULL DEFAULT '0',
  `ak47` int(11) NOT NULL DEFAULT '0',
  `m4` int(11) NOT NULL DEFAULT '0',
  `pistol` int(11) NOT NULL DEFAULT '0',
  `microuzi` int(11) NOT NULL DEFAULT '0',
  `hunger` int(11) NOT NULL DEFAULT '100',
  `healths` float NOT NULL DEFAULT '100',
  `sportexp` int(11) NOT NULL DEFAULT '0',
  `online` int(11) NOT NULL DEFAULT '0',
  `zakon` int(11) NOT NULL DEFAULT '0',
  `city` int(11) NOT NULL DEFAULT '0',
  `repcar` varchar(16) CHARACTER SET utf8 NOT NULL DEFAULT '0, 0',
  `bed` int(11) NOT NULL,
  `watch` int(11) NOT NULL DEFAULT '0',
  `ciggare` int(11) NOT NULL DEFAULT '0',
  `sprunk` int(11) NOT NULL DEFAULT '0',
  `mask` int(11) NOT NULL DEFAULT '0',
  `phonebalance` int(11) NOT NULL DEFAULT '100',
  `truckskill` int(11) NOT NULL DEFAULT '0',
  `veh_number` varchar(128) COLLATE utf8_bin NOT NULL DEFAULT 'Транзит/Транзит',
  `cModel` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '0/0',
  `cClass` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '1/1',
  `cFuel` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '0/0',
  `cMilleage` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '0/0',
  `cColor1` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '0/0',
  `cColor2` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '0/0',
  `cLock` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '0/0',
  `cCost` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '0/0',
  `cVehcom` varchar(128) COLLATE utf8_bin NOT NULL DEFAULT '0,0,0,0,0,0,0,0,0,0,0,0,0,0/0,0,0,0,0,0,0,0,0,0,0,0,0,0',
  `cPaintjob` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '3/3',
  `cVirtual` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '0/0',
  `cX` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '0.0/0.0',
  `cY` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '0.0/0.0',
  `cZ` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '0.0/0.0',
  `cA` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '0.0/0.0',
  `vehiclekey` int(11) NOT NULL DEFAULT '0',
  `vehiclekey1` int(11) NOT NULL DEFAULT '0',
  `aptechka` int(11) NOT NULL DEFAULT '0',
  `Voennik` int(11) NOT NULL DEFAULT '0',
  `music` int(11) NOT NULL DEFAULT '0',
  `improves` varchar(32) CHARACTER SET utf8 NOT NULL DEFAULT '0, 0, 0, 0',
  `datavhod` varchar(15) CHARACTER SET utf8 NOT NULL DEFAULT '0.0.0',
  `settings` varchar(16) COLLATE utf8_bin NOT NULL DEFAULT '1,1,1,1,1,1,1',
  `phnumber1` int(11) NOT NULL DEFAULT '0',
  `phnumber2` int(11) NOT NULL DEFAULT '0',
  `phnumber3` int(11) NOT NULL DEFAULT '0',
  `phnumber4` int(11) NOT NULL DEFAULT '0',
  `phnumber5` int(11) NOT NULL DEFAULT '0',
  `phnumber6` int(11) NOT NULL DEFAULT '0',
  `phnumber7` int(11) NOT NULL DEFAULT '0',
  `phnumber8` int(11) NOT NULL DEFAULT '0',
  `mailconf` int(11) NOT NULL DEFAULT '0',
  `fishki` int(11) NOT NULL DEFAULT '0',
  `thour` int(11) NOT NULL,
  `tday` int(11) NOT NULL,
  `tlastday` int(11) NOT NULL,
  `balon1` int(11) NOT NULL,
  `balon2` int(11) NOT NULL,
  `balon3` int(11) NOT NULL,
  `balon4` int(11) NOT NULL,
  `balon5` int(11) NOT NULL,
  `balon6` int(11) NOT NULL,
  `balon7` int(11) NOT NULL,
  `remont` int(11) NOT NULL,
  `whocity` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT 'Южный',
  `sleep` int(11) NOT NULL DEFAULT '100',
  `fkdonate` int(11) NOT NULL DEFAULT '0',
  `SGU` int(11) NOT NULL DEFAULT '0',
  `SGUCOORD` varchar(64) COLLATE utf8_bin NOT NULL DEFAULT '0.0,0.0,0.0,0.0,0.0,0.0,0.0',
  `vipchangecar` int(32) NOT NULL,
  `sellsimtime` int(32) NOT NULL,
  `fwarn` int(11) NOT NULL DEFAULT '0',
  `gacode` int(11) NOT NULL,
  `token` varchar(255) COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;

 

Отредактировано пользователем Daniil Roslyakov

Поделиться сообщением


Ссылка на сообщение
  • 0

Ко всем командам: 

CMD:allleaders(playerid)
{
	//проверку на админа
	//прочие проверки: на авторизацию, антифлуд и пр.
	
	mysql_tquery(dbHandle, "SELECT * FROM `accounts` WHERE `leader` != 0", "CheckLeaders", "i", playerid); 

	return true;
}

В конец мода: 

Спойлер

forward CheckLeaders(playerid); 
public CheckLeaders(playerid)
{
	new string[400], rows, fields, leaderid, onlinestatus, name[MAX_PLAYER_NAME]; 
	cache_get_data(rows, fields); 
	if(!rows) return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Ошибка", "Лидеров нет!", "Окей", "");
	for(new i; i < rows; i++)
    {
        cache_get_field_content(i, "name", name, dbHandle, MAX_PLAYER_NAME);
     	leaderid = cache_get_field_content_int(i, "leader"); 
        onlinestatus = cache_get_field_content_int(i, "online"); 
        switch(onlinestatus)
       	{
        	case 0: online = "Оффлайн";
            case 1: online = "Онлайн";
       	}
                        
       	format(string, sizeof(string), "%s{FFFFFF}%s - фракция '%s' [%s]\n", name, Fraction_Name[leaderid], online); 
    }
    ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Лидеры фракций", string, "Закрыть", "");
    return true;
}

 

Так попробуй, будут ошибки - пиши. 

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs 

Спойлер

J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(2863) : error 017: undefined symbol "online"
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(2863) : error 036: empty statement
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(2864) : error 014: invalid statement; not in switch
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(2864) : warning 215: expression has no effect
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(2864) : error 001: expected token: ";", but found ":"
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(2864) : error 029: invalid expression, assumed zero
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(2864) : fatal error 107: too many error messages on one line

Compilation aborted.

Pawn compiler 3.10.20150531              Copyright (c) 1997-2006, ITB CompuPhase


6 Errors.

        	case 0: online = "Оффлайн";
            case 1: online = "Онлайн";

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@stibs Все отлично работает!!! И если не трудно можете помочь? Суть такова что лидерка выдается по ID, а я хочу что бы выдавалась по нику

 

Спойлер

CMD:makeleader(playerid, params[])
{
    if(GetString(GetName(playerid), NAME_DEVELOPER_ONE) || GetString(GetName(playerid), NAME_DEVELOPER_TWO) || GetString(GetName(playerid), NAME_LEADERS_ONE) || GetString(GetName(playerid), NAME_LEADERS_TWO))
    {
        if(PI[playerid][pAdmin] < 7) return 1;
        else if(AdminLogged[playerid] == false) return SCM(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
        else if(sscanf(params, "u", params[0])) return SCM(playerid, COLOR_WHITE, "• {66CC00}[ Подсказка ] {ffffff}Введите: /makeleader [id игрока]");
        else if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_GREY, PlayerIsNotOnline);
        else if(PlayerLogged[params[0]] == false) return SCM(playerid, COLOR_GREY, PlayerIsNotAuthorized);
        else if(IsPlayerInAnyVehicle(params[0])) return SCM(playerid, COLOR_GREY, "Игрок не должен находиться в транспорте!");
        else if((PI[params[0]][pAdmin] >= 1 && PI[params[0]][pAdmin] <= 7) && PI[playerid][pAdmin] != 8) return SCM(playerid, COLOR_GREY, "Администратора нельзя ставить на пост лидера!");
        else if(PI[params[0]][pLevel] < 10) return SCM(playerid, COLOR_GREY, "У игрока меньше чем 10 уровень!");
        else if(PI[params[0]][pTempLeader]) return SCM(playerid, COLOR_GREY, "Сначала снимите с себя права временного лидера!");
        if(PI[params[0]][pLeader])
        {
            LeaveFractionPlayer(params[0]);
            SendMes(playerid, COLOR_BLUE, "Вы сняли %s с должности лидера организации",GetName(params[0]));
            SendMes(params[0], COLOR_BLUE, "Администратор %s снял вас с должности лидера организации", GetName(playerid));
        }
        else
        {
            if(PI[params[0]][pLeader] > 0) return SCM(playerid, COLOR_GREY, "Игрок лидер другой организации!");
            else if(PI[params[0]][pMember] > 0) return SCM(playerid, COLOR_GREY, "Игрок находиться в другой организации!");
            new str[64], str2[712];
            for(new i = 1; i < MAX_FRACTIONS; i++)
            {
                format(str, sizeof(str), "№%i - %s\n", i, Fraction_Name);
                strcat(str2, str);
            }
            SetPVarInt(playerid, "actplayerid", params[0]);
            ShowPlayerDialog(playerid, D_FRACMENU, 2, "{ffcc00}Организации", str2, "Принять", "Отмена");
        }
    }
    return 1;
}

Что еще надо скинуть скажите

 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Mister Odin
      От Mister Odin
       
      new
       g_teleport_list[39][E_TELEPORT_LIST] = {  {"Спавн пгт.Батырево", 1802.3612, 2508.4824, 15.8887},  {"Спавн г.Арзамас", -113.5887, 977.7222, 12.0346},     {"Спавн г.Южный", 2744.2770, -2446.7246, 21.8988},     {"Центральный банк", 1852.020385,2040.791381,15.892713},  {"Рублёвка", -837.7783, 888.6161, 12.7232},  {"Казино", 1332.4252, 2358.7014, 17.6641},  {"Битва за контейнеры", 614.5167, 1722.3566, 12.0709},  {"Автосалон низкого класса", 2493.9616, -722.9544, 12.3315},  {"Автосалон среднего класса", 1407.7449, 455.4801, 13.1630},  {"Автосалон высокого класса", -14.0637, 2614.5664, 10.9892},   {"Мотосалон Harley Davidson", 785.720153, 750.465087, 12.000024},  {"Автошкола", 1909.174438,2227.679687,15.708162},  {"Военкомат", 1916.778564,2302.411376,15.574637},  {"Правительство области", -139.140975,593.789611,12.145712},  {"Отдел полиции №1 (ГИБДД)", 1906.805786,-2234.382812,11.257631},  {"Отдел полиции №2 (УМВД)", 2581.309326,-2416.139892,21.960090},  {"Отдел ФСБ", 1823.904663,2095.636718,15.848405},  {"Городская больница г.Арзамас", -285.797210,581.851562,12.120290},   {"СМИ", -317.708038,821.221679,13.051450},  {"Воинская часть", 1703.197265,1678.025878,15.279437},  {"Арзамасская ОПГ", 438.705322,1046.505126,12.002637},  {"Батыревская ОПГ", 1941.203857,2161.006591,15.705187},  {"Лыткаринская ОПГ", -2346.002441,75.257041,21.002962},  {"Шахта", 2381.5727, 1726.4451, -2.1506},  {"Завод", -1062.6697, 2204.1894, 38.0964},  {"Инкосация", 1864.1374, 2011.7136, 15.8546},  {"Транспортная Компания", 2362.1115, 1972.5627, 15.5530},  {"База механиков", 1840.918090,-118.025146,15.695312},  {"Курьерская служба доставки", 2764.509765,-2396.882568,21.890625},  {"Аренда автобуса(Южный)", 2771.041992,-2454.780761,21.845964},  {"Аренда автобуса(Арзамас)", -127.487670,943.652648,12.142824},   {"Аренда автобуса(Батырево)", 1798.986328,2529.591552,15.664262},  {"Гоночная трасса", -1568.7784, 1611.8305, 36.3971},  {"Дом на горе", -789.5397, -456.7479, 741.1422},  {"СТО и тюнинг-ателье", 1856.1375, -122.3266, 15.6888},  {"Аренда транспорта пгт.Батырево", 1763.641723,2255.673339,15.865348},  {"Аренда транспорта г.Арзамас", -36.923530,1360.673583,12.002090},  {"Аренда транспорта г.Южный", 1966.599975,-2603.943603,10.820312},  {"Тайный интерьер в Лыткарино", -2424.5818, 2846.3291, 40.7908} };