[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Архив - только для чтения
[Lesson]Урок по создание авторынка в GF
Дата: 22.12.2010, Среда, 07:35:17 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 72
Репутация: -14+
1. Для начала нам нужно внести в данные игрока переменную, отвечающие за ID его машины.

Добавляем в enum pInfo:

2. Теперь сделаем запись в файл.

В OnPlayerRegister:

В OnPlayerLogin:

3. Далее создадим информацию о машинах.

PHP код:
enum cInfo
{
cOwned, // занятость
cModel // модель
};
new CarInfo[1][cInfo]; // 1 замените на кол-во машин

4. Теперь нам нужно загрузить машину на сервер.

В самый конец мода пихаем функцию:

PHP код:
LoadCars() // Название функции (без параметров, так как действие распространяется на всех игроков/весь сервер)
{
new arrCoords[2][64]; // Переменная, отвечающая за распределение данных (будет 2 параметра)
new strFromFile2[256];
new File: file = fopen("cars.cfg", io_read); // присваиваем файлу cars.cfg переменную file и открываем его
if (file) // Если файл открылся
{
new idx; // переменную добавим
while (idx < sizeof(CarInfo)) // пока переменная меньше кол-ва машин
{
fread(file, strFromFile2); // читаем данные файла
split(strFromFile2, arrCoords, '|'); // разделим данные (когда будем писать разделим из символом "|")
CarInfo[idx][cOwned] = strval(arrCoords[0]); // Присваиваем машине занятость (первое значение)
CarInfo[idx][cModel] = strval(arrCoords[1]); // Присваиваем машине модель (2-ое значение)
idx++; // увеличиваем переменную
} // Если переменная меньше общего кол-ва машин, то цикл продолжится
fclose(file); // закрываем файл
}
return 1; // вернем истину
}

5. Сейчас мы должны создать файл, из которого будем читать информацию о машинах (cars.csg)

Заходим в папку scriptfiles и создаем файл. Называем его cars.cfg (если у вас не отображаются расширения включите это в настройках).

Заходим в cars.cfg и пишем туда:

PHP код:
0|411
Здесь 0 - занятость (0 - не занята, 1 - занята), а 411 - модель (в данном случае инфернус)

Когда будете добавлять еще машины добавляйте ниже этого. Пример:

PHP код:
0|411
0|514
1|89
6. Теперь мы должны создать массив, в котором запишем координаты машин.

Заходим в мод. И вставляем где-нибудь в начало, но после всех инклюдов, форвардов, переменных:

PHP код:
new Float:BuyCarsSpawn[1][4]={ // объявляется массив. Когда будете добавлять машины, замените 1 на их бщее кол-во. 4 -для тех, кто не знает, параметры ( у нас их 4)
{1111.3768,-1796.1268,16.5938,123.1231} // собственно сами координаты в формате: (координата x, координата y, координата z, угол поворота)
};
Так как я показываю на примере одной машины, то указываю одни координаты.
Примечание: Когда будете добавлять координаты машин ставьте после каждой запятую, не ставить только после последних. Пример:

PHP код:
new Float:BuyCarsSpawn[3][4]={
{1111.3768,-67.1268,16.5938,123.1231},
{565.3768,-1796.1268,16.5938,163.753442},
{56.3768,2396.1223,45.9731,183.1231}
};

7. Наконец, вставляем машины в мод.

Используя функцию, которую мы недавно сделали, мы это сделать сможем.
Вставим в public OnGameModeInit:

PHP код:
LoadCars();
С помощью этого мы включим наш файл.

Для вставки машин из файла сразу после этого вставляем:


Примечание: этот код должен быть вставлен перед всеми машинами, чтобы не было путаницы с идами

8. Сделаем, чтобы был эффект когда игрок садиться в наше авто.

В public OnPlayerStateChange ищем



И после этого вставляем:

9. Наконец, сделаем сами команды.

В public OnPlayerCommandText вставляем (разумеется после других команд):

10. Ну и последний этап. Сделаем сохранение машин в файл после обновления

Добавим в OnPropUpdate:

Готово!

Дата: 22.12.2010, Среда, 08:25:53 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 55
Репутация: 20+
Источник указывай
Дата: 22.12.2010, Среда, 14:50:44 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 103
Репутация: 25+
PreWolf, хороший урок
Дата: 22.12.2010, Среда, 15:52:44 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 72
Репутация: -14+
Steep_Chele, Я сам делал.
Samuel,Сделаю
Дата: 22.12.2010, Среда, 15:58:43 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 72
Репутация: -14+
Steep_Chele, Не реал я сам делал.
Дата: 22.12.2010, Среда, 16:01:29 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 72
Репутация: -14+
Steep_Chele, Ну скинь.
Дата: 22.12.2010, Среда, 16:52:54 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 414
Репутация: 886+
Steep_Chele, Создатель этого урока случаем не HELKERN?
  • Страница 1 из 1
  • 1
Поиск: