Перейти к содержанию
Авторизация  
AngryKitten

Проблема с /leaders /instructor

Рекомендуемые сообщения

AngryKitten

Здравствуйте!Не пойму в чем проблема,не появляются списки пользователей в /leaders и /instructor не пойму в чем проблема!Можете подсказать что не как?Заранее благодарю

CMD:leaders(playerid)
{
	new full, text[20] = "None";
	stringer[0] = EOS;
	strcat(stringer, "{FFFF00}Организация - Телефон - Имя игрока\n\n");
	foreach(new i : Player)
	{
		if(!gPlayerLogged[i] || pInfo[i][pAdmin] || pInfo[i][pLeader]<1) continue;
	    if(pInfo[i][pPhoneNumber]>1) format(text, sizeof(text), "%i", pInfo[i][pPhoneNumber]);
	    if(GetPVarInt(i, "AFK_Time") > 1)
	    {
			format(stringer, sizeof(stringer), "%s{FFFFFF}%s - %s - %s - %s {FF9900}[AFK: %s]\n", stringer, Fraction_Name[pInfo[i][pLeader]], Fraction_Rang[pInfo[i][pMember]][pInfo[i][pRank]], GetName(i), text, Converts(GetPVarInt(i, "AFK_Time")));
		}
		else
		{
		    format(stringer, sizeof(stringer), "%s{FFFFFF}%s - %s - %s - %s\n", stringer, Fraction_Name[pInfo[i][pLeader]], Fraction_Rang[pInfo[i][pMember]][pInfo[i][pRank]], GetName(i), text);
		}
		full++;
	}
	ShowPlayerDialog(playerid, dNull, DIALOG_STYLE_MSGBOX, "{FFCC00}Лидеры онлайн:", stringer, "Закрыть", "");
	return 1;
}

CMD:instructors(playerid)
{
	new str[128], text[20] = "None";
	SendClientMessage(playerid, COLOR_GREEN, "Инструкторы онлайн:");
	foreach(new i : Player)
	{
		if(!gPlayerLogged[i] || pInfo[i][pMember] != TEAM_AUTOSCHOOL || pInfo[i][pRank]<1 || pInfo[i][pAdmin]) continue;
		if(pInfo[i][pPhoneNumber]>1) format(text, sizeof(text), "%i", pInfo[i][pPhoneNumber]);
		if(GetPVarInt(i, "AFK_Time") > 1)
		{
		    format(str, sizeof(str), "%s %s | Номер тел: {FF9900}%s [AFK: %s]", Fraction_Rang[pInfo[i][pMember]][pInfo[i][pRank]], GetName(i), text, Converts(GetPVarInt(i, "AFK_Time")));
		}
		else
		{
			format(str, sizeof(str), "%s %s | Номер тел: {FF9900}%s", Fraction_Rang[pInfo[i][pMember]][pInfo[i][pRank]], GetName(i), text);
		}
		SendClientMessage(playerid, COLOR_WHITE, str);
	}
	return 1;
}
Изменено пользователем AngryKitten

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


Ссылка на сообщение
Поделиться на другие сайты
Web

Проверка на администратора. Надо убрать

 pInfo[i][pAdmin] || 

Можешь просто взять и заменить команды. Я убрал:

CMD:leaders(playerid)
{
    new full, text[20] = "None";
    stringer[0] = EOS;
    strcat(stringer, "{FFFF00}Организация - Телефон - Имя игрока\n\n");
    foreach(new i : Player)
    {
        if(!gPlayerLogged[i] || pInfo[i][pLeader]<1) continue;
     if(pInfo[i][pPhoneNumber]>1) format(text, sizeof(text), "%i", pInfo[i][pPhoneNumber]);
     if(GetPVarInt(i, "AFK_Time") > 1)
     {
            format(stringer, sizeof(stringer), "%s{FFFFFF}%s - %s - %s - %s {FF9900}[AFK: %s]\n", stringer, Fraction_Name[pInfo[i][pLeader]], Fraction_Rang[pInfo[i][pMember]][pInfo[i][pRank]], GetName(i), text, Converts(GetPVarInt(i, "AFK_Time")));
        }
        else
        {
         format(stringer, sizeof(stringer), "%s{FFFFFF}%s - %s - %s - %s\n", stringer, Fraction_Name[pInfo[i][pLeader]], Fraction_Rang[pInfo[i][pMember]][pInfo[i][pRank]], GetName(i), text);
        }
        full++;
    }
    ShowPlayerDialog(playerid, dNull, DIALOG_STYLE_MSGBOX, "{FFCC00}Лидеры онлайн:", stringer, "Закрыть", "");
    return 1;
}

CMD:instructors(playerid)
{
    new str[128], text[20] = "None";
    SendClientMessage(playerid, COLOR_GREEN, "Инструкторы онлайн:");
    foreach(new i : Player)
    {
        if(!gPlayerLogged[i] || pInfo[i][pMember] != TEAM_AUTOSCHOOL || pInfo[i][pRank]<1) continue;
        if(pInfo[i][pPhoneNumber]>1) format(text, sizeof(text), "%i", pInfo[i][pPhoneNumber]);
        if(GetPVarInt(i, "AFK_Time") > 1)
        {
         format(str, sizeof(str), "%s %s | Номер тел: {FF9900}%s [AFK: %s]", Fraction_Rang[pInfo[i][pMember]][pInfo[i][pRank]], GetName(i), text, Converts(GetPVarInt(i, "AFK_Time")));
        }
        else
        {
            format(str, sizeof(str), "%s %s | Номер тел: {FF9900}%s", Fraction_Rang[pInfo[i][pMember]][pInfo[i][pRank]], GetName(i), text);
        }
        SendClientMessage(playerid, COLOR_WHITE, str);
    }
    return 1;
}

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


Ссылка на сообщение
Поделиться на другие сайты
Marvellous

@AngryKitten,Как я смотрю ошибок в команде нет! Смотрите переменные,сравнивайте их,так как с командой все в порядке! 

@Wеb,  Не надо убирать проверку,у него все в команде в порядке,у меня точно так же все сделано и игроки видят лидеров!

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


Ссылка на сообщение
Поделиться на другие сайты
Web

@Marvellous, Так он с админкой по этому и не видит)

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


Ссылка на сообщение
Поделиться на другие сайты
Marvellous

@Wеb,  Нет тут не в этом проблема, админы тоже должны видеть!

У меня такая же строка стоит

if(!gPlayerLogged[i] || pInfo[i][pAdmin] || pInfo[i][pLeader]<1) continue;

и в леадерсе тоже

if(!gPlayerLogged[i] || pInfo[i][pMember] != TEAM_AUTOSCHOOL || pInfo[i][pRank]<1 || pInfo[i][pAdmin]) continue;

Тут у него что то другое!

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


Ссылка на сообщение
Поделиться на другие сайты
Web

Магнитное поле, не иначе))

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


Ссылка на сообщение
Поделиться на другие сайты
noname_idk
@AngryKitten, может немного странный вопрос, но на момент ввода этой команды, точно в сети есть хотя бы один лидер и нструктор?

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


Ссылка на сообщение
Поделиться на другие сайты
AngryKitten

@Wеb, только что сделал себя лидеров и пере зашел не авторизовался в панели админа и зашел со второго компа на обычный акк и пусто


, я себя назначал,потом решил себя назначить и зашел со второго компа (обычный игрок) и все равно нет в списках

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


Ссылка на сообщение
Поделиться на другие сайты
noname_idk
@AngryKitten, через printf проверьте, на каком месте обрывается вызываемая команда. В начало добавьте printf("debugcmd1"); и после каждой проверки в команде это же вставляйте, инкрементируя цифру (увеличивая на единицу). Скомпилируйте мод, в игре используйте эту команду, выложите затем сюда саму команду с Вашими изменениями и логи сервера (server_log.txt).

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


Ссылка на сообщение
Поделиться на другие сайты
AngryKitten

,[spoiler=server log]SA-MP Dedicated Server

----------------------
v0.3e, ©2005-2012 SA-MP Team

[01:47:41]
[01:47:41] Server Plugins
[01:47:41] --------------
[01:47:41] Loading plugin: mysql
[01:47:41] >> plugin.mysql: R39-6 successfully loaded.
[01:47:41] Loaded.
[01:47:41] Loading plugin: streamer
[01:47:41]

*** Streamer Plugin v2.8.2 by Incognito loaded ***

[01:47:41] Loaded.
[01:47:41] Loading plugin: regex
[01:47:41]


[01:47:41] ______________________________________


[01:47:41] Regular Expression Plugin v0.2.1 loaded
[01:47:41] ______________________________________


[01:47:41] By: Fro © Copyright 2009-2011
[01:47:41] ______________________________________


[01:47:41] Loaded.
[01:47:41] Loading plugin: sscanf
[01:47:41]

[01:47:41] ===============================

[01:47:41] sscanf plugin loaded.

[01:47:41] Version: 2.8.2

[01:47:41] © 2012 Alex "Y_Less" Cole

[01:47:41] ===============================

[01:47:41] Loaded.
[01:47:41] Loaded 4 plugins.

[01:47:41]
[01:47:41] Ban list
[01:47:41] --------
[01:47:41] Loaded: samp.ban
[01:47:41]
[01:47:41]
[01:47:42] Filterscripts
[01:47:42] ---------------
[01:47:42] Loading filterscript 'flyingsoe.amx'...
[01:47:42] Loaded 1 filterscripts.

[01:47:42] MySQL connection: TRUE

[01:47:42] -> Динамических объектов: 12007
[01:47:42] -> Статических объектов: 282
[01:47:42] -> Видимых объектов (стример): 718
[01:47:42] -> Количество транспорта: 177
[01:47:42] _______________________________________________________
[01:47:42] Development fashion: #Mod
[01:47:42] Mod project © 2017, inc. all rights reserved.
[01:47:42] _______________________________________________________
[01:47:42] Number of vehicle models: 57
[01:47:42] [Загружено бизнесов]: <1>. Потрачено: <33 ms>.
[01:47:42] [Загружено домов]: <2>. Потрачено: <0 ms>.
[01:47:42] [Загружены склады мафий]: Потрачено: <0 ms>.
[01:47:42] [Загружены склады банд]: Потрачено: <0 ms>.
[01:47:42] [Загружено гангзон]: <0>. Потрачено: <0 ms>.
[01:47:42] [Загружено банкоматов]: <0>. Потрачено: <0 ms>.
[01:47:42] [Загружено остальное]: Потрачено: <7 ms>.
[01:47:42] [Загружено семей]: <0>. Потрачено: <0 ms>.
[01:48:28] Incoming connection: 127.0.0.1:63519
[01:48:28] [join] user has joined the server (0:127.0.0.1)
[01:48:48] debugcmd1

 

 

Команды в первом посте

CMD:leaders(playerid)
{
        printf("debugcmd1");
	new full, text[20] = "None";

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


Ссылка на сообщение
Поделиться на другие сайты
noname_idk
@AngryKitten, я ж просил писать такое в начале и после каждой проверки...

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


Ссылка на сообщение
Поделиться на другие сайты
AngryKitten

 

 


в первом посте
Объясни где точнее вставлять то!?

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


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@AngryKitten,короче, 1 строка - выводишь текст в консоль, так после каждой строчки, я так делаю и понимаю, где работает, где нет. 

Только не забудь менять названия, ну или хотя бы цифры

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


Ссылка на сообщение
Поделиться на другие сайты
MAXDELAET

@Marvellous, о боже, лучше вообще ничего не пиши на форуме! Твоя тупость просто зашкаливает 

1 код - админ и лидеры могут смотреть

2 код - если админ на лидерки то его не будет показывать в /leaders

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


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@MAXDELAET,твоя тупость просто убивает.

По теме: а вот в Leaders у тебя вообще выдается лидерка? Ну переменная меняется. Попробуй так: 

CMD:leaders(playerid)
{
	new full, text[20] = "None";
	stringer[0] = EOS;
	strcat(stringer, "{FFFF00}Организация - Телефон - Имя игрока\n\n");
	foreach(new i : Player)
	{
		if(!gPlayerLogged[i] || pInfo[i][pAdmin] || pInfo[i][pLeader] != 0) continue;
	    if(pInfo[i][pPhoneNumber]>1) format(text, sizeof(text), "%i", pInfo[i][pPhoneNumber]);
	    if(GetPVarInt(i, "AFK_Time") > 1)
	    {
			format(stringer, sizeof(stringer), "%s{FFFFFF}%s - %s - %s - %s {FF9900}[AFK: %s]\n", stringer, Fraction_Name[pInfo[i][pLeader]], Fraction_Rang[pInfo[i][pMember]][pInfo[i][pRank]], GetName(i), text, Converts(GetPVarInt(i, "AFK_Time")));
		}
		else
		{
		    format(stringer, sizeof(stringer), "%s{FFFFFF}%s - %s - %s - %s\n", stringer, Fraction_Name[pInfo[i][pLeader]], Fraction_Rang[pInfo[i][pMember]][pInfo[i][pRank]], GetName(i), text);
		}
		full++;
	}
	ShowPlayerDialog(playerid, dNull, DIALOG_STYLE_MSGBOX, "{FFCC00}Лидеры онлайн:", stringer, "Закрыть", "");
	return 1;
}

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


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

  • Последние посетители   0 пользователей онлайн

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

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.