Вопросы

приветствую , есть система автобусы на мине карте . там создается автобус вот так 

//Àâòîáóñû
    /*bus[0] = CreateVehicle(431,2849.6064453,1348.8885498,11.0616951,90.0000000,-1,-1,1500); //Bus
    bus[1] = CreateVehicle(431,211.1277924,1921.1492920,17.8906250,90.0000000,-1,-1,1500); //Bus
    bus[2] = CreateVehicle(431,-2645.8889160,1371.4929199,7.4176097,0.0000000,-1,-1,1500); //Bus
    bus[3] = CreateVehicle(431,-1995.4799805,146.8946838,27.9298630,0.0000000,-1,-1,1500); //Bus
    bus[4] = CreateVehicle(431,1774.5667725,-1922.8370361,13.6353350,0.0000000,-1,-1,1500); //Bus
    bus[5] = CreateVehicle(431,1807.1064453,-1921.8720703,13.8133907,0.0000000,-1,-1,1500); //Bus*/


    а у меня в моде используется так 
    buscar[0] = CreateVehicle(431,1778.4313,-1929.2056,13.4882,0.0219,128,127,60); //
    CreateVehicle(431,1788.7565,-1929.6044,13.4862,359.6281,128,127,60); //
    CreateVehicle(431,1793.7146,-1929.4231,13.4883,0.0200,128,127,60); //
    CreateVehicle(431,1798.8329,-1929.3260,13.4917,359.7846,128,127,60); //
    CreateVehicle(431,1803.8033,-1929.5668,13.4890,1.0490,128,127,60);
    buscar[1] = CreateVehicle(431,1783.6973,-1929.2054,13.4860,0.9609,128,127,60);



    суть моей проблемы , когда я хочу посмотреть где автобусы то маркеры на минекарте только 2 это те самые автобусы 
    buscar[0]
    buscar[1
    видит а остьальные  CreateVehicle  нет , как мне теперь сделать так чтобы мод понимал что 
    мои автобусы CreateVehicle  это теже buscar[2]  buscar[3]...

    buscar[0] = CreateVehicle(431,1778.4313,-1929.2056,13.4882,0.0219,128,127,60); //   <<<<< есть маркер на мини карте 
    CreateVehicle(431,1788.7565,-1929.6044,13.4862,359.6281,128,127,60); //нету маркера 
    CreateVehicle(431,1793.7146,-1929.4231,13.4883,0.0200,128,127,60); // нету маркера 
    CreateVehicle(431,1798.8329,-1929.3260,13.4917,359.7846,128,127,60); // нету маркера 
    CreateVehicle(431,1803.8033,-1929.5668,13.4890,1.0490,128,127,60);// нету маркера 
    buscar[1] = CreateVehicle(431,1783.6973,-1929.2054,13.4860,0.9609,128,127,60);//  <<<<< есть маркер на мини карте 

 

Поделиться сообщением


Ссылка на сообщение

6 ответов на этот вопрос

  • 1

Вот такой цикл получится в UpdateMap() 

for(new i = 0, busId = buscar[0]; i < 6; i++, busId++)
{
    new Float:vehx, Float:vehy, Float:vehz;
    new Float:nvehx, Float:nvehy, Float:nvehz;
    GetVehiclePos(busId, vehx, vehy, vehz);
    GetMiniMapCoord(vehx,vehy,nvehx,nvehy,nvehz);
    MoveObject(point[i], nvehx, nvehy, nvehz, 0.190.00.00.0);
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@цвфцвцфв ну по логике сделать buscar[2].. [3] и т.п.?

Поделиться сообщением


Ссылка на сообщение
  • 0

@keyl смотрите , не могу это объяснить но попытаюсь вот есть система 

Ко всем #define
PHP:
#define POS_X 1798.6000
#define POS_Y -1881.6550
#define POS_Z 14.3381
Создаем переменные:
PHP:
new mtimer;
new bus[6];
new point[6];
Создаем форвард:
PHP:
forward UpdateMap();

В пабилк OnGameModeInit:
PHP:
    //Сама карта
    CreateObject(191681797.8475, -1881.631115.0892,   90.000.000.00);
    CreateObject(191691799.3453, -1881.631115.0892,   90.000.000.00);
    CreateObject(191701797.8475, -1881.631113.5896,   90.000.000.00);
    CreateObject(191711799.3472, -1881.631113.5896,   90.000.000.00);
    //Фонарики
    CreateObject(192801799.7864, -1881.633915.8763,   180.00180.000.00);
    CreateObject(192801797.4865, -1881.633915.8763,   180.00180.000.00);
    //Таймер
    mtimer = SetTimer("UpdateMap"4000true);
    //Автобусы
    bus[0] = CreateVehicle(431,2849.6064453,1348.8885498,11.0616951,90.0000000,-1,-1,1500); //Bus
    bus[1] = CreateVehicle(431,211.1277924,1921.1492920,17.8906250,90.0000000,-1,-1,1500); //Bus
    bus[2] = CreateVehicle(431,-2645.8889160,1371.4929199,7.4176097,0.0000000,-1,-1,1500); //Bus
    bus[3] = CreateVehicle(431,-1995.4799805,146.8946838,27.9298630,0.0000000,-1,-1,1500); //Bus
    bus[4] = CreateVehicle(431,1774.5667725,-1922.8370361,13.6353350,0.0000000,-1,-1,1500); //Bus
    bus[5] = CreateVehicle(431,1807.1064453,-1921.8720703,13.8133907,0.0000000,-1,-1,1500); //Bus
    //Метки
    for(new i = 0; i < 6; i++) point[i] = CreateObject(19177, POS_X, POS_Y, POS_Z,   90.000.00.0);
В паблик OnGameModeExit вставляем

PHP:
KillTimer(mtimer);
В конце мода создаем паблик

PHP:
public UpdateMap()
{
    for(new i = 0; i < 6; i++)
    {
        new Float:vehx, Float:vehy, Float:vehz;
        new Float:nvehx, Float:nvehy, Float:nvehz;
        GetVehiclePos(bus[i], vehx, vehy, vehz);
        GetMiniMapCoord(vehx,vehy,nvehx,nvehy,nvehz);
        
        MoveObject(point[i], nvehx, nvehy, nvehz, 0.190.00.00.0);
    }
}
Далее за ним сток:

PHP:
stock GetMiniMapCoord(Float:x,Float:y,&Float:nx,&Float:ny,&Float:nz)
{//x,y - реальные координаты, nx,ny,nz - позиция на мини-карте
    nx = x/2000;
    nz = y/2000;
    ny = POS_Y;
    nx+=POS_X;
    nz+=POS_Z;
}

в ней используется 

bus[0] = CreateVehicle(431,2849.6064453,1348.8885498,11.0616951,90.0000000,-1,-1,1500); //Bus
    bus[1] = CreateVehicle(431,211.1277924,1921.1492920,17.8906250,90.0000000,-1,-1,1500); //Bus
    bus[2] = CreateVehicle(431,-2645.8889160,1371.4929199,7.4176097,0.0000000,-1,-1,1500); //Bus
    bus[3] = CreateVehicle(431,-1995.4799805,146.8946838,27.9298630,0.0000000,-1,-1,1500); //Bus
    bus[4] = CreateVehicle(431,1774.5667725,-1922.8370361,13.6353350,0.0000000,-1,-1,1500); //Bus
    bus[5] = CreateVehicle(431,1807.1064453,-1921.8720703,13.8133907,0.0000000,-1,-1,1500); //Bus



    а у меня в моде 


        buscar[0] = CreateVehicle(431,1778.4313,-1929.2056,13.4882,0.0219,128,127,60); //
    CreateVehicle(431,1788.7565,-1929.6044,13.4862,359.6281,128,127,60); //
    CreateVehicle(431,1793.7146,-1929.4231,13.4883,0.0200,128,127,60); //
    CreateVehicle(431,1798.8329,-1929.3260,13.4917,359.7846,128,127,60); //
    CreateVehicle(431,1803.8033,-1929.5668,13.4890,1.0490,128,127,60);
    buscar[1] = CreateVehicle(431,1783.6973,-1929.2054,13.4860,0.9609,128,127,60);



теперь как мне сделать чтобы мои автобусы все читались , а не те кто  с  [0][1]

Отредактировано пользователем цвфцвцфв

Поделиться сообщением


Ссылка на сообщение
  • 0

@цвфцвцфв все остальные ID автобусов будут между bus[0] и bus[1]. Т.е., чтобы получить все, нужно использовать цикл: 

for (new i = bus[0]; i <= bus[1]; i++) {
    // i - это ID автобуса
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@DEST это куда вставить в 

for (new i = bus[0]; i <= bus[1]; i++) {
    // i - это ID автобуса
}

public UpdateMap()
{
    for(new i = 0; i < 6; i++)
    {
        new Float:vehx, Float:vehy, Float:vehz;
        new Float:nvehx, Float:nvehy, Float:nvehz;
        GetVehiclePos(buscar[i], vehx, vehy, vehz);
        GetMiniMapCoord(vehx,vehy,nvehx,nvehy,nvehz);
        MoveObject(point[i], nvehx, nvehy, nvehz, 0.190.00.00.0);
    }

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@DEST спс большое тебе ))), все заработало 

 

Поделиться сообщением


Ссылка на сообщение
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • От Illya_Zaxatniy
      Доработка мода Samp-Rp
      Скачать файл Привет, у меня давно валяется данный мод который дорабатывался мною в 22  году, решил его выставить на продажу, поскольку деньги - не лишние.
       
      Ниже прикрепляю лог доработок а также айпи адрес для теста
      также к моду(после приобретения) прилагается список багов, найденных, они не значительные но имеются
       
      лог доработок: 
      1. Вырезана /alevel 2. Теперь чат администрации для всех общий 3. Вырезана команда /serverbonus 4. Теперь администрация от 8 уровня не отображается в /admins и при авторизации в панели администратора 5. Убрал бонус 6. Теперь при авторизации в панели администратора не пишет что ввёл неверный пароль 7. Переписал регистрацию 8. Теперь проверка на блокировку идёт при заходе на сервер, не после ввода пароля 9. Переписал авторизацию 10. Адрес электронной почты при регистрации теперь проверяется по всем параметрам 11. Реферальная система при регистрации теперь проверяет ник или промокод 12. Сделал выбор скинов на текстдравах 13. Переписал /makeleader в диалог (+ теперь выдаются женские скины) 14. Вырезана /fractionid 15. Вырезан ограничитель скорости 16. Теперь при выдаче предупреждения или бане указывается фракция и ранг игрока (Если он состоит в организации) 17. Теперь командой /spawn можно спавнить других игроков 18. Отредактирована команда /recon 19. Вырезан анти-БХ 20. Переписана команда /invite (+ добавлены женские скины) 21. Из главного меню вырезана система слива денег 22. Сделана система телепорта по метке на карте для администрации 23. Переписал систему навигатора (/gps) 24. Переписал /tp (Теперь он работает через навигатор) 25. /mute теперь выдаётся по минутам 26. Добавил команду /tmute для администрации с 1 уровня - просмотр времени до снятия мута у игрока 27. Изменена команда /pm 28. Для начала гонок и пейнтбола теперь достаточно 2 участников 29. Убрана команда ахелп, будет написана новая 30. Теперь в команде присон надо указывать причину 31. Добавлена команда /forum для оповещения об открытия заявок на лидерство на форуме 32. Новый логотип 33. Добавлена команда /rmute для выдачи бана репорта 34. Написана система для тестеров     АЙПИ ДЛЯ ТЕСТА И ПАРОЛЬ: IP 195.18.27.226:1235 PASSWORD : 1   ДЛЯ СВЯЗИ ВК: https://vk.com/iilyazaxodnoy       Добавил Illya_Zaxatniy Добавлено 30.12.2024 Категория Моды Автор @illyazaxodnoy  
    • От Illya_Zaxatniy
      Привет, у меня давно валяется данный мод который дорабатывался мною в 22  году, решил его выставить на продажу, поскольку деньги - не лишние.
       
      Ниже прикрепляю лог доработок а также айпи адрес для теста
      также к моду(после приобретения) прилагается список багов, найденных, они не значительные но имеются
       
      лог доработок: 
      1. Вырезана /alevel 2. Теперь чат администрации для всех общий 3. Вырезана команда /serverbonus 4. Теперь администрация от 8 уровня не отображается в /admins и при авторизации в панели администратора 5. Убрал бонус 6. Теперь при авторизации в панели администратора не пишет что ввёл неверный пароль 7. Переписал регистрацию 8. Теперь проверка на блокировку идёт при заходе на сервер, не после ввода пароля 9. Переписал авторизацию 10. Адрес электронной почты при регистрации теперь проверяется по всем параметрам 11. Реферальная система при регистрации теперь проверяет ник или промокод 12. Сделал выбор скинов на текстдравах 13. Переписал /makeleader в диалог (+ теперь выдаются женские скины) 14. Вырезана /fractionid 15. Вырезан ограничитель скорости 16. Теперь при выдаче предупреждения или бане указывается фракция и ранг игрока (Если он состоит в организации) 17. Теперь командой /spawn можно спавнить других игроков 18. Отредактирована команда /recon 19. Вырезан анти-БХ 20. Переписана команда /invite (+ добавлены женские скины) 21. Из главного меню вырезана система слива денег 22. Сделана система телепорта по метке на карте для администрации 23. Переписал систему навигатора (/gps) 24. Переписал /tp (Теперь он работает через навигатор) 25. /mute теперь выдаётся по минутам 26. Добавил команду /tmute для администрации с 1 уровня - просмотр времени до снятия мута у игрока 27. Изменена команда /pm 28. Для начала гонок и пейнтбола теперь достаточно 2 участников 29. Убрана команда ахелп, будет написана новая 30. Теперь в команде присон надо указывать причину 31. Добавлена команда /forum для оповещения об открытия заявок на лидерство на форуме 32. Новый логотип 33. Добавлена команда /rmute для выдачи бана репорта 34. Написана система для тестеров     АЙПИ ДЛЯ ТЕСТА И ПАРОЛЬ: IP 195.18.27.226:1235 PASSWORD : 1   ДЛЯ СВЯЗИ ВК: https://vk.com/iilyazaxodnoy      
    • От Mason
      Всех Приветствую! У меня есть вот такая дверь, мне нужно сделать так чтобы она открывалась на кнопку, дело в том что я знаю про функцию MoveObject и даже попытался сделать так чтобы она открывалась, но когда я захожу в игру и нажимаю на кнопку то ничего не происходит.
      На всякий случай прикладываю код