[Урок] Создаём Закусочные - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Phoenixxx_Czar, Getbackthere, [CM]OlegEhtler  
[Урок] Создаём Закусочные
[CM]Jaxson Дата: Понедельник, 15.10.2012, 20:21 | Сообщение # 1
٩(̾●̮̮̃̾•̃̾)۶
Сообщений: 801
Статус: Offline
Здравствуйте уважаемые гости,а также пользователи портала CM.
Автор Мануала Jaxson
Я очень много времени искал темы по созданию закусочных как в сингле,но ничего толком не находил,видел много тем где в закусочных создавали пикапы затем меню этой закусочной и т.д.,вообщем ничего существенного.Очень много задавал вопросов по этой теме но мне говорили что "эта система требует много знаний и усилий" и что "код могут сделать только профессиональные скриптеры".И перечитав почти всю вики по samp мне в голову пришла гениальная мысль.И её я изложу для вас в своём уроке,на примере создания "Esplanade Pizza".Такого урока ещё не было тут точно.
И так приступим!

Ко всем forward добавляем:
Code
forward Eda();  

И после того как мы добавили forward спускаемся в самый конец мода и вставляем следующее:
Code
public Eda()
{
      for(new playerid = 0,mplayers = GetMaxPlayers(); playerid < mplayers; playerid++)
      {
          if(!IsPlayerConnected(playerid)) continue;

          switch(GetPlayerInterior(playerid))
          {
              case 1:
              {
                  if(IsPlayerInRangeOfPoint(playerid,10, 365.6823,-9.7243,1001.8516)) SetPlayerShopName(playerid,"FDPIZA");
              }

              case 4:
              {
                  if(IsPlayerInRangeOfPoint(playerid,10,286.800995, -82.547600, 1001.539978)) SetPlayerShopName(playerid,"FDPIZA");
              }

              case 6:
              {
                    
                  if(IsPlayerInRangeOfPoint(playerid,10,296.919983, -108.071999, 1001.569946)) SetPlayerShopName(playerid,"FDPIZA");
                  else if(IsPlayerInRangeOfPoint(playerid,10,316.524994, -167.706985, 999.661987)) SetPlayerShopName(playerid,"FDPIZA");
              }

              case 7:
              {
                  if(IsPlayerInRangeOfPoint(playerid,10,314.820984, -141.431992, 999.661987)) SetPlayerShopName(playerid,"FDPIZA");
                  else if(IsPlayerInRangeOfPoint(playerid,10,302.292877, -143.139099, 1004.062500)) SetPlayerShopName(playerid,"FDPIZA");
                  else if(IsPlayerInRangeOfPoint(playerid,10,280.795104, -135.203353, 1004.062500)) SetPlayerShopName(playerid,"FDPIZA");
                    
              }
          }
      }
      return 1;
}  

Сделали? хорошо,продолжаем создание нашей с вами "Esplanade Pizza" это создание входа и выхода.
Ко всем new добавляем:
Code
new pizzeria[2];  

Идём дальше, создаём сам вход/выход.
Code
public OnPlayerPickUpDynamicPickup(playerid, pickupid)  

Добавляем:
Code
  else if(pickupid == pizzeria[0]) {
          SetPlayerShopName(playerid, "FDPIZA");
          SetPlayerPos(playerid,371.9928,-131.8683,1001.4922);
          SetPlayerInterior(playerid,5);
          SetPlayerVirtualWorld(playerid,1);
          SetPlayerFacingAngle(playerid,1.4204);
          SetCameraBehindPlayer(playerid); }

      else if(pickupid == pizzeria[1]) {
          SetPlayerPos(playerid,2636.2490,1849.5162,11.0234);
          SetPlayerInterior(playerid,0);
          SetPlayerVirtualWorld(playerid,0);
          SetPlayerFacingAngle(playerid,88.1270);
          SetCameraBehindPlayer(playerid); }  

Добавили? хорошо,идём далее,создаём сами пикапы (стрелочки).
Code
public OnGameModeInit()  

Добавляем:
Code
  pizzeria[0] = CreateDynamicPickup(1318,23,2638.7876,1849.6722,11.0234,0,0,-1,100.0); // Вход с улицы
      pizzeria[1] = CreateDynamicPickup(1318,23,372.2168,-133.5247,1001.4922,1,5,-1,100.0); // Выход внутри инта  

делали? отлично,если вы всё сделали правильно то у вас должно получиться.
[Вопрос]: Где находится созданная нами пиццерия и как внутри у нас должно получится?
[Ответ]: Она находится в LV,выкладываю скрины ниже:
http://s42.radikal.ru/i098/1209/f8/530e3b6afa85.jpg
http://s018.radikal.ru/i526/1209/e8/026f2ae46c37.jpg
http://s019.radikal.ru/i644/1209/e1/ae295d751e3c.jpg
http://i061.radikal.ru/1209/d8/f4084d148e98.jpg
Вот собственно и всё,говорю сразу извините за ошибки (если таковы имеются). Позже расскажу тут же как создавать другие закусочные на подобии этих,а щас спать...
Если у вас возникнут вопросы либо ошибки пишите их сдесь не стесняйтесь)



[ Skype ] [ Профиль ] [ Mods Pack ] [ VK ] [ Геймеры ]
Помогаю новичкам, по всем вопросом комне в Skype/VK. VK ВЗЛОМАН, НЕ РАБОТАЙТЕ СОМНОЙ. МНЕ ВСЁ ВЗЛОМАЛИ СКАЙП И ВК. СКАЙП ВОССТОНОВИЛ.


Сообщение отредактировал [CM]Jaxson - Понедельник, 15.10.2012, 20:21
Эльдар Дата: Вторник, 16.10.2012, 00:19 | Сообщение # 2
Советник
Сообщений: 672
Статус: Offline
Лучше сделал бы систему по типу /addzakucka и т.п
Удобнее, чем в ручную всё это делать, а так молодец, что выложил


Продам инвайт в DOTA 2 - skype:e.l119

  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума