Урок Пишемо завантаження
- Pawn скриптинг
- Школа скриптингу
- Уроки
- Правила форуму
- Перегляд нових публікацій
- (2 Сторінок)
- 1
- 2
- >
- Ви не можете створити нову тему
- Ви не можете відповісти на тему

- Група: Активні користувачі
- Повідомлень: 1 463
- Реєстрація: 31 Березня 14
Здрастуйте, ув. жителі порталу Pawn-Wiki, сьогодні я представлю вам приклад Завантаження/Збереження Системи для Mysql r7-39-3(з 7 до 9) Я особисто використовую стандартний метод, cache і що це таке я навіть не хотів використовувати і розуміти: 3
1) Що ми робимо 1 шляхом (ну звичайно якщо ви поставили enum, там змінні оголосили і т п) Ми перевіряємо нашу таблицю, якщо вона є вивантажуємо дані, це обходиться всього в один рядок:
Тут, mysql_function_query - функція запиту, SELECT * FROM `tablename` - шукаємо таблицю states (ну особисто я сам так розумів, також states можна замінити на ваше) true - у нас тут стоїть true значить у нас буде паблік для обробки, якщо ні то ні :3 LoadTable - природно паблік, якщо у вас варто 'false' то не обов'язково його писати, можна залишити "" (але це вже зовсім інша історія)
2) Завантаження (так-с, для завантаження у нас повинен бути оголошений ПАБЛІК, а не стік!) Я наведу приклад свого пабліка, у мене він називається LoadStates (я для себе писав систему скарбниці:3)
Ну ось ви створили паблік з форвардом і він у вас виглядатиме приблизно так:
Давайте поставимо функцію cache_get_data, щоб дізнатисяу стовпів і рядків і їх завантажити O_o
Так-с, це зробили добре, давайте зробимо перевірку на кількість рядків, якщо їх немає то повертаємо
Час завантажувати! Також я рекомендую зробити змінну, яка вважатиме кількість завантаженого у Вашому паблику. Запитайте навіщо? Ну, щоб полегшити нам роботу, і зробити легке збереження.
Давайте зробимо цикл, і без нього :3
Кхм, цикл зробили можливість додати функції для завантаження, у нас їх 3 для рядкового типу, числового, і подвійного Ось вони ці 3 функції:
Роботу з ними покажу прикладом.
Давайте завантажимо int, значення таблиці
Ну ось так в основному завантажують, Info[i][int] - можна замінити на своє, у мене це змінна i - це не змінювати, так як це змінна циклу, ну досвідченим скриперам дозволю мабуть :3 _mysqlConnect - це треба замінити, тому змінні mysql не у всіх схожі.
Давайте завантажимо Float із таблиці.
Ну видно, що майже нічим вони й не різняться, на цьому я не буду зупинятися і підемо далі. Завантажимо рядок з таблиці.
А тут у нас трохи інакше, i - не пояснюватиму "String" - рядок у таблиці Info[i][string] - змінна _mysqlConnect - змінна mysql 6 - Довжина рядка, ну тут логічно.
Тут як би з завантаженням все, АЛЕ щодо того, що я рекомендував вам зробити змінну якщо ви вже зробили :), то треба його в завантаження поставити:
3)Збереження (ну тут я до ладу не парився) Збереження на відміну від Завантаження можна помістити в стік:
У нас буде запит UPDATE.
Добре було б, якщо у нас буде ідентифікатор у таблиці, до речі не забудьте його створити!
Ну і збереження нічим майже не відрізняється, вони повинні бути рядком нижче за SET і вище за WHERE:
Ну і як ми будемо доглядати. Можна при купівлі продажу (якщо це вдома чи бизи)
Ну, я зроблю в паблиці OnGameModeExit:
1.Для тих хто зі змінною:
2. Для тих, хто без змінної:
Ну ось начебто все, це мій перший урок незважаючи на те що, я тут 2-3 роки : O Прошу розумників тихенько і не кричати типу "АААА БІДЛОКОД БІДЛОКОД.", або "Ну у нас у дворі 2015 де оптимізація" , ну критику вислухаю