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

Your content will need to be approved by a moderator

Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   You have pasted content with formatting.   Remove formatting

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

Loading...
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • warrion4ik
      By warrion4ik
      При телепорте по метке она тепает под текстуры и приходится перетелепортироваться, как это можно исправить?
      Видео: https://youtu.be/FLjer8lfGc0