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

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

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

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

Водитель Автобуса Gameland RPG

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

Osee

Начинающий
Регистрация
13 Фев 2012
Сообщения
29
Лучшие ответы
0
Репутация
69
Здравствуйте пользователи Pawno-Info
Вот решил сделать работу водителя автобуса как на Gameland,строго не судите,это моя первая работа с таймерами и с чекпоинтами :df:
И так давайте начнём...
Примечание: Честно скажу с таймерами работать не умею,как смог так и сделал :D

Ко Всем new
PHP:
new vodavus1;
new vodavus2;
new DRIVEBUS[MAX_PLAYERS];
в public OnPlayerConnect
PHP:
DRIVEBUS[playerid] = 0;
в public CarEnter
PHP:
	if(carid >= vodavus1 && carid <= vodavus2)
		{
		    if(PlayerInfo[playerid][pJob] == 14)
		    {
		    }
		    else
		    {
				SendClientMessage(playerid, COLOR_GREY, "{FFFFFF}Транспорт {FF9900}Водитилей Автобуса");
				RemovePlayerFromVehicle(playerid);
				TogglePlayerControllable(playerid, 1);
		    }
		}
в public OnPlayerEnterCheckpoint(playerid)
PHP:
	if(DRIVEBUS[playerid]==1)
	{
        new carid = GetPlayerVehicleID(playerid);
        if(carid >= vodavus1 && carid <= vodavus2)
        {
	    if(PlayerToPoint(4,playerid,1544.3622,-1736.9988,13.3828))
	    {
	        DisablePlayerCheckpoint(playerid);
	        SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 5 секунд");
            TogglePlayerControllable(playerid,0);
            GameTextForPlayer(playerid, "~g~Следующая Остановка: 'Клуб Алхамбра'", 5000, 3);
            SetTimer("avto5sec",5000,0);
            SetPlayerCheckpoint(playerid,1826.6260,-1631.3671,13.3828,4.0);
	    }
        else if(PlayerToPoint(4,playerid,1826.6260,-1631.3671,13.3828))
    	{
            DisablePlayerCheckpoint(playerid);
            SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 5 секунд");
            SetTimer("avto5sec",5000,0);
            TogglePlayerControllable(playerid,0);
            GameTextForPlayer(playerid, "~g~Следующая Остановка: Ресторан", 5000, 3);
	        SetPlayerCheckpoint(playerid,1457.4358,-1587.8442,13.3828,4.0);
	    }
    	else if(PlayerToPoint(4,playerid,1457.4358,-1587.8442,13.3828))
    	{
	         DisablePlayerCheckpoint(playerid);
	         SetTimer("avto3sec",3000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 3 секунды");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: 'Фирма Оружейник'", 5000, 3);
	         SetPlayerCheckpoint(playerid,1362.2927,-1262.2410,13.3828,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,1362.2927,-1262.2410,13.3828))
        {
	         DisablePlayerCheckpoint(playerid);
	         SetTimer("avto5sec",5000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 5 секунд");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: 'Бургер Север'", 5000, 3);
         	 SetPlayerCheckpoint(playerid,1179.9574,-936.1827,42.7694,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,1179.9574,-936.1827,42.7694))
	    {
         	 DisablePlayerCheckpoint(playerid);
	         SetTimer("avto10sec",10000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 10 секунд");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: 'Метро'", 5000, 3);
	         SetPlayerCheckpoint(playerid,792.7281,-1349.0194,13.38285,4.0);
	    }
        else if(PlayerToPoint(4,playerid,792.7281,-1349.0194,13.3828))
	    {
        	 DisablePlayerCheckpoint(playerid);
	         SetTimer("avto3sec",3000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 3 секунды");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: 'Бургер Юг'", 5000, 3);
	         SetPlayerCheckpoint(playerid,806.6112,-1656.2727,13.3828,4.0);
        }
        else if(PlayerToPoint(4,playerid,806.6112,-1656.2727,13.3828))
        {
	         DisablePlayerCheckpoint(playerid);
	         SetTimer("avto5sec",5000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 5 секунд");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: Авторынок 'Пляж'", 5000, 3);
   	         SetPlayerCheckpoint(playerid,342.8739,-1695.6742,6.6066,4.0);
        }
	    else if(PlayerToPoint(4,playerid,342.8739,-1695.6742,6.6066))
	    {
	         DisablePlayerCheckpoint(playerid);
	         SetTimer("avto10sec",10000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 10 секунд");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: 24/7", 5000, 3);
	         SetPlayerCheckpoint(playerid,-100.6537,-1150.3279,1.6286,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-100.6537,-1150.3279,1.6286))
	    {
             DisablePlayerCheckpoint(playerid);
	         SetTimer("avto5sec",5000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 5 секунд");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: Объездная Дорога", 5000, 3);
	         SetPlayerCheckpoint(playerid,-278.4216,-830.3887,43.7549,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-278.4216,-830.3887,43.7549))
	    {
	         DisablePlayerCheckpoint(playerid);
	         SetTimer("avto3sec",3000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 3 секунды");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: Тоннель", 5000, 3);
	         SetPlayerCheckpoint(playerid,-1214.1715,-744.0644,61.0327,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1214.1715,-744.0644,61.0327))
	    {
	         DisablePlayerCheckpoint(playerid);
	         SetTimer("avto3sec",3000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 3 секунды");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: АвтоШкола", 5000, 3);
	         SetPlayerCheckpoint(playerid,-2037.5271,-74.9355,35.1719,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-2037.5271,-74.9355,35.1719))
	    {
	         DisablePlayerCheckpoint(playerid);
	         SetTimer("avto15sec",15000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 15 секунд");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: Бизнес 'Заправки'", 5000, 3);
	         SetPlayerCheckpoint(playerid,-1804.0001,-152.3979,7.3699,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1804.0001,-152.3979,7.3699))
	    {
	         DisablePlayerCheckpoint(playerid);
	         SetTimer("avto3sec",3000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 3 секунды");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: Тоннель'", 5000, 3);
	         SetPlayerCheckpoint(playerid,-1203.7743,-748.7012,60.7062,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-1203.7743,-748.7012,60.7062))
	    {
	         DisablePlayerCheckpoint(playerid);
	         SetTimer("avto5sec",5000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 5 секунд");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: 24/7", 5000, 3);
	         SetPlayerCheckpoint(playerid,-107.7805,-1140.2737,1.2890,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,-107.7805,-1140.2737,1.2890))
	    {
	         DisablePlayerCheckpoint(playerid);
	         SetTimer("avto3sec",3000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 3 секунды");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: Въезд в ЛС", 5000, 3);
	         SetPlayerCheckpoint(playerid,179.6366,-1534.4818,12.6195,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,179.6366,-1534.4818,12.6195))
	    {
	         DisablePlayerCheckpoint(playerid);
	         SetTimer("avto3sec",3000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 3 секунды");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: Сырьевая", 5000, 3);
	         SetPlayerCheckpoint(playerid,592.6445,-1233.8846,17.7619,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,592.6445,-1233.8846,17.7619))
	    {
	         DisablePlayerCheckpoint(playerid);
	         SetTimer("avto10sec",10000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 10 секунд");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: Авторынок 'Дешевочка'", 5000, 3);
	         SetPlayerCheckpoint(playerid,722.5291,-1410.0186,13.3660,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,722.5291,-1410.0186,13.3660))
	    {
	         DisablePlayerCheckpoint(playerid);
	         SetTimer("avto3sec",3000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 3 секунды");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: Таксопарк", 5000, 3);
	         SetPlayerCheckpoint(playerid,1274.1553,-1410.7878,13.0500,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,1274.1553,-1410.7878,13.0500))
	    {
	         DisablePlayerCheckpoint(playerid);
	         SetTimer("avto5sec",5000,0);
	         TogglePlayerControllable(playerid,0);
	         SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Остановка 5 секунд");
	         GameTextForPlayer(playerid, "~g~Следующая Остановка: Конечная", 5000, 3);
	         SetPlayerCheckpoint(playerid,1181.5297,-1828.4835,13.4018,4.0);
	    }
	    else if(PlayerToPoint(4,playerid,1181.5297,-1828.4835,13.4018))
	    {
		{
	         DisablePlayerCheckpoint(playerid);
	         DRIVEBUS[playerid] = 0;
	         NormMoney[playerid] = 2;
			 AntiMoney[playerid] = AntiMoney[playerid] + 270;
			 GivePlayerMoney(playerid, 270);
	         SetVehicleToRespawn(GetPlayerVehicleID(playerid));
	         SendClientMessage(playerid, COLOR_YELLOW, "Поздровляем вы успешно закончили свой рейс");
	         SendClientMessage(playerid, COLOR_YELLOW, "Получите свои деньги: 270$");
	         TransportDuty[playerid] = 0;
			 format(string, sizeof(string), "* Вы заработали $%d", TransportMoney[playerid]);
			 SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
			 NormMoney[playerid] = 2;
		     AntiMoney[playerid] = AntiMoney[playerid] + TransportMoney[playerid];
			 GivePlayerMoney(playerid, TransportMoney[playerid]);
			 ConsumingMoney[playerid] = 1; TransportValue[playerid] = 0; TransportMoney[playerid] = 0;
	         }
	     }
	}
	}
ко всем forward
PHP:
forward avto3sec(playerid);
forward avto5sec(playerid);
forward avto10sec(playerid);
forward avto15sec(playerid);
в конец мода
PHP:
public avto3sec(playerid)
{
	  TogglePlayerControllable(playerid, 1);
	  SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Продолжайте движение к следующей остановке!");
}
public avto5sec(playerid)
{
	  TogglePlayerControllable(playerid, 1);
	  SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Продолжайте движение к следующей остановке!");
}
public avto10sec(playerid)
{
	  TogglePlayerControllable(playerid, 1);
	  SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Продолжайте движение к следующей остановке!");
}
public avto15sec(playerid)
{
	  TogglePlayerControllable(playerid, 1);
	  SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Продолжайте движение к следующей остановке!");
}
в public OnPlayerCommandText
PHP:
	if(strcmp(cmdtext, "/drivebus", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
		{
			new carid = GetPlayerVehicleID(playerid);
			if(PlayerInfo[playerid][pJob] == 14)
			{
				if(carid >= vodavus1 && carid <= vodavus2)
	        	{
 			        new listitems[] = "{99ff99}Межгородской рейс LS-SF (270$ рейс)\n{ff0000}Внутригородской LS (150$ рейс)";
	    	        ShowPlayerDialog(playerid,9496,DIALOG_STYLE_LIST,"Выбор маршрута",listitems,"Ок","Назад");
				}
			}
		}
		return 1;
	}
в public OnDialogResponse
PHP:
   if(dialogid == 9496) // Meele
	{
        if(response)
		{
			if(listitem == 0) // Meele
			{
     			new s[256];
  				format(s,sizeof(s),"Введите стоимость билета за проезд");
  				ShowPlayerDialog(playerid,5432,DIALOG_STYLE_INPUT,"Стоимость билета",s,"Ок","Назад");
            }
            if(listitem == 1) // Meele
			{
     			new s[256];
  				format(s,sizeof(s),"Введите стоимость билета за проезд");
  				ShowPlayerDialog(playerid,5432,DIALOG_STYLE_INPUT,"Стоимость билета",s,"Ок","Назад");
            }
		}
		return 1;
	}
    if(dialogid==5432)
   	{
   	    if(response)
		{
		    if(!strlen(inputtext))
		    {
     			new s[256];
  				format(s,sizeof(s),"Введите стоимость билета за проезд");
  				ShowPlayerDialog(playerid,5432,DIALOG_STYLE_INPUT,"Стоимость билета",s,"Ок","Назад");
    			return 1;
   			}
   			new vodav;
			getdate(vodav);
   			new Vodite[1][20];
			split(inputtext, Vodite, '@');
		 /*	if(strlen(inputtext) < 1 || strlen(inputtext) > 3)
			{
			    //SendClientMessage(playerid, COLOR_GRAD1, "{ff0000}x {ffffff}Длинна E-Mail адреса может составлять от {ff0000}5 {ffffff}до {ff0000}40 {ffffff}символов");
			    ShowPlayerDialog(playerid,5432,DIALOG_STYLE_MSGBOX,"{ffffff}Ошибка!","{ff0000}x {ffffff}Длинна суммы может состовлять от {ff0000}1 {ffffff}до {ff0000}3 {ffffff}символов","Повтор","");
                return 1;
			}*/
			if(!strlen(inputtext))
			{
     			new s[256];
  				format(s,sizeof(s),"Введите стоимость билета за проезд");
  				ShowPlayerDialog(playerid,5432,DIALOG_STYLE_INPUT,"Стоимость билета",s,"Ок","Назад");
    			return 1;
			}
			moneys = strval(inputtext);
			if(moneys < 1 || moneys > 10) { SendClientMessage(playerid, COLOR_GREY, "Цена не может быть меньше 1 и больше 10$!"); return 1; }
			BusDrivers += 1; TransportDuty[playerid] = 2; TransportValue[playerid]= moneys;
			SendClientMessage(playerid, COLOR_LIGHTRED2, "--------- Межгородской Рейс Лос-Сантос - Сан-фиеро -----------");
			SendClientMessage(playerid, COLOR_LIGHTRED2, "{4169e1}Автобусный парк LS >> Мэрия >> Клуб Алхамбра >> Ресторан >>");
			SendClientMessage(playerid, COLOR_LIGHTRED2, "{4169e1}Фирма 'Оружейник' >> Бургер 'Север' >> Метро >> Бургер 'Юг' >>");
			SendClientMessage(playerid, COLOR_LIGHTRED2, "{4169e1}Авторынок 'Пляж' >> 24/7 >> Объездная дорога >> Тоннель >>");
			SendClientMessage(playerid, COLOR_LIGHTRED2, "{4169e1}Развилка >> Автошкола >> Бизнес 'Заправки' >> Тоннель >>");
			SendClientMessage(playerid, COLOR_LIGHTRED2, "{4169e1}24/7 >> Въезд в ЛС >> Сырьевая >>");
			SendClientMessage(playerid, COLOR_LIGHTRED2, "{4169e1}Авторынок 'Дешевочка' >> Пейнтболл >> Конечная <<");
			SendClientMessage(playerid, COLOR_LIGHTRED2, " ");
			SendClientMessage(playerid, COLOR_GREEN, "Маркеры будут появляться {FF0000}во время выполнения маршрута. Зарплата на последней точке.");
			SendClientMessage(playerid, COLOR_GREEN, "Игроки на следующих остановкак будут уведомлены о вашем прибытии.");
			SetPlayerCheckpoint(playerid,1544.3622,-1736.9988,13.3828,4.0);
			DRIVEBUS[playerid] = 1;
			GameTextForPlayer(playerid, "~g~Следующая Остановка Остановка~n~'Мэрия'", 5000, 3);
		    return 0;
		}
		else
		{
 			new listitems[] = "{99ff99}Межгородской рейс LS-SF (270$ рейс)\n{ff0000}Внутригородской LS (150$ рейс)";
	    	ShowPlayerDialog(playerid,9496,DIALOG_STYLE_LIST,"Выбор маршрута",listitems,"Ок","Назад");
			return 1;
		}
	}
в public OnGameModeInit
PHP:
	vodavus1 = AddStaticVehicleEx(437,1187.04479980,-1773.77868652,13.82031250,0.00000000,6,6,SPAWN_CARS); //Coach792
	AddStaticVehicleEx(437,1187.10693359,-1760.94836426,13.82031250,0.00000000,6,6,60000); //Coach793
	AddStaticVehicleEx(437,1167.70556641,-1773.75378418,13.82031250,0.00000000,3,3,60000); //Coach794
	AddStaticVehicleEx(437,1173.11621094,-1787.56970215,13.64843750,0.00000000,3,3,60000); //Coach 424
	AddStaticVehicleEx(437,1181.53002930,-1789.36767578,13.64843750,0.00000000,6,6,60000); //Coach 425
	vodavus2 = AddStaticVehicleEx(437,1167.65917969,-1761.03894043,13.82031250,0.00000000,3,3,60000);//Coach 426 //Coach795
Ах да) я сделал только Межгородской рейс,как нибудь доделаю внутригородской,ну или сами сделаете по коду..))
Если понравилось поставьте "Спасибо" :bq:
ВНИМАНИЕ: Если вы хотите чтобы в SA-MP у вас был русский текст
PHP:
 GameTextForPlayer(playerid, "~g~Следующая Остановка: 'Клуб Алхамбра'", 5000, 3);
То Установите вот этот плагин ТыК :bu:

Автор: Osee


---------- Post added at 22:09 ---------- Previous post was at 21:33 ----------

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