JavaScript

BOT VK (программирование)

Здравствуйте, я новичок, пишу вк бота на JavaScript, хочу сделать систему гонки, чтобы показывало сразу 2 фотографии машины, вашу и вашего противника, но показывает только машину противника...
Код:

 if(summ_a == summ_user){ 
message.send(`@id${message.user.id}(${message.user.tag}),
? Скорость вашей машины: ${summ_user}%
? Скорость ${a.tag} ${summ_a}%

? Шансы равны...
? Ничья.
`)
if(a.transport.car == 1)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239020"])});
}
if(a.transport.car == 2)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239021"])});
}
if(a.transport.car == 3)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239022"])});
}
if(a.transport.car == 4)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239023"])});
}
if(a.transport.car == 5)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239024"])});
}
if(a.transport.car == 6)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239025"])});
}
if(a.transport.car == 7)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239026"])});
}
if(a.transport.car == 8)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239027"])});
}
if(a.transport.car == 9)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239019"])});
};
if(message.user.transport.car == 1)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239020"])});
}
if(message.user.transport.car == 2)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239021"])});
}
if(message.user.transport.car == 3)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239022"])});
}
if(message.user.transport.car == 4)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239023"])});
}
if(message.user.transport.car == 5)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239024"])});
}
if(message.user.transport.car == 6)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239025"])});
}
if(message.user.transport.car == 7)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239026"])});
}
if(message.user.transport.car == 8)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239027"])});
}
if(message.user.transport.car == 9)
{
return message.send ({attachment: utils.pick(["photo-222465808_457239019"])});
};
}


summ_a - противник
summ_user - вы.
Проблема в вашем коде заключается в том, что `message.send()` возвращается из функции сразу после отправки. Это значит, что после отправки фотографии машины противника (` a.transport.car `) ваш код прекращает выполнение и не доходит до отправки фотографии машины пользователя (` message.user.transport.car `).

Если вы хотите отправить обе фотографии в одном сообщении, вам нужно собрать их в один массив и отправить их вместе. Например:
 if (summ_a == summ_user) { 
let attachments = [];

// Добавляем фотографию машины противника
if (a.transport.car == 1) {
attachments.push("photo-222465808_457239020");
}
// ... (тут другие условия для a.transport.car)

// Добавляем фотографию вашей машины
if (message.user.transport.car == 1) {
attachments.push("photo-222465808_457239020");
}
// ... (тут другие условия для message.user.transport.car)

message.send({
message: `@id${message.user.id}(${message.user.tag}),
? Скорость вашей машины: ${summ_user}%
? Скорость ${a.tag} ${summ_a}%

? Шансы равны...
? Ничья.`,
attachment: attachments.join(',')
});
}

В этом коде фотографии собираются в массив `attachments`, который затем используется для отправки всех фотографий в одном сообщении.
Куаныш Ибраимов
Куаныш Ибраимов
56 728
Лучший ответ
Василий Сухов Спасибо большое!!!!
Василий Сухов Дам лучший ответ как будет доступен.
Что это за гвнокод?
СБ
Саид Беков
64 522
Проблема заключается в том, что переменная summ_a не определена для пользователя, который вызывает функцию. В данном случае, это пользователь с id "1", поэтому переменная summ_a будет равна 0. Чтобы исправить эту проблему, необходимо определить переменную summ_a для пользователя с id "1". Для этого можно использовать следующий код:


if(summ_a == summ_user){
// здесь можно добавить логику для отображения фотографий машин
return message.send({attachment: utils.pick(["photo-222465808_457239020"])});
if( a.transport.car == 1) {
return message.send({attachment: utils.pick(["photo-222465808_457239021"])});
} else if ( a.transport.car == 2) {
return message.send({attachment: utils.pick(["photo-222465808_457239022"])});
} else if ( a.transport.car == 3) {
return message.send({attachment: utils.pick(["photo-222465808_457239023"])});
} else if ( a.transport.car == 4) {
return message.send({attachment: utils.pick(["photo-222465808_457239024"])});
} else if ( a.transport.car == 5) {
return message.send({attachment: utils.pick(["photo-222465808_457239025"])});
} else if ( a.transport.car == 6) {
return message.send({attachment: utils.pick(["photo-222465808_457239026"])});
} else if ( a.transport.car == 7) {
return message.send({attachment: utils.pick(["photo-222465808_457239027"])});
} else if ( a.transport.car == 8) {
return message.send({attachment: utils.pick(["photo-222465808_457239019"])});
} else {
return message.send({attachment: utils.pick(["photo-222465808_457239019"])});
}
}


В этом коде мы проверяем значение переменной summ_a и сравниваем его со значением переменной summ_user. Если они равны, то выводим фотографию машины. Если значения различаются, то выводим сообщение об ошибке.
Василий Сухов В вашем случае выводит левую фотографию машины, я хочу сделать чтоб точную машину выводило, которая у обоих игроков, допустим у 1 ламба а у 2 лада, чтобы фотки 2 были ламбы и лады.