Закрыть Привет! Если вы читаете это - Вы еще не зарегистрированы. Это займет не больше минуты. Нажмите здесь, чтобы пройти регистрацию в несколько простых шагов, чтобы пользоваться всеми возможностями нашего форума. Обратите внимание, запрещены непристойные, матерные, бессмысленные (цифры, случайный набор букв) ники. Удачи!

Тема: Урок по созданию авторынка!

Показано с 1 по 10 из 13

  1. #1
    Пользователь

    Аватар для Lancer

    Статус: Оффлайн
    Регистрация:11.12.2010
    Адрес:Salavat city
    Сообщений:340
    Репутация:53 [+/-] 

    Урок по созданию авторынка!

    Добрый вечер. Сегодня я вам расскажу о том, как создать авторынок.

    Для начала мы заведем новую переменную, для сохранения в аккаунт:
    в enum pInfo
    добавим
    PHP код:
    pCarKey 

    В OnPlayerRegister
    PHP код:
    format(var, 32"CarKey=%d\n",PlayerInfo[playerid][pCarKey]);fwrite(hFile, var); 
    В OnPlayerLogin

    PHP код:
    if( strcmpkey "CarKey" true ) == ) { val ini_GetValueData ); PlayerInfo[playerid][pCarKey] = strvalval ); } 
    В OnPlayerConnect

    PHP код:
    PlayerInfo[playerid][pCarKey] = 0
    Теперь создадим переменные для наших загружаемых машин:

    PHP код:
    enum cInfo
    {
    cOwned,
    cModel
    };
    new 
    CarInfo[1][cInfo]; 
    Далее перейдем к загрузке машины.

    Создадим функцию

    PHP код:
    LoadCars()
    {
    new 
    arrCoords[2][64];
    new 
    strFromFile2[256];
    new 
    Filefile fopen("cars.cfg"io_read);
    if (
    file)
    {
    new 
    idx;
    while (
    idx sizeof(CarInfo))
    {
    fread(filestrFromFile2);
    split(strFromFile2arrCoords'|');
    CarInfo[idx][cOwned] = strval(arrCoords[0]);
    CarInfo[idx][cModel] = strval(arrCoords[1]);
    idx++;
    }
    fclose(file);
    }
    return 
    1;

    Создадим файл cars.cfg и закинем его в папку scriptfiles
    внутри файла пропишем

    PHP код:
    0|411 
    Это собственно наши переменные

    Теперь создадим массив с координатами машин:

    PHP код:
    new Float:BuyCarsSpawn[1][4]={
    {
    1111.3768,-1796.1268,16.5938,123.1231}
    }; 
    где 1111.3768,-1796.1268,16.5938,123.1231 - координаты x,y,z,f машины (f - угол поворота)

    И загрузим машины в мод:

    Добавим в OnGameModeInit

    PHP код:
    LoadCars(); 
    и сразу после этого

    PHP код:
    for(new 0sizeof(CarInfo); c++)
    {
    AddStaticVehicleEx(CarInfo[c][cModel], BuyCarsSpawn[c][0], BuyCarsSpawn[c][1], BuyCarsSpawn[c][2], BuyCarsSpawn[c][3], -1, -1600000);

    Вставьте этот код перед всеми вашими машинами.

    Теперь мы разобрались с машинами.

    Добавим в OnPlayerStateChange(playerid, newstate, oldstate), что бы выкидывало, когда игрок садиться

    после
    PHP код:
    if(newstate == PLAYER_STATE_DRIVER
    PHP код:
    if(newcar sizeof(CarInfo)&&newcar!=0)
       {
        if(
    newcar!=PlayerInfo[playerid][pCarKey]&&CarInfo[newcar-1][cOwned]==1)
        {
         
    SendClientMessage(playeridCOLOR_GREY,"Ýòî íå âàøà ìàøèíà");
            
    RemovePlayerFromVehicle(playerid);
        }
        else if(
    CarInfo[newcar-1][cOwned]==0)
        {
         
    SendClientMessage(playeridCOLOR_GREY,"Âû ìîæåòå êóïèòü ýòó ìàøèíó. Ââåäèòå /buycar");
            
    TogglePlayerControllable(playerid0);
        }
        return 
    1;
       } 
    Ну и сделаем покупку и продажу машину

    PHP код:
    if(strcmp(cmd"/buycar"true) == 0)
      {
       new 
    newcar GetPlayerVehicleID(playerid);
       if(
    newcar!=0&&newcar sizeof(CarInfo)&&CarInfo[newcar-1][cOwned]==0)
       {
        
    CarInfo[newcar-1][cOwned]=1;
        
    PlayerInfo[playerid][pCarKey]=newcar;
        
    SendClientMessage(playeridCOLOR_WHITE"Âû êóïèëè ýòó ìàøèíó");
        
    GivePlayerMoney(playerid, -20000);
        
    TogglePlayerControllable(playerid1);
       }
      }
    if(
    strcmp(cmd"/sellcar"true) == 0)
      {
       
    CarInfo[PlayerInfo[playerid][pCarKey]-1][cOwned]=0;
       
    PlayerInfo[playerid][pCarKey]=0;
       
    SendClientMessage(playeridCOLOR_WHITE"Âû ïðîäàëè ýòó ìàøèíó");
       
    GivePlayerMoney(playerid20000);
       
    RemovePlayerFromVehicle(playerid);
       
    OnPropUpdate();
      } 
    и добавим в OnPropUpdate, для сохранения информации в файл

    PHP код:
    idx 0;
    while (
    idx sizeof(CarInfo))
    {
    new 
    coordsstring[256];
    format(coordsstringsizeof(coordsstring), "%i|%i\n",CarInfo[idx][cOwned],CarInfo[idx][cModel]);
    if(
    idx == 0file2 fopen("cars.cfg"io_write);
    else 
    file2 fopen("cars.cfg"io_append);
    fwrite(file2coordsstring);
    idx++;
    fclose(file2); 
    Источник:bla-bla-bla.ucoz.ru
    P.S. Чуток переделал xD
    Последний раз редактировалось Kaza40k; 18.12.2010 в 10:51. Причина: бла бла бла
  2. 2 пользователей сказали cпасибо Lancer за это полезное сообщение:

    Мike (15.10.2012), ~Extreme~ (15.08.2011)

  3. #2
    Пользователь

    Аватар для IncoGnitO

    Статус: Оффлайн
    Регистрация:11.11.2010
    Сообщений:251
    Репутация:22 [+/-] 
    слух можеш помочь вырезать систему из sun city я теье мод бы отдал Sun City или хотяб из LARP или крим лайфа
  4. #3
    Пользователь

    Аватар для Andrey_Kiryuhin

    Статус: Оффлайн
    Регистрация:11.11.2010
    Адрес:г.Пенза
    Сообщений:515
    Репутация:153 [+/-] 
    добовляй в аську 574374635 или в скайп krolater14 вырежу тебе
  5. #4
    Заблокирован

    Аватар для PaTrOn

    Статус: Оффлайн
    Регистрация:04.02.2011
    Адрес:Домодедово
    Сообщений:209
    Репутация:24 [+/-] 
    Помогите пожалуйста установить автопарк,я никак не врубаюсь
  6. #5
    Пользователь

    Аватар для SkippeR

    Статус: Оффлайн
    Регистрация:20.01.2011
    Сообщений:69
    Репутация:0 [+/-] 
    подскажите, как мне цену поставить?
    я че-то не врублюсь.
  7. #6
    Пользователь

    Аватар для AHTOXA

    Статус: Оффлайн
    Регистрация:31.03.2011
    Сообщений:17
    Репутация:-11 [+/-] 
    А у меня все двери закрыты
  8. #7
    Пользователь

    Аватар для ~Extreme~

    Статус: Оффлайн
    Регистрация:27.07.2011
    Сообщений:82
    Репутация:8 [+/-] 
    0_o что за OnPropUpdate?
  9. #8
    Пользователь

    Аватар для Roy

    Статус: Оффлайн
    Регистрация:24.08.2011
    Адрес:КР-СК
    Сообщений:98
    Репутация:1 [+/-] 
    у меня не получается хД
  10. #9
    Пользователь

    Аватар для Melvin_Harrison

    Статус: Оффлайн
    Регистрация:13.06.2012
    Сообщений:2
    Репутация:0 [+/-] 
    Кто смог сделать, добавьтесь в скайп пожалуйста fil66688
  11. #10
    Пользователь

    Аватар для Murphy

    Статус: Оффлайн
    Регистрация:08.08.2012
    Сообщений:749
    Репутация:68 [+/-] 
    Ну и откуда вырезал?
    SKYPE: vitalik_naboka по скриптингу помогу и ищу людей в проект
Страница 1 из 2 12 Последняя
  • К странице:

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения