Создание Фракции с нуля - Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Создание Фракции с нуля
AdminДата: Среда, 30.11.2016, 19:14 | Сообщение # 1
Гл.Администратор
Группа: Пользователи
Сообщений: 65
Награды: 1
Репутация: 32767
Статус: Offline
Добрый вечер. Сегодня будем писать Фракции для SAMP с нуля. В моем случае бандиты.

В самое начало ставим:

Код
#define TEAM_Frakcia 12 //Frakcia - название 12 - id фракции
  
далее идут скины банды: 

пишем их в 

Код
new JoinPed[55][1] = {  
внизу идут скины и после этого там где [55] ставим столько,сколько скинов стало больше, например вы добавили 3 скина и пишешь 58.


Код
public SetPlayerSpawn(playerid)  
// пишем информацию респауна банды
  


Код
if (PlayerInfo[playerid] [pMember]== 12 || PlayerInfo[playerid] [pLeader]== 12)  
{  
SetPlayerToTeamColor(playerid); //  
SetPlayerPos(playerid, 1270.8563,-793.7981,1084.1719); // координаты  
SetPlayerFacingAngle(playerid, 3.4467); // направление камеры  
SetPlayerInterior(playerid,0); // id интерьера, если на улице то id=0  
PlayerInfo[playerid] [pInt]= 0; //  
return 1;  
}
  
Далее в


Код
public SetPlayerWeapons(playerid)  // Если ты хочешь, чтобы было оружия в банде, то пишешь так
  


Код
if(PlayerInfo[playerid] [pMember]== 12 || PlayerInfo[playerid] [pLeader]== 12)  
{  
GivePlayerWeapon(playerid, 9, 2); // оружия  
GivePlayerWeapon(playerid, 24, 100); // оружия  
GivePlayerWeapon(playerid, 16, 5); // оружия  
}
  
дальше в

public ShowStats(playerid,targetid) 
добавляешь 12 строчку 


Код
else if(PlayerInfo[targetid] [pMember]== 12 || PlayerInfo[targetid] [pLeader]== 12) { ttext = \"Frakcia\"; } // слово Frakcia можно поменять как хочешь. Это как вид фракции. Будет отображаться в /stats
  

еще ниже есть строки названия самой банды вот например тебе надо еще одну добавить 

Код
else if(PlayerInfo[targetid] [pMember]== 12 || PlayerInfo[targetid] [pLeader]== 12)  
{ ftext = "Название банды \"; }  
//дальше ниже пропиши ранги где все ранги находятся
  

Код
else if(PlayerInfo[targetid] [pMember]== 12 || PlayerInfo[targetid] [pLeader]== 12)  
{  
if(PlayerInfo[targetid] [pRank]== 1) { rtext = "Новичёк\"; }  
else if(PlayerInfo[targetid] [pRank]== 2) { rtext = \"Салага\"; }  
else if(PlayerInfo[targetid] [pRank]== 3) { rtext = \"Местный \"; }  
else if(PlayerInfo[targetid] [pRank]== 4) { rtext = \"Солдат\"; }  
else if(PlayerInfo[targetid] [pRank]== 5) { rtext = \"Правая рука\"; }  
else if(PlayerInfo[targetid] [pRank]== 6) { rtext = \"Мафиози\"; }  
else { rtext = \"Новичёк\"; }

Дальше ищешь команду /invite и добавляешь там 


Код
else if(PlayerInfo[playerid] [pLeader]== 12) { PlayerInfo[para1] [pTeam]= 12; gTeam[para1] = 12; ftext = "Название банды\"; ChosenSkin[para1] = 98; SetPlayerSkin(para1, 98); }  
// Где 98 - Скин лидера.
  
И в команде /makeleader 


Код
else if(level == 12) { PlayerInfo[para1] [pChar]= 98; }  
Но тут надо быть внимательнее.
  

Код
gTeam[para1] = 12;  
PlayerInfo[para1] [pTeam]= 12;  
// числа 12 заменяем на столько скока у вас получаецо фракций, раз было 11, а мы создаем еще одну, то пишем 12.  
И конечно диапазон id: 
PHP код:
if(level > 11 || level < 0)  
Изменить число 11 на столько, скока у вас фракций.
  
Дальше в


Код
public OnPlayerText(playerid, text[])  
ищем кейсы со скинами при выборе
  
Тут как раз и пригодятся те скины что добавляли мы в joinPed 


Код
case 12:  
{  
if(SelectCharPlace [playerid]== 1) { SetPlayerSkin(playerid, JoinPed[56][0]); SelectCharPlace [playerid]= 2; ChosenSkin [playerid]= JoinPed[56][0]; }  
else if(SelectCharPlace [playerid]== 2) { SetPlayerSkin(playerid, JoinPed[57][0]); SelectCharPlace [playerid]= 3; ChosenSkin [playerid]= JoinPed[57][0]; }  
else if(SelectCharPlace [playerid]== 3) { SetPlayerSkin(playerid, JoinPed[58][0]); SelectCharPlace [playerid]= 4; ChosenSkin [playerid]= JoinPed[58][0]; }  
}
 
Числа 56 57 58 - порядок скинов в JoinPed. 

И конечно же чтобы работал командный чат /f делаем так: 

находим 


Код
if(strcmp(cmd, "/family\", true) == 0 || strcmp(cmd, \"/f\", true) == 0)
  

и добавляем 


Код
else if(member==12)  
{  
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);


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