И скинь строку из логов при взятии неработающих чекпоинтовPHP код:
public OnPlayerEnterDynamicCP(playerid,checkpointid)
{
printf("\n\n%d (%d|%d)\n\n",checkpointid, musor_info[0][mCP], musor_info[MAX_MUSORS-1][mCP]);
if(checkpointid >= musor_info[0][mCP] && checkpointid <= musor_info[MAX_MUSORS-1][mCP])
{
SendClientMessage(playerid, -1, "a");
}
}
P.S. Перенёс тему в раздел с вопросами
Последний раз редактировалось DeimoS; 17.06.2018 в 20:20.
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Наступал по разу на три чекпоинтаPHP код:
[07:50:17]
41 (1|0)
[07:50:19]
42 (1|0)
[07:50:23]
43 (1|0)
Эмм, у тебя musor_info[MAX_MUSORS-1][mCP] хранит нуль.
Сейчас у тебя условие выглядит так:
И ни одно значение никогда не попадёт под это условие.PHP код:
if(42 >= 1 && 42 <= 0)
Либо ты не создаёшь достаточно чекпоинтов, оставляя последнюю ячейку пустой, либо какая-то ошибка при создании есть.
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
А причём тут значение MAX_MUSORS? Через "MAX_MUSORS-1" ты обращался к ячейке массива и использовал в условии именно значение ячейки, а не значение "MAX_MUSORS".
Чтоб всё работало как нужно, следует целиком заполнять массив данными или хотя бы последний чекпоинт заносить в последнюю ячейку (но это будет нелогично и глупо).
А если тебе нужно оставить свободные ячейки для последующего создания новых чекпоинтов, при этом, ты так же хочешь их и удалять прямо из игры, то надёжнее всего создать итератор с MAX_MUSORS ячеек и записывать в него номера занятых ячеек. Тогда условие будет выглядеть так:
if(checkpointid >= musor_info[0][mCP] && checkpointid <= musor_info[Iter_Last(/*имя итератора*/)][mCP])
Ну а если удалять из игры не собираешься, то можно просто создать переменную, которая будет хранить в себе индекс последней занятой ячейки и уже в условии вызывать эту переменную вместо "MAX_MUSORS-1"
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)