Сайт восстановлен из веб архива. Сейчас он доступен только для чтения, скачивание материалов также недоступно. Если у вас до сих пор есть какие-то вопросы по разработке серверов CRMP, вы можете перейти на актуальный портал: https://pawno-rus.com

Перейти к содержимому

Уважаемый гость, если у Вас возникли проблемы с регистрацией, просьба обратиться в тех.поддержку или на почту admin@pawno-crmp.ru

Для полного доступа ко всем функциям форума, Вам необходимо зарегистрироваться и авторизоваться.

Фотография

Фракция ГИБДД


Лучший Ответ Elrmrnt-Kritik , 11 Август 2016 - 14:24

andrei58russ

 

1. Сделайте базу для фракции, либо какую-то территорию. Интерьеры по необходимости (в маппинге это все делается). Код вставьте в мод в OnPlayerConnect

2. Добавим новое место спавна для игроков вашей фракции в SetPlayerSpawn:

 
	if(PlayerInfo[playerid][pMember] == 555 || PlayerInfo[playerid][pLeader] == 555)//Вместо 555 пишите номер вашей фракции
	{
		SetPlayerInterior(playerid, 0);//Устанавливаете номер интерьера вместо 0
		PlayerInfo[playerid][pInt] = 0;//Вместо 0 ставим ID интерьера
		SetPlayerPos(playerid, 0.0, 0.0, 0.0);//Вместо 0.0, 0.0, 0.0 вставляете координаты X, Y, Z
        SetPlayerFacingAngle(playerid, 0.0);//Вместо 0.0 устанавливаем направление камеры
		return true;
	}

3. Сделаем возможность выдавать лидерство вашей фракции, в команде /makeleader внеся следующие изменения:

1. Где наименования всех фракций (типа: else if(PlayerInfo[playerid][pLeader] == 4) { ftext = "здравоохранение";}) вставляем следующее (после любой из этих строк):

 
else if(PlayerInfo[playerid][pLeader] == 555) { ftext = "наименование фракции";}//555 меняем на номер вашей фракции

2. Изменим максимальное количество номера фракции (в этой же команде):

 
if(level > 25|| level < 0)

меняем на

 
if(level > 555|| level < 0)

(потому что я выбрал номер фракции 555. Теперь условие звучит так: Если номер фракции больше 555 и меньше нуля, то... (дальше будет код ошибки, например, вывод сообщения, что у вас недопустимый ID указан, типа такого:

 
if(level > 555|| level < 0) { SendClientMessage(playerid, 0xFF0000FF, "Неверный номер фракции"); return true; }

)).

 

4. Сделаем то же самое с /invite (чтобы наименование фракции отображалось и там):

 
else if(PlayerInfo[playerid][pLeader] == 555) { ftext = "здравоохранение";}//Номер фракции поменяете на свой

После любой строки с наименованиями всех фракций.

 

5. Добавляем скины во фракции. Для этого открываем команду /giverank.

1. Если будет список максимальных рангов, тогда добавляем следующее к этому списку (конечно же количество рангов можете менять):

 
			else if (PlayerInfo[playerid][pLeader] == 555)//Если фракция №555, то количество рангов...
			{
				if(level > 16 || level < 0)//Не меньше нуля и не больше шестнадцати.
				{
					SendClientMessage(playerid, 0xFF0000FF, "Нельзя меньше нуля и больше шестнадцати");
					return true;
				}
			}

2. Далее, где все скины для каждой из фракций вставьте следующий код (он будет отвечать за скины для каждого ранга игрока):

 
							else if(PlayerInfo[playerid][pMember] == 555 || PlayerInfo[playerid][pLeader] == 555)//Если фракция №555, то игрокам выдаются такие скины:
							{
								if(PlayerInfo[para1][pSex] == 1)//Если пол игрока мужской
								{
									switch (PlayerInfo[para1][pRank])
									{
										case 0:{ PlayerInfo[para1][pChar] = 59; SetPlayerSkin(para1, 59); }//Скин для ранга 0
										case 1:{ PlayerInfo[para1][pChar] = 59; SetPlayerSkin(para1, 59); }//Скин для ранга 1
										case 2:{ PlayerInfo[para1][pChar] = 59; SetPlayerSkin(para1, 59); }//Скин для ранга 2
										case 3:{ PlayerInfo[para1][pChar] = 59; SetPlayerSkin(para1, 59); }//Скин для ранга 3
										case 4:{ PlayerInfo[para1][pChar] = 185; SetPlayerSkin(para1, 185); }//Скин для ранга 4
										case 5:{ PlayerInfo[para1][pChar] = 185; SetPlayerSkin(para1, 185); }//Скин для ранга 5
										case 6:{ PlayerInfo[para1][pChar] = 165; SetPlayerSkin(para1, 165); }//Скин для ранга 6
										case 7:{ PlayerInfo[para1][pChar] = 187; SetPlayerSkin(para1, 187); }//Скин для ранга 7
										case 8:{ PlayerInfo[para1][pChar] = 147; SetPlayerSkin(para1, 147); }//Скин для ранга 8
										case 9:{ PlayerInfo[para1][pChar] = 165; SetPlayerSkin(para1, 165); }//Скин для ранга 9
										case 10:{ PlayerInfo[para1][pChar] = 187; SetPlayerSkin(para1, 187); }//Скин для ранга 10
										case 11:{ PlayerInfo[para1][pChar] = 187; SetPlayerSkin(para1, 187); }//Скин для ранга 11
										case 12:{ PlayerInfo[para1][pChar] = 187; SetPlayerSkin(para1, 187); }//Скин для ранга 12
										case 13:{ PlayerInfo[para1][pChar] = 187; SetPlayerSkin(para1, 187); }//Скин для ранга 13
										case 14:{ PlayerInfo[para1][pChar] = 187; SetPlayerSkin(para1, 187); }//Скин для ранга 14
										case 15:{ PlayerInfo[para1][pChar] = 187; SetPlayerSkin(para1, 187); }//Скин для ранга 15
										case 16:{ PlayerInfo[para1][pChar] = 187; SetPlayerSkin(para1, 187); }//Скин для ранга 16
										default:{ PlayerInfo[para1][pChar] = 187; SetPlayerSkin(para1, 187); }
									}
									if(PlayerInfo[para1][pSex] == 2)//Если пол игрока женский
									{
										PlayerInfo[para1][pChar] = 211; SetPlayerSkin(para1, 211);
									}
								}
							}

Номера скинов можно менять. Список скинов с картинками здесь.

 

6. Добавляем ранги во фракции. Открываем команду рации фракции (/r, /radio обычно). После любого ряда рангов вставляем следующий код:

 
			else if(PlayerInfo[playerid][pMember] == 555 || PlayerInfo[playerid][pLeader] == 555)//Если игрок состоит во фракции №555, то ему выдаются следующие ранги...
			{
				new rank[30];//Максимальная длина ранга игрока
				switch(PlayerInfo[playerid][pRank])
				{
					case 16:rank = "Ранг шестнадцатый";//Название ранга 16
					case 15:rank = "Ранг пятнадцатый";//Название ранга 15
					case 14:rank = "Ранг четырнадцатый";//Название ранга 14
					case 13:rank = "Ранг тринадцатый";//Название ранга 13
					case 12:rank = "Ранг двенадцатый";//Название ранга 12
					case 11:rank = "Ранг одиннадцатый";//Название ранга 11
					case 10:rank = "Ранг десятый";//Название ранга 10
					case 9:rank = "Ранг девятый";//Название ранга 9
					case 8:rank = "Ранг восьмой";//Название ранга 8
					case 7:rank = "Ранг седьмой";//Название ранга 7
					case 6:rank = "Ранг шестой";//Название ранга 6
					case 5:rank = "Ранг пятый";//Название ранга 5
					case 4:rank = "Ранг четвертый";//Название ранга 4
					case 3:rank = "Ранг третий";//Название ранга 3
					case 2:rank = "Ранг второйй";//Название ранга 2
					case 1:rank = "Ранг первый";//Название ранга 1
					default:rank = "Ранг нулевой";//Название ранга 0
				}
				format(string, sizeof(string), "%s %s (%d): %s",rank, sendername,playerid, result);//Сначала ранг, потом имя, следом ID и затем текст сообщения в рации
				SendRadioMessage(1, 0xFFFFFFFF, string);
				printf("%s", string);
				return true;
			}

Все один-в-один делаем для департамента (/d, /department), единственное, не забудьте поменять цвет текста!

 

7. Добавляем ранги в статистику игрока. Открываем команду /stats (если там стоит что-то типа ShowStats(playerid); , тогда открываем CALLBACK ShowStats.

1. Там ваша задача добавить ко всем названиям фракций следующую строку (чтобы в /stats) выводилось имя фракции:

 
else if(PlayerInfo[targetid][pMember] == 555 || PlayerInfo[targetid][pLeader] == 555) { ttext = "Имя фракции"; }//555 меняем на номер своей фракции

2. Теперь добавим, чтобы в статистике выводилось название ранга (это к наименованиям всех рангов для каждой из фракций):

 
		if(PlayerInfo[targetid][pMember] == 555 || PlayerInfo[targetid][pLeader] == 555)//555 меняем на номер своей фракции
		{
			switch(PlayerInfo[targetid][pRank])
			{
				case 16:rank = "Ранг шестнадцатый";//Название ранга 16
				case 15:rank = "Ранг пятнадцатый";//Название ранга 15
				case 14:rank = "Ранг четырнадцатый";//Название ранга 14
				case 13:rank = "Ранг тринадцатый";//Название ранга 13
				case 12:rank = "Ранг двенадцатый";//Название ранга 12
				case 11:rank = "Ранг одиннадцатый";//Название ранга 11
				case 10:rank = "Ранг десятый";//Название ранга 10
				case 9:rank = "Ранг девятый";//Название ранга 9
				case 8:rank = "Ранг восьмой";//Название ранга 8
				case 7:rank = "Ранг седьмой";//Название ранга 7
				case 6:rank = "Ранг шестой";//Название ранга 6
				case 5:rank = "Ранг пятый";//Название ранга 5
				case 4:rank = "Ранг четвертый";//Название ранга 4
				case 3:rank = "Ранг третий";//Название ранга 3
				case 2:rank = "Ранг второйй";//Название ранга 2
				case 1:rank = "Ранг первый";//Название ранга 1
				default:rank = "Ранг нулевой";//Название ранга 0
			}
		}

8. И последнее, что нам требуется - добавить транспортные средства фракции.

1, Создадим глобальные переменные каждого из автомобилей:

 
new frac555car[15];//15 - количество автомобилей фракции. Меняем на свое

2. В OnPlayerStateChange добавляем следующее (чтобы игроков, не состоящих в этой фракции, выкидывало из автомобилей фракции 555):

 
	if(newcar >= frac555car[0] && newcar <= frac555car[1])
	{
		if(!PlayerInfo[playerid][pMember] == 555 || !PlayerInfo[playerid][pLeader] == 555)//Это номера фракций игроков, которые могут ездить на авто фраки 555.
		{
		    SendClientMessage(playerid, 0xFF0000FF, "Вы не состоите во фраке 555, поэтому не можете ездить на их автомобилях");
			RemovePlayerFromVehicle(playerid);
		}
	}

3.Создаем сами автомобили. Их типы, цвета, позицию в OnGameModeInit:

 
	frac555car[0] = AddStaticVehicleEx(420,2403.3999000,-1797.4000200,19.1000000,0.0000000,6,1,60000);//Автомобиль 1 фракции 555
	frac555car[1] = AddStaticVehicleEx(420,2408.1001000,-1797.3000500,19.1000000,0.0000000,6,1,60000);//Автомобиль 2 фракции 555
	frac555car[2] = AddStaticVehicleEx(420,2413.1999500,-1797.4000200,19.1000000,0.0000000,6,1,60000);//Автомобиль 3 фракции 555
	frac555car[3] = AddStaticVehicleEx(420,2416.5000000,-1797.5000000,19.1000000,0.0000000,6,1,60000);//Автомобиль 4 фракции 555
	frac555car[4] = AddStaticVehicleEx(420,2421.3000500,-1797.5999800,19.1000000,0.0000000,6,1,60000);//Автомобиль 5 фракции 555
	frac555car[5] = AddStaticVehicleEx(420,2439.8000500,-1799.9000200,18.9000000,90.0000000,6,1,60000);//Автомобиль 6 фракции 555
	frac555car[6] = AddStaticVehicleEx(420,2420.8000500,-1816.4000200,19.2000000,0.0000000,138,26,60000);//Автомобиль 7 фракции 555
	frac555car[7] = AddStaticVehicleEx(420,2416.8000500,-1816.0999800,19.2000000,0.0000000,138,26,60000);//Автомобиль 8 фракции 555
	frac555car[8] = AddStaticVehicleEx(420,2411.8999000,-1816.1999500,19.2000000,0.0000000,138,26,60000);//Автомобиль 9 фракции 555
	frac555car[9] = AddStaticVehicleEx(420,2408.0000000,-1816.0999800,19.2000000,0.0000000,6,3,60000);//Автомобиль 10 фракции 555
	frac555car[10] = AddStaticVehicleEx(420,2403.6001000,-1816.1999500,19.2000000,0.0000000,6,3,60000);//Автомобиль 11 фракции 555
	frac555car[11] = AddStaticVehicleEx(420,2403.6001000,-1816.1999500,19.2000000,0.0000000,6,3,60000);//Автомобиль 12 фракции 555
	frac555car[12] = AddStaticVehicleEx(420,2403.6001000,-1816.1999500,19.2000000,0.0000000,6,3,60000);//Автомобиль 13 фракции 555
	frac555car[13] = AddStaticVehicleEx(420,2403.6001000,-1816.1999500,19.2000000,0.0000000,6,3,60000);//Автомобиль 14 фракции 555
	frac555car[14] = AddStaticVehicleEx(420,2403.6001000,-1816.1999500,19.2000000,0.0000000,6,3,60000);//Автомобиль 15 фракции 555

На первом месте (420) указывается ID автомобиля. Все ID автомобилей можно найти здесь. На втором, третьем, четвертом и пятом указывается позиция автомобиля. Получить можно через Map Constructor или /save в игре. Следом указывается цвет1 и цвет2, затем время, через которое автомобиль будет заспавнен, если в нем никого нет. (заспавнен автоматически).

 

Вот и все. Удачи с созданием фракции  :D83DDE0A: 

Перейти к сообщению »


  • Закрытая тема Тема закрыта
Сообщений в теме: 9

#1
offline   andrei58russ

andrei58russ
  • 44
    • Сообщений: 592
    • Регистрация: 19.04.16

Всем привет!У кого может есть фракция ГИБДД,скиньте пожалуйста!просто вырезать не умею с модов!



#2
online   Elrmrnt-Kritik

Elrmrnt-Kritik
  • 760
    • Сообщений: 3 054
    • Регистрация: 19.07.15
А создать на основе других фракций не хотите?
  • 0

#3
offline   andrei58russ

andrei58russ
  • 44
    • Сообщений: 592
    • Регистрация: 19.04.16

Elrmrnt-Kritik,Блин я по фракциям не спец,все говорят то что легко,но я вчера пытался ее создать не получается,одни ерроры и если нет ерроров то не работает фракция! 



#4
online   Elrmrnt-Kritik

Elrmrnt-Kritik
  • 760
    • Сообщений: 3 054
    • Регистрация: 19.07.15
✓  Лучший Ответ

andrei58russ

 

1. Сделайте базу для фракции, либо какую-то территорию. Интерьеры по необходимости (в маппинге это все делается). Код вставьте в мод в OnPlayerConnect

2. Добавим новое место спавна для игроков вашей фракции в SetPlayerSpawn:

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

3. Сделаем возможность выдавать лидерство вашей фракции, в команде /makeleader внеся следующие изменения:

1. Где наименования всех фракций (типа: else if(PlayerInfo[playerid][pLeader] == 4) { ftext = "здравоохранение";}) вставляем следующее (после любой из этих строк):

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

2. Изменим максимальное количество номера фракции (в этой же команде):

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

меняем на

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

(потому что я выбрал номер фракции 555. Теперь условие звучит так: Если номер фракции больше 555 и меньше нуля, то... (дальше будет код ошибки, например, вывод сообщения, что у вас недопустимый ID указан, типа такого:

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

)).

 

4. Сделаем то же самое с /invite (чтобы наименование фракции отображалось и там):

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

После любой строки с наименованиями всех фракций.

 

5. Добавляем скины во фракции. Для этого открываем команду /giverank.

1. Если будет список максимальных рангов, тогда добавляем следующее к этому списку (конечно же количество рангов можете менять):

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

2. Далее, где все скины для каждой из фракций вставьте следующий код (он будет отвечать за скины для каждого ранга игрока):

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

Номера скинов можно менять. Список скинов с картинками здесь.

 

6. Добавляем ранги во фракции. Открываем команду рации фракции (/r, /radio обычно). После любого ряда рангов вставляем следующий код:

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

Все один-в-один делаем для департамента (/d, /department), единственное, не забудьте поменять цвет текста!

 

7. Добавляем ранги в статистику игрока. Открываем команду /stats (если там стоит что-то типа ShowStats(playerid); , тогда открываем CALLBACK ShowStats.

1. Там ваша задача добавить ко всем названиям фракций следующую строку (чтобы в /stats) выводилось имя фракции:

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

2. Теперь добавим, чтобы в статистике выводилось название ранга (это к наименованиям всех рангов для каждой из фракций):

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

8. И последнее, что нам требуется - добавить транспортные средства фракции.

1, Создадим глобальные переменные каждого из автомобилей:

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

2. В OnPlayerStateChange добавляем следующее (чтобы игроков, не состоящих в этой фракции, выкидывало из автомобилей фракции 555):

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

3.Создаем сами автомобили. Их типы, цвета, позицию в OnGameModeInit:

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

На первом месте (420) указывается ID автомобиля. Все ID автомобилей можно найти здесь. На втором, третьем, четвертом и пятом указывается позиция автомобиля. Получить можно через Map Constructor или /save в игре. Следом указывается цвет1 и цвет2, затем время, через которое автомобиль будет заспавнен, если в нем никого нет. (заспавнен автоматически).

 

Вот и все. Удачи с созданием фракции  :D83DDE0A: 


Сообщение отредактировал Elrmrnt-Kritik: 11 Август 2016 - 14:26

  • 1

#5
offline   andrei58russ

andrei58russ
  • 44
    • Сообщений: 592
    • Регистрация: 19.04.16

Elrmrnt-Kritik, Извини у меня мод CMD там много что нет т.е пабликов нет и много что не схожие! Например пункт 3-4 такого вообще нет у меня!



#6
online   Elrmrnt-Kritik

Elrmrnt-Kritik
  • 760
    • Сообщений: 3 054
    • Регистрация: 19.07.15

andrei58russ , скидывайте команду /invite, /makeleader. Сделаю... 


  • 0

#7
offline   andrei58russ

andrei58russ
  • 44
    • Сообщений: 592
    • Регистрация: 19.04.16

Elrmrnt-Kritik,Инвите

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

макелеадер

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.



#8
online   Elrmrnt-Kritik

Elrmrnt-Kritik
  • 760
    • Сообщений: 3 054
    • Регистрация: 19.07.15

andrei58russ ,

/invite:

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

/makeleader:

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.


  • 0

#9
offline   andrei58russ

andrei58russ
  • 44
    • Сообщений: 592
    • Регистрация: 19.04.16

Elrmrnt-Kritik, Вы меня н поняли у меня некоторых пабликов нет!Или просто в ивинете и макелеадер вот это вписать и все?просто не понял до конца!



#10
online   Elrmrnt-Kritik

Elrmrnt-Kritik
  • 760
    • Сообщений: 3 054
    • Регистрация: 19.07.15

andrei58russ , вы сказали, что у вас нет для пунктов 3 и 4 ничего. Я вам вставил все в эти команды. Если неправильно вас понял, скажите конкретно в чем проблема, что именно не знаете куда вставлять...


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных


Данную тему посетили 68 пользователей