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

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

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

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

По созданию ограбления банка(РПГ)

Статус
В этой теме нельзя размещать новые ответы.
Для начала ко всем New добавим:
PHP:
new dveribanka;
new banklights;
new banktimer;
Затем добавим команды в
PHP:
public OnPlayerCommandText(playerid, cmdtext[])
PHP:
        if (strcmp(cmdtext, "/bankdoor", true) == 0)
	{
	        if(IsACop(playerid))
		{
			MoveDynamicObject(vorota[104],2146.2439, 1627.0978, 994.2673, 0.3);
			timer[43] = SetTimer("BankClose", 120000, 0);
			SendClientMessageToAll(COLOR_PURPLE,"Законник открывает хранилище");
			dveribanka = 1;
			SetTimer("banklightssoff", 2000, 0);
		}
		if(PlayerInfo[playerid][pLeader] == 0 || PlayerInfo[playerid][pMember] == 0)
		{
		    if(PlayerInfo[playerid][pOtvertka] > 0)
		    {
		    	if(PlayerToPoint(5,playerid,2144.2307, 1626.5255, 992.5661))
		        {
				        if(banklights > 0)
					{
					    if(dveribanka <= 0)
					    {
					    	        ApplyAnimation(playerid,"ROB_BANK","car_talkm_out",4.1,1,1,1,0,2000);
							MoveDynamicObject(vorota[104],2146.2439, 1627.0978, 994.2673, 0.3);
							timer[43] = SetTimer("BankClose", 120000, 0);
							SendClientMessageToAll(COLOR_PURPLE,"Незнакомец открывает дверь хранилища");
							SendClientMessage(playerid,COLOR_GRAD2,"Двери закроються через 2 минуты");
							PlayerInfo[playerid][pOtvertka] -= 1;
							SetTimer("banklightssoff", 120000, 0);
							dveribanka = 1;
							return 1;
						}
						else if(dveribanka > 0)
						{
							SendClientMessage(playerid,COLOR_GRAD2,"Двери уже открыты");
						}
					}
					else if(banklights <= 0)
					{
						SendClientMessage(playerid,COLOR_GRAD2,"Отключите электро питание");
					}
				}
				else
				{
					SendClientMessage(playerid,COLOR_GRAD2,"Вы далеко от банка");
				}
			}
			else
			{
				if(!IsACop(playerid))
				{
					SendClientMessage(playerid,COLOR_GRAD2,"У вас нет отвертки");
				}
			}
		}
	}
	if (strcmp(cmdtext, "/robbank", true) == 0)
	{
	        if(!IsACop(playerid))
		{
		        if(PlayerToPoint(5,playerid,2146.2727,1636.5612,993.5761))
			{
  				if(PlayerInfo[playerid][pBankTimekostas] <= 0)
 				{
					ApplyAnimation(playerid,"ROB_BANK","CAT_Safe_Rob",4.1,1,1,1,0,10000); //hahahahahaha
					SetTimer("bankrobbank", 10000, 0);
				}
				else if(PlayerInfo[playerid][pBankTimekostas] > 0)
				{
					SendClientMessage(playerid,COLOR_GRAD2,"Банк можно грабить лиш раз в 6 часов");
				}
			}
		}
		else if(IsACop(playerid))
		{
			SendClientMessage(playerid,COLOR_RED,"Полегче,вы же законник");
		}
	}
        if (strcmp(cmdtext, "/lights", true) == 0)
	{
		if(PlayerInfo[playerid][pLeader] == 0 || PlayerInfo[playerid][pMember] == 0)
		{
			if(PlayerToPoint(5,playerid,2144.9109,1619.9948,1000.9688))
			{
				if(banklights <= 0)
				{
				    banklights = 1;
				    ApplyAnimation(playerid,"CAR_CHAT","car_talkm_out",4.1,1,1,1,0,5000); //moja
			    	    SetTimer("banklightss", 120000, 0);
      				    SendClientMessageToAll(COLOR_PURPLE,"Незнакомец отключает реле электропитания");
		    		    return 1;
  				}
  				else
	  			{
		  			if(banklights > 0)
  					{
  						SendClientMessage(playerid,COLOR_PURPLE,"Электро питание отключенно");
  					}
				}
			}
		}
	}
Затем в
PHP:
public OnPlayerConnect(playerid)
PHP:
banklights = 0;
Затем в
PHP:
enum pInfo
PHP:
pBankTimekostas,
Затем создадим паблик
PHP:
forward SetPlayerBank();
public SetPlayerBank()
{
    for(new i = 0; i<MAX_PLAYERS;i++)
	{
	    if(PlayerInfo[i][pBankTimekostas] > 0)
	    {
			new stringgg[50];
			PlayerInfo[i][pBankTimekostas]--;
			format(stringgg, sizeof(stringgg), "~w~%d",PlayerInfo[i][pBankTimekostas]);
			OnPlayerUpdate_GF(i);
		}
		else if(PlayerInfo[i][pBankTimekostas] <= 0)
		{
			PlayerInfo[i][pBankTimekostas] = 0;
			OnPlayerUpdate_GF(i);
		}
	}
}
Затем в
PHP:
public OnGameModeInit()
PHP:
banktimer = SetTimer("SetPlayerBank", 1000, 1);
Затем в public
PHP:
GameModeExitFunc()
PHP:
KillTimer(banktimer);
Затем в
PHP:
public OnPlayerRegister(playerid, password[])
PHP:
iniSetInt(File,"BankTimekostas",PlayerInfo[playerid][pBankTimekostas]);
Потом в
PHP:
public OnPlayerUpdate_GF(playerid)
у некоторых он может быть просто OnPlayerUpdate(playerid)
PHP:
iniSetInt(File,"BankTimekostas",PlayerInfo[playerid][pBankTimekostas]);
Дальше в
PHP:
public OnPlayerLogin(playerid,password[])
PHP:
iniGetInt(File,"BankTimekostas",PlayerInfo[playerid][pBankTimekostas]);
Вернемся в
PHP:
public OnPlayerCommandText(playerid, cmdtext[])
и в команду /enter(у вас может быть и другой!)
PHP:
if(PlayerToPoint(3, playerid,1426.7788,-967.6324,37.4271))//kazino //////naruza
			{
			    if(PlayerInfo[playerid][pBankTimekostas] <= 0)
			    {
			    	if(!IsACop(playerid))
					{
			        	if(WantedLevel[playerid] <= 8)
			        	{
			    			SetPlayerPos(playerid,2233.8948,1713.4784,1012.1495); //NEW
			    			SetPlayerInterior(playerid,1);
		    				format(string,sizeof(string)," Ваш предыдущий уровень розыска {FFFFFF}%d{FFFFFF}",WantedLevel[playerid]);
      						SendClientMessage(playerid,COLOR_YELLOW,string);
			    			WantedLevel[playerid] = WantedLevel[playerid] + 2;
							SetPlayerCriminal(playerid,255, "Проникновение на территорию банка");
     					}
     					else if(WantedLevel[playerid] == 10)
     					{
     						SetPlayerPos(playerid,2233.8948,1713.4784,1012.1495); //NEW
			    			SetPlayerInterior(playerid,1);
							SetPlayerCriminal(playerid,255, "Проникновение на территорию банка");
     					}
  					}
  					else if(IsACop(playerid))
  					{
  						SetPlayerPos(playerid,2233.8948,1713.4784,1012.1495); //NEW
	    				SetPlayerInterior(playerid,1);
  					}
		    	}
		    	else if(PlayerInfo[playerid][pBankTimekostas] > 0)
		    	{
		    		SendClientMessage(playerid,COLOR_GRAD2,"Вам нельзя святиться перед камерами");
		    	}
			}
Затем в
PHP:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
Найдем такое:
PHP:
if(newkeys == 1024)
И добавим следуйщие
PHP:
if(PlayerToPoint(3, playerid,1426.7788,-967.6324,37.4271))//kazino //naruza
			{
            	if(PlayerInfo[playerid][pBankTimekostas] <= 0)
			    {
			    	if(!IsACop(playerid))
					{
			        	if(WantedLevel[playerid] <= 8)
			        	{
			    			SetPlayerPos(playerid,2233.8948,1713.4784,1012.1495); // nEW
			    			SetPlayerInterior(playerid,1);
			    			format(string,sizeof(string)," Ваш предыдущий уровень розыска {FFFFFF}%d{FFFFFF}",WantedLevel[playerid]);
      						SendClientMessage(playerid,COLOR_YELLOW,string);
			    			WantedLevel[playerid] = WantedLevel[playerid] + 2;
							SetPlayerCriminal(playerid,255, "Проникновение на территорию банка");
     					}
     					else if(WantedLevel[playerid] == 10)
     					{
     						SetPlayerPos(playerid,2233.8948,1713.4784,1012.1495); // nEW
			    			SetPlayerInterior(playerid,1);
							SetPlayerCriminal(playerid,255, "Проникновение на территорию банка");
     					}
  					}
  					else if(IsACop(playerid))
  					{
					  	SetPlayerPos(playerid,2233.8948,1713.4784,1012.1495); //NEW
   						SetPlayerInterior(playerid,1);
    				}
		    	}
		    	else if(PlayerInfo[playerid][pBankTimekostas] > 0)
			    {
			    	SendClientMessage(playerid,COLOR_GRAD2,"Вам нельзя святиться перед камерами");
				}
			}
И гденибуть в конце мода добавим:
PHP:
forward banklightss(playerid);
public banklightss(playerid)
{
	banklights = 1; //otklju4eno esli 1,esli 0 to vklju4eno
	ClearAnimations(playerid);
}
forward banklightssoff(playerid);
public banklightssoff(playerid)
{
	banklights = 0; //otklju4eno esli 1
}
forward bankrobbank(playerid);
public bankrobbank(playerid)
{
	new string[128];
	if(PlayerInfo[playerid][pBankTimekostas] <= 0)
	{
		//ApplyAnimation(playerid,"ROB_BANK","CAT_Safe_Rob",4.1,1,1,1,0,5); //hahahahahaha
		new bank = random(659); bank += 597; //
		Jackpotkostas = bank; //
		new sendername[MAX_PLAYERS];
		GetPlayerName(playerid,sendername,sizeof(sendername));
		new rannn = random(3); //rannn += 0;
  			switch(rannn)
  			{
  			    //if(banklights <= 0)
  			    case 0:
				{
  					//case 0:
  					if(banklights > 0)
  					{
						ClearAnimations(playerid);
						format(string, sizeof(string), "* %s Взламывает ячейку,но ничего не находит", sendername);
						SendClientMessageToAll(COLOR_PURPLE,string);
						SendClientMessage(playerid,COLOR_YELLOW,"Сигнализация не сработала т.к она отключенна");
						//ClearAnimations(playerid);
						return 1;
       				}
       				else if(banklights <= 0)
	  				{
	  					ClearAnimations(playerid);
						format(string, sizeof(string), "* %s Взламывает ячейку но ничего не находит", sendername);
						SendClientMessageToAll(COLOR_PURPLE,string);
	  					SendClientMessage(playerid,COLOR_RED,"Сработала сигнализация");
	  					format(string,sizeof(string)," Ваш предыдущий уровень розыска {FFFFFF}%d{FFFFFF}",WantedLevel[playerid]);
						SendClientMessage(playerid,COLOR_YELLOW,string);
						WantedLevel[playerid] = WantedLevel[playerid] + 2;
						SetPlayerCriminal(playerid,255, "Проникновение на территорию банка");
 						return 1;
	  				}
	  			}
  			}
  			switch(rannn)
  			{
       			case 1:
       			{
       				ClearAnimations(playerid);
					format(string, sizeof(string), "Грабитель %s успешно взламывает ячейку банка и находит там %d$", sendername,Jackpotkostas);
					SendClientMessageToAll(COLOR_PURPLE,string);
					new stringg[30];
					//new rand = random(659); rand += 597;
					//Jackpotkostas = rand;
					NormMoney[playerid] = 2;
					AntiMoney[playerid] = AntiMoney[playerid] + bank;
					GivePlayerMoney(playerid, bank);
					SendClientMessage(playerid,0x008000AA,"Вы взломали сейф...скоро тут будут законники!");
					SendClientMessage(playerid,COLOR_WHITE,"Сигнализация не сработала т.к она отключена");
					format(stringg, sizeof(stringg), "~g~+%d", Jackpotkostas);
					GameTextForPlayer(playerid, stringg, 3000, 1);
					PlayerInfo[playerid][pBankTimekostas] = 21600;
					format(string,sizeof(string)," Ваш предыдущий уровень розыска {FFFFFF}%d{FFFFFF}",WantedLevel[playerid]);
					SendClientMessage(playerid,COLOR_YELLOW,string);
 					WantedLevel[playerid] = WantedLevel[playerid] + 5;
					SetPlayerCriminal(playerid,255, "Проникновение на территорию банка");
					//ClearAnimations(playerid);
					return 1;
				}
			}
	}
	else if(PlayerInfo[playerid][pBankTimekostas] > 0)
	{
		//SendClientMessage(playerid,COLOR_GRAD2,"Áàíê ìîæíî ãðàáèòü òîëüêî ðàç â 60 ñåêóíä");
	}
	return 1;
}
Доп.Информация
PHP:
vorota[104] = CreateObject(2634,2144.1882, 1627.0482, 994.2673,0.0000, 0.0000, -180.0000); //bankdoor
Добавте ворота в
PHP:
public OnGameModeInit()
Паблик ворот добавте в конец мода
PHP:
forward BankClose();
public BankClose()
{
    MoveDynamicObject(vorota[104],2144.1882, 1627.0482, 994.2673, 0.3);
    dveribanka = 0;
    return 1;
}
Надпись добавте в
PHP:
public OnGameModeInit()
PHP:
[PHP]CreateDynamic3DTextLabel("/robbank",0xBFF600FF,2146.2727,1636.5612,993.5761,5.0);
И пикапы банка в туда-же:

PHP:
CreatePickup(1318,1,1426.7788,-967.6324,37.4271); //bank NEW naruza
CreatePickup(1318,1,2233.8948,1713.4784,1012.1495); // vse zbs BANK NUTRJ NEW
Так-же вам понадобиться(если у вас нету в моде)еще 1 паблик:
PHP:
forward IsACop(playerid);
public IsACop(playerid)
{
	if(IsPlayerConnected(playerid))
	{
	    new leader = PlayerInfo[playerid][pLeader];
	    new member = PlayerInfo[playerid][pMember];
	    if(member==1 || member==2 || member==3 || member==7 || member==4 || member==22)
		{
		    return 1;
		}
		else if(leader==1 || leader==2 || leader==3 || leader==7 || leader==4 || leader==22)
		{
		    return 1;
		}
	}
	return 0;
}
Автор урока Я!
Это мой 2-ой урок.!Строго не судите)

---------- Post added at 00:44 ---------- Previous post was at 00:41 ----------

Если возникнут вопросы,или какие-то ошибки обращайтесь,постараюсь помочь
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу