| 
| Chev_chelios | Дата: Воскресенье, 17-Июл-2011, 19:45 | Сообщение # 1 |  | Уважаемый человек Сообщений: 104 Награды: 0 Репутация: 63 Статус:   | Итак сегодня мы будем создавать фракцию! 
 Итак сразу перейдем к делу:
 
 Для начало создадим скины для фракции, для этого нам понадобяться:
 1) ID скинов, можно узнать здесь http://world-of-gta.ru/samp_wiki/index/Category:Skins
 2) Допустим создадим банду Grove, их скины: 105,106,107 где 105 позьмем как лидерский
 
 Создаем новую переменную допустим
 new GrovePed[2][1] = { //Где 3 - это число скинов, а 1 это сколько параметров в скине
 {106},
 {107} //Не забывайте в последнем скине уберать ","
 };
 
 Мы с вами создали скины для нашей новой фракции Grove
 
 Теперь надо их вставить дял выбора:
 
 Находим if(strcmp(cmd, "/invite", true) == 0)
 
 И видем чуть ниже примерно такие строки:
 if(PlayerInfo[playerid][pLeader] == 1) { PlayerInfo[para1][pTeam] = 1; ftext = "ДПС"; ChosenSkin[para1] = 288; SetPlayerSkin(para1, 288); }
 else if(PlayerInfo[playerid][pLeader] == 2) { PlayerInfo[para1][pTeam] = 2; ftext = "Полиция"; ChosenSkin[para1] = 265; SetPlayerSkin(para1, 265); }
 
 PlayerInfo[playerid][pLeader] == 1 - это есть ID фракции которой будем присваивать скин. В данном случае ID - 1 (В стандартном ГФ это Полиция)
 Для того что бы присвоить нашей новой банде скин последним прописываем следую строчку:
 else if(PlayerInfo[playerid][pLeader] == ID Новой фракции) { PlayerInfo[para1][pTeam] = ID Новой фракции; ftext = "Grove"; ChosenSkin[para1] = 106; SetPlayerSkin(para1, 106); }
 
 Где 106 - это ID скина участника банды
 
 А так же надо будет поместить наши скины для прокрутки:
 
 Ищем public OnPlayerText(playerid, text[])
 
 Ниже видим примерно такие строки:
 case 1:
 {
 if(SelectCharPlace[playerid] == 1) { SetPlayerSkin(playerid, DPSPed[0][0]); SelectCharPlace[playerid] = 2; ChosenSkin[playerid] = DPSPed[0][0]; }
 else if(SelectCharPlace[playerid] == 2) { SetPlayerSkin(playerid, DPSPed[1][0]); SelectCharPlace[playerid] = 3; ChosenSkin[playerid] = DPSPed[1][0]; }
 else if(SelectCharPlace[playerid] == 3) { SetPlayerSkin(playerid, DPSPed[2][0]); SelectCharPlace[playerid] = 4; ChosenSkin[playerid] = DPSPed[2][0]; }
 else if(SelectCharPlace[playerid] == 4) { SetPlayerSkin(playerid, DPSPed[3][0]); SelectCharPlace[playerid] = 5; ChosenSkin[playerid] = DPSPed[3][0]; }
 else if(SelectCharPlace[playerid] == 5) { SetPlayerSkin(playerid, DPSPed[4][0]); SelectCharPlace[playerid] = 6; ChosenSkin[playerid] = DPSPed[4][0]; }
 else if(SelectCharPlace[playerid] == 6) { SetPlayerSkin(playerid, DPSPed[5][0]); SelectCharPlace[playerid] = 7; ChosenSkin[playerid] = DPSPed[5][0]; }
 else if(SelectCharPlace[playerid] == 7) { SetPlayerSkin(playerid, DPSPed[6][0]); SelectCharPlace[playerid] = 1; ChosenSkin[playerid] = DPSPed[6][0]; }
 }
 
 И ниже добавляем наши скины:
 
 case ID фракциии:
 {
 if(SelectCharPlace[playerid] == 1) { SetPlayerSkin(playerid, GrovePed[0][0]); SelectCharPlace[playerid] = 2; ChosenSkin[playerid] = GrovePed[0][0]; }
 else if(SelectCharPlace[playerid] == 2) { SetPlayerSkin(playerid, GrovePed[1][0]); SelectCharPlace[playerid] = 3; ChosenSkin[playerid] = GrovePed[1][0]; }
 else if(SelectCharPlace[playerid] == 3) { SetPlayerSkin(playerid, GrovePed[2][0]); SelectCharPlace[playerid] = 1; ChosenSkin[playerid] = GrovePed[2][0]; }
 }
 
 Теперь перейдем к созданию скина для лидера:
 
 1) Найдем в моде такие строки if(strcmp(cmd, "/makeleader", true) == 0)
 
 Эта команда отвечает за присвоения человеку Лидера той или иной фракции
 
 В этой команде видим примерно такие строки:
 if(level == 0) { PlayerInfo[para1][pChar] = 0; }
 else if(level == 1) { PlayerInfo[para1][pChar] = 295; }//Где 1 - это ID фракции, а 295 - это ID скина
 else if(level == 2) { PlayerInfo[para1][pChar] = 287; }
 
 Так как мы с вами взяли скин с ID 105 то в конец скинов добавим
 else if(level == ID фракции) { PlayerInfo[para1][pChar] = 105; }
 
 Важно! Обязательно посматри ID последней Фракции:
 Например если у вас последний ID был 11, то нашей банде Grove присваиваем 12 ID
 
 Значит вы создали скин лидеру, но на этом мы не заканчиваем работать с командой /makeleader
 
 Так же что бы команда не ругалась, исправляем строчку
 if(level > Id последней фракции || level < 0)
 
 И вписываем вместо строк "Id последней фракции" ID новой созданной Фракции!
 
 Ту же самую операцию проводим и с PlayerInfo[para1][pTeam] = ID последней фракции;
 
 Наконец то мы сделали скин лидеру! Теперь займемся Чатом Банды:
 
 Ищем if(strcmp(cmd, "/family", true) == 0 || strcmp(cmd, "/f", true) == 0)
 
 Видем ниже что идут Ранги прописываемые людям в чате
 Дописываем нашу новую фракцию:
 
 else if(member==ID Фракции)
 {
 if(PlayerInfo[playerid][pRank] == 6) { format(string, sizeof(string), "** Ас %s: %s. )) **", sendername, result); }
 else if(PlayerInfo[playerid][pRank] == 5) { format(string, sizeof(string), "** Пилот %s: %s. )) **", sendername, result); }
 else if(PlayerInfo[playerid][pRank] == 4) { format(string, sizeof(string), "** Гонщик %s: %s. )) **", sendername, result); }
 else if(PlayerInfo[playerid][pRank] == 3) { format(string, sizeof(string), "** Штурман %s: %s. )) **", sendername, result); }
 else if(PlayerInfo[playerid][pRank] == 2) { format(string, sizeof(string), "** Уверенный %s: %s. )) **", sendername, result); }
 else if(PlayerInfo[playerid][pRank] == 1) { format(string, sizeof(string), "** Сопляк %s: %s. )) **", sendername, result); }
 else { format(string, sizeof(string), "** Новичок %s: %s. )) **", sendername, result); }
 SendFamilyMessage(PlayerInfo[playerid][pMember], TEAM_AZTECAS_COLOR, string);}
 
 Ну я думаю здесь не надо ничего обьяснять кроме:
 else if(PlayerInfo[playerid][pRank] == 1) { format(string, sizeof(string), "** Сопляк %s: %s. )) **", sendername, result); } - это есть условие, Допустим если у игрока Ранг 1, то в чате будет писать Сопляк итд
 
 Чуть ниже так же добавим ранг для Лидера:
 
 else if(leader==ID факции)
 {
 format(string, sizeof(string), "** Крестный отец %s: %s. )) **", sendername, result);
 SendFamilyMessage(PlayerInfo[playerid][pLeader], TEAM_AZTECAS_COLOR, string);}
 
 С чатом мы закончили, перейдем к Оружию!
 
 Ищем public SetPlayerWeapons(playerid)
 
 И ниже добовляем такие строки:
 if(PlayerInfo[playerid][pMember] == ID фракции || PlayerInfo[playerid][pLeader] == ID фракции)
 {
 GivePlayerWeapon(playerid, 29, 500); //Mp5
 GivePlayerWeapon(playerid, 24, 50);//deagle
 GivePlayerWeapon(playerid, 4, 1);//knife
 
 }
 
 где в GivePlayerWeapon(playerid, 29, 500); 29 - это ID Оружия, можно узнать здесь http://world-of-gta.ru/samp_wiki/index/Weapons, а 500 - количество патронов
 
 Теперь добавим место появления Фракции(Спавн)
 
 ищем public SetPlayerSpawn(playerid)
 
 Ниже добавляем такие строки
 
 if(PlayerInfo[playerid][pMember] == ID фракции || PlayerInfo[playerid][pLeader] == ID фракции)
 {
 SetPlayerToTeamColor(playerid);
 SetPlayerPos(playerid, 325.9258,307.3484,999.1484);
 SetPlayerFacingAngle(playerid, 122.5681);
 SetPlayerInterior(playerid, 5);
 PlayerInfo[playerid][pInt] = 5;
 return 1;
 }
 
 Где SetPlayerToTeamColor(playerid); - Мы делаем человека невидимым на карте
 SetPlayerPos(playerid, 325.9258,307.3484,999.1484); - Это коориданты спавна X,Y,Z(Узнать можно через команду /save в игре)
 SetPlayerFacingAngle(playerid, 122.5681); - Угол поворота игрока (от 0 до 360)SetPlayerInterior(playerid, 5); и PlayerInfo[playerid][pInt] = 5; - Это ID интерьера(о интерьерах узнаем в других Уроках, если человек должен появляться на улице то ставим 0)
 
 На этом всё
 
 P.S Не забываем про
  )) 
 
   |  |  |  |  |