В теме 4 сообщения

Гость
Новичок

Сегодня в этом уроке я расскажу вам как создать свою фракцию/банду/мафию и т.д. 
Для примера, я возьму название: Street Dogs

1.В начале пишем ( ко всем #define ) 

#define TEAM_RED 12 - // PURPUZE это Ид Фракции / 12 - Ид Фракции

2.После первого шага, нам потребуются скины. 

Как мы выбрали, скины которые вам понравились, ищем в моде new JoinPed. Туда требуется написать количество скинов которое вы добавите. 

new JoinPed[67][1] = {  // К примеру я добавил 4 скина, тоесть 67+4=71 на 71

И ниже пишем т.е. добавляем ко всем иды скинов.... 
к примеру это будет.... 

{141}, 
 {157}, 
 {249}

Именно, в таком виде и нужно будет это добавить. 

3.В public SetPlayerSpawn(playerid) 
Ко всем спаунам добавляем код:

if (PlayerInfo [playerid][pMember]== 29 || PlayerInfo [playerid][pLeader]== 29) // ид фракции/организации меняем на свои    
               { 
                   SetPlayerToTeamColor(playerid); 
                           SetPlayerPos(playerid, 9573.1673,-73.1552,6246.9432); // координаты X Y Z 
                           SetPlayerFacingAngle(playerid, 1.7739);// Направления камеры    
                           SetPlayerInterior(playerid,3);//id интерьера если на улице то пишите 0 
                           SetPlayerVirtualWorld(playerid,0);//id виртуального мира 
                           PlayerInfo [playerid][pInt]= 0;    
                   return 1;

4.Ищем public SetPlayerWeapons(playerid) 
Туда добавляем... 

if(PlayerInfo [playerid][pMember]== 29 || PlayerInfo [playerid][pLeader]== 29)//id меняем на свой 
 {      
 GivePlayerWeapon(playerid, 15, 100); // оружия  9 ид оруж, 2 кол-во пуль 
 GivePlayerWeapon(playerid, 24, 50); // оружия      
 GivePlayerWeapon(playerid, 25, 50); // оружия      
 }

5. Ищем public ShowStats(playerid,targetid) 
Добавляем туда.... 

else if(PlayerInfo [targetid][pMember]== 28 || PlayerInfo [targetid][pLeader]== 28) { ttext = "Street Dogs"; }//29 id фраки  меняем на свои

6.Чуть ниже нужно будет указать ранги, которые будут в статистике персонажа:

else if(PlayerInfo [targetid][pMember]== 24 || PlayerInfo [targetid][pLeader]== 24)//Greean 
           { 
               if(PlayerInfo [targetid][pRank]== 1) { rtext = "1 ранг"; } 
               else if(PlayerInfo [targetid][pRank]== 2) { rtext = "2 ранг"; } 
               else if(PlayerInfo [targetid][pRank]== 3) { rtext = "3 ранг"; } 
               else if(PlayerInfo [targetid][pRank]== 4) { rtext = "4 ранг"; } 
               else if(PlayerInfo [targetid][pRank]== 5) { rtext = "5 ранг"; } 
               else if(PlayerInfo [targetid][pRank]== 6) { rtext = "6 ранг"; } 
               else { rtext = "1 ранг"; } 
           }


После 6 пункта, ищем команду /invite и добавляем туда:

else if(PlayerInfo [playerid][pLeader]== 29) { PlayerInfo[para1] [pTeam]= 5; gTeam[para1] = 5; ftext = "Street Dogs"; ChosenSkin[para1] = 103; SetPlayerSkin(para1, 103); }

8. Теперь чуть ниже /makeleader прямо под ней:

else if(level == 29) { PlayerInfo[para1] [pChar]= 3; } //24 id фракции 3 - ид скина для лидера

9.Дальше требуется найти вот такую строчку:

if(level > 23 || level < 0) { SientMessage(playerid, COLOR_GREY, "   Не возможна цифра менее 0, или больше 11!"); return 1; }

Меняем все надписи 23 на 24 то есть +1 фракция того 24 

 

10.Ищем public OnPlayerText(playerid, text[]) 
ниже вставляем вот это:

case 12: //Street Dogs 
                      { 
                      if(SelectCharPlace [playerid]== 1) { SetPlayerSkin(playerid, JoinPed[62][0]); SelectCharPlace [playerid]= 2; ChosenSkin [playerid]= JoinPed[62][0]; } 
                      else if(SelectCharPlace [playerid]== 2) { SetPlayerSkin(playerid, JoinPed[63][0]); SelectCharPlace [playerid]= 3; ChosenSkin [playerid]= JoinPed[63][0]; } 
                      else if(SelectCharPlace [playerid]== 3) { SetPlayerSkin(playerid, JoinPed[64][0]); SelectCharPlace [playerid]= 1; ChosenSkin [playerid]= JoinPed[64][0]; }     

 11.Ищем команду /f или /family ( Тут нельзя путаться! указывайте такие же ранги как и в статистике! ) 
 PHP код: 
 else if(member==24) 
                      { 
               sendername, result); } 
                           if(PlayerInfo [playerid][pRank]== 6) { format(string, sizeof(string), "**6 ранг %s: %s. )) **", sendername, result); } 
                      else if(PlayerInfo [playerid][pRank]== 5) { format(string, sizeof(string), "** 5 ранг %s: %s. ))  **", sendername, result); } 
                      else if(PlayerInfo [playerid][pRank]== 4) { format(string, sizeof(string), "** 4 ранг %s: %s. ))  **", sendername, result); } 
                      else if(PlayerInfo [playerid][pRank]== 3) { format(string, sizeof(string), "** 3 ранг %s: %s. ))  **", sendername, result); } 
                      else if(PlayerInfo [playerid][pRank]== 2) { format(string, sizeof(string), "** 2 ранг %s: %s. ))  **", sendername, result); } 
                      else if(PlayerInfo [playerid][pRank]== 1) { format(string, sizeof(string), "** 1 ранг %s: %s. ))  **", sendername, result); } 
                      else { format(string, sizeof(string), "** Лыган %s: %s. )) **", sendername, result); } 
                      SendFamilyMessage(PlayerInfo[playerid][pMember], TEAM_AZTECAS_COLOR, string); 
                      }

12. И вот тут ниже пишем: 

{ 
                      format(string, sizeof(string), "** 6 ранг %s: %s. )) **", sendername, result);//ранг лидера Фракции 
                      SendFamilyMessage(PlayerInfo[playerid][pLeader], TEAM_AZTECAS_COLOR, string); 
 }

 

Отредактировано пользователем Daniil Roslyakov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
MuhammadPawn
Великий Гуру

P.S это не урок а готовое решение (как не у всех в моде есть такие паблики или переменные) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Человек-редиска
[YT] HOFFMAN

Мы же писали,вам что мод Albania RolePlay и там,созданы фракции данное решение подойдёт не для каждого мода,если в моде есть фракция то её нужно делать по том же принципу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • crearot
      От crearot
      Мы ищем талантливого 3D-моделлера в команду.  Гибкий график, опытный коллектив.
      Что мы предлагаем:
      — Конкурентоспособную и стабильную заработную плату;
      — Гибкий график и возможность работать удаленно;
      — Работа в окружении специалистов, готовых способствовать развитию ваших навыков;
      — Перспективы карьерного и профессионального роста.
      От вас требуется:
      — Опыт владением 3ds Max и Blender для моделирования и текстурирования;
      — Работа по референсам;
      — Опыт создания интерьеров и экстерьеров;
      — Наличие портфолио.
      — Работа с текстурами (архивы (сборка, пересборка), добавление текстур, создание архивов под разные видеоускорители(PVR, DXT, ETC))
      — Работа с архивами моделей (.img образы) для добавления моделей и пересборки
      — Моделирование карты, работа по т/з для создания ландшафта на карте и т.д


      Отправьте резюме: → https://forms.gle/Trn4vjMEi58EDybv6
    • Axel myself
      От Axel myself
       
      C:\Users\User\Desktop\Adamand Role Play Original\gamemodes\Adamand037.pwn(25676) : error 017: undefined symbol "Geo_GetCountry2"
      C:\Users\User\Desktop\Adamand Role Play Original\gamemodes\Adamand037.pwn(81191) : error 017: undefined symbol "Geo_GetCountry2"
      Pawn compiler 3.2.3664              Copyright (c) 1997-2017, ITB CompuPhase

      2 Errors.


      Помогите пожалуйста с проблемой, ничего нового не добавлял, сам 50/50 разбираюсь в павно) но посмотрев на глаз особо ничего ошибочного не попалось
      Буду благодарен.