Как сделать дом pawno
Начало
Приветствую уважаемые пользователи pawn-wiki.ru! Пока у меня есть свободное время, я решил написать урок который будет состоять из нескольких частей. В данном уроке я постараюсь как можно «раскрыто» показать вам как можно написать систему домов для игрового режима с 0 (или для » new.pwn «). Хочу отметить, что для корректной работы системы нам понадобятся 2 библиотеки:
— mxINI: Скачать
— sscanf: sscanf.rar [37,51К]
• Поясняю для чего мы будем использовать это:
— mxINI: для работы с файлами (чтение / запись в файл);
— sscanf: позволит нам скажем «разделить» и расставить по местам нужную информацию;
• Небольшое описание системы:
• Начнем с установки библиотек и плагина:
Остается последнее : открываем наш мод путем pawno>pawno.exe и вверху (можно после #include ) подключаем библиотеки:
Вот и все, переходим к следующему шагу.
• Ко всем вашим макросам (define’s) добавим еще парочку:
Макросы используются для удобства, мы можем обойтись и без них, но я привык писать названия нежели чем запоминать id (в нашем случаи диалогов).
• Теперь перейдем к создаю массивов и массивов переменных для хранения наших данных. Итак, создадим массив переменных для хранения данных наших домов:
• Создадим 1 переменную и 1 массив:
• Теперь создадим еще один массив переменных но уже для хранения данных интерьеров (ниже расскажу в чем суть):
Для чего мы создали этот массив? В нем вы сможете хранить всевозможные интерьеры которые могут быть присвоены домам, переменная hInterior хранит не id интерьера а порядковый id интерьера в HInts, то есть:
• В этом шаге мы создадим функции для дальнейшей работы:
Внимание! Если у вас уже присутствует данная функция (которая возвращает ник игрока) не добавляйте ее, просто в дальнейшем вместо Name используйте свою!
• В этой части урока мы:
— Подключили необходимые для нас библиотеки (+плагин);
— Создали массивы для хранения различных данных;
— Создали необходимые функции которые будем использовать в дальнейшем;
Урок Создание динамической системы домов на основе плагина [MySQL R41]
Алексей Мещеряков
Эксперт
Плагин MySQL от pBlueG:
Про то, как пользоваться Базой данной и как к ней подключиться, я долго время не буду заострять. Если желаете прочитать подробную информацию, можно найти урок от DeimoS по «Созданию системы регистрации на основе плагина MySQL [R39/R40]», там все подробно расписано. Но все же, некоторые нюансы хотелось бы уточнить.
Как мы с вами уже знаем, а кто не знает, для работы с Базой данных(БД), нам необходимо использовать программу. Я использую Denwer.
P.S. Честно, скажу от себя, другие никогда не использовал и понятия не имею как с ними работать.
О данной программе вы можете ознакомиться на официальном сайте. |
Необходимо скачать данное приложение (У кого есть, тому конечно же не нужно.)
После того, как все действия по установке данной программы выполнены, необходимо запустить «Start Denwer.exe | Run.exe».
Открываем любой для вас удобный браузер и вводите localhost.
Появляется окно:
Если у вас уже есть База Данных, то вам не нужно ничего создавать, если же у вас ее нет, то создадим сейчас.
Нажимаете на вкладку «Базы данных»
Хранит в себе ID нашего дома.
Хранит в себе Имя владельца дома.
Хранит в себе информацию о том, занят ли дом или нет.
Хранят в себе информацию о координатах входа в дом.
Имя: enter_pos_x
Тип: FLOAT
Имя: enter_pos_y
Тип: FLOAT
Хранят в себе информацию о координатах выхода из дома.
Хранит в себе информацию о цене дома.
Хранит в себе информацию об уровне дома.
Хранит в себе информацию о ID интерьера.
Хранят в себе информацию о координатах домашнего автомобиля.
Хранит в себе ID домашнего автомобиля.
Подключение к Базе данных.
В enum e_HOUSE_INTERIORS_INFO внесена вся информация о нашем интерьере, для удобного дальнейшего использования.
На этом, пока что необходимые нам команды мы создали.
[HR][/HR]
Как раз в эти данные мы записали и получили позицию игрока.
Дальше были созданы переменные, которые отвечают за координаты и ID интерьера:
С помощью данных переменных, мы можем записать значение нашего интерьера(Координаты и ID) в ячейки, отвечающие за это в нашей таблице.
Данные в нашу таблицу успешно записаны. Мы завершили создание дома.
В конце мода создадим две функции. Добавим следующий код:
Дальше циклом проверяем наши дома, которые созданы в базе данных.
Описывать каждый столбец я не буду, т.к. при создании самой таблицы было подробное описание. Опишу только сами функции, которые мы используем:
| Получаем значение числа с плавающей точкой.
Если говорить русским языком, то «Если мы находимся у входа в дом, то попадаем в интерьер по координатам из нашей таблицы/массива»
Тоже самое у нас и с другой проверкой:
Домашний транспорт
ВНИМАНИЕ! В данном пункте необходим массив с записью ID дома(pHouse).
Ну вот вроде и все. Должен ничего не забыть, а возможно и забыл, честно уже голова поехала) Так что если будут ошибки, напишите.
Список Всех Готовых Решений(Обновлено 17.04.2012) Оценка: 



1 Голосов
За что даются звездочки:
Хорошие решения (качественная реализация идеи)
Полезные решения (то что должно быть в любом серьезном проекте)
Популярные решения (более 1000 просмотров)
Уникальные решения (оригинальная идея)
Список готовых решений будет постоянно обновляться!
Скрипты (для Godfather мода)
Скрипты для модов основанных на Godfather
Фильтрскрипты (filterscripts)
Фильтрскрипты
• Текстдрав, При Подключении На Сервер & OKStyle
При подключении на сервер будет красивое Интро.
• Simple AFK System & OFFREAL
Система AFK с использованием 3Д текстов (легко настроить под себя).
• Смена стиля боя с сохранением & frog163
В тренажерном зале находится пикап, если его взять откроется меню с выбором стиля. Стиль сохраняется.
• Custom DeathMessage & OKStyle
Скрипт позволяет делать пояснение причин смерти игрока.
• Антиреклама & Roman1us
Простой скрипт антирекламы, написанный с использованием регулярных выражений.
• Миниган на танке & ex.Jord
Аттачим миниган к танку
• Тотальные убийства & ex.Jord
Комбо убийства
Функции (functions)
Функции [ fx ] для любого мода