Понедельник, 29.04.2024 Россия | Russia
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Всё для SA:MP » Уроки pawno » Урок №1 (*icon-0*)
Урок №1
XuTДата: Четверг, 06.01.2011, 00:41 | Сообщение # 1

Сообщений: 94
[ 5 ]
Награды:
[ 0 ]
Отсутствует!
Российская Федерация
В данном уроке, Мы научимся создавать свою фракцию в известном всем моде The Godfather!

Для начала создадим скины для фракции, для этого нам понадобятся IDы скинов, можно узнать здесь
Допустим, создадим банду Grove, их скины: 105,106,107. 105 возьмем как лидерский
Создаем новый массив со скинами:

Code
new GrovePed[2] = { //Где 2 – это число скинов    
{106},    
{107} //Не забывайте в последнем скине убирать “,”    
};

Мы с вами создали скины для нашей новой фракции Grove
Теперь надо их вставить для выбора:
Находим:

Code
if(strcmp(cmd, “/invite”, true) == 0)

И чуть ниже видим примерно такие строки:

Code
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 (В стандартном ГФ это Полиция)
Для того что бы присвоить нашей новой банде скин последним прописываем следую строчку:

Code
else if(PlayerInfo[playerid][pLeader] == ID Новой фракции) { PlayerInfo[para1][pTeam] = ID Новой фракции; ftext = “Grove”; ChosenSkin[para1] = 106; SetPlayerSkin(para1, 106); }

Где 106 – это ID скина участника банды.
А так же надо будет поместить наши скины для прокрутки:
Ищем

Code
public OnPlayerText(playerid, text[])

Ниже видим примерно такие строки:

Code
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]; }    
}

И ниже добавляем наши скины:

Code
case ID фракциии:    
{    
if(SelectCharPlace[playerid] == 1) { SetPlayerSkin(playerid, GrovePed[0]); SelectCharPlace[playerid] = 2; ChosenSkin[playerid] = GrovePed[0]; }    
else if(SelectCharPlace[playerid] == 2) { SetPlayerSkin(playerid, GrovePed[1]); SelectCharPlace[playerid] = 3; ChosenSkin[playerid] = GrovePed[1]; }    
else if(SelectCharPlace[playerid] == 3) { SetPlayerSkin(playerid, GrovePed[2]); SelectCharPlace[playerid] = 1; ChosenSkin[playerid] = GrovePed[2]; }    
}

Теперь перейдем к созданию скина для лидера.
Найдем в моде такие строки

Code
if(strcmp(cmd, “/makeleader”, true) == 0)

Эта команда отвечает за присвоения человеку Лидера той или иной фракции
В этой команде видим примерно такие строки:

Code
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 то в конец скинов добавим

Code
else if(level == ID фракции) { PlayerInfo[para1][pChar] = 105; }

Важно! Обязательно посмотри ID последней Фракции!
Например, если у вас последний ID был 11, то нашей банде Grove присваиваем 12 ID
Значит, вы создали скин лидеру, но на этом мы не заканчиваем работать с командой /makeleader
Так же что бы команда не ругалась, исправляем строчку

Code
if(level > Id последней фракции || level < 0)

И вписываем вместо строк “Id последней фракции” ID новой созданной Фракции!
Ту же самую операцию проводим и с PlayerInfo[para1][pTeam] = ID последней фракции;
Наконец то мы сделали скин лидеру! Теперь займемся Чатом Банды:
Ищем if(strcmp(cmd, “/family”, true) == 0 || strcmp(cmd, “/f”, true) == 0)
Видим ниже, что идут Ранги прописываемые людям в чате
Дописываем нашу новую фракцию:

Code
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);}

Ну я думаю здесь не надо ничего обьяснять кроме:

Code
else if(PlayerInfo[playerid][pRank] == 1) { format(string, sizeof(string), “** Сопляк %s: %s. )) **”, sendername, result); }

– это есть условие, Допустим если у игрока Ранг 1, то в чате будет писать Сопляк итд
Чуть ниже так же добавим ранг для Лидера:

Code
else if(leader==ID факции)    
{    
format(string, sizeof(string), “** Крестный отец %s: %s. )) **”, sendername, result);    
SendFamilyMessage(PlayerInfo[playerid][pLeader], TEAM_AZTECAS_COLOR, string);    
}

С чатом мы закончили, перейдем к Оружию!
Ищем public SetPlayerWeapons(playerid)
И ниже добавляем такие строки:

Code
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 Оружия, можно узнать [img]http://wiki.sa-mp.com/wiki/Weapons[/img]здесь, а 500 – количество патронов
Теперь добавим место появления Фракции(Спавн)
ищем public SetPlayerSpawn(playerid)
Ниже добавляем такие строки

Code
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)
На это урок об основах создания своей фракции – закончен!
Удачи в модостроении!


Я не одобряю воровства по двум причинам:
1) Мелкое воровство не принесёт желаемых результатов.
2) За крупную кражу почти всегда последует наказание. © XuT aka Dаrk

Форум » Всё для SA:MP » Уроки pawno » Урок №1 (*icon-0*)
  • Страница 1 из 1
  • 1
Поиск:





DESP-Team Official Website © 2024 Все права защищены!
При копировании материала, ссылка на сайт и копирайты обязательны!
  Сайт оптимизирован под разрешение экрана 1024x786 и браузер Opera Дизайн данного сайта полностью принадлежит главному администратору сайта!
Forum design by Admin | Website desp-team.ucoz.ru