Question

Bunkertm
Новичок
Спойлер


if(strcmp(cmd,"/pts",true) == 0)
    {
        if(!IsPlayerConnected(playerid)) return true;
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите id которому хотите показать документы на авто.");
        giveplayerid = ReturnUser(tmp); tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите id вашего автомобиля.");
        new id = strval(tmp); new car = 0;
        for(new c = 1; c < MAX_VEHICLES; c++)
            {
                if(!strcmp(string, CarInfo[cOwner]))
            {
                car++;
                if(id == car)
                {
                format(string,sizeof(string),"{ffffff}\
                Документы на авто %s\n\
                -----------------------------------\n\
                Владелец авто : {33ff00}%s{ffffff}\n\
                Номера авто : {33ff00}%s{ffffff}\n\
                Модель авто : {33ff00}%d{ffffff}\n\
                Цвет авто  : {33ff00}%d{ffffff}\n\
                ------------------------------------",
                GetPlayerName(playerid, sendername, sizeof(sendername)),CarInfo[c][cOwner],CarInfo[c][cNumbercar],CarInfo[c][cModel],CarInfo[c][cColor1]);
                ShowPlayerDialog(giveplayerid,000000,DIALOG_STYLE_MSGBOX,"ПТС НА АВТО",string,"Посмотрел","");
                }
            }
        }
        return 1;
    }

 

 

вообщем такая проблема сделал птс на авто все вроде работает но есть нюанс цвет текста в птс не могу изменить конкретно номер авто пишется черным как исправить пробывал по разному че то у меня не выходит и еще ид машины отображается не полностью если допустим ид машины 65 то пишет ироглиф и 5 вот скрин и код может кто помочь че то ото я уже не знаю 

 

Спойлер

sa-mp-000.png

Edited by odosenok
Причина: перезалил код и изображение.

Заметка от Cawfee , создано

Прочитайте, пожалуйста, внимательно, как правильно выкладывать большой код. А также как правильно выкладывать изображения.

Share this post


Link to post

5 answers to this question

  • 0
SCRIPTMAN
Великий Гуру
Спойлер

if(strcmp(cmd,"/pts",true) == 0)
    {
        if(!IsPlayerConnected(playerid)) return true;
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите id которому хотите показать документы на авто.");
        giveplayerid = ReturnUser(tmp); tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите id вашего автомобиля.");
        new id = strval(tmp); new car = 0;
        for(new c = 1; c < MAX_VEHICLES; c++)
            {
                if(!strcmp(string, CarInfo[cOwner]))
            {
                car++;
                if(id == car)
                {
                format(string,sizeof(string),"{ffffff}\
                Документы на авто %d\n\
                -----------------------------------\n\
                Владелец авто : {33ff00}%s{ffffff}\n\
                Номера авто : {FFFFFF}%s{ffffff}\n\
                Модель авто : {33ff00}%d{ffffff}\n\
                Цвет авто  : {33ff00}%d{ffffff}\n\
                ------------------------------------",
                GetPlayerName(playerid, sendername, sizeof(sendername)),CarInfo[c][cOwner],CarInfo[c][cNumbercar],CarInfo[c][cModel],CarInfo[c][cColor1]);
                ShowPlayerDialog(giveplayerid,000000,DIALOG_STYLE_MSGBOX,"ПТС НА АВТО",string,"Посмотрел","");
                }
            }
        }
        return 1;
    }

 

Так?

Edited by odosenok
Причина: взял код в тег "Спойлер".

Share this post


Link to post
  • 0
Bunkertm
Новичок

@SCRIPTMAN такая же фигня, а ид вообще не показывает если S на D  заменить 

Share this post


Link to post
  • 0
Cawfee
Великий Гуру

@Bunkertm, вероятно, у вас в переменной с номером уже записан черный цвет. Попробуйте такой вариант:

Спойлер

if(strcmp(cmd,"/pts",true) == 0)
{
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите id которому хотите показать документы на авто.");
	giveplayerid = ReturnUser(tmp); tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите id вашего автомобиля.");
	new id = strval(tmp), car = 0;
	for(new c = 1; c < MAX_VEHICLES; c++)
	{
		if(!strcmp(string, CarInfo[cOwner]))
		{
			car++;
			if(id == car)
			{
				new number[32], start, end;
				strcat(number, CarInfo[c][cNumbercar]);
				start = strfind(number, "{");
				end = strfind(number, "}");
				strdel(number, start, end);
		
				format(string,sizeof(string),"{ffffff}\
				Документы на авто %s\n\
				-----------------------------------\n\
				Владелец авто : {33ff00}%s{ffffff}\n\
				Номера авто : {33ff00}%s{ffffff}\n\
				Модель авто : {33ff00}%d{ffffff}\n\
				Цвет авто  : {33ff00}%d{ffffff}\n\
				------------------------------------",
				GetPlayerName(playerid, sendername, sizeof(sendername)),CarInfo[c][cOwner],number,CarInfo[c][cModel],CarInfo[c][cColor1]);
				ShowPlayerDialog(giveplayerid,000000,DIALOG_STYLE_MSGBOX,"ПТС НА АВТО",string,"Посмотрел","");
				break;
			}
		}
	}
	return 1;
}

 

 

То есть сначала находим в строке символ "{", который будет соответствовать началу цвета номера (и записываем номер символа в start), затем находим в строке символ "}", который будет соответствовать концу цвета номера (и записываем номер символа в end), а затем уже из всего номера удаляем блок, хранящий в себе цвет (начинающийся с "{" и заканчивающийся на "}").

Share this post


Link to post
  • 0
Bunkertm
Новичок

@odosenok спасибо сейчас переделаю ))

@odosenok да сам номер в переменной черным цветом 

Edited by Bunkertm

Share this post


Link to post
  • 0
Bunkertm
Новичок
Спойлер

sa-mp-001.thumb.png.4b06162cd54e7fd20d94a5f6ae67ba9c.png

@odosenok 

вроде все ништяк только не пойму почему скобка прописывается , и еще вопрос как сделать что б ид машины нормально указывался в вин коде ))

Edited by Bunkertm

Share this post


Link to post
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Татарников Георгий
      By Татарников Георгий
      🔎 Ищем маппера в проект GTA SA (SA-MP)
      В развивающийся проект GTA San Andreas (SA-MP) требуется маппер.
      🧩 Задачи:
      Создание и доработка карт (интерьеры / экстерьеры)
      Работа с объектами GTA SA
      Оптимизация маппинга под онлайн
      💰 Оплата:
      На первое время — сдельная оплата (за конкретные работы / объекты / зоны)
      В перспективе — переход на фиксированную зарплату при постоянном сотрудничестве
      📌 Требования:
      Опыт маппинга GTA SA (SA-MP)
      Умение работать с Map Editor / MTA Map Editor (или аналогами)
      Понимание оптимизации (объекты, стриминг, FPS)
      Ответственность и соблюдение сроков
      ➕ Будет плюсом:
      Опыт работы в командах
      Портфолио или примеры работ (скрины / видео / .map)
      Идеи и инициативность
      🤝 Мы предлагаем:
      Адекватное ТЗ без «сделай красиво, сам не знаю как»
      Оплату без задержек
      Возможность долгосрочного сотрудничества
      Участие в развитии проекта с нуля
      📩 Связь:
      Пишите в ЛС / Telegram / Discord
      (ТГ @foxune777)
    • Nimalin⁵²
      By Nimalin⁵²
      Всем привет. Я часто использую моды по типу: Adrenaline RP, Russia RP и подобный калл. И из этого говна по выкачке денег, я хотел сделать конфетку, но каждый раз падал лицом в грязь. Начинал я с организаций, так как по мне это самая важная часть на RP серверах. Я бывало хотел создать новую организацию, но не знал как. Полазив в Базе Данных, в моде, я не нашел, как же тут создать фракцию. Поэтому прошу помощи скиньте пожалуйста решение этой задачки.