Всем привет!У кого может есть фракция ГИБДД,скиньте пожалуйста!просто вырезать не умею с модов!
Для полного доступа ко всем функциям форума, Вам необходимо зарегистрироваться и авторизоваться.
Фракция ГИБДД
Лучший Ответ 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, затем время, через которое автомобиль будет заспавнен, если в нем никого нет. (заспавнен автоматически).
Вот и все. Удачи с созданием фракции
#1
offline
Отправлено 11 Август 2016 - 10:52
offline
#2
online
Отправлено 11 Август 2016 - 10:54
online
#3
offline
Отправлено 11 Август 2016 - 11:14
offline
Elrmrnt-Kritik,Блин я по фракциям не спец,все говорят то что легко,но я вчера пытался ее создать не получается,одни ерроры и если нет ерроров то не работает фракция!
#4
online
Отправлено 11 Август 2016 - 14:24
online
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, затем время, через которое автомобиль будет заспавнен, если в нем никого нет. (заспавнен автоматически).
Вот и все. Удачи с созданием фракции
Сообщение отредактировал Elrmrnt-Kritik: 11 Август 2016 - 14:26
#5
offline
Отправлено 11 Август 2016 - 15:10
offline
Elrmrnt-Kritik, Извини у меня мод CMD там много что нет т.е пабликов нет и много что не схожие! Например пункт 3-4 такого вообще нет у меня!
#6
online
Отправлено 11 Август 2016 - 15:12
online
andrei58russ , скидывайте команду /invite, /makeleader. Сделаю...
#7
offline
Отправлено 11 Август 2016 - 15:44
offline
#8
online
Отправлено 11 Август 2016 - 15:48
online
andrei58russ ,
/invite:
/makeleader:
#9
offline
Отправлено 11 Август 2016 - 16:04
offline
Elrmrnt-Kritik, Вы меня н поняли у меня некоторых пабликов нет!Или просто в ивинете и макелеадер вот это вписать и все?просто не понял до конца!
#10
online
Отправлено 11 Август 2016 - 16:06
online
andrei58russ , вы сказали, что у вас нет для пунктов 3 и 4 ничего. Я вам вставил все в эти команды. Если неправильно вас понял, скажите конкретно в чем проблема, что именно не знаете куда вставлять...
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных


Тема закрыта
Сообщений: 592
Регистрация:
Skype: cente-seo