Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 6 из 6
  1. #1
    Аватар для SatanLxrd
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.05.2019
    Адрес
    Glen Park
    Сообщений
    7
    Репутация:
    0 ±

    Поиск значений в массиве с использованием for

    То что я создал должно работать так.
    1.если игрок сел в транспорт
    2.перебираем массив
    3.если мы сели в автомобиль который есть в созданном массиве с авто.
    4.Выводим сообщение игроку о автомобиле в который он сел. Содержимое пример: "Название:%s Тип:%s ID Т.С: %d"

    Но дело в том то что всегда пишет информацию нулевой строки массива, инфу об инфернусе
    При этом так всегда, не важно в какую машину я сел.

    PHP код:
    #define MAX_LIST_CAR 3

    enum cInfo
    {
            
    cVehID,
            
    cVehName[9],
            
    cVehType[9]
    }

    new 
    VehicleInfo[MAX_LIST_CAR][cInfo] =
    {
            {
    411,"Инфернус","Спорт"},
            {
    412,"Вуду","Лоурайд"},
            {
    413,"Пони","Грузовик"}
    };

    public 
    OnPlayerEnterVehicle(playeridvehicleidispassenger)
    {
            new 
    tempveh;
            new 
    st[69];
            for(new 
    ii<MAX_LIST_CARi++)
            {
                    if(
    vehicleid == VehicleInfo[i][cVehID])
                    {
                            
    tempveh i;
                    }
            }
            
    format(st,sizeof(st),"Вы сели в автомобиль - Название: %s | Тип: %s | ID:%d",VehicleInfo[tempveh][cVehName],VehicleInfo[tempveh][cVehType],VehicleInfo[tempveh][cVehID]);
            
    SendClientMessage(playerid,0x00FF00FF,st);
            return 
    1;


  2. #2
    Аватар для Pa4enka
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.04.2016
    Адрес
    Украина
    Сообщений
    157
    Репутация:
    35 ±
    1. tempveh = i;
    2. break;

  3. Пользователь сказал cпасибо:
    SatanLxrd (09.05.2019)
  4. #3
    Аватар для SatanLxrd
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.05.2019
    Адрес
    Glen Park
    Сообщений
    7
    Репутация:
    0 ±
    Цитата Сообщение от Pa4enka Посмотреть сообщение
    1. tempveh = i;
    2. break;
    Почему то смотри, вот:
    https://youtu.be/scLfwCZWl1s

  5. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Ты в массиве записал ID модели, а в OnPlayerEnterVehicle сверяешь эти данные с ID авто.

    Как-то так:
    1. #define MAX_LIST_CAR 3
    2.  
    3. enum cInfo
    4. {
    5. cVehID,
    6. cVehName[9],
    7. cVehType[9]
    8. }
    9.  
    10. new VehicleInfo[MAX_LIST_CAR][cInfo] =
    11. {
    12. {411, "Инфернус","Спорт"},
    13. {412, "Вуду","Лоурайд"},
    14. {413, "Пони","Грузовик"}
    15. };
    16.  
    17. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    18. {
    19. for(new i; i < MAX_LIST_CAR; i++)
    20. {
    21. if(GetVehicleModel(vehicleid) != VehicleInfo[i][cVehID])
    22. continue;
    23.  
    24. new st[69];
    25. format(st,sizeof(st),"Вы сели в автомобиль - Название: %s | Тип: %s | ID:%d",
    26. VehicleInfo[i][cVehName], VehicleInfo[i][cVehType], VehicleInfo[i][cVehID]);
    27. SendClientMessage(playerid,0x00FF00FF,st);
    28. break;
    29. }
    30. return 1;
    31. }
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  6. Пользователь сказал cпасибо:
    SatanLxrd (08.05.2019)
  7. #5
    Аватар для SatanLxrd
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.05.2019
    Адрес
    Glen Park
    Сообщений
    7
    Репутация:
    0 ±
    Спасибо большое, снимаю шляпу перед тобой.

  8. #6
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    А ещё можно сделать не так:
    1. #define MAX_LIST_CAR 3
    2.  
    3. new VehicleInfo[MAX_LIST_CAR][cInfo] =
    4. {
    5. {411, "Инфернус","Спорт"},
    6. {412, "Вуду","Лоурайд"},
    7. {413, "Пони","Грузовик"}
    8. };


    А вот так:
    1. new VehicleInfo[][cInfo] =
    2. {
    3. {411, "Инфернус","Спорт"},
    4. {412, "Вуду","Лоурайд"},
    5. {413, "Пони","Грузовик"}
    6. };
    7. #define MAX_LIST_CAR sizeof(VehicleInfo)


    Чтоб компилятор сам подсчитывал количество автомобилей в массиве :)
    Закрыто.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  9. Пользователь сказал cпасибо:
    SatanLxrd (08.05.2019)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •