PDA

Просмотр полной версии : [Вопрос] Я вот вставлял номер 3д и обычные.



#NickName
08.11.2014, 05:39
Я вставил правильно всё и запустил пишу команду вылезает диалог окно потом выбираю обычные номера и пишет неправильный номер счета!Это из-за того что совпадают диалог окна я изменял название таже ерунда помогите.



1) В начало мода:
#include <mxINI>
#define DIA_SET 0
#define DIA_VIB 1
#define DIA_SET1 2
#define VEHICLES 10
2) Ко всем new:
new Text3D:dt[VEHICLES];
3) В public OnGameModeInit(после всего транспорта):
LoadNumbers();
4) В 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;
}
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, 0xFFFFFFFF, 0.0, 0.0, 0.0, 50.0, 0, 1 );
Attach3DTextLabelToVehicle(dt[vid], vid, 0.0, 0.0, 1.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, 0xFFFFFFFF, 0.0, 0.0, 0.0, 50.0, 0, 1 );
Attach3DTextLabelToVehicle(dt[i], i, 0.0, 0.0, 1.0);

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

Spectrum
08.11.2014, 15:20
в коде нет ничего связанного с номером счёта

underwoker
08.11.2014, 17:07
Не имена менять надо, а номера у дейфанов

#define DIA_SET 0
#define DIA_VIB 1
#define DIA_SET1 2
Не 0, 1 и 2. А другие придумайте.

#NickName
08.11.2014, 18:56
Я поменял начало выходить другое окно вы забрали ключи у Темы и номер счета опять!

- - - Добавлено - - -

Всё номера записываться начались а сам номер не пишеться на авто почему?смотреть Create3DTextLabel?