Advertisement
frog163

zone69

Nov 13th, 2012
146
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ///Tyrese17, frog163 © 2012
  2. /*Инструкция по добавлению еще дохуя ворот:
  3. --Увеличить MAX_GATE на кол-во добовляемых ворот;
  4. --В массив `gate` добавить еще одну строчку;
  5. --Have profit!                                      */
  6.  
  7. #include <a_samp>
  8. #include <streamer>
  9.  
  10. #define MAX_GATE        2
  11.  
  12. enum gate_data{
  13.     gate_id,
  14.     gate_model,
  15.     Float:gate_pos[9]
  16. };
  17.  
  18. new gate[MAX_GATE][gate_data] = {//Syntax: {0, ID модели объекта,{Координата X, Y, Z, rX, rY, rZ,            Координаты открытых ворот moveX, moveY, moveZ}},
  19.     {0,19313,{134.936,1941.448,21.763,0.0,0.0,180.0,            148.869,1941.484,21.763}},
  20.     {0,19313,{285.984,1822.307,20.086,0.0,0.0,270.0,            285.959,1808.317,20.086}}
  21. };
  22.  
  23. public OnFilterScriptInit(){
  24.     CreateDynamicObject(19312,191.11000061,1870.05297852,21.46599960,0.00000000,0.00000000,0.00000000); // Новый забор, вместо старого
  25.     for(new f; f<MAX_GATE; f++)
  26.         gate[f][gate_id] = CreateDynamicObject(gate[f][gate_model],gate[f][gate_pos][0],gate[f][gate_pos][1],gate[f][gate_pos][2],gate[f][gate_pos][3],gate[f][gate_pos][4],gate[f][gate_pos][5]);
  27.     return true;
  28. }
  29.  
  30. public OnPlayerConnect(playerid){
  31.     RemoveBuildingForPlayer(playerid,16094,191.1406,1870.0391,21.4766,0.25); // Удаление забора
  32.     RemoveBuildingForPlayer(playerid, 1411, 347.1953, 1799.2656, 18.7578, 0.25);// Удаление забора
  33.     RemoveBuildingForPlayer(playerid, 1411, 342.9375, 1796.2891, 18.7578, 0.25);// Удаление забора
  34.     return true;
  35. }
  36.  
  37. public OnPlayerCommandText(playerid, cmdtext[]){
  38.     if(!strcmp("/areaopen1", cmdtext, true)) // Ворота 1
  39.         return open_gate(playerid, 0);
  40.     else if(!strcmp("/areaopen2", cmdtext, true)) // Ворота 2
  41.         return open_gate(playerid, 1);
  42.     return false;
  43. }
  44.  
  45. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){
  46.     if(newkeys & KEY_CROUCH){
  47.         for(new f; f<MAX_GATE; f++){
  48.             if(IsPlayerInRangeOfPoint(playerid,13.0,gate[f][gate_pos][0],gate[f][gate_pos][1],gate[f][gate_pos][2])){
  49.                 open_gate(playerid, f);
  50.                 break;
  51.             }
  52.         }
  53.     }
  54.     return true;
  55. }
  56.  
  57. open_gate(playerid, gateid){
  58.     MoveDynamicObject(gate[gateid][gate_id],gate[gateid][gate_pos][6],gate[gateid][gate_pos][7],gate[gateid][gate_pos][8],4);
  59.     SetTimerEx("close_gate",5000,0,"i",gateid);
  60.     new str[70];
  61.     format(str, 70, "{00d300}Ворота №%d открыты. {d3d3d3}(Закроются автоматически)", gateid+1);
  62.     return SendClientMessage(playerid, -1, str);
  63. }
  64.  
  65. forward close_gate(gateid);
  66. public close_gate(gateid){
  67.     MoveDynamicObject(gate[gateid][gate_id],gate[gateid][gate_pos][0],gate[gateid][gate_pos][1],gate[gateid][gate_pos][2],4);
  68.     return true;
  69. }
Advertisement
RAW Paste Data Copied
Advertisement