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

    Статус
    Оффлайн
    Регистрация
    08.12.2018
    Адрес
    Россия
    Сообщений
    146
    Репутация:
    25 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Скинь весь код, связанный с проблемой, целиком: начиная с команды и заканчивая функциями.
    Callback
      Открыть/закрыть
    1. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    2. {
    3. if (vehicle_OnPlayerKeyStateChange(playerid, newkeys)) {
    4. return 1;
    5. }
    6. if (garage_OnPlayerKeyStateChange(playerid, newkeys)) {
    7. return 1;
    8. }
    9. return 1;
    10. }


    vehicle_OnPlayerKeyStateChange:
      Открыть/закрыть
    1. vehicle_OnPlayerKeyStateChange(playerid, newkeys)
    2. {
    3. if(newkeys == KEY_SUBMISSION && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    4. {
    5. if(GetPlayerVehicleID(playerid) == PlayerVehicleID[playerid])
    6. {
    7. return callcmd::engine(playerid);
    8. }
    9. }
    10. return 0;
    11. }


    garage_OnPlayerKeyStateChange:
      Открыть/закрыть
    1. garage_OnPlayerKeyStateChange(playerid, newkeys)
    2. {
    3. if(newkeys == KEY_SUBMISSION && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    4. {
    5. if(GetPlayerVirtualWorld(playerid) == PlayerInfo[playerid][pHouseID])
    6. {
    7. for(new i; i < MAX_VEHICLE_PLAYER; i++)
    8. {
    9. if(IsPlayerInVehicle(playerid, PlayerInfo[playerid][pVehicle][i]))
    10. {
    11. if(PlayerVehicleID[playerid] == 0)
    12. {
    13. PlayerVehicleID[playerid] = PlayerInfo[playerid][pVehicle][i];
    14. SetVehicleVirtualWorld(PlayerVehicleID[playerid], 0);
    15. LinkVehicleToInterior(PlayerVehicleID[playerid], 0);
    16. SetVehiclePos(PlayerVehicleID[playerid], HouseInfo[PlayerInfo[playerid][pHouseID]][hCarPosX], HouseInfo[PlayerInfo[playerid][pHouseID]][hCarPosY], HouseInfo[PlayerInfo[playerid][pHouseID]][hCarPosZ]);
    17. SetVehicleZAngle(PlayerVehicleID[playerid], HouseInfo[PlayerInfo[playerid][pHouseID]][hCarPosFacingAngle]);
    18. SetPlayerVirtualWorld(playerid, 0);
    19. SetPlayerInterior(playerid, 0);
    20. PutPlayerInVehicle(playerid, PlayerVehicleID[playerid], 0);
    21. return 1;
    22. }
    23. else
    24. {
    25. SCMError(playerid, "Для смены транспорта, все автомобили должны находится в гараже. Введите: /fixcar");
    26. return 1;
    27. }
    28. }
    29. }
    30. }
    31. }
    32. return 0;
    33. }


    cmd:
      Открыть/закрыть
    1. CMD:engine(playerid)
    2. {
    3. new Float:carhp, engine, lights, alarm, doors, bonnet, boot, objective;
    4. if(GetPlayerVehicleID(playerid) == INVALID_VEHICLE_ID) return 1;
    5. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    6. GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
    7. if(engine == 0)
    8. {
    9. if(VehicleInfo[GetPlayerVehicleID(playerid)][vFuel] <= 0)
    10. {
    11. return 1;
    12. }
    13. else if(carhp <= 300.0)
    14. {
    15. return 1;
    16. }
    17. }
    18. return 1;
    19. }
    Последний раз редактировалось DeimoS; 06.02.2020 в 19:33.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    1. if(GetPlayerVehicleID(playerid) == INVALID_VEHICLE_ID) return 1;
    Эта проверка неправильная. GetPlayerVehicleID не возвращает INVALID_VEHICLE_ID.


    1. if(GetPlayerVehicleID(playerid) == PlayerVehicleID[playerid])
    Если в PlayerVehicleID хранится ID авто, в котором сидит игрок, то зачем? GetPlayerVehicleID хранит ту же самую информацию.


    1. if(newkeys == KEY_SUBMISSION
    Если у тебя не стоит задачи сделать вызов функции только когда игрок жмёт только кнопку "2", не нажимая других кнопок, то проверка должна выглядеть так:

    1. if(newkeys & KEY_SUBMISSION


    Хотя вообще код крайне странно организован. Зачем в каждой функции прописывать проверку нажатия клавиши, если проверку можно вынести в OnPlayerKeyStateChange и уже, в зависимости от нажатой кнопки, вызывать ту или иную функцию?



    Сделай так и скинь логи после нажатия:
    1. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    2. {
    3. printf("\n\nOnPlayerKeyStateChange(%d, %d, %d)", playerid, newkeys, oldkeys);
    4. new result;
    5.  
    6. result = vehicle_OnPlayerKeyStateChange(playerid, newkeys);
    7. printf("vehicle_OnPlayerKeyStateChange", result);
    8.  
    9. if (result) {
    10. return 1;
    11. }
    12.  
    13. result = garage_OnPlayerKeyStateChange(playerid, newkeys);
    14. printf("garage_OnPlayerKeyStateChange", result);
    15.  
    16. if (result) {
    17. return 1;
    18. }
    19. return 1;
    20. }
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    08.12.2018
    Адрес
    Россия
    Сообщений
    146
    Репутация:
    25 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Если в PlayerVehicleID хранится ID авто, в котором сидит игрок, то зачем? GetPlayerVehicleID хранит ту же самую информацию.
    PlayerVehicleID не хранит ID авто в котором сидит игрок, она хранит ID авто которое выбрал игрок.

    Цитата Сообщение от DeimoS Посмотреть сообщение
    Хотя вообще код крайне странно организован. Зачем в каждой функции прописывать проверку нажатия клавиши, если проверку можно вынести в OnPlayerKeyStateChange и уже, в зависимости от нажатой кнопки, вызывать ту или иную функцию?
    Не подойдет, потому-что допустим в garage_KeyStateChange есть 2 проверки на кнопки, к примеру:
    1. garage_OnPlayerKeyStateChange(playerid, newkeys)
    2. {
    3. if(newkeys & KEY_SUBMISSION)
    4. {
    5. return 1;
    6. }
    7. if(newkeys & KEY_CROUCH)
    8. {
    9. return 1;
    10. }
    11. return 0;
    12. }


    Цитата Сообщение от DeimoS Посмотреть сообщение
    Сделай так и скинь логи после нажатия:
      Открыть/закрыть
    PHP код:
    OnPlayerKeyStateChange(0160)
    [
    19:14:40vehicle_OnPlayerKeyStateChange
    [19:14:40garage_OnPlayerKeyStateChange
    [19:14:40

    OnPlayerKeyStateChange(0016)
    [
    19:14:40vehicle_OnPlayerKeyStateChange
    [19:14:40garage_OnPlayerKeyStateChange
    [19:14:43

    OnPlayerKeyStateChange(080)
    [
    19:14:43vehicle_OnPlayerKeyStateChange
    [19:14:43garage_OnPlayerKeyStateChange
    [19:14:44

    OnPlayerKeyStateChange(008)
    [
    19:14:44vehicle_OnPlayerKeyStateChange
    [19:14:44garage_OnPlayerKeyStateChange
    [19:14:45

    OnPlayerKeyStateChange(0160)
    [
    19:14:45vehicle_OnPlayerKeyStateChange
    [19:14:45garage_OnPlayerKeyStateChange
    [19:14:45

    OnPlayerKeyStateChange(0016)
    [
    19:14:45vehicle_OnPlayerKeyStateChange
    [19:14:45garage_OnPlayerKeyStateChange
    [19:14:49

    OnPlayerKeyStateChange(05120)
    [
    19:14:49vehicle_OnPlayerKeyStateChange
    [19:14:49garage_OnPlayerKeyStateChange
    [19:14:49

    OnPlayerKeyStateChange(00512)
    [
    19:14:49vehicle_OnPlayerKeyStateChange
    [19:14:49garage_OnPlayerKeyStateChange
    [19:14:49

    OnPlayerKeyStateChange(05120)
    [
    19:14:49vehicle_OnPlayerKeyStateChange
    [19:14:49

    OnPlayerKeyStateChange(00512)
    [
    19:14:49vehicle_OnPlayerKeyStateChange
    [19:14:49garage_OnPlayerKeyStateChange
    [19:14:53

    OnPlayerKeyStateChange(040)
    [
    19:14:53vehicle_OnPlayerKeyStateChange
    [19:14:53garage_OnPlayerKeyStateChange 
    Последний раз редактировалось punkochel; 06.02.2020 в 20:22.

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

    Статус
    Оффлайн
    Регистрация
    22.04.2016
    Адрес
    Украина
    Сообщений
    157
    Репутация:
    35 ±
    1. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    2. {
    3. printf("\n\nOnPlayerKeyStateChange(%d, %d, %d)", playerid, newkeys, oldkeys);
    4. new result;
    5.  
    6. result = vehicle_OnPlayerKeyStateChange(playerid, newkeys);
    7. printf("vehicle_OnPlayerKeyStateChange: %d", result);
    8.  
    9. if (result) {
    10. return 1;
    11. }
    12.  
    13. result = garage_OnPlayerKeyStateChange(playerid, newkeys);
    14. printf("garage_OnPlayerKeyStateChange: %d", result);
    15.  
    16. if (result) {
    17. return 1;
    18. }
    19. return 1;
    20. }


    Подправил код DeimoS'a.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от punkochel Посмотреть сообщение
    Не подойдет, потому-что допустим в garage_KeyStateChange есть 2 проверки на кнопки, к примеру:
    1. garage_OnPlayerKeyStateChange(playerid, newkeys)
    2. {
    3. if(newkeys & KEY_SUBMISSION)
    4. {
    5. return 1;
    6. }
    7. if(newkeys & KEY_CROUCH)
    8. {
    9. return 1;
    10. }
    11. return 0;
    12. }
    Создай 2 функции. В чём проблема?
    Такой реализацией у тебя куча лишних действий будет впустую каждое срабатывание OnPlayerKeyStateChange.


    Цитата Сообщение от Pa4enka Посмотреть сообщение
    Подправил код DeimoS'a.
    Да, спасибо. Тупанул :D
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  6. #16
    Аватар для punkochel
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2018
    Адрес
    Россия
    Сообщений
    146
    Репутация:
    25 ±
    Я чет вообще курю, ладно бы мод бы переполнен разным функционалом, так ведь он чист. Осталось только на new.pawn попробовать.
    Вот в этой ситуации выполняется функция что в if и в else:
    1. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    2. {
    3. if(newkeys & KEY_SUBMISSION && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    4. {
    5. if(GetPlayerVirtualWorld(playerid) == PlayerInfo[playerid][pHouseID])
    6. {
    7. for(new i; i < MAX_VEHICLE_PLAYER; i++)
    8. {
    9. if(IsPlayerInVehicle(playerid, PlayerInfo[playerid][pVehicle][i]))
    10. {
    11. if(PlayerVehicleID[playerid] == 0)
    12. {
    13. PlayerVehicleID[playerid] = PlayerInfo[playerid][pVehicle][i];
    14. SetVehicleVirtualWorld(PlayerVehicleID[playerid], 0);
    15. LinkVehicleToInterior(PlayerVehicleID[playerid], 0);
    16. SetVehiclePos(PlayerVehicleID[playerid], HouseInfo[PlayerInfo[playerid][pHouseID]][hCarPosX], HouseInfo[PlayerInfo[playerid][pHouseID]][hCarPosY], HouseInfo[PlayerInfo[playerid][pHouseID]][hCarPosZ]);
    17. SetVehicleZAngle(PlayerVehicleID[playerid], HouseInfo[PlayerInfo[playerid][pHouseID]][hCarPosFacingAngle]);
    18. SetPlayerVirtualWorld(playerid, 0);
    19. SetPlayerInterior(playerid, 0);
    20. PutPlayerInVehicle(playerid, PlayerVehicleID[playerid], 0);
    21. return 1;
    22. }
    23. else
    24. {
    25. SCMError(playerid, "Для смены транспорта, все автомобили должны находится в гараже. Введите: /fixcar");
    26. return 1;
    27. }
    28. }
    29. }
    30. }
    31. else
    32. {
    33. new Float:carhp, engine, lights, alarm, doors, bonnet, boot, objective;
    34. if(!IsPlayerInAnyVehicle(playerid)) return 1;
    35. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    36. GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
    37. if(engine == 0)
    38. {
    39. if(VehicleInfo[GetPlayerVehicleID(playerid)][vFuel] <= 0)
    40. {
    41. GameTextForPlayer(playerid,"~r~FUEL TANK IS EMPTY", 3000, 3);
    42. return 1;
    43. }
    44. else if(carhp <= 300.0)
    45. {
    46. GameTextForPlayer(playerid,"~r~ENGINE DAMAGED", 3000, 3);
    47. return 1;
    48. }
    49. SetVehicleParamsEx(GetPlayerVehicleID(playerid), true, true, alarm, doors, bonnet, boot, objective);
    50. }
    51. else
    52. {
    53. SetVehicleParamsEx(GetPlayerVehicleID(playerid), false, false, alarm, doors, bonnet, boot, objective);
    54. }
    55. return 1;
    56. }
    57. }
    58. return 1;
    59. }

  7. #17
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от punkochel Посмотреть сообщение
    Я чет вообще курю, ладно бы мод бы переполнен разным функционалом, так ведь он чист. Осталось только на new.pawn попробовать.
    Вот в этой ситуации выполняется функция что в if и в else:
    1. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    2. {
    3. if(newkeys & KEY_SUBMISSION && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    4. {
    5. if(GetPlayerVirtualWorld(playerid) == PlayerInfo[playerid][pHouseID])
    6. {
    7. for(new i; i < MAX_VEHICLE_PLAYER; i++)
    8. {
    9. if(IsPlayerInVehicle(playerid, PlayerInfo[playerid][pVehicle][i]))
    10. {
    11. if(PlayerVehicleID[playerid] == 0)
    12. {
    13. PlayerVehicleID[playerid] = PlayerInfo[playerid][pVehicle][i];
    14. SetVehicleVirtualWorld(PlayerVehicleID[playerid], 0);
    15. LinkVehicleToInterior(PlayerVehicleID[playerid], 0);
    16. SetVehiclePos(PlayerVehicleID[playerid], HouseInfo[PlayerInfo[playerid][pHouseID]][hCarPosX], HouseInfo[PlayerInfo[playerid][pHouseID]][hCarPosY], HouseInfo[PlayerInfo[playerid][pHouseID]][hCarPosZ]);
    17. SetVehicleZAngle(PlayerVehicleID[playerid], HouseInfo[PlayerInfo[playerid][pHouseID]][hCarPosFacingAngle]);
    18. SetPlayerVirtualWorld(playerid, 0);
    19. SetPlayerInterior(playerid, 0);
    20. PutPlayerInVehicle(playerid, PlayerVehicleID[playerid], 0);
    21. return 1;
    22. }
    23. else
    24. {
    25. SCMError(playerid, "Для смены транспорта, все автомобили должны находится в гараже. Введите: /fixcar");
    26. return 1;
    27. }
    28. }
    29. }
    30. }
    31. else
    32. {
    33. new Float:carhp, engine, lights, alarm, doors, bonnet, boot, objective;
    34. if(!IsPlayerInAnyVehicle(playerid)) return 1;
    35. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    36. GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
    37. if(engine == 0)
    38. {
    39. if(VehicleInfo[GetPlayerVehicleID(playerid)][vFuel] <= 0)
    40. {
    41. GameTextForPlayer(playerid,"~r~FUEL TANK IS EMPTY", 3000, 3);
    42. return 1;
    43. }
    44. else if(carhp <= 300.0)
    45. {
    46. GameTextForPlayer(playerid,"~r~ENGINE DAMAGED", 3000, 3);
    47. return 1;
    48. }
    49. SetVehicleParamsEx(GetPlayerVehicleID(playerid), true, true, alarm, doors, bonnet, boot, objective);
    50. }
    51. else
    52. {
    53. SetVehicleParamsEx(GetPlayerVehicleID(playerid), false, false, alarm, doors, bonnet, boot, objective);
    54. }
    55. return 1;
    56. }
    57. }
    58. return 1;
    59. }
    Если это сообщение о твоей изначальной проблеме, то Pa4enka выше скинул код, который так же нужно протестировать и скинуть логи.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  8. #18
    Аватар для punkochel
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2018
    Адрес
    Россия
    Сообщений
    146
    Репутация:
    25 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Если это сообщение о твоей изначальной проблеме, то Pa4enka выше скинул код, который так же нужно протестировать и скинуть логи.
    PHP код:
    OnPlayerKeyStateChange(0160)
    [
    17:06:52vehicle_OnPlayerKeyStateChange0
    [17:06:52garage_OnPlayerKeyStateChange0
    [17:06:52

    OnPlayerKeyStateChange(0016)
    [
    17:06:52vehicle_OnPlayerKeyStateChange0
    [17:06:52garage_OnPlayerKeyStateChange0
    [17:06:56

    OnPlayerKeyStateChange(0160)
    [
    17:06:56vehicle_OnPlayerKeyStateChange0
    [17:06:56garage_OnPlayerKeyStateChange0
    [17:06:56

    OnPlayerKeyStateChange(0016)
    [
    17:06:56vehicle_OnPlayerKeyStateChange0
    [17:06:56garage_OnPlayerKeyStateChange0
    [17:07:02

    OnPlayerKeyStateChange(05120)
    [
    17:07:02vehicle_OnPlayerKeyStateChange0
    [17:07:02garage_OnPlayerKeyStateChange1
    [17:07:02

    OnPlayerKeyStateChange(00512)
    [
    17:07:02vehicle_OnPlayerKeyStateChange0
    [17:07:02garage_OnPlayerKeyStateChange0
    [17:07:02

    OnPlayerKeyStateChange(05120)
    [
    17:07:02vehicle_OnPlayerKeyStateChange1
    [17:07:02

    OnPlayerKeyStateChange(00512)
    [
    17:07:02vehicle_OnPlayerKeyStateChange0
    [17:07:02garage_OnPlayerKeyStateChange0
    [17:07:08

    OnPlayerKeyStateChange(040)
    [
    17:07:08vehicle_OnPlayerKeyStateChange0
    [17:07:08garage_OnPlayerKeyStateChange

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

    Статус
    Оффлайн
    Регистрация
    22.04.2016
    Адрес
    Украина
    Сообщений
    157
    Репутация:
    35 ±
    1. vehicle_OnPlayerKeyStateChange(playerid, newkeys)
    2. {
    3. if(newkeys == KEY_SUBMISSION && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    4. {
    5. if(GetPlayerVehicleID(playerid) == PlayerVehicleID[playerid])
    6. {
    7. callcmd::engine(playerid);
    8. return 1;
    9. }
    10. }
    11. return 0;
    12. }


    Тыкнем пальцем в небо...

    UPD: есть ещё вариант, что не проходит какое-то условие. Например массив PlayerVehicleID изначально хранит невалидное значение, ибо не обнуляется при входе игрока.
    Последний раз редактировалось Pa4enka; 08.02.2020 в 01:59.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    PHP код:
    OnPlayerKeyStateChange(05120)
    [
    17:07:02vehicle_OnPlayerKeyStateChange0
    [17:07:02garage_OnPlayerKeyStateChange1
    [17:07:02
    Судя по логам, у тебя срабатывает только garage_OnPlayerKeyStateChange в первый раз.

    Попробуй

    1. vehicle_OnPlayerKeyStateChange(playerid, newkeys)
    2. {
    3. if(newkeys & KEY_SUBMISSION && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    4. {
    5. if(GetPlayerVehicleID(playerid) == PlayerVehicleID[playerid])
    6. {
    7. callcmd::engine(playerid);
    8. return 1;
    9. }
    10. }
    11. return 0;
    12. }
    13.  
    14. CMD:engine(playerid)
    15. {
    16. new Float:carhp, engine, lights, alarm, doors, bonnet, boot, objective;
    17. if(GetPlayerVehicleID(playerid) == INVALID_VEHICLE_ID) return 1;
    18. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    19. GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
    20. if(engine <= 0)
    21. {
    22. if(VehicleInfo[GetPlayerVehicleID(playerid)][vFuel] <= 0)
    23. {
    24. return 1;
    25. }
    26. else if(carhp <= 300.0)
    27. {
    28. return 1;
    29. }
    30. }
    31. return 1;
    32. }


    И да
    PHP код:
    if(engine == 0
    Помимо "0" (VEHICLE_PARAMS_OFF) и "1" (VEHICLE_PARAMS_ON), у параметров автомобиля есть ещё значение "-1" (VEHICLE_PARAMS_UNSET), возвращаемое GetVehicleParamsEx когда параметр до этого не изменялся при помощи SetVehicleParamsEx. То бишь, твоя проверка внутри команды не сработает правильно Iя это уже поправил в своём коде).

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

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

    Steve Pavlina

 

 
Страница 2 из 2 ПерваяПервая 1 2

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

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

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

Ваши права

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