Вопросы

Не работает чат депортамента для новой фракции, вот сделал все правильно вроде бы правильно

if(IsACop(playerid) || PI[playerid][pMember] == TEAM_ARMIYA || TEAM_MCHS || IsAMedic(playerid) || IsAMayor(playerid) || PI[playerid][pMember] == TEAM_AUTOSCHOOL || IsANews(playerid))

 

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


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

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

  • 0

@archiboy6 Сообщения в департамент отправляются, просто МЧС не видят чат департамента. Свой stock SendDMes замените на этот: 
 

Спойлер

stock SendDMes(color, str[])
{
	foreach(new i: Player)
	{
		if(!PlayerLogged[i]) continue;
		if(PI[i][pSetting][0] == 1)
		{
			if(PI[i][pMember] == TEAM_ARMIYA || IsAMedic(i) || IsAMayor(i) || IsACop(i) || PI[i][pMember] == TEAM_AUTOSCHOOL || IsANews(i) || IsAMchs(i)) SCM(i, color, str);
		}
	}
	return 1;
}

 

 

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


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

@archiboy6 неправильно сделано. 

if(IsACop(playerid) || PI[playerid][pMember] == TEAM_ARMIYA || PI[playerid][pMember] == TEAM_MCHS || IsAMedic(playerid) || IsAMayor(playerid) || PI[playerid][pMember] == TEAM_AUTOSCHOOL || IsANews(playerid))

 

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


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

@stibs Почему же тогда в рации сделано так как скинул и работает?

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


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

@archiboy6 Значит, там не так сделано. Впрочем, если вы уверены, что ваш код работоспособный, вы можете оставить как есть. 

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


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

@stibs Не уверен, и ваш код тоже не работоспособен, проверил только что не работает

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


Ссылка на сообщение
  • 0
CMD:d(playerid, params[])
{
	if(IsACop(playerid) || PI[playerid][pMember] == TEAM_ARMIYA || PI[playerid][pMember] == TEAM_MCHS || IsAMedic(playerid) || IsAMayor(playerid) || PI[playerid][pMember] == TEAM_AUTOSCHOOL || IsANews(playerid))
	{
		if(PI[playerid][pMuted] > 0) return SCM(playerid, COLOR_GREY, PlayerHaveMuteTime);
		else if(PI[playerid][pSetting][0] == 0) return SCM(playerid, COLOR_GREY, "Ваш чат организации отключен!");
		else if(GetPVarInt(playerid,"dep") > gettime()) return SCM(playerid, 0xFF7979AA, "Следующее сообщение вы сможете отправить через 15 секунд!");
		else if(isnull(params)) return SCM(playerid, COLOR_WHITE, "• {66CC00}[ Подсказка ] {ffffff}Введите: /d [текст]");
		else if(TextReset[playerid] > gettime() && GetString(OldMessage[playerid], params[0])) return SCM(playerid,COLOR_GREY,"Не флуди");
		else if(IsIpFound(params[0]) || CheckString(params[0])) return PlayerGetsChatBan(playerid, params[0]);
		new string[128], mesid[128];
		format(string, sizeof(string), "[D] [%s] %s %s: %s", Fraction_Name[PI[playerid][pMember]], Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]), GetName(playerid), params[0]);
		format(mesid, sizeof(mesid), "[D] [%s] %s %s[%d]: %s", Fraction_Name[PI[playerid][pMember]], Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]), GetName(playerid), playerid, params[0]);
		if(PI[playerid][pSetting][3] == 0) SendDMes(0x007FFFFF, string);
		else SendDMes(0x007FFFFF, mesid);
		SetPlayerChatBubble(playerid,"сообщает в депортамент",COLOR_PURPLE,30.0,10000);
		SetPVarInt(playerid,"dep",gettime() + 15);
		#if DEBUG_STATUS == true
			printf("[D] [%s] %s %s: %s", Fraction_Name[PI[playerid][pMember]], Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]), GetName(playerid), params[0]);
        #endif
	}
	else SCM(playerid, COLOR_GREY, YouCanNot);
	return 1;
}

 

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


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

Свою команду замените этой, после используйте ее в игре и скиньте логи: 
 


CMD:d(playerid, params[])
{
	printf("d(playerid=%d), member(playerid=%d) = %d", playerid, playerid, PI[playerid][pMember]);
	if(IsACop(playerid) || PI[playerid][pMember] == TEAM_ARMIYA || PI[playerid][pMember] == TEAM_MCHS || IsAMedic(playerid) || IsAMayor(playerid) || PI[playerid][pMember] == TEAM_AUTOSCHOOL || IsANews(playerid))
	{
		print("Проверка 1 пройдена");
		if(PI[playerid][pMuted] > 0) return SCM(playerid, COLOR_GREY, PlayerHaveMuteTime);
		else if(PI[playerid][pSetting][0] == 0) return SCM(playerid, COLOR_GREY, "Ваш чат организации отключен!");
		else if(GetPVarInt(playerid,"dep") > gettime()) return SCM(playerid, 0xFF7979AA, "Следующее сообщение вы сможете отправить через 15 секунд!");
		else if(isnull(params)) return SCM(playerid, COLOR_WHITE, "• {66CC00}[ Подсказка ] {ffffff}Введите: /d [текст]");
		else if(TextReset[playerid] > gettime() && GetString(OldMessage[playerid], params[0])) return SCM(playerid,COLOR_GREY,"Не флуди");
		else if(IsIpFound(params[0]) || CheckString(params[0])) return PlayerGetsChatBan(playerid, params[0]);
		new string[128], mesid[128];
		format(string, sizeof(string), "[D] [%s] %s %s: %s", Fraction_Name[PI[playerid][pMember]], Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]), GetName(playerid), params[0]);
		format(mesid, sizeof(mesid), "[D] [%s] %s %s[%d]: %s", Fraction_Name[PI[playerid][pMember]], Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]), GetName(playerid), playerid, params[0]);
		if(PI[playerid][pSetting][3] == 0) SendDMes(0x007FFFFF, string);
		else SendDMes(0x007FFFFF, mesid);
		SetPlayerChatBubble(playerid,"сообщает в депортамент",COLOR_PURPLE,30.0,10000);
		SetPVarInt(playerid,"dep",gettime() + 15);
		#if DEBUG_STATUS == true
			printf("[D] [%s] %s %s: %s", Fraction_Name[PI[playerid][pMember]], Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]), GetName(playerid), params[0]);
        #endif
	}
	else SCM(playerid, COLOR_GREY, YouCanNot);
	return 1;
}

 

 

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


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

@stibs 

Спойлер


----------
Loaded log file: "server_log.txt".
----------

SA-MP Dedicated Server
----------------------
v0.3e, (C)2005-2012 SA-MP Team

[11:33:22] filterscripts = ""  (string)
[11:33:22] 
[11:33:22] Server Plugins
[11:33:22] --------------
[11:33:22]  Loading plugin: crashdetect.so
[11:33:22]   CrashDetect v4.15.1 is OK.
[11:33:22]   Loaded.
[11:33:22]  Loading plugin: mysql_static.so
[11:33:22]  >> plugin.mysql: R39-5 successfully loaded.
[11:33:22]   Loaded.
[11:33:22]  Loading plugin: sscanf.so
[11:33:22] 

[11:33:22]  ===============================

[11:33:22]       sscanf plugin loaded.     

[11:33:22]          Version:  2.8.1        

[11:33:22]    (c) 2012 Alex "Y_Less" Cole  

[11:33:22]  ===============================

[11:33:22]   Loaded.
[11:33:22]  Loading plugin: streamer.so
[11:33:22] 

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

[11:33:22]   Loaded.
[11:33:22]  Loading plugin: dc_cmd.so
[11:33:22]   Daniel's CMD plugin v2.8
[11:33:22]     (c) 2014 Daniel_Cortez
[11:33:22] 	www.pro-pawn.ru
[11:33:22]   Loaded.
[11:33:22]  Loading plugin: nativechecker.so
[11:33:22]   Loaded.
[11:33:22]  Loading plugin: regex.so
[11:33:22] 


[11:33:22] ______________________________________


[11:33:22]  Regular Expression Plugin v0.2.1 loaded
[11:33:22] ______________________________________


[11:33:22]  By: Fro (c) Copyright <TBG> 2009-2011
[11:33:22] ______________________________________


[11:33:22]   Loaded.
[11:33:22]  Loading plugin: CRP.so
[11:33:22] 

[11:33:22] ______________________________________

[11:33:22]  Convert Rus To Pwn v0.1.1 loaded
[11:33:22] ______________________________________

[11:33:22]  By: Fro (c) Copyright <TBG> 2009-2011
[11:33:22] ______________________________________

[11:33:22]   Loaded.
[11:33:22]  Loaded 8 plugins.

[11:33:22] 
[11:33:22] Ban list
[11:33:22] --------
[11:33:22]  Loaded: samp.ban
[11:33:22] 
[11:33:22] 
[11:33:22] Filterscripts
[11:33:22] ---------------
[11:33:22]   Loaded 0 filterscripts.

[11:33:22]    Error: Function not registered: 'ConvertRusToPwn'
[11:33:22]    Error: Function not registered: 'regex_delete_all'
[11:33:22]    Error: Function not registered: 'regex_build'
[11:33:22]    Error: Function not registered: 'regex_search_exid'
[11:33:22]  
[11:33:22]  
[11:33:22]  
[11:33:22]  ======================================= 
[11:33:22]  |                                     | 
[11:33:22]  |        YSI version 3.09.0684        | 
[11:33:22]  |        By Alex "Y_Less" Cole        | 
[11:33:22]  |                                     | 
[11:33:22]  ======================================= 
[11:33:22]  
[11:33:22] [MySQL]: Подключение к базе данных прошло успешно
[11:33:22] Number of vehicle models: 7
[11:33:22] [Загружено орг/раб. автомобилей]: <135>. Потрачено: <4 ms>.
[11:33:22] [Загружено рангов для фракций]: <13>. Потрачено: <1 ms>.
[11:33:22] [Загружено бизнесов]: <4>. Потрачено: <0 ms>.
[11:33:22] [Загружено домов]: <2>. Потрачено: <0 ms>.
[11:33:22] [Загружены склады мафий]: Потрачено: <0 ms>.
[11:33:22] [Загружены склады ОПГ]: Потрачено: <0 ms>.
[11:33:22] [Загружено банкоматов]: <3>. Потрачено: <0 ms>.
[11:33:22] [Загружено остальное]: Потрачено: <0 ms>.
[11:33:22] [Загружено радаров]: <2>. Потрачено: <0 ms>.
[11:33:22] [System Hotels]: 50 hotels successfully loaded
[11:33:46] Incoming connection: 188.190.192.193:64901
[11:33:46] [join] Evgeniy_Samsonov has joined the server (0:188.190.192.193)
[11:33:57] [death] Evgeniy_Samsonov died 255
[11:34:18] [debug] Run time error 4: "Array index out of bounds"
[11:34:18] [debug]  Accessing element at index 13 past array upper bound 12
[11:34:18] [debug] AMX backtrace:
[11:34:18] [debug] #0 0028a000 in public OnDialogResponse (playerid=0, dialogid=7436, response=1, listitem=0, inputtext[]=@002a9f64 "") at D:\GHEKA\Моды\AVRP\gamemodes\stel.pwn:24343
[11:34:23] d(playerid=0), member(playerid=0) = 13
[11:34:23] Проверка 1 пройдена

 

 

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


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

@archiboy6 судя по логам первая проверка пройдена, значит не выполняются условия последующих проверок

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


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

@stibs И где искать последующие проверки?

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


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

@archiboy6 я думаю, что можно в середину команды добавить print("Середина команды");, затем вызвать на серваке ее и по логам глянуть, если в консоль написало, что "середина команды", значит до туда выполнение идет, а если нет, то проблема где-то раньше. 

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


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

@DEST Я уже на пути к решению проблемы,я создал Stock IsAMchs все работало теперь опять не работает

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

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


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

@DEST Не работает, поможешь?

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


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

@DEST @stibs Помогите решить проблему

Заметка от DEST , создано

3.6. Запрещено поднимать (апать) свою тему чаще, чем 1 раз в 24 часа.
Выдано предупреждение

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


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

@archiboy6 покажите как сделали со стоком? 

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


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

@DEST Да я там кое что обнаружил что в конце return; было а в других стоках еще 0 щас поставил проверю

@DEST Нет не работает, сейчас покажу 

@DEST Вот который я сделал

stock IsAMchs(playerid)
{
	switch(GetTeamID(playerid))
	{
		case TEAM_MCHS: return 1;
		default: return 0;
	}
	return 0;
}

А вот другой который был

stock IsACop(playerid)
{
	switch(GetTeamID(playerid))
	{
	    case TEAM_POLICIA,TEAM_DPS,TEAM_FBI: return 1;
	    default: return 0;
	}
	return 0;
}

 

@archiboy6 Дело в том что в рации так же само прописано, и там работает 

Спойлер

 

Вот рация 

CMD:r(playerid, params[])
{
    if(IsACop(playerid) || PI[playerid][pMember] == TEAM_ARMIYA || IsAMchs(playerid) || IsAMedic(playerid) || IsAMayor(playerid) || PI[playerid][pMember] == TEAM_AUTOSCHOOL || IsANews(playerid))
    {
        if(PI[playerid][pMuted] > 0) return SCM(playerid, COLOR_GREY, PlayerHaveMuteTime);
        else if(PI[playerid][pSetting][0] == 0) return SCM(playerid, COLOR_GREY, "Ваш чат организации отключен!");
        else if(isnull(params)) return SCM(playerid, COLOR_WHITE, "• {66CC00}[ Подсказка ] {ffffff}Введите: /r [текст]");
        else if(TextReset[playerid] > gettime() && GetString(OldMessage[playerid], params[0])) return SCM(playerid,COLOR_GREY,"Не флуди");
        else if(IsIpFound(params[0]) || CheckString(params[0])) return PlayerGetsChatBan(playerid, params[0]);
        new string[128], mesid[128];
        format(string, sizeof(string), "[R] %s %s: %s", Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]), GetName(playerid), params[0]);
        format(mesid, sizeof(mesid), "[R] %s %s[%d]: %s", Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]), GetName(playerid), playerid, params[0]);
        if(PI[playerid][pSetting][3] == 0) SendFMes(PI[playerid][pMember], 0x5da130FF, string);
        else SendFMes(PI[playerid][pMember], 0x5da130FF, mesid);
        SetPlayerChatBubble(playerid,"сообщает в рацию",COLOR_PURPLE,30.0,10000);
        SetString(OldMessage[playerid], params[0]);
        TextReset[playerid] = gettime()+3;
        #if DEBUG_STATUS == true
            printf("[R] [%s] %s %s: %s", Fraction_Name[PI[playerid][pMember]], Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]), GetName(playerid), params[0]);
        #endif
    }
    else SCM(playerid, COLOR_GREY, YouCanNot);
    return 1;
}

CMD:rn(playerid, params[])
{
    if(IsACop(playerid) || PI[playerid][pMember] == TEAM_ARMIYA || IsAMchs(playerid) || IsAMedic(playerid) || IsAMayor(playerid) || PI[playerid][pMember] == TEAM_AUTOSCHOOL || IsANews(playerid))
    {
        if(PI[playerid][pMuted] > 0) return SCM(playerid, COLOR_GREY, PlayerHaveMuteTime);
        else if(PI[playerid][pSetting][0] == 0) return SCM(playerid, COLOR_GREY, "Ваш чат организации отключен!");
        else if(isnull(params)) return SCM(playerid, COLOR_WHITE, "• {66CC00}[ Подсказка ] {ffffff}Введите: /rn [текст]");
        else if(TextReset[playerid] > gettime() && GetString(OldMessage[playerid], params[0])) return SCM(playerid,COLOR_GREY,"Не флуди");
        else if(IsIpFound(params[0]) || CheckString(params[0])) return PlayerGetsChatBan(playerid, params[0]);
        new string[128], mesid[128];
        format(string, sizeof(string), "(( [R] %s %s: %s ))", Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]), GetName(playerid), params[0]);
        format(mesid, sizeof(mesid), "(( [R] %s %s[%d]: %s ))", Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]), GetName(playerid), playerid, params[0]);
        if(PI[playerid][pSetting][3] == 0) SendFMes(PI[playerid][pMember], 0x5da130FF, string);
        else SendFMes(PI[playerid][pMember], 0x5da130FF, mesid);
        SetPlayerChatBubble(playerid,"сообщает в рацию",COLOR_PURPLE,30.0,10000);
        SetString(OldMessage[playerid], params[0]);
        TextReset[playerid] = gettime()+3;
        #if DEBUG_STATUS == true
            printf("[R] [%s] %s %s: %s", Fraction_Name[PI[playerid][pMember]], Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]), GetName(playerid), params[0]);
        #endif
    }
    else SCM(playerid, COLOR_GREY, YouCanNot);
    return 1;
}

 

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


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

@archiboy6 Если я подключю TEAM_MCHS к Stock IsAMedic то все работает вот сток медиков

stock IsAMedic(playerid)
{
	switch(GetTeamID(playerid))
	{
	    case TEAM_BOLNICA,TEAM_MCHS: return 1;
	    default: return 0;
	}
	return 0;
}

 

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


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

@archiboy6 значит, у вас где-то неверное значение TEAM_MCHS выдается. 

Чему оно равно? 

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


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

@archiboy6 дефайн какое значение имеет? 

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


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

@archiboy6 

5 часов назад, DEST сказал:

TEAM_MCHS

 

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


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

Давайте мод дам вы посмотрите

 

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


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   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} };