PDA

Просмотр полной версии : [Вопрос] Вопрос про enum



Shubert
07.08.2015, 00:57
Приветствую!
Дело такое, имеется енум такого типа:

enum TruckInfo
{
Sample
};
new tInfo[8][TruckInfo];
Короче у меня 9 грузовиков. Первый имеет 0 слот, второй - первый. Ну и так далее. В общем мне нужно, когда садишься в любой из этих грузовиком вывести в чат его ID от 0 до 8. А не просто GetPlayerVehicleID(playerid)

$continue$
07.08.2015, 01:01
А как обращение к массиву идет?

Shubert
07.08.2015, 01:05
Ну через цикл от 0 до 8. Там всего одна переменная с которой работают. Типа:
tInfo[i][Sample] = 999;

$continue$
07.08.2015, 01:10
Ну через цикл от 0 до 8. Там всего одна переменная с которой работают. Типа:
tInfo[i][Sample] = 999;

Больше кода.

Shubert
07.08.2015, 01:13
Думаю не стоит. Допустим есть команда, надо проверить какое значение имеет переменная в грузовие в который я сел.

$continue$
07.08.2015, 01:17
Думаю не стоит. Допустим есть команда, надо проверить какое значение имеет переменная в грузовие в который я сел.

Никто тут не будет выпрашивать код.
http://i.imgur.com/uNFWG35.png

wAx
07.08.2015, 08:09
Покажи как ты создаешь эти грузовики. И 8 ячеек в массиве тебе только на 7 грузовиков хватит.

Sp1ke
07.08.2015, 08:54
Покажи как ты создаешь эти грузовики. И 8 ячеек в массиве тебе только на 7 грузовиков хватит.

На 8 как бы....
0, 1, 2, 3, 4, 5, 6, 7 = 8 :)

Shubert
07.08.2015, 14:45
truck_car[0] = CreateVehicle(578, 2203.6792, -2273.3330, 14.0427, 45.0000, 1, 1, -1);
truck_car[1] = CreateVehicle(578, 2210.8479, -2266.0586, 14.0427, 45.0000, 1, 1, -1);
truck_car[2] = CreateVehicle(578, 2218.2908, -2258.5557, 14.0427, 45.0000, 1, 1, -1);
truck_car[3] = CreateVehicle(578, 2225.4177, -2250.8667, 14.0427, 45.0000, 1, 1, -1);
truck_car[4] = CreateVehicle(578, 2232.7615, -2243.1035, 14.0427, 45.0000, 1, 1, -1);
truck_car[5] = CreateVehicle(578, 2203.2285, -2210.5166, 14.0427, 225.0000, 1, 1, -1);
truck_car[6] = CreateVehicle(578, 2195.9429, -2218.1724, 14.0427, 225.0000, 1, 1, -1);
truck_car[7] = CreateVehicle(578, 2189.0107, -2225.0513, 14.0427, 225.0000, 1, 1, -1);

Вот так =(

Daniel_Cortez
07.08.2015, 14:52
В общем мне нужно, когда садишься в любой из этих грузовиком вывести в чат его ID от 0 до 8. А не просто GetPlayerVehicleID(playerid)
Так в чём проблема? Получите ID транспорта (GetPlayerVehicleID) и пройдитесь циклом по массиву, сравнивая полученный вами ID с ID в каждой из ячеек массива. Если найдёте совпадение, возьмите номер ячейки и увеличьте на 1 - это и будет ваш ID грузовика. Нет совпадений - игрок не в грузовике. Всё просто.

$continue$
07.08.2015, 15:02
truck_car[0] = CreateVehicle(578, 2203.6792, -2273.3330, 14.0427, 45.0000, 1, 1, -1);
truck_car[1] = CreateVehicle(578, 2210.8479, -2266.0586, 14.0427, 45.0000, 1, 1, -1);
truck_car[2] = CreateVehicle(578, 2218.2908, -2258.5557, 14.0427, 45.0000, 1, 1, -1);
truck_car[3] = CreateVehicle(578, 2225.4177, -2250.8667, 14.0427, 45.0000, 1, 1, -1);
truck_car[4] = CreateVehicle(578, 2232.7615, -2243.1035, 14.0427, 45.0000, 1, 1, -1);
truck_car[5] = CreateVehicle(578, 2203.2285, -2210.5166, 14.0427, 225.0000, 1, 1, -1);
truck_car[6] = CreateVehicle(578, 2195.9429, -2218.1724, 14.0427, 225.0000, 1, 1, -1);
truck_car[7] = CreateVehicle(578, 2189.0107, -2225.0513, 14.0427, 225.0000, 1, 1, -1);

Вот так =(
Как то так:


new result = SearchValueInElemetsArray(truck_car, GetPlayerVehicleID(playerid));
if(result != - 1)
printf("Значение найдено в ячейке под номером %d", result);
else print("Значение не найдено!")



SearchValueInElemetsArray(array[], search_value, array_size = sizeof(array))
{
for (new n = 0; n < array_size; n++)
if (array[n] == search_value)
return n;
return - 1;
}

К изучению. (https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D1%8B%D0%B9_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80)

Shubert
07.08.2015, 16:25
Спасибо, реализовал!