- 2
- 0
Ситуация такая.
Консоль
Моя идея такова. Зашел на сервер, если LastDate и полученная только что Date совпадают, то одно, если нет то другое действие. Прикол в чём. Я не могу прямо сравнить if(playerInfo[playerid][LastDate] == date)
Будет ругаться что date без индекса, так как pawno хочет форматировать данные через массив (new date[13];)
Если я делаю так if(playerInfo[playerid][LastDate] == date[0]) то выводится целая строка что и надо, но она не проходит проверку, видимо тип отличается. Над этой фигнёй **усь уже 3 день.
Объясните мне дураку в каком месте я туплю и почему. Плееез
LastData: 01.03.2022 не равен 06.03.2022 в консоле, потому что менял в базе данные для проверки и выхода в else
Да и вообще не могу понять, можно ли сравнить мягко говоря данные playerInfo[playerid][LastDate] и date в данном случае напрямую
Добавил еще дебаг
Консоль
Как видно, не попадаю в Else, почему, не понимаю
Код:
new Day, Month, Year;
new date[13];
getdate(Year, Month, Day);
format(date,sizeof(date),"%02d.%02d.%d", Day, Month, Year);
if(playerInfo[playerid][LastDate] == date[0])
{
SetSpawnInfo(playerid, 0, playerInfo[playerid][Skin], playerInfo[playerid][last_x], playerInfo[playerid][last_y], playerInfo[playerid][last_z], 0, 0, 0, 0, 0, 0, 0);
SetPlayerVirtualWorld(playerid, playerInfo[playerid][VirualWorldId]);
}
else SetSpawnInfo(playerid, 0, playerInfo[playerid][Skin], rSpawns[i][x_pos], rSpawns[i][y_pos], rSpawns[i][z_pos], 0, 0, 0, 0, 0, 0, 0);
printf("last_x: %f\nlast_y: %f\nlast_z: %f\nVirualWorldId: %d\ndate: %s\nLastData: %s", playerInfo[playerid][last_x], playerInfo[playerid][last_y], playerInfo[playerid][last_z], playerInfo[playerid][VirualWorldId],date[0],playerInfo[playerid][LastDate]);
return SpawnPlayer(playerid);
Консоль
Код:
last_x: 655.232971
last_y: -561.672973
last_z: 22.147800
VirualWorldId: 0
date: 06.03.2022
LastData: 01.03.2022
Моя идея такова. Зашел на сервер, если LastDate и полученная только что Date совпадают, то одно, если нет то другое действие. Прикол в чём. Я не могу прямо сравнить if(playerInfo[playerid][LastDate] == date)
Будет ругаться что date без индекса, так как pawno хочет форматировать данные через массив (new date[13];)
Если я делаю так if(playerInfo[playerid][LastDate] == date[0]) то выводится целая строка что и надо, но она не проходит проверку, видимо тип отличается. Над этой фигнёй **усь уже 3 день.
Объясните мне дураку в каком месте я туплю и почему. Плееез
LastData: 01.03.2022 не равен 06.03.2022 в консоле, потому что менял в базе данные для проверки и выхода в else
Код:
else SetSpawnInfo(playerid, 0, playerInfo[playerid][Skin], rSpawns[i][x_pos], rSpawns[i][y_pos], rSpawns[i][z_pos], 0, 0, 0, 0, 0, 0, 0);
Да и вообще не могу понять, можно ли сравнить мягко говоря данные playerInfo[playerid][LastDate] и date в данном случае напрямую
Добавил еще дебаг
Код:
if(playerInfo[playerid][LastDate] == date[0])
{
SetSpawnInfo(playerid, 0, playerInfo[playerid][Skin], playerInfo[playerid][last_x], playerInfo[playerid][last_y], playerInfo[playerid][last_z], 0, 0, 0, 0, 0, 0, 0);
SetPlayerVirtualWorld(playerid, playerInfo[playerid][VirualWorldId]);
print("1"); -- ТУТ
}
else {SetSpawnInfo(playerid, 0, playerInfo[playerid][Skin], rSpawns[i][x_pos], rSpawns[i][y_pos], rSpawns[i][z_pos], 0, 0, 0, 0, 0, 0, 0); print("0");-- И ТУТ}
Консоль
Код:
Первый заход смотреть на date и LastData
1
last_x: 655.232971
last_y: -558.604980
last_z: 22.147800
VirualWorldId: 0
date: 06.03.2022
LastData: 06.03.2022
Второй заход с изменённой датой смотреть на date и LastData
1
last_x: 655.232971
last_y: -558.604980
last_z: 22.147800
VirualWorldId: 0
date: 06.03.2022
LastData: 01.03.2022
Как видно, не попадаю в Else, почему, не понимаю
Последнее редактирование: