Доступ к архиву

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Автоугон. ( не Samp-Rp )

Статус
В этой теме нельзя размещать новые ответы.

KenJoker

Изучающий
Пользователь
Регистрация
9 Дек 2011
Сообщения
511
Лучшие ответы
0
Репутация
206
Работа: Автоугонщик

Привет всем, вот мой первый мануал, выкладываю свою работу которую когда-то делал для своего сервера. Чур, тухлыми помидорами не кидаться. :bk: Приступим.

- Ко всем new добавим:

PHP:
new GrandAuto[3];
- Идем в: public OnPlayerPickUpPickup(playerid, pickupid) и добавляем туда пикапы: "Вход" , "Выход" , "Устроиться на работу" :)

PHP:
else if(pickupid == GrandAuto[0])
     {
     	     SetPlayerPos(playerid, 419.8936, 2537.1155, 10);
             SetPlayerInterior(playerid,10);
	 }
	      else if(pickupid == GrandAuto[1])
     {
     	     SetPlayerPos(playerid, 2397.4326,-1546.8866,23.9925);
             SetPlayerInterior(playerid,0);
	 }
	 	      else if(pickupid == GrandAuto[2])
     {
      ShowPlayerDialog(playerid,1781,DIALOG_STYLE_MSGBOX,"> Трудоустройство","Ты желаешь заняться грязной работой?","Да","Нет");
	 }
- Сделали? Окей, идем в: public OnGameModeInit()

PHP:
GrandAuto[0] = CreatePickup(1318,23,2397.4622,-1548.6771,24.1641);
GrandAuto[1] = CreatePickup(1318,23,421.9749,2536.5320,10.0000);
GrandAuto[2] = CreatePickup(1650,23,419.5289,2540.3621,10.0000);
- Если добавили, идем в: public OnDialogResponse - туда добавляем

PHP:
if(dialogid == 1781)
{
if(response)
{
SendClientMessage(playerid, COLOR_ISPOLZUY, "> Барыга: {dedede}Ха-а-а, здарово. Тебе нужны деньги? Тогда отправляйся и превизи мне любую машину, удачи!");
SendClientMessage(playerid, COLOR_ISPOLZUY, "> Барыга: {dedede}Я выдал тебе 'KПK' , через него ты можешь найти автомобиль.");
SendClientMessage(playerid, COLOR_GRAD1, "(( После того, как выйдите из дома, введите: /grmenu ))");
PlayerInfo[playerid][pJob] = 9; // Это у нас идет работа #9 , если у вас есть такая, замените сами :)
}
else 
{
SendClientMessage(playerid, COLOR_ISPOLZUY, "> Барыга: {dedede}Хэй, пошёл вон. Не дай Бог ты спалишь нас копам, пожалеешь.");
}
return 1;
}

if(dialogid == 1561)
     {
     if(response)
         {
        if(listitem == 0)
            {
            if(PlayerInfo[playerid][pZadanie] == 1) return SendClientMessage(playerid,COLOR_ISPOLZUY,"> Сообщение на 'КПК': {dedede}Ты уже взял задание, отправляйся и првези мне эту развалину!");
            SendClientMessage(playerid,COLOR_BLUE,"> Автомобиль отмечен на карте, отправляйтесь и заберите его!");// выводим ему сообщение
            AddStaticVehicle(527,1544.0687,16.7869,23.8536,100.3721,9,9);
            SetPlayerCheckpoint(playerid, 1544.0687,16.7869,23.8536,10);
		 	CP[playerid] = 0;
            PlayerInfo[playerid][pZadanie] = 1;
            return 1;
            }
        if(listitem == 1)
            {
            SendClientMessage(playerid,COLOR_BLUE,"> Место, где барыга принемает автомобили отмечено на карте!");
            SetPlayerCheckpoint(playerid, 2487.4854,-1538.2925,23.9899,15);
		 	CP[playerid] = 0;
		 	return 1;
            }
            if(listitem == 2)
            {
			new string[256];
		 	new sendername[MAX_PLAYER_NAME];
         	GetPlayerName(playerid, sendername, sizeof(sendername));
		                 for(new i = 0; i < MAX_PLAYERS; i++)
    {
            if (!PlayerToPoint(40.0,playerid,2487.4854,-1538.2925,23.9899)) return SendClientMessage(playerid, COLOR_RED, "> {DEDEDE}Нужно находиться у места где барыга примит этот автомобиль.");
            if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 527)  return SendClientMessage(playerid,COLOR_ISPOLZUY," ");
			if (PlayerInfo[playerid][pZadanie] == 1)
			{
			PlayerInfo[playerid][pZadanie] = 0;
            PlayerInfo[playerid][pCash] += 15000;
            SendClientMessage(playerid,COLOR_ISPOLZUY,"> Барыга: {dedede}Хорошая работа. А теперь вали отсюда.");
  format(string, sizeof(string), "> Диспетчер: {dedede}%s совершил кражу автомобиля.", sendername);
  SendFamilyMessage(21,COLOR_ORANGE, string);
    format(string, sizeof(string), "> Диспетчер: {dedede}%s совершил кражу автомобиля.", sendername);
  SendFamilyMessage(1,COLOR_ORANGE, string);
    format(string, sizeof(string), "> Диспетчер: {dedede}%s совершил кражу автомобиля.", sendername);
  SendFamilyMessage(10,COLOR_ORANGE, string);
            DestroyVehicle(GetPlayerVehicleID(i));
            RemovePlayerFromVehicleRich(playerid);
            }
            }
		 	return 1;
            }
         }
         else
         {

         }
     }
- Хорошо, мы сделали: пикапы, диалоговые окна, приступаем к команде, в: public OnPlayerCommand добавляем

PHP:
else if(strcmp(cmd, "/grmenu", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
        
        			if(PlayerInfo[playerid][pJob] == 9)
					{
            if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_GREY,"> Вы не на транспорте."); // Идет проверка на машину. Т. е. данную команду можно использовать только в транспорте
            ShowPlayerDialog(playerid, 1561, DIALOG_STYLE_LIST, "> Меню автоугонщика", "> Разбитая машина {FF0000}[Украсть]\n> Место приема автомобиля\n> Сдать автомобиль", "Выбор", "Отмена");
					 }
			else
			{
			    SendClientMessage(playerid, COLOR_GREY, "> Вы не работаете на барыгу!");
			}
                }
        return 1;
    }
- В enum PlayerInfo добавим в самый конец

PHP:
pZadanie
- В public OnPlayerConnect

PHP:
PlayerInfo[playerid][pZadanie] = 0;
Ну вот, вроде все, спасибо за внимание. Мануал работает на модах, основа которых является Real Life Samp :)

Географическое положение здания: чуть Севернее от Grove Street. Рядом с автоугоном - закусочная
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу