Вопросы

viktor666
Освоившийся

У меня есть команда prefix и мне нужно сделать что бы когда кто то выдавал префиксы писало в адм чат

        case D_MAKELEADER: {
            if(!response) return 1;
            new ID = GetPVarInt(playerid, "use_leader");
            new frac = GetPVarInt(playerid, "use_frac");
            format(FI[frac][fLeader], 24"%s", player_name[ID]);
            format(FI[frac][fAdmin],  24"%s", player_name[playerid]);

            new year, month, day;
            getdate(year, month, day);
            format(FI[frac][fTime],  53"%02i/%02i/%02i", day, month, year);

            PI[ID][pLeader] = FI[frac][fID];
            PI[ID][pMember] = FI[frac][fID];
            PI[ID][pRank]   = FI[frac][fMaxRang];
            PI[ID][pSpawn] = 2;
            static const f_str[] = ""W"%s"G" назначил Вас лидером организации "P"%s";
            new string[sizeof(f_str) +1 + (-2 + MAX_PLAYER_NAME) + (-2 + 24)];
            if(IsAGang(ID))
            {
                PI[ID][pHospital] = 0;
                SetPlayerHealth(ID, 100);
            }
            format(string,sizeof(string),f_str,player_name[playerid],FI[frac][fName]);
            SendOk(ID,string);

            format(string, sizeof(string), "[A] %s[%d] назначил %s[%d] на пост лидера %s",player_name[playerid],playerid,player_name[ID],ID,FI[frac][fName]);
            AdmMSG(0xAFAFAFAA, string,1);
            
            PI[ID][pFracSkin] = FI[frac][fSkin];
            PI[ID][pJob]        = 0;
            A_SetPlayerSkin(ID,PI[ID][pFracSkin]);
            SetPlayerColor(ID,gFractionSpawn[PI[ID][pMember]][fracColor]);
            start_work[ID] = 1;
            PI[ID][pSpawn] = 2;
            SaveAccount(ID);
            SaveFraction(frac);
            add_datefrac(ID);
        }

С этого стока можно взять проверку но как её изменить на нужную

значение префикса в бд записывается в pPrefix

CMD:setprefix(playerid, params[])
{
    if(PI[playerid][pAdmin] < 5 || dostup[playerid] == 0return true;
    if(sscanf(params, "ds[120]",params[0], params[1], params[2])) return SendEsp(playerid, "/setprefix [ID] [èìÿ ïðåôèêñà]");//[èä öâåòà]

    // PI[params[0]][pPrefix] = params[1];
    strmid(PI[params[0]][pPrefix],params[1], 0, strlen(params[1]), 32);
    PI[params[0]][pPrefixColor] = params[2];
    // UpdatePlayerData(params[0],"pPrefix", PI[params[0]][pPrefix]);

    new query[300];
    format(query,sizeof(query),"UPDATE `accounts` SET `pPrefix` = '%s' WHERE `pID` = '%d' LIMIT 1",PI[params[0]][pPrefix],PI[params[0]][pID]);
    mysql_tquery(connects, query,"","");

    format(query,sizeof(query),"UPDATE `accounts` SET `pPrefixColor` = '%s' WHERE `pID` = '%d' LIMIT 1",PI[params[0]][pPrefixColor],PI[params[0]][pID]);
    mysql_tquery(connects, query,"","");
    return true;
}

 

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


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

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

  • 1
Roy Weezy
Старожил
CMD:setprefix(playerid, params[])
{
    if(PI[playerid][pAdmin] < 5 || dostup[playerid] == 0return true;
    if(sscanf(params, "ds[120]",params[0], params[1])) return SendEsp(playerid, "/setprefix [ID] [имя префикса]");//[ид цвета]


    new query[144];
    format(query,sizeof(query),"UPDATE `accounts` SET `pPrefix` = '%s' WHERE `pID` = '%d' LIMIT 1",params[1],PI[params[0]][pID]);
    mysql_tquery(connects, query,"","");

    new string[128];      
    format(string, sizeof(string), "%s выдал префикс %s администратору %s", player_name[playerid], params[1], player_name[params[0]]);  
    AdmMSG(0xAFAFAFAA, string,1);
    return true;
}

Замените полностью команду

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

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


Ссылка на сообщение
  • 0
keyl
Великий Гуру

@viktor666 перед return true команды setprefix можно добавить это:

new string[128];
format(string, sizeof(string), "%s выдал префикс %s администратору %s", PI[playerid][pName], PI[params[0]][pPrefix], PI[params[0]][pName]);
AdmMSG(0xAFAFAFAA, string,1);

 

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


Ссылка на сообщение
  • 0
viktor666
Освоившийся

@keyl Так?

CMD:setprefix(playerid, params[])
{
    if(PI[playerid][pAdmin] < 5 || dostup[playerid] == 0return true;
    new string[128];
    format(string, sizeof(string), "%s выдал префикс %s администратору %s", PI[playerid][pName], PI[params[0]][pPrefix], PI[params[0]][pName]);
    AdmMSG(0xAFAFAFAA, string,1);
    if(sscanf(params, "ds[120]",params[0], params[1], params[2])) return SendEsp(playerid, "/setprefix [ID] [имя префикса]");//[ид цвета]

    // PI[params[0]][pPrefix] = params[1];
    strmid(PI[params[0]][pPrefix],params[1], 0, strlen(params[1]), 32);
    PI[params[0]][pPrefixColor] = params[2];
    // UpdatePlayerData(params[0],"pPrefix", PI[params[0]][pPrefix]);

    new query[300];
    format(query,sizeof(query),"UPDATE `accounts` SET `pPrefix` = '%s' WHERE `pID` = '%d' LIMIT 1",PI[params[0]][pPrefix],PI[params[0]][pID]);
    mysql_tquery(connects, query,"","");

    format(query,sizeof(query),"UPDATE `accounts` SET `pPrefixColor` = '%s' WHERE `pID` = '%d' LIMIT 1",PI[params[0]][pPrefixColor],PI[params[0]][pID]);
    mysql_tquery(connects, query,"","");
    

 

и проблема 

 : error 017: undefined symbol "pName"; did you mean "fName"?



1 Error.

 

скорее всего место pName нужно 

player_name т.к в pinfo нет pname

но как это сделать

 

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


Ссылка на сообщение
  • 0
viktor666
Освоившийся

сделал так format(string, sizeof(string), "%s выдал префикс %s администратору %s", player_name[playerid], PI[params[0]][pPrefix], player_name[playerid]); щас проверю работу

 

Сделал так 

    format(string, sizeof(string), "%s выдал префикс %s администратору %s", player_name[playerid], playerid,player_name[params[0]][pPrefix], player_name[playerid]);

Но пишет только Carlo_JJ выдал префикс администратору а мне нужно Carlo_JJ выдал префикс ГА администратору Carlo_JJ

Как сделать? помогите

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


Ссылка на сообщение
  • 0
viktor666
Освоившийся

@Holmo 

Но пишет только Carlo_JJ выдал префикс администратору а мне нужно Carlo_JJ выдал префикс ГА администратору Carlo_JJ

Как сделать? помогите

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


Ссылка на сообщение
  • 0
viktor666
Освоившийся
CMD:setprefix(playerid, params[])
{
    if(PI[playerid][pAdmin] < 5 || dostup[playerid] == 0return true;
    new string[128];
    format(string, sizeof(string), "%s выдал префикс %s администратору %s", player_name[playerid], playerid,player_name[params[0]][pPrefix], player_name[playerid]);
    AdmMSG(0xAFAFAFAA, string,1);
    if(sscanf(params, "ds[120]",params[0], params[1], params[2])) return SendEsp(playerid, "/setprefix [ID] [имя префикса]");//[ид цвета]

    // PI[params[0]][pPrefix] = params[1];
    strmid(PI[params[0]][pPrefix],params[1], 0, strlen(params[1]), 32);
    PI[params[0]][pPrefixColor] = params[2];
    // UpdatePlayerData(params[0],"pPrefix", PI[params[0]][pPrefix]);

    new query[300];
    format(query,sizeof(query),"UPDATE `accounts` SET `pPrefix` = '%s' WHERE `pID` = '%d' LIMIT 1",PI[params[0]][pPrefix],PI[params[0]][pID]);
    mysql_tquery(connects, query,"","");

    format(query,sizeof(query),"UPDATE `accounts` SET `pPrefixColor` = '%s' WHERE `pID` = '%d' LIMIT 1",PI[params[0]][pPrefixColor],PI[params[0]][pID]);
    mysql_tquery(connects, query,"","");
    return true;
}

 

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


Ссылка на сообщение
  • 0
Roy Weezy
Старожил

а каким образом должно показывать выданный префикс, если вы сделали отправку сообщения до ВСЕХ проверок? o.O
 

new string[128];  

format(string, sizeof(string), "%s выдал префикс %s администратору %s", player_name[playerid], playerid,player_name[params[0]][pPrefix], player_name[playerid]);     
AdmMSG(0xAFAFAFAA, string,1);

в конец это просто добавьте, а в начале удалите...

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

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


Ссылка на сообщение
  • 0
viktor666
Освоившийся

 

@Holmo так?

CMD:setprefix(playerid, params[])
{
    if(PI[playerid][pAdmin] < 5 || dostup[playerid] == 0return true;
    if(sscanf(params, "ds[120]",params[0], params[1], params[2])) return SendEsp(playerid, "/setprefix [ID] [имя префикса]");//[ид цвета]

    // PI[params[0]][pPrefix] = params[1];
    strmid(PI[params[0]][pPrefix],params[1], 0, strlen(params[1]), 32);
    PI[params[0]][pPrefixColor] = params[2];
    // UpdatePlayerData(params[0],"pPrefix", PI[params[0]][pPrefix]);

    new query[300];
    format(query,sizeof(query),"UPDATE `accounts` SET `pPrefix` = '%s' WHERE `pID` = '%d' LIMIT 1",PI[params[0]][pPrefix],PI[params[0]][pID]);
    mysql_tquery(connects, query,"","");

    format(query,sizeof(query),"UPDATE `accounts` SET `pPrefixColor` = '%s' WHERE `pID` = '%d' LIMIT 1",PI[params[0]][pPrefixColor],PI[params[0]][pID]);
    mysql_tquery(connects, query,"","");
    new string[128];
    format(string, sizeof(string), "%s выдал префикс %s администратору %s", player_name[playerid], playerid,player_name[params[0]][pPrefix], player_name[playerid]);
    AdmMSG(0xAFAFAFAA, string,1);
    return true;
}

 

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

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


Ссылка на сообщение
  • 0
viktor666
Освоившийся

@Holmo такая проблема теперь пишет Carlo_JJ выдал префикс администратору arlo_JJ (1 буквы ника не хватает) и не пишет какой префикс выдали ("%s выдал префикс %s администратору %s")

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


Ссылка на сообщение
  • 0
Roy Weezy
Старожил
new string[128];     

format(string, sizeof(string), "%s выдал префикс %s администратору %s", player_name[playerid], player_name[params[0]][pPrefix], player_name[params[0]]); 
AdmMSG(0xAFAFAFAA, string,1);

замените.

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


Ссылка на сообщение
  • 0
viktor666
Освоившийся

@Holmo Carlo_JJ выдал префикс arlo_JJ администратору Carlo_JJ теперь(нужно что бы место arlo_JJ было название префикса)

 

@Holmo Понял что мой гавнокод нужно менять и решил переписать )

Помогло.

Закрыто

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


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

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

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

    • sinvays
      От sinvays
      Добрый день!
      Решил не отставать от сообщества копирайтеров да и особо мне было нечего делать, вот и подготовил собственную копию RUSSIA, которую планирую дорабатывать со временем если увижу отдачу на видеоролике в ютуб. На данный момент реализованы основные системы и визуальные обновления. Не всё ещё доведено до идеала, но масштабные функции уже работают как нужно. Сливаю мод от того что не вижу смысла его продавать.
      Обзор на YouTube
      Что уже сделано:
      Рабочая шахта (добыча золота, алмазов и угля);
      Система крафта (создание теслы, предметов и т.п.);
      Добавлены новые титулы + система «Мои титулы» (можно надевать и снимать);
      Новые костюмы;
      Обновлён парк у мэрии;
      Обновлён интерьер LSPD;
      Реализовано открытие дверей в здании полиции (частично);
      Обновлены эксклюзивные аксессуары;
      Исправлена покупка эксклюзивных авто;
      Добавлен пикап спавна транспорта организаций (учитывая штучность транспорта);
      Устранена уязвимость (дыра по SKY, через которую можно было крашить сервер);
      По многочисленным просьбам удалён weapon-config и все его связки.
       
      И это далеко не всё!
      Важное:
      Это первая версия мода. В дальнейшем буду дорабатывать и улучшать его по мере возможности если увижу отдачу на видеоролике в ютуб.
      Если у вас будут дополнения к системам или возникнут проблемы — пишите смело: vk.com/gta_lacoste.
      Я не до конца знаком с оригиналом проекта, но главная суть уже реализована, осталось только довести детали.
      Прошу писать мне прилагая скриншоты/видео, чтобы я наглядно видел как работает та или инная система представленная на проекта. Спасибо)
       
      Удачи в открытии копий, хулиганы! 😉
    • sinvays
      От sinvays


      Скачать файл RUSSIA RP 1.0 | 2025
      Добрый день!
      Решил не отставать от сообщества копирайтеров да и особо мне было нечего делать, вот и подготовил собственную копию RUSSIA, которую планирую дорабатывать со временем если увижу отдачу на видеоролике в ютуб. На данный момент реализованы основные системы и визуальные обновления. Не всё ещё доведено до идеала, но масштабные функции уже работают как нужно. Сливаю мод от того что не вижу смысла его продавать.
      Обзор на YouTube
      Что уже сделано:
      Рабочая шахта (добыча золота, алмазов и угля);
      Система крафта (создание теслы, предметов и т.п.);
      Добавлены новые титулы + система «Мои титулы» (можно надевать и снимать);
      Новые костюмы;
      Обновлён парк у мэрии;
      Обновлён интерьер LSPD;
      Реализовано открытие дверей в здании полиции (частично);
      Обновлены эксклюзивные аксессуары;
      Исправлена покупка эксклюзивных авто;
      Добавлен пикап спавна транспорта организаций (учитывая штучность транспорта);
      Устранена уязвимость (дыра по SKY, через которую можно было крашить сервер);
      По многочисленным просьбам удалён weapon-config и все его связки.
       
      И это далеко не всё!
      Важное:
      Это первая версия мода. В дальнейшем буду дорабатывать и улучшать его по мере возможности если увижу отдачу на видеоролике в ютуб.
      Если у вас будут дополнения к системам или возникнут проблемы — пишите смело: vk.com/gta_lacoste.
      Я не до конца знаком с оригиналом проекта, но главная суть уже реализована, осталось только довести детали.
      Прошу писать мне прилагая скриншоты/видео, чтобы я наглядно видел как работает та или инная система представленная на проекта. Спасибо)
       
      Удачи в открытии копий, хулиганы! 😉
      Добавил sinvays Добавлено 18.09.2025 Категория Моды Автор Angel Sinvays (Daddy Lacoste)  
    • Доналдо Фарекелка
      От Доналдо Фарекелка


      Скачать файл Arizona RolePlay || Ser
      Приветствую, этот мод я нашёл на просторах интернета. 
      Скачал мод у автора:  Developer Stravinskiy
      Доработал мод: Donaldo_Farekelka
       
      Предупреждаю! Мод сырой, багов стало меньше, но они есть.
      Мод: Баня, Подвал, В некоторых местах маппинг, система коронавируса, 8 лвл админок
       
      Информация:
      1) Dc_Cmd
      2) Mysql, mode, language - Всё настраивается теперь в pawno ( UPDATE: 1.1.0 )
      3) Административные права в данный момент можно выдать через /amakeadmin(Смотреть уроки) или БД ( UPDATE: 1.2.2 ).
       
      То что я сделал ( Всё что я делаю сейчас, смотрите в изменениях ):

      Как установить мод на хостинг(Чтобы больше не было вопросов в ЛС):
      RUTUBE: https://rutube.ru/video/f74276be05e090652ee46bcbe2b4e27d
      YOUTUBE: https://youtu.be/z07sJUAVQpI
      Добавил Доналдо Фарекелка Добавлено 13.04.2023 Категория Моды Автор shenol (vk.com/donaldo_farekelka)  
    • Maksim_Nemos
      От Maksim_Nemos
      Всех приветствую!
      Решил запустит на локальной сети сервер samp но при входе не открывается окно регистрации а в чат только пишет Connect to "Название Сервера прописанное в моде" и появляется курсор самп мышки и внизу кнопки < > spawn
      Скрин №1 и №2