LiYorton 0 Опубликовано 9 мая, 2020 (изменено) Здравствуйте все, я бы хотел узнать как сделать чтобы подарок можно было взять только 1. Сколько не пробывал сделать были только ерроры.Сервер DM Вот код: public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == podarok) { if(PlayerInfo[playerid][pPodarok] > 0) return SCM(playerid, COLOR_RED, "{FFFFFF}[Èíôîðìàöèÿ]{FF00000}Âû óæå áðàëè ýòîò ïîäàðîê"); GivePlayerMoney(playerid, 43245); SCM(playerid, COLOR_GREEN, "Âû âçÿëè ïîäàðîê, â í¸ì ëåæàëî 43245 ðóáëåé!"); return 1; } return 1; } Изменено 9 мая, 2020 пользователем LiYorton Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Eduard Vestornович 165 Опубликовано 10 мая, 2020 19 часов назад, LiYorton сказал: Здравствуйте все, я бы хотел узнать как сделать чтобы подарок можно было взять только 1. Сколько не пробывал сделать были только ерроры.Сервер DM Вот код: public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == podarok) { if(PlayerInfo[playerid][pPodarok] > 0) return SCM(playerid, COLOR_RED, "{FFFFFF}[Èíôîðìàöèÿ]{FF00000}Âû óæå áðàëè ýòîò ïîäàðîê"); GivePlayerMoney(playerid, 43245); SCM(playerid, COLOR_GREEN, "Âû âçÿëè ïîäàðîê, â í¸ì ëåæàëî 43245 ðóáëåé!"); return 1; } return 1; } Можете скинуть код с нормальной кодировкой? Скопируйте код из мода в русской раскладке и скидывайте сюда Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Eduard Vestornович 165 Опубликовано 10 мая, 2020 19 часов назад, LiYorton сказал: PlayerInfo[playerid][pPodarok] > 0 PlayerInfo[playerid][pPodarok] != 0 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
16Shadows 101 Опубликовано 10 мая, 2020 Зачем менять оператор сравнения? Это ничего не исправит. Обычные ошибки в логике мода. Проверяет переменную, которая не меняется. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LiYorton 0 Опубликовано 10 мая, 2020 2 часа назад, Eduard Vestornович сказал: PlayerInfo[playerid][pPodarok] != 0 Это не помогло, подарок до сих пор берется. Вот код в русской раскладке: if(pickupid == podarok) { if(PlayerInfo[playerid][pPodarok] > 0) return SCM(playerid, COLOR_RED, "{FFFFFF}[Информация]{FF00000}Вы уже брали этот подарок"); GivePlayerMoney(playerid, 43245); SCM(playerid, COLOR_GREEN, "Вы взяли подарок, в нём лежало 43245 рублей!"); return 1; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Eduard Vestornович 165 Опубликовано 10 мая, 2020 6 минут назад, LiYorton сказал: Это не помогло, подарок до сих пор берется. Вот код в русской раскладке: if(pickupid == podarok) { if(PlayerInfo[playerid][pPodarok] > 0) return SCM(playerid, COLOR_RED, "{FFFFFF}[Информация]{FF00000}Вы уже брали этот подарок"); GivePlayerMoney(playerid, 43245); SCM(playerid, COLOR_GREEN, "Вы взяли подарок, в нём лежало 43245 рублей!"); return 1; } У вас переменная pPodarok загружается через БД? Обновляется хоть как-то? Чтобы все было гуд - нужно при входе в игру вместе с аккаунтом сделать загрузку переменной (как pName, pPass и т.п) И при получение подарка делать запрос на обновление в БД по playerid И тогда система будет максимально динамичной Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LiYorton 0 Опубликовано 10 мая, 2020 6 минут назад, Eduard Vestornович сказал: У вас переменная pPodarok загружается через БД? Обновляется хоть как-то? Чтобы все было гуд - нужно при входе в игру вместе с аккаунтом сделать загрузку переменной (как pName, pPass и т.п) И при получение подарка делать запрос на обновление в БД по playerid И тогда система будет максимально динамичной Все труднее чем кажется, у меня mxINI Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Eduard Vestornович 165 Опубликовано 10 мая, 2020 (изменено) А если делать статистическую (при перезапуске все данные о подарках будут слетать) то вот так if(pickupid == podarok) { if(PlayerInfo[playerid][pPodarok] != 0) return SCM(playerid, COLOR_RED, "{FFFFFF}[Информация]{FF00000}Вы уже брали этот подарок"); GivePlayerMoney(playerid, 43245); SCM(playerid, COLOR_GREEN, "Вы взяли подарок, в нём лежало 43245 рублей!"); PlayerInfo[playerid][pPodarok] = 1; return 1; } Изменено 10 мая, 2020 пользователем Eduard Vestornович Поправил табуляцию Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LiYorton 0 Опубликовано 10 мая, 2020 18 минут назад, Eduard Vestornович сказал: А если делать статистическую (при перезапуске все данные о подарках будут слетать) то вот так Огромное спасибо тебе, все получилось! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты