kusehsup

Создание машин для фракций

В теме 17 сообщений

Сразу скажу, что данный урок написал Amfy, но нашему порталу он тоже не обходим.

Приступим

 

Первым делом нам нужно создать глобальную переменную.

new Mil[2];//Назовем её Mil

Далее идем в public OnGameModeinit и вставляем наши машины (машины вы ставите естественно свои). К примеру, мне нужно 4 машины.

AddStaticVehicleEx(411,x,y,z,angle,55,55,60000);
AddStaticVehicleEx(411,x,y,z,angle,55,55,60000);
AddStaticVehicleEx(411,x,y,z,angle,55,55,60000);
AddStaticVehicleEx(411,x,y,z,angle,55,55,60000);

К первой машине добавляем Mil[0] =, а к последней машине Mil[1] =, смотрите пример ниже как должно получится.

Mil[0] = AddStaticVehicleEx(411,1788.7271,1352.2760,10.7370,3.0671,55,55,60000);
AddStaticVehicleEx(411,1788.7271,1352.2760,10.7370,3.0671,55,55,60000);
AddStaticVehicleEx(411,1788.7271,1352.2760,10.7370,3.0671,55,55,60000);
Mil[1] = AddStaticVehicleEx(411,1788.7271,1352.2760,10.7370,3.0671,55,55,60000);

Машины между Mil[0] и Mil[1] (включительно) автоматически становятся для милиции. А это значит, если в дальнейшим надо будет добавлять машины милиции, добавляем их между Mil[0] и Mil[1]

 

Далее идем в public OnPlayerStateChange и вставляем следующий код:

if(newstate == PLAYER_STATE_DRIVER)//Если игрок сидит за рулем автомобиля
{
    new carid = GetPlayerVehicleID(playerid);//Узнаем ид машины в которой сидит игрок
    if(carid >= Mil[0] && carid <= Mil[1])//Если игрок сидит в машине Mil[0] до Mil[1], значит это милицейские машины
    {
        if(PlayerInfo[playerid][pMember] != 1)//Проверка на игроков из фракции номер 1.
        {
            SendClientMessage(playerid, -1, "У вас нет ключей от этого транспорта.");//Если игрок не состоит в 1-ой фракции
            RemovePlayerFromVehicle(playerid);//Выкидываем с машины
        }
    }
}

Если PLAYER_STATE_DRIVER уже существует в данном паблике, ещё раз создавать необязательно. Можно просто вставить в уже существующий.

 

P.S Если возникнут вопросы, пишите в данной теме. PlayerInfo, pLeader, pMember при необходимости нужно сменить.

 

Au - p/s Не своровал, а одолжил на добрые нужды :$

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть проблема. Создал так же. Но госсников выкидывает из них машин. А нелегалов (ОПГ) нет. В чем может быть проблема? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@RavanD как вы вставили код в OnPlayerStateChange? Киньте его сюда. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@DEST

Спойлер

 if(carid >= army_car[0] && carid <= army_car[1]) 
  { 
  if(PLAYER_DATA[playerid][data_MEMBER] == 2) 
  { 
  new model = GetVehicleModel(carid); 
    if(model == 433) 
    { 
     new str[64]; 
     format(str,sizeof(str),"Çàãðóæåíî: %d/10000 ïàòðîíîâ, %d/10000 ìåòàëëà",CAR_DATA[carid][data_PATR],CAR_DATA[carid][data_MET]); 
     SendClientMessage(playerid,0x99FFCCFF,str); 
    } 
   } 
  else 
  { 
  SendClientMessage(playerid,COLOR_WARNING,"Äàííûé òðàíñïîðò Âàì íåäîñòóïåí!"); 
  RemovePlayerFromVehicleAC(playerid); 
    return true; 
  } 
  } 
  if(carid >= police_car[0] && carid <= police_car[1]) 
  { 
  if(PLAYER_DATA[playerid][data_MEMBER] == 3) 
  {} 
  else 
  { 
  SendClientMessage(playerid,COLOR_WARNING,"Äàííûé òðàíñïîðò Âàì íåäîñòóïåí!"); 
  RemovePlayerFromVehicleAC(playerid); 
    return true; 
  } 
  } 
  if(carid >= hospital_car[0] && carid <= hospital_car[1]) 
  { 
  if(PLAYER_DATA[playerid][data_MEMBER] == 4) 
  {} 
  else 
  { 
  SendClientMessage(playerid,COLOR_WARNING,"Äàííûé òðàíñïîðò Âàì íåäîñòóïåí!"); 
  RemovePlayerFromVehicleAC(playerid); 
    return true; 
  } 
  } 
  if(carid >= fsb_car[0] && carid <= fsb_car[1]) 
  { 
  if(PLAYER_DATA[playerid][data_MEMBER] != 8) 
  {} 
  else 
  { 
  SendClientMessage(playerid,COLOR_WARNING,"Äàííûé òðàíñïîðò Âàì íåäîñòóïåí!"); 
  RemovePlayerFromVehicleAC(playerid); 
    return true; 
  } 
  } 
  if(carid >= smi_car[0] && carid <= smi_car[1]) 
  { 
  if(PLAYER_DATA[playerid][data_MEMBER] == 9) 
  {} 
  else 
  { 
  SendClientMessage(playerid,COLOR_WARNING,"Äàííûé òðàíñïîðò Âàì íåäîñòóïåí!"); 
  RemovePlayerFromVehicleAC(playerid); 
    return true; 
  } 
  } 
  if(carid >= rostov_car[0] && carid <= rostov_car[1]) 
  { 
  if(PLAYER_DATA[playerid][data_MEMBER] == 5) 
  {} 
  else 
  { 
  SendClientMessage(playerid,COLOR_WARNING,"Äàííûé òðàíñïîðò Âàì íåäîñòóïåí!"); 
  RemovePlayerFromVehicleAC(playerid); 
    return true; 
  } 
  } 
  if(carid >= maykop_car[0] && carid <= maykop_car[1]) 
  { 
  if(PLAYER_DATA[playerid][data_MEMBER] == 6) 
  {} 
  else 
  { 
  SendClientMessage(playerid,COLOR_WARNING,"Äàííûé òðàíñïîðò Âàì íåäîñòóïåí!"); 
  RemovePlayerFromVehicleAC(playerid); 
    return true; 
  } 
  } 
  if(carid >= odessa_car[0] && carid <= odessa_car[1]) 
  { 
  if(PLAYER_DATA[playerid][data_MEMBER] == 7) 
  {} 
  else 
  { 
  SendClientMessage(playerid,COLOR_WARNING,"Äàííûé òðàíñïîðò Âàì íåäîñòóïåí!"); 
  RemovePlayerFromVehicleAC(playerid); 
    return true; 
  } 
  } 
 } 
 return true; 
}

 

 

Заметка от DEST , создано

Как использовать спойлер и код?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@RavanD у фракции полиция id 3? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@DEST Да, а что? Ну как лидерки стоят, так и тут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
if(PLAYER_DATA[playerid][data_MEMBER] !== id фракции) 

Попробуй так

Отредактировано пользователем Soul1337

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Soul1337 что за такой оператор !== ? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Soul1337Ну, а смысл? У ОПГ такой же код. Но ОПГшников невыкидывает из машин фракции, а вот Госников выкидывает. @DEST

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@RavanD вот этот код: 

Спойлер

if(carid >= police_car[0] && carid <= police_car[1]) 
  { 
  if(PLAYER_DATA[playerid][data_MEMBER] == 3) 
  {} 
  else 
  { 
  SendClientMessage(playerid,COLOR_WARNING,"Äàííûé òðàíñïîðò Âàì íåäîñòóïåí!"); 
  RemovePlayerFromVehicleAC(playerid); 
    return true; 
  } 
  } 

 

замените этим: 

Спойлер

if(carid >= police_car[0] && carid <= police_car[1]) 
  { 
  if(PLAYER_DATA[playerid][data_MEMBER] == 3) 
  {} 
  else 
  { 
  SendClientMessage(playerid,COLOR_WARNING,"Äàííûé òðàíñïîðò Âàì íåäîñòóïåí!"); 
  RemovePlayerFromVehicleAC(playerid); 
    printf("[#DEBUG] %d - playerid, %d - memberid", playerid, PLAYER_DATA[playerid][data_MEMBER]); 
    return true; 
  } 
  } 

 

после сядьте в машину полиции и киньте логи. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@DEST 

Спойлер

--------— 
Loaded log file: "server_log.txt". 
--------— 
 
SA-MP Dedicated Server 
--------------------— 
v0.3e, (C)2005-2012 SA-MP Team 
 
[12:55:52] 
[12:55:52] Server Plugins 
[12:55:52] —----------— 
[12:55:52] Loading plugin: dc_cmd.so 
[12:55:52] Daniel's CMD plugin v2.8 
[12:55:52] (c) 2014 Daniel_Cortez 
[12:55:52]  www.pro-pawn.ru 
[12:55:52] Loaded. 
[12:55:52] Loading plugin: mysql.so 
[12:55:52] Failed (libmysqlclient_r.so.16: cannot open shared object file: No such file or directory) 
[12:55:52] Loading plugin: mysql_static.so 
[12:55:52] » plugin.mysql: R39-3 successfully loaded. 
[12:55:52] Loaded. 
[12:55:52] Loading plugin: sscanf.so 
[12:55:52] 
 
[12:55:52] =============================== 
 
[12:55:52] sscanf plugin loaded. 
 
[12:55:52] Version: 2.8.1 
 
[12:55:52] (c) 2012 Alex "Y_Less" Cole 
 
[12:55:52] =============================== 
 
[12:55:52] Loaded. 
[12:55:52] Loading plugin: streamer.so 
[12:55:52] 
 
*** Streamer Plugin v2.7.8 by Incognito loaded *** 
 
[12:55:52] Loaded. 
[12:55:52] Loaded 4 plugins. 
 
[12:55:52] 
[12:55:52] Filterscripts 
[12:55:52] —-----------— 
[12:55:52] Loaded 0 filterscripts. 
 
[12:55:52] [Ravand ROLEPLAY]:                           MySQL         
[12:55:52] 
----------------------------— 
[12:55:52] Start date: 5.03.2017 
[12:55:52] —--------------------------— 
[12:55:52] Number of vehicle models: 24 
[12:55:52] [serv_log] Load warehouse. Time: 0 ms. 
[12:55:52] [serv_log] Load job business. Load: 4 b. Time: 1 ms. 
[12:55:52] [serv_log] Load auto business. Load: 2 b. Time: 0 ms. 
[12:55:53] [serv_log] Load kvartiry. Load: 305 b. Time: 107 ms. 
[12:55:53] [serv_log] Load houses. Load: 49 h. Time: 2 ms. 
[12:55:53] [serv_log] Load business. Load: 40 b. Time: 3 ms. 
[12:55:53] [serv_log] Load polit. Load: 9 p. Time: 1 ms. 
[12:55:53] [serv_log] Load radars. Load: 5 r. Time: 0 ms. 
[12:56:35] Incoming connection: 188.168.224.179:54933 
[12:56:36] [join] Alex_Lexis has joined the server (0:188.168.224.179) 
[12:56:53] [chat] [Alex_Lexis]: .   
[12:57:48] [part] Alex_Lexis has left the server (0:1)

 

23 часа назад, DEST сказал:

@RavanD вот этот код: 

  Код (открыть спойлер)


if(carid >= police_car[0] && carid <= police_car[1]) 
  { 
  if(PLAYER_DATA[playerid][data_MEMBER] == 3) 
  {} 
  else 
  { 
  SendClientMessage(playerid,COLOR_WARNING,"Äàííûé òðàíñïîðò Âàì íåäîñòóïåí!"); 
  RemovePlayerFromVehicleAC(playerid); 
    return true; 
  } 
  } 

 

замените этим: 

  Код (открыть спойлер)


if(carid >= police_car[0] && carid <= police_car[1]) 
  { 
  if(PLAYER_DATA[playerid][data_MEMBER] == 3) 
  {} 
  else 
  { 
  SendClientMessage(playerid,COLOR_WARNING,"Äàííûé òðàíñïîðò Âàì íåäîñòóïåí!"); 
  RemovePlayerFromVehicleAC(playerid); 
    printf("[#DEBUG] %d - playerid, %d - memberid", playerid, PLAYER_DATA[playerid][data_MEMBER]); 
    return true; 
  } 
  } 

 

после сядьте в машину полиции и киньте логи. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@RavanD судя по логам, код вообще не отработал. Вы после замены строк кода мод компилировали и перезаливали с перезапуском? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@DEST Да, удалил старый код, вставил новый, скомпилировал. Когда скомпилировался обновил на хостинге и естественно его перезапустил, в чем может быть проблема? 

Loaded log file: "server_log.txt". 
--------— 
 
SA-MP Dedicated Server 
--------------------— 
v0.3e, (C)2005-2012 SA-MP Team 
 
[12:55:52] 
[12:55:52] Server Plugins 
[12:55:52] —----------— 
[12:55:52] Loading plugin: dc_cmd.so 
[12:55:52] Daniel's CMD plugin v2.8 
[12:55:52] (c) 2014 Daniel_Cortez 
[12:55:52]  www.pro-pawn.ru 
[12:55:52] Loaded. 
[12:55:52] Loading plugin: mysql.so 
[12:55:52] Failed (libmysqlclient_r.so.16: cannot open shared object file: No such file or directory) 
[12:55:52] Loading plugin: mysql_static.so 
[12:55:52] » plugin.mysql: R39-3 successfully loaded. 
[12:55:52] Loaded. 
[12:55:52] Loading plugin: sscanf.so 
[12:55:52] 
 
[12:55:52] =============================== 
 
[12:55:52] sscanf plugin loaded. 
 
[12:55:52] Version: 2.8.1 
 
[12:55:52] (c) 2012 Alex "Y_Less" Cole 
 
[12:55:52] =============================== 
 
[12:55:52] Loaded. 
[12:55:52] Loading plugin: streamer.so 
[12:55:52] 
 
*** Streamer Plugin v2.7.8 by Incognito loaded *** 
 
[12:55:52] Loaded. 
[12:55:52] Loaded 4 plugins. 
 
[12:55:52] 
[12:55:52] Filterscripts 
[12:55:52] —-----------— 
[12:55:52] Loaded 0 filterscripts. 
 
[12:55:52] [Ravand ROLEPLAY]:                           MySQL         
[12:55:52] 
----------------------------— 
[12:55:52] Start date: 5.03.2017 
[12:55:52] —--------------------------— 
[12:55:52] Number of vehicle models: 24 
[12:55:52] [serv_log] Load warehouse. Time: 0 ms. 
[12:55:52] [serv_log] Load job business. Load: 4 b. Time: 1 ms. 
[12:55:52] [serv_log] Load auto business. Load: 2 b. Time: 0 ms. 
[12:55:53] [serv_log] Load kvartiry. Load: 305 b. Time: 107 ms. 
[12:55:53] [serv_log] Load houses. Load: 49 h. Time: 2 ms. 
[12:55:53] [serv_log] Load business. Load: 40 b. Time: 3 ms. 
[12:55:53] [serv_log] Load polit. Load: 9 p. Time: 1 ms. 
[12:55:53] [serv_log] Load radars. Load: 5 r. Time: 0 ms. 
[12:56:35] Incoming connection: 188.168.224.179:54933 
[12:56:36] [join] Alex_Lexis has joined the server (0:188.168.224.179) 
[12:56:53] [chat] [Alex_Lexis]: .   
[12:57:48] [part] Alex_Lexis has left the server (0:1)

Заметка от Cawfee , создано

Как взять код в тег "Код"?.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@RavanD значит, вы либо не садились в машину, либо сели не в ту машину. Это точно единственно существующие в моде машины? Может быть уже есть проверка на них. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@DEST Да, нет я сел... Меня сразу выкинуло, да и единственные это машины для полиции... Больше нету. @DEST Да, удалил старый код, вставил новый, скомпилировал. Когда скомпилировался обновил на хостинге и естественно его перезапустил, в чем может быть проблема? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@RavanD не нужно скидывать все одно и то же по 150 раз, тем более, если содержимое логов никак не меняется. Кинь все, что связано с police_car[0] и police_car[1]

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@DEST

Спойлер

new police_car[2]; 
police_car[0] = AddStaticVehicleEx(598, 47.398200, 313.934478, 12.168399, 156.879272, 1, 1, 600);

	AddStaticVehicleEx(551, 2574.878417, -2446.236083, 21.427700, 359.523956, 1, 1, 600);
	AddStaticVehicleEx(551, 2571.130859, -2446.124511, 21.426998, 0.200952, 1, 1, 600);
	AddStaticVehicleEx(551, 2567.552734, -2446.261718, 21.427053, 0.126675, 1, 1, 600);
	AddStaticVehicleEx(427, 2560.312011, -2446.803955, 22.126560, 358.759155, 1, 1, 600);
	AddStaticVehicleEx(427, 2556.630126, -2446.666992, 22.128067, 0.734909, 1, 1, 600);
	AddStaticVehicleEx(427, 2552.816406, -2446.720947, 22.133134, 2.225709, 1, 1, 600);
	AddStaticVehicleEx(601, 2556.211425, -2411.082519, 22.260698, 180.360412, 1, 1, 600);
	AddStaticVehicleEx(601, 2550.800292, -2411.006103, 22.265068, 180.629425, 1, 1, 600);
	AddStaticVehicleEx(601, 2545.118896, -2411.093750, 22.269054, 180.986511, 1, 1, 600);
	AddStaticVehicleEx(598, 2542.6313, -2446.9419, 21.7963, 270.0000, 1, 79, 600);
	AddStaticVehicleEx(598, 2542.7373, -2440.4561, 21.7963, 270.0000, 1, 79, 600);
	AddStaticVehicleEx(598, 2542.7195, -2434.1736, 21.7963, 270.0000, 1, 79, 600);
	AddStaticVehicleEx(598, 2542.7837, -2427.7527, 21.7963, 270.0000, 1, 79, 600);
	AddStaticVehicleEx(598, 2542.9531, -2421.3896, 21.7963, 270.0000, 1, 79, 600);
	AddStaticVehicleEx(497, 2536.3862, -2431.4856, 27.0618, 0.0000, 1, 79, 600);
	AddStaticVehicleEx(598, 2542.6970, -2415.3042, 21.7963, 270.0000, 1, 79, 600);


	AddStaticVehicleEx(598, 221.177825, 1510.187011, 11.991920, 168.416397, 1, 1, 600);
	AddStaticVehicleEx(598, 224.978286, 1509.392700, 11.990458, 169.215454, 1,1, 600);
	AddStaticVehicleEx(598, 228.445861, 1508.749023, 11.991939, 169.390945, 1, 1, 600);
	AddStaticVehicleEx(598, 232.106964, 1508.039672, 11.992456, 168.452941, 1, 1, 600);
	AddStaticVehicleEx(597, 235.643753, 1507.057861, 11.996908, 168.434814, 1, 1, 600);
	AddStaticVehicleEx(597, 239.246749, 1506.395507, 11.999672, 168.185836, 1, -1, 600);
	AddStaticVehicleEx(597, 242.760116, 1505.677124, 11.995423, 168.523483, 1, 1, 600);
	AddStaticVehicleEx(597, 231.049591, 1491.142944, 11.996998, 25.601890, 1, 1, 600);
	AddStaticVehicleEx(551, 234.882827, 1490.388061, 12.001555, 29.313669, 1, 1, 600);
	AddStaticVehicleEx(551, 238.748306, 1489.620483, 12.003518, 29.063425, 1, 1, 600);
	AddStaticVehicleEx(551, 242.433425, 1489.556152, 11.994470, 29.647399, 1, 1, 600);




	AddStaticVehicleEx(551, 50.722869, 312.434967, 12.168233, 157.562896, 1, 1, 600);
	AddStaticVehicleEx(551, 53.976848, 311.018066, 12.167160, 157.674545, 1, 1, 600);
	AddStaticVehicleEx(551, 57.275024, 309.271484, 11.966865, 157.399627, 1, 1, 600);
	AddStaticVehicleEx(599, 67.255516, 305.003540, 11.967527, 157.369338, 1, 1, 600);
	AddStaticVehicleEx(599, 63.946502, 306.389526, 11.967477, 157.045120, 1, 1, 600);
	AddStaticVehicleEx(599, 60.453102, 307.857849, 11.966860, 157.891815, 1, 1, 600);
	AddStaticVehicleEx(599, 51.906246, 293.086486, 12.156556, 6.589720, 1, 1, 600);
	AddStaticVehicleEx(599, 55.799579, 291.518798, 12.165949, 5.549322, 1, 1, 600);
	AddStaticVehicleEx(599, 59.818611, 289.858947, 12.169231, 6.557450, 1, 1, 600);
	AddStaticVehicleEx(427, 67.839401, 280.552856, 11.909934, 22.211221, 1, 1, 600);
	AddStaticVehicleEx(427, 65.329101, 274.616394, 11.908948, 24.888425, 1, 1, 600);
	police_car[1] = AddStaticVehicleEx(427, 62.666393, 268.300079, 11.908353, 27.795463, 1, 1, 600);
	if(carid >= police_car[0] && carid <= police_car[1])
			{ if(PLAYER_DATA[playerid][data_MEMBER] == 3)
			{}
			else { SendClientMessage(playerid,COLOR_WARNING,"Äàííûé òðàíñïîðò Âàì íåäîñòóïåí!");
			RemovePlayerFromVehicleAC(playerid);
			printf("[#DEBUG] %d - playerid, %d - memberid", playerid, PLAYER_DATA[playerid][data_MEMBER]);
				return true; }
	}

 

 

@DEST Я с телефона писал, жму на "@", а он старые СМС еще прихватывает. Баг наверное)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Chopick
      От Chopick
      Всем здравствуйте! Делаю систему домов/бизнесов по туториалу knox know с плагином GoodArea. Есть проблема, если заходишь в интерьер бизнеса, то когда выходишь спавнит почему-то на пикап дома.

      Вот енумы:
       
      #define MAX_HOUSES 1000 #define MAX_BIZS 1000 enum house {         hID,         STREAMER_TAG_PICKUP:hPICKUP,         STREAMER_TAG_AREA:hAREA,         hOWNER[MAX_PLAYER_NAME],         STREAMER_TAG_3D_TEXT_LABEL:hTEXT[256],         STREAMER_TAG_MAP_ICON:hICON,         hPRICE,         hCLASS,         hINTERIOR,         Float:hX,         Float:hY,         Float:hZ,         Float:hA,         hCONDITION // Закрыт/Открыт } new House[MAX_HOUSES][house]; new Houses; new HouseGroup; enum biz {         bID,         STREAMER_TAG_PICKUP:bPICKUP,         STREAMER_TAG_AREA:bAREA,         bOWNER[MAX_PLAYER_NAME],         STREAMER_TAG_3D_TEXT_LABEL:bTEXT[256],         STREAMER_TAG_MAP_ICON:bICON,         bNAME[25],         bPRICE,         bTYPE,         bINTERIOR,         Float:bX,         Float:bY,         Float:bZ,         Float:bA } new Biz[MAX_BIZS][biz]; new Bizs; new BizGroup; enum interior_info {         intID,         intNAME[41],         intINTERIOR,         Float:intX,         Float:intY,         Float:intZ,         Float:intA,         STREAMER_TAG_AREA:intAREA } new Interior[MAX_INTERIORS][interior_info]; new Interiors; new InteriorGroup; Вот что у меня в OnGameModeInit:
      HouseGroup = CreateGroupGoodAreas(GoodArea:HouseEnter); InteriorGroup = CreateGroupGoodAreas(GoodArea:InteriorExit); BizGroup = CreateGroupGoodAreas(GoodArea:BizArea);  
      Вот стоки:
      GAResponse:HouseEnter(playerid, response, key, index) {         switch(response)         {             case GA_RESPONSE_PRESS_KEY:             {                 if(key & KEY_WALK)                 {                 if(House[index][hCONDITION] > 0 && House[index][hOWNER] == player_info[playerid][NAME] || House[index][hCONDITION] == 0)                 {                                         GoToInterior(playerid, House[index][hINTERIOR]);                                         SetPlayerVirtualWorld(playerid, index);                                 }                                 else if(House[index][hCONDITION] > 0 && House[index][hOWNER] != player_info[playerid][NAME]) return SCM(playerid, COLOR_RED, "[Ошибка]{ffffff}Этот дом закрыт на ключ!");                         }                 }                 case GA_RESPONSE_ENTER:                 {                     if(House[index][hOWNER] == 0)                     {                         CreateNoOwnerHouseTD(playerid);                         for(new i = 0; i < sizeof NoOwnerTextDraw_PTD[]; i++)                         {                             PlayerTextDrawShow(playerid, NoOwnerTextDraw_PTD[playerid][i]);                                 }                                 new price[8];                                 format(price, sizeof(price), "%d$", House[index][hPRICE]);                                 PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][2], price);                                 new id[9];                                 format(id, sizeof(id), "%d", House[index][hID]);                                 PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][0], id);                                 switch(House[index][hCLASS])                                 {                                     case 1: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "A");                                     case 2: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "B");                                     case 3: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "C");                                 }                                 for(new i = 0; i < sizeof NoOwnerTextDraw_TD; i++)                         {                             TextDrawShowForPlayer(playerid, NoOwnerTextDraw_TD[i]);                                 }                         }                 }                 case GA_RESPONSE_LEAVE:                 {                 for(new i = 0; i < sizeof NoOwnerTextDraw_PTD[]; i++)                 {                     PlayerTextDrawHide(playerid, NoOwnerTextDraw_PTD[playerid][i]);                         }                         for(new i = 0; i < sizeof NoOwnerTextDraw_TD; i++)                 {                     TextDrawHideForPlayer(playerid, NoOwnerTextDraw_TD[i]);                         }                 }         }         return 1; } GAResponse:BizArea(playerid, response, key, index) {         switch(response)         {             case GA_RESPONSE_PRESS_KEY:             {                 if(key & KEY_WALK)                 {                     GoToInteriorBiz(playerid, Biz[index][bINTERIOR]);                                 SetPlayerVirtualWorld(playerid, index);                 }                 }         }         return 1; } GAResponse:InteriorExit(playerid, response, key, index) {         switch(response)         {             case GA_RESPONSE_PRESS_KEY:             {                 new world = GetPlayerVirtualWorld(playerid);                 if(key & KEY_WALK)                 {                     if(world < MAX_HOUSES)                     {                         SetPlayerInterior(playerid, 0);                             SetPlayerVirtualWorld(playerid, 0);                             SetPlayerPos(playerid, House[world][hX], House[world][hY], House[world][hZ]);                             SetPlayerFacingAngle(playerid, House[world][hA]);                                 }                                 else if(world < MAX_HOUSES + MAX_BIZS)                     {                         world -= MAX_HOUSES;                                         printf("%d index world", world);                         SetPlayerInterior(playerid, 0);                             SetPlayerVirtualWorld(playerid, 0);                             SetPlayerPos(playerid, Biz[world][bX], Biz[world][bY], Biz[world][bZ]);                             SetPlayerFacingAngle(playerid, Biz[world][bA]);                                 }                         }                         if(key & KEY_CTRL_BACK)                         {                             if(player_info[playerid][HOUSE] != House[world][hID]) return SCM(playerid, COLOR_RED, "[Ошибка]{ffffff}Вы не владелец данного дома!");                             new dialog[256];                                 format(dialog, sizeof(dialog),                                         "{ffd900}[1]{ffffff}Информация о доме\n\                                         {ffd900}[2]{ffffff}%s дом",                                 (House[world][hCONDITION] == 1) ? ("{00ff00}Открыть") : ("{ff0000}Закрыть"));                             SPD(playerid, DLG_HMENU, DIALOG_STYLE_LIST, "{ffd900}Меню дома", dialog, "Выбрать", "Закрыть");                             return 1;                         }                 }         }         return 1; } stock GoToInterior(playerid, interior) {     for(new i = 0; i < Interiors; i++)         {             if(Interior[i][intID] != interior) continue;             SetPlayerInterior(playerid, Interior[i][intINTERIOR]);             SetPlayerPos(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ]);             SetPlayerFacingAngle(playerid, Interior[i][intA]);             SetPlayerCheckpoint(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 1.0);             new str[128];             format(str, sizeof(str),                         "Нажмите \"ALT\" для выхода\n\                         Нажмите \"H\", чтобы открыть меню дома");             Create3DTextLabel(str, -1, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 15.0, 0, 1);             return 1;         }         return 0; } stock GoToInteriorBiz(playerid, interior) {     for(new i = 0; i < Interiors; i++)         {             if(Interior[i][intID] != interior) continue;             SetPlayerInterior(playerid, Interior[i][intINTERIOR]);             SetPlayerPos(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ]);             SetPlayerFacingAngle(playerid, Interior[i][intA]);             SetPlayerCheckpoint(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 1.0);             new str[128];             format(str, sizeof(str),                         "Нажмите \"ALT\" для выхода");             Create3DTextLabel(str, -1, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 15.0, 0, 1);             return 1;         }         return 0; }  
       
      Что мне делать, подскажите пожалуйста?
    • Jdjdjd
      От Jdjdjd
      Как сделать открытие закрытие ворот в Радмир рп на копии,и куд а нужно вставлять код?