Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 4 ПерваяПервая 1 2 3 4 ПоследняяПоследняя
Показано с 11 по 20 из 32
  1. #11
    Аватар для verteich
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.03.2019
    Сообщений
    117
    Репутация:
    2 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Логируй значения, которые выдаёт SetVehicleToRespawn для авто, не вызывающих OnPlayerSpawn. Если выдаёт 0, значит автомобиль не создан.

    И код J_AddStaticVehicleEx покажи.
    1. stock J_AddStaticVehicleEx(model,Float:x,Float:y,Float:z,Float:a,color_1,color_2,spawntime = 300,interior = 0,world = 0)
    2. {
    3. new carid = AddStaticVehicleEx(model, x, y, z, a, color_1, color_2, spawntime);
    4. VehicleInfo[carid][vAntiRepair]=2;
    5. VehicleInfo[carid][vLock]=0;
    6. //VehicleHealth[carid] = 1000;
    7. VehicleInfo[carid][vModel] = model;
    8. VehicleInfo[carid][vPos_X] = x;
    9. VehicleInfo[carid][vPos_Y] = y;
    10. VehicleInfo[carid][vPos_Z] = z;
    11. VehicleInfo[carid][vPos_A] = a;
    12. VehicleInfo[carid][vColor_1] = color_1;
    13. VehicleInfo[carid][vColor_2] = color_2;
    14. VehicleInfo[carid][vSpawnTime] = spawntime;
    15. LinkVehicleToInterior(carid, interior);
    16. SetVehicleVirtualWorld(carid, world);
    17. VehicleInfo[carid][vTuning] = GetVehicleTuningState( model );
    18. switch(model)
    19. {
    20. case 430, 446, 452, 453, 454, 472, 473, 484, 493: VehicleState[carid] = VEHICLE_STATE_BOAT;
    21. case 417, 425, 447, 460, 469, 476, 487, 488, 497, 511, 512, 513, 519, 520, 548, 553,
    22. 563, 577, 592, 593: VehicleState[carid] = VEHICLE_STATE_PLANE;
    23. case 581, 522, 461, 521, 523, 463, 468, 471, 586: VehicleState[carid] = VEHICLE_STATE_BIKE;
    24. case 509, 481, 510: VehicleState[carid] = VEHICLE_STATE_VELIK;
    25. case 462,448: VehicleState[carid] = VEHICLE_STATE_MOPED;
    26. case 538, 537: VehicleState[carid] = VEHICLE_STATE_TRAIN;
    27. default: VehicleState[carid] = VEHICLE_STATE_CAR;
    28. }
    29. return carid;
    30. }

    А как логировать то значения SetVehicleToRespawn ?

  2. #12
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    1. printf("%i) SetVehicleToRespawn(%d) = %d), i, OwnableCar[i], SetVehicleToRespawn(OwnableCar[i]));

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

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

    Steve Pavlina

  3. #13
    Аватар для verteich
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.03.2019
    Сообщений
    117
    Репутация:
    2 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    1. printf("%i) SetVehicleToRespawn(%d) = %d), i, OwnableCar[i], SetVehicleToRespawn(OwnableCar[i]));

    И логи сюда
    По логам - все спавнится, нашел причину.
    1. stock UpdateCarInfo(vehicleid)
    2. {
    3. if(IsAOwnableCar(vehicleid))
    4. {
    5. new number = GetVehicleID(vehicleid);
    6. new string[200];
    7. if(IsASellCar(vehicleid)) format(string,sizeof(string),"{FF9900} Òðàíñïîðò ïðîäàåòñÿ {FFFFFF}\n\nÌîäåëü: {AFAFAF}%s (%d){FFFFFF}\nÍîìåð: {AFAFAF}%s{FFFFFF}\nÑòîèìîñòü: {AFAFAF}$%d", VehicleName[GetVehicleModelEx(vehicleid)-400],GetVehicleModelEx(vehicleid),OwnCarNumber(vehicleid),CarInfo[number][cCost]);
    8. else format(string,sizeof(string)," ");
    9. UpdateDynamic3DTextLabelText(CarText[number],COLOR_WHITE,string);
    10. }
    11. return 1;
    12. }

    Данная функция вызывается при спавне личного авто, она как раз мне и нужна. Вызывается она если это личная машина
    1. stock IsAOwnableCar(carid)
    2. {
    3. return (OwnableCar[0] <= carid <= OwnableCar[OWNABLECARS-1]);
    4. }

    И если в UpdateCarInfo задебажить так:
    1. printf("%i %i", vehicleid, IsAOwnableCar(vehicleid));

    То только последнее авто считается как личное авто, а остальные личные, только когда мод полностью загрузится.
    Как это исправить?

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Ну так покажи при каких условиях ты вызываешь UpdateCarInfo и при каких условиях сейчас грузятся личные авто.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  5. #15
    Аватар для verteich
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.03.2019
    Сообщений
    117
    Репутация:
    2 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну так покажи при каких условиях ты вызываешь UpdateCarInfo и при каких условиях сейчас грузятся личные авто.
    1. public OnVehicleSpawn(vehicleid) {
    2. return UpdateCarInfo(vehicleid);
    3. }

    1. new OwnableCar[MAX_OWNABLECARS];
    2. #define MAX_OWNABLECARS (2000)
    3. stock LoadedOwnable() {
    4. for(new i; i < OWNABLECARS; i++) {
    5. OwnableCar[i] = J_AddStaticVehicleEx(
    6. CarInfo[i][cModel],
    7. CarInfo[i][cPos_X],
    8. CarInfo[i][cPos_Y],
    9. CarInfo[i][cPos_Z],
    10. CarInfo[i][cPos_A],
    11. CarInfo[i][cColor_1],
    12. CarInfo[i][cColor_2],
    13. 60000,
    14. CarInfo[i][cInterior],
    15. CarInfo[i][cVirtualWorld]
    16. );
    17. CarText[i] = CreateDynamic3DTextLabel("-",-1,0,0,0.5,5.0,INVALID_PLAYER_ID,OwnableCar[i]);
    18. if(!GetString(CarInfo[i][cOwner],"The State"))
    19. {
    20. if(!CarInfo[i][cParkedInGarage] || !CarInfo[i][cParkedInParking]) SetVehicleVirtualWorld(OwnableCar[i], 1);
    21. else SetVehicleVirtualWorld(OwnableCar[i], CarInfo[i][cVirtualWorld]);
    22. }
    23. if(CarInfo[i][cSupreme] == 1) SupremeInstall(i);
    24. if(CarInfo[i][cTwinTurbo] == 1) TwinTurboInstall(i);
    25. BikesInstall(i);
    26. SetVehicleToRespawn(OwnableCar[i]);
    27. }
    28. return 1;
    29. }

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

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

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

    Steve Pavlina

  7. #17
    Аватар для verteich
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.03.2019
    Сообщений
    117
    Репутация:
    2 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Скинь те логи, которые я просил.
    1. [17:21:41] 123 973 1
    2. printf("%i %i %i", i, OwnableCar[i], SetVehicleToRespawn(OwnableCar[i]));

    и так все авто, только ид в загрузке и ид на сервере меняется

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Проверь значение OWNABLECARS при вызове IsAOwnableCar
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  9. #19
    Аватар для verteich
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.03.2019
    Сообщений
    117
    Репутация:
    2 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Проверь значение OWNABLECARS при вызове IsAOwnableCar
    124, как и в базе данных

  10. #20
    Аватар для DeimoS
    Модератор?

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

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

    Steve Pavlina

 

 
Страница 2 из 4 ПерваяПервая 1 2 3 4 ПоследняяПоследняя

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

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

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

Ваши права

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