Sign in to follow this  
Followers 0
Guest stibs

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

1 post in this topic

Система на 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/

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

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

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Tony_Cannabis
      By Tony_Cannabis
      Нужна мне собственно проверка на гараж, я хочу чтобы дом N класса не имел гаража, куда только я проверку эту не сувал, но немогу понять как это работает
       
      Имеем код
      Куда мне ее засунуть просто ума не приложу, думал будет легко но понимаю что без вас не разобратся, проверку которую хотел закинуть см. ниже
      if(gHouses[houseid][houseClass] == 0) return ErrorMessage(playerid, "Недоступно для класса Вашего дома");