Гость stibs

Система номеров (3d / на модельке)

В теме 4 сообщения

Система на mxINI. 

Командный процессор: стандартный, zcmd / dc_cmd.

Ко всем инклудам:

#include <mxini>
#define DIA_SET 0 
#define DIA_VIB 1 
#define DIA_SET1 2 

Ко всем new:
 

new Text3D:dt[MAX_VEHICLES]; 

В public OnGameModeInit:

LoadNumbers(); 

В public OnPlayerCommandText (если используете стандартный командный движок):
 

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

Ко всем командам (если используете zcmd / dc_cmd / pcmd):

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

В 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, 0xFFFFFFFF, 0.0, 0.0, 0.0, 50.0, 0, 1 );
                Attach3DTextLabelToVehicle(dt[vid], vid, 0.0, 0.0, 1.0);
        }
}
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, "Номера на автомобиль установлены!");
        }
}  

Ко всем стокам / в конец мода:

stock LoadNumbers()
{
        new File = ini_openFile("num.ini");
        new Str[10], Str2[25];
        for(new i = 0; i < MAX_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 < MAX_VEHICLES; i++)
        {
                format(Str3,10,"%d",i);
                ini_getString(File1,Str3, Str4);
                dt[i] = Create3DTextLabel(Str4, 0xFFFFFFFF, 0.0, 0.0, 0.0, 50.0, 0, 1 );
                Attach3DTextLabelToVehicle(dt[i], i, 0.0, 0.0, 1.0);
        }
        ini_closeFile(File1);
}
  

Создайте файлы num.ini и num(3d).ini в папке /путь к серверу/scriptfiles/

Будут проблемы, пишите, поможем!

Автор: Никита Зайцев.  

 

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


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

Всем привет что может бить пишу /setnum только откриваеться строка где написать номер сразу сервер закривает соиденение

 

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


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

@andrey_2201 Возможно проблемы с хостингом, сервер слабый точнее тариф бесплатный и советую перейти на платный.

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


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

@andrey_2201 Попробуйте заменить ID диалогов на незанятые, то есть:

#include <mxini>
#define DIA_SET 317
#define DIA_VIB 318
#define DIA_SET1 319
// Или другие не занятые

 

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   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} };