Sign in to follow this  
Followers 0
Guest stibs

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

4 posts 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

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

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

 

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

    • Asminov
      By Asminov
      Здравствуйте, хотел сделать систему домов, но что-то пошло не так, пытался сделать что угодно. Проще говоря проблема в том что когда покупаешь дом, пикап меняется на этот, также в папке сохранения вместо None "владельца дома до покупки", появляется пустая строка. Помогите исправить