Question

Приветствую. Хотел сделать систему 3д и обычных номеров для машин но тут варнинги и не знаю как исправить а так же в игре когда ввожу /setnum открывается меню номеров чтобы выбрать 3д или обычные потом когда выбираешь вариант открывается окно подтверждении mail, Хотя я не трогал вообще коды майла, прощу строго не судить я новчичок :) скриншоты - click

 

1-В начале мода я добавил:
#define DIA_SET 0
#define DIA_VIB 1
#define DIA_SET1 2
#define VEHICLES 10

2) Ко всем new's:
new Text3D:dt[VEHICLES];

3) В public OnGameModeInit(после всего транспорта):
LoadNumbers();

4) В public OnPlayerCommandText:
if (strcmp("/setnum", cmd, true7) == 0)
        {
               if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0x00FF00AA,"Вы не в транспорте!");
                ShowPlayerDialog(playerid, DIA_VIB, DIALOG_STYLE_LIST, "Выбирите тип","3d номера\nОбычные","Выбрать","Отмена");
                return 1;
        }

5) В public OnDialogResponse:

if(dialogid == DIA_VIB)
        {
            if(response)
            {
                if(listitem == 0) ShowPlayerDialog(playerid, DIA_SET1, DIALOG_STYLE_INPUT, "Номера(3d)","Введите номер для автомобиля","Установить","Отмена");
                if(listitem == 1) ShowPlayerDialog(playerid, DIA_SET, DIALOG_STYLE_INPUT, "Номера(Обычные)","Введите номер для автомобиля","Установить","Отмена");
                }
        }
        if(dialogid == DIA_SET1)
        {
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIA_SET1, DIALOG_STYLE_INPUT, "Номера(3d)","Введите номер для автомобиля","Установить","Отмена");
                        new vid = GetPlayerVehicleID(playerid);
                        new Str[10];
                        new File1 = ini_openFile("num(3d).ini");
                        format(Str,10,"%d",vid);
                        ini_setString(File1,Str,inputtext);
                        ini_closeFile(File1);
                        Delete3DTextLabel(dt[vid]);
                        dt[vid] = Create3DTextLabel(inputtext, 0xFFFFFFFF0.00.00.050.001 );
                        Attach3DTextLabelToVehicle(dt[vid], vid, 0.00.01.0);
            }
            else { }
        }
        if(dialogid == DIA_SET)
        {
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIA_SET, DIALOG_STYLE_INPUT, "Номера","Введите номер для автомобиля","Установить","Отмена");
                        new vid = GetPlayerVehicleID(playerid),Str[10], Float:x, Float:y, Float:z, Float:ang;
                        new File = ini_openFile("num.ini");
                        format(Str,10,"%d",vid);
                        ini_setString(File,Str,inputtext);
                        ini_closeFile(File);
                        SetVehicleNumberPlate(vid, inputtext);
                        GetVehiclePos(vid, x,y,z);
                        GetVehicleZAngle(vid,ang);
                        SetVehicleToRespawn(vid);
                        SetVehiclePos(vid,x,y,z);
                        PutPlayerInVehicle(playerid,vid,0);
                        SetVehicleZAngle(vid,ang);
                        SendClientMessage(playerid, 0xFFFFFFFF"Номера на автомобиль установлены!");
            }
            else { }
        }


6) В конец мода:

stock LoadNumbers()
{
        new File = ini_openFile("num.ini");
        new Str[10], Str2[25];
        for(new i = 0; i < VEHICLES; i++)
        {
                format(Str,10,"%d",i);
                ini_getString(File,Str, Str2);
                SetVehicleNumberPlate(i, Str2);
        }
        ini_closeFile(File);
        new File1 = ini_openFile("num(3d).ini");
        new Str3[10], Str4[25];
        for(new i = 0; i < VEHICLES; i++)
        {
                format(Str3,10,"%d",i);
                ini_getString(File1,Str3, Str4);
                dt[i] = Create3DTextLabel(Str4, 0xFFFFFFFF0.00.00.050.001 );
                Attach3DTextLabelToVehicle(dt[i], i, 0.00.01.0);

        }
        ini_closeFile(File1);
}


7) Создал в папке scriptfiles 2 файла с названиями: num.ini и num(3d).ini

 

Edited by amazonite

Share this post


Link to post

4 answers to this question

  • 0

@amazonite окно ввода емаил,какой ИД диалога там?

Share this post


Link to post
  • 0

Share this post


Link to post
  • 0

если ты создал новую переменную в которой диалог номеров,то возможно ид диалогов перемешались, и теперь емаил и номера это один ид.

Share this post


Link to post
  • 0

@amazonite ИД диалогов 1 и/или 0 заняты, попробуйте более высокие ИД ставить в дефайнах:

// Ваши дефайны
#define DIA_VIB 1
#define DIA_SET1 2
// Но лучше так
#define DIA_VIB 317
#define DIA_SET1 318
/*  P.S. Можно брать любые числа, только желательно больше 100
    и так же смотрите, что бы под этими числами так же не было диалогов     */

 

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • shedexx
      By shedexx
      PERFONSE RP | 2025
      Скачать файл Всем привет. Возвращаюсь в сферу Pawno-разработчика и ютубера по сампу. Ранее Вы могли узнать меня по нику "Minekaev Play", но теперь мой новый ник - shedexx.
       
      Perfonse Role Play:
      Уже не помню у кого я брал основу, этот мод должен был работать только через специальный addon-ключ, который использует лаунчер Arizona RP. Я убрал систему этого лаунчера / ключа, и мод заработал на обычном SAMP лаунчере. Я даже открывал проект с этим модом, но к сожалению или к счастью, никто не хотел у нас играть. Разработка мода велась где-то в начале 2025 года.
       
      Уникальный этот мод тем, что в нём есть система Air-Drop'а, система крафта аксессуаров на TextDraw, система выбора семейных автомобилей на TextDraw. В общем, у меня уже были загружены скрины с этого мода, я их выложил на imgur, и Вы сможете сами посмотреть визуально, что в этом моде имеется.
       
      Строчек в моде: [ 57.370 ]
      Быстрая компиляция: [ Да ]
      Варнингов: [ 3 шт. ] - Не влияют на работу мода.
       
      Скриншоты: *кликабельно*
      Видео-Слив: *кликабельно*
      Добавил shedexx Добавлено 17.03.2025 Категория Моды Автор shedexx  
    • shedexx
      By shedexx
      Всем привет. Возвращаюсь в сферу Pawno-разработчика и ютубера по сампу. Ранее Вы могли узнать меня по нику "Minekaev Play", но теперь мой новый ник - shedexx.
       
      Perfonse Role Play:
      Уже не помню у кого я брал основу, этот мод должен был работать только через специальный addon-ключ, который использует лаунчер Arizona RP. Я убрал систему этого лаунчера / ключа, и мод заработал на обычном SAMP лаунчере. Я даже открывал проект с этим модом, но к сожалению или к счастью, никто не хотел у нас играть. Разработка мода велась где-то в начале 2025 года.
       
      Уникальный этот мод тем, что в нём есть система Air-Drop'а, система крафта аксессуаров на TextDraw, система выбора семейных автомобилей на TextDraw. В общем, у меня уже были загружены скрины с этого мода, я их выложил на imgur, и Вы сможете сами посмотреть визуально, что в этом моде имеется.
       
      Строчек в моде: [ 57.370 ]
      Быстрая компиляция: [ Да ]
      Варнингов: [ 3 шт. ] - Не влияют на работу мода.
       
      Скриншоты: *кликабельно*
      Видео-Слив: *кликабельно*
    • Sams0n0v
      By Sams0n0v
      Приветствую! Есть ```SetPlayerChatBubble```, оно выводит какой либо текст над головой ИГРОКА, и этот текст абсолютно динамичен, он следует всем движениям игрока, включая анимации. Так вот вопрос, а как сделать так, но с NPC (Актером), чтобы не обычный каменный статичный 3д текст, а чтобы было наподобии текста над головой при отправке сообщения в чат. Надеюсь, меня поняли, с нетерпением жду ответа, этот форум, моя последняя надежда) Спасибо!