Kolhoznik 0 Опубликовано 4 декабря, 2019 Пишу /ans id текст, не игрок, не я не вижу ответа. CMD:ans(playerid, params[]) { IsAdmin(ADM_HELPER); else if(!gAdminLogged[playerid]) return SendClientMessage(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin); else if(sscanf(params, "ds[100]", params[0], params[1])) return SendClientMessage(playerid, COLOR_WHITE,"Введите: /ans [id игрока] [текст]"); else if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline); else if(!gPlayerLogged[params[0]]) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized); else if(TextReset[playerid] > gettime() && GetString(OldMessage[playerid], params[0])) return SendClientMessage(playerid,COLOR_GREY,"Не флуди"); /*format(string, sizeof(string), "[A] {ffaf4e}Администратор %s[%d] для %s[%d]:{ffffff} %s", GetName(playerid), playerid, GetName(params[0]), params[0], params[1]); SendAdminMessage(0xFFCC00FF, string); SendClientMessage(params[0], 0xFFCC00FF, string);*/ AdminInfo[playerid][admAnsed]++; mysql_query_string[0] = EOS; format(mysql_query_string, 150, "UPDATE "T_ADMIN" SET ansed = %i WHERE admid = %i LIMIT 1", AdminInfo[playerid][admAnsed], AdminInfo[playerid][admID]); mysql_tquery(dbHandle, mysql_query_string, "", ""); SetString(OldMessage[playerid], params[1]); TextReset[playerid] = gettime()+6; return 1; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
16Shadows 101 Опубликовано 5 декабря, 2019 Наверное, потому что у Вас закомментированы строки для отправки сообщений. Но кто знает. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Shao 116 Опубликовано 9 декабря, 2019 (изменено) CMD:ans(playerid, params[]) { if(PlayerInfo[playerid][pAdm] < 1) return false; if(!gAdminLogged[playerid]) return SendClientMessage(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin); extract params -> new id, string: answer_text[144]; else return SendClientMessage(playerid, COLOR_WHITE,"Введите: /ans [id игрока] [текст]"); if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline); if(!gPlayerLogged[id]) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized); if(TextReset[playerid] > gettime() && GetString(OldMessage[playerid], id)) return SendClientMessage(playerid, COLOR_GREY, "Не флуди"); STRING_GLOBAL[0] = EOS; format ( STRING_GLOBAL, sizeof STRING_GLOBAL, "[A] {ffaf4e}Администратор %s[%d] для %s[%d]:{ffffff} %s", GetName(playerid), playerid, GetName(id), id, answer_text ); SendAdminMessage(0xFFCC00FF, STRING_GLOBAL); SendClientMessage(id, 0xFFCC00FF, STRING_GLOBAL); ++ AdminInfo[playerid][admAnsed]; STRING_GLOBAL[0] = EOS; mysql_format ( STRING_GLOBAL, sizeof STRING_GLOBAL, "UPDATE "T_ADMIN" SET ansed = '%d' WHERE admid = '%d' LIMIT 1", AdminInfo[playerid][admAnsed], AdminInfo[playerid][admID] ); mysql_tquery(dbHandle, STRING_GLOBAL, "", ""); SetString(OldMessage[playerid], answer_text); TextReset[playerid] = gettime() + 6; return true; } Если нет STRING_GLOBAL, то ко всем new: new STRING_GLOBAL[2248];// ну хотя бы столько Так же учти, что у тебя SendAdminMessage - нативная функция, а значит будет отправлять лишь администраторам, которые не игровые, а ркон. Спасением от этого станет - при назначении на администратора(ну, а при снятии его удаление), добавление его в итератор, а потом создание кастомной функции, которая будет проверять всех администраторов, и слать им сообщения, чтобы сделать выше перечисленное,, воспользуйся foreach. Изменено 9 декабря, 2019 пользователем Shao Прошу прощения за две первые строки, увы ничего не смогу поделать :( Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты