shape1
shape2
shape3
shape4
shape7
shape8

Некорректные сообщения.


Статус
Закрыто для дальнейших ответов.

Eitzen

Новичок
Пользователь
22.02.2015
260
14
0
Приветствую всех форучан!

Переписывал систему авто на своем моде (основа Y-RP), столкнулся с проблемой.. Сообщения выводятся не когда мне нужно и не в том порядке.

Вот код

COMMAND:mcar(playerid, params[])
{
new str[128],idcar = 0;
if(sscanf(params, "i", params[0])) return SCM(playerid, COLOR_GRAD1, "Используйте: /mcar [№ АВТО].");
for(new i = ALLCARS+1; i <= ALLCARS+TOTALCARS; i++)
{
if(CarInfo[cOwner] == Player[playerid][pName])
{
idcar++;
format(str,128,"[№%d] %s[ID:%d] Номерные знаки: %s",
idcar,GetCarName(GetVehicleModel(i)),CarInfo[cID],CarInfo[cNumber]);
SCM(playerid, COLOR_WHITE, str);
if(params[0] == idcar)
{
SendMes(playerid, COLOR_GOOD, "Панель управления транспортом %s(ID:%d).", GetCarName(GetVehicleModel(i)), i);
SPD(playerid, D_CAR+1, DIALOG_STYLE_LIST, "Меню вашего транспорта #1", "1. Припарковать транспорт\n\
2. Закрыть/открыть транспорт\n3. Отметить авто на GPS [1000 рублей]\n4. Содержимое багажника\n\
5. Включить/выключить вид от 1 лица\n6. Продать транспорт государству\n7. Продать транспорт игроку\n8. Обменяться транспортом\n\
9. Полная информация о транспорте\n10. Снять/поставить мигалку", "Выбрать", "Отмена");
}
}
}
if(idcar == 0) return SCM(playerid, COLOR_GRAD1, "У Вас нет автомобилей.");
else return 1;
}
А так же скриншот

Снимок.PNG
 
Последнее редактирование модератором:

Eitzen

Новичок
Пользователь
22.02.2015
260
14
0
Хочу дополнить, что при выборе авто 2, отправляется 2 сообщения типа [№%d] %s[iD:%d] Номерные знаки: %s, а потом "Панель управления транспортом" и диалог, если 3 - то три и тд.

 
A

Amfy

Гость
Гость
Не совсем понял в чем проблема.

 

Eitzen

Новичок
Пользователь
22.02.2015
260
14
0
Не совсем понял в чем проблема.
Сообщения отправляются не в том порядке, в каком нужно, и не тогда, когда нужно.

Не совсем понял в чем проблема.
Мне нужно, чтобы при вводе просто команды /mcar выводилось: Используйте: /mcar [№ АВТО], а если авто есть то потом: [№1] БМВ 535 [iD:230] Номерные знаки: и тд

 
A

Amfy

Гость
Гость
Код:
COMMAND:mcar(playerid, params[])
{
    new str[128];
    if(sscanf(params,"i",params[0]))
    {
        SCM(playerid,COLOR_GRAD1,"Используйте: /mcar [№ АВТО]");
        for(new i = ALLCARS+1; i <= ALLCARS+TOTALCARS; i++)
        {
            if(CarInfo[i][cOwner] == Player[playerid][pName])
            {
                idcar++;
                format(str,128,"[№%d] %s[ID:%d] Номерные знаки: %s",idcar,GetCarName(GetVehicleModel(i)),CarInfo[i][cID],CarInfo[i][cNumber]);
                SCM(playerid,COLOR_WHITE,str);
            }
        }
        if(idcar == 0) return SCM(playerid, COLOR_GRAD1, "У Вас нет автомобилей.");
    }
    if(params[0] == idcar)
    {
        SendMes(playerid, COLOR_GOOD, "Панель управления транспортом %s(ID:%d).", GetCarName(GetVehicleModel(i)), i);
        SPD(playerid, D_CAR+1, DIALOG_STYLE_LIST, "Меню вашего транспорта #1", "1. Припарковать транспорт\n\
        2. Закрыть/открыть транспорт\n3. Отметить авто на GPS [1000 рублей]\n4. Содержимое багажника\n\
        5. Включить/выключить вид от 1 лица\n6. Продать транспорт государству\n7. Продать транспорт игроку\n8. Обменяться транспортом\n\
        9. Полная информация о транспорте\n10. Снять/поставить мигалку", "Выбрать", "Отмена");
    }
    return 1;
}
 
Последнее редактирование:

Eitzen

Новичок
Пользователь
22.02.2015
260
14
0
COMMAND:mcar(playerid, params[])
{
new str[128];
if(sscanf(params,"i",params[0]))
{
SCM(playerid,COLOR_GRAD1,"Используйте: /mcar [№ АВТО]");
for(new i = ALLCARS+1; i <= ALLCARS+TOTALCARS; i++)
{
if(CarInfo[cOwner] == Player[playerid][pName])
{
idcar++;
format(str,128,"[№%d] %s[ID:%d] Номерные знаки: %s",idcar,GetCarName(GetVehicleModel(i)),CarInfo[cID],CarInfo[cNumber]);
SCM(playerid,COLOR_WHITE,str);
}
}
if(idcar == 0) return SCM(playerid, COLOR_GRAD1, "У Вас нет автомобилей.");
}
if(params[0] == idcar)
{
SendMes(playerid, COLOR_GOOD, "Панель управления транспортом %s(ID:%d).", GetCarName(GetVehicleModel(i)), i);
SPD(playerid, D_CAR+1, DIALOG_STYLE_LIST, "Меню вашего транспорта #1", "1. Припарковать транспорт\n\
2. Закрыть/открыть транспорт\n3. Отметить авто на GPS [1000 рублей]\n4. Содержимое багажника\n\
5. Включить/выключить вид от 1 лица\n6. Продать транспорт государству\n7. Продать транспорт игроку\n8. Обменяться транспортом\n\
9. Полная информация о транспорте\n10. Снять/поставить мигалку", "Выбрать", "Отмена");
}
return 1;
}

Ошибки выбивает.

D:\CRMP & SAMP\Разработки\Great RolePlay\gamemodes\G-RP.pwn(20576) : error 017: undefined symbol "idcar"
D:\CRMP & SAMP\Разработки\Great RolePlay\gamemodes\G-RP.pwn(20576) : warning 215: expression has no effect
D:\CRMP & SAMP\Разработки\Great RolePlay\gamemodes\G-RP.pwn(20577) : error 017: undefined symbol "idcar"
D:\CRMP & SAMP\Разработки\Great RolePlay\gamemodes\G-RP.pwn(20581) : error 017: undefined symbol "idcar"
D:\CRMP & SAMP\Разработки\Great RolePlay\gamemodes\G-RP.pwn(20583) : error 017: undefined symbol "idcar"
D:\CRMP & SAMP\Разработки\Great RolePlay\gamemodes\G-RP.pwn(20585) : error 017: undefined symbol "i"
Строчки:

Код:
                idcar++;
                format(str,128,"[№%d] %s[ID:%d] Номерные знаки: %s",idcar,GetCarName(GetVehicleModel(i)),CarInfo[i][cID],CarInfo[i][cNumber]);
                SCM(playerid,COLOR_WHITE,str);
            }
        }
        if(idcar == 0) return SCM(playerid, COLOR_GRAD1, "У Вас нет автомобилей.");
    }
    if(params[0] == idcar)
 
A

Amfy

Гость
Гость
А, я забыл про переменную.

Добавь к массиву (str) idcar = 0; как и было вообщем.

 

Eitzen

Новичок
Пользователь
22.02.2015
260
14
0
Осталась ошибка, не объявлен символ "i" в этой строчке:

Код:
SendMes(playerid, COLOR_GOOD, "Панель управления транспортом %s(ID:%d).", GetCarName(GetVehicleModel(i)), i);
 
A

Amfy

Гость
Гость
Хм... попробуй:

Код:
COMMAND:mcar(playerid, params[])
{
    new str[128],idcar = 0;
    if(sscanf(params,"i",params[0]))
    {
        SCM(playerid,COLOR_GRAD1,"Используйте: /mcar [№ АВТО]");
        for(new i = ALLCARS+1; i <= ALLCARS+TOTALCARS; i++)
        {
            if(CarInfo[i][cOwner] == Player[playerid][pName])
            {
                idcar++;
                format(str,128,"[№%d] %s[ID:%d] Номерные знаки: %s",idcar,GetCarName(GetVehicleModel(i)),CarInfo[i][cID],CarInfo[i][cNumber]);
                SCM(playerid,COLOR_WHITE,str);
                format(s,15,"car_%i",idcar);
                SetPVarInt(playerid,s,i);
            }
        }
        if(idcar == 0) return SCM(playerid, COLOR_GRAD1, "У Вас нет автомобилей.");
    }
    if(params[0] == idcar)
    {
        format(s,15,"car_%i",params[0]);
        new cars = GetPVarInt(playerid,s);
        SendMes(playerid, COLOR_GOOD, "Панель управления транспортом %s(ID:%d).", GetCarName(GetVehicleModel(cars)), cars);
        SPD(playerid, D_CAR+1, DIALOG_STYLE_LIST, "Меню вашего транспорта #1", "1. Припарковать транспорт\n\
        2. Закрыть/открыть транспорт\n3. Отметить авто на GPS [1000 рублей]\n4. Содержимое багажника\n\
        5. Включить/выключить вид от 1 лица\n6. Продать транспорт государству\n7. Продать транспорт игроку\n8. Обменяться транспортом\n\
        9. Полная информация о транспорте\n10. Снять/поставить мигалку", "Выбрать", "Отмена");
    }
    return 1;
}
 
Последнее редактирование:

Eitzen

Новичок
Пользователь
22.02.2015
260
14
0
Код:
D:\CRMP & SAMP\Разработки\Great RolePlay\gamemodes\G-RP.pwn(20579) : error 017: undefined symbol "s"
D:\CRMP & SAMP\Разработки\Great RolePlay\gamemodes\G-RP.pwn(20580) : error 017: undefined symbol "s"
D:\CRMP & SAMP\Разработки\Great RolePlay\gamemodes\G-RP.pwn(20587) : error 017: undefined symbol "s"
D:\CRMP & SAMP\Разработки\Great RolePlay\gamemodes\G-RP.pwn(20588) : error 017: undefined symbol "s"
 
A

Amfy

Гость
Гость
Блин, s замени на str

Мог уж и догадаться)

 
A

Amfy

Гость
Гость
Код:
COMMAND:mcar(playerid, params[])
{
    new str[128],idcar = 0;
    if(sscanf(params,"i",params[0]))
    {
        SCM(playerid,COLOR_GRAD1,"Используйте: /mcar [№ АВТО]");
        for(new i = ALLCARS+1; i <= ALLCARS+TOTALCARS; i++)
        {
            if(CarInfo[i][cOwner] == Player[playerid][pName])
            {
                idcar++;
                format(str,128,"[№%d] %s[ID:%d] Номерные знаки: %s",idcar,GetCarName(GetVehicleModel(i)),CarInfo[i][cID],CarInfo[i][cNumber]);
                SCM(playerid,COLOR_WHITE,str);
                format(str,15,"car_%i",idcar);
                SetPVarInt(playerid,str,i);
            }
        }
        if(idcar == 0) return SCM(playerid, COLOR_GRAD1, "У Вас нет автомобилей.");
    }
    if(params[0] == idcar)
    {
        format(str,15,"car_%i",params[0]);
        new cars = GetPVarInt(playerid,str);
        SendMes(playerid, COLOR_GOOD, "Панель управления транспортом %s(ID:%d).", GetCarName(GetVehicleModel(cars)), cars);
        SPD(playerid, D_CAR+1, DIALOG_STYLE_LIST, "Меню вашего транспорта #1", "1. Припарковать транспорт\n\
        2. Закрыть/открыть транспорт\n3. Отметить авто на GPS [1000 рублей]\n4. Содержимое багажника\n\
        5. Включить/выключить вид от 1 лица\n6. Продать транспорт государству\n7. Продать транспорт игроку\n8. Обменяться транспортом\n\
        9. Полная информация о транспорте\n10. Снять/поставить мигалку", "Выбрать", "Отмена");
    }
    return 1;
}
 

Eitzen

Новичок
Пользователь
22.02.2015
260
14
0
Теперь другая проблема, при вводе команды /mcar 1 не выводится сообщение и диалог..

 

Eitzen

Новичок
Пользователь
22.02.2015
260
14
0
Всм? Диалоговое окно не показывается?
Все, что описано здесь, не выполняется.

Код:
if(params[0] == idcar)
    {
        format(str,15,"car_%i",params[0]);
        new cars = GetPVarInt(playerid,str);
        SendMes(playerid, COLOR_GOOD, "Панель управления транспортом %s(ID:%d).", GetCarName(GetVehicleModel(cars)), cars);
        SPD(playerid, D_CAR+1, DIALOG_STYLE_LIST, "Меню вашего транспорта #1", "1. Припарковать транспорт\n\
        2. Закрыть/открыть транспорт\n3. Отметить авто на GPS [1000 рублей]\n4. Содержимое багажника\n\
        5. Включить/выключить вид от 1 лица\n6. Продать транспорт государству\n7. Продать транспорт игроку\n8. Обменяться транспортом\n\
        9. Полная информация о транспорте\n10. Снять/поставить мигалку", "Выбрать", "Отмена");
    }
 
Статус
Закрыто для дальнейших ответов.