Guest User

Untitled

a guest
Nov 21st, 2011
573
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 38.59 KB | None | 0 0
  1. // This is a comment
  2. // uncomment the line below if you want to write a filterscript
  3. //#define FILTERSCRIPT
  4.  
  5. #include <a_samp>
  6. #include <ZCMD>
  7. #include <sscanf2>
  8. #include <streamer>
  9.  
  10. #define COLOR_YELLOW 0xFFFF00AA
  11. #define SHS_PASS "imtrue1"
  12. #define LoopPlayers(%1,%2) for(new %1 = 0; %1 < %2; %1++)
  13. #define MAX_DMP 400
  14. #define MAX_LABELS 800
  15. #define cmdp:(%1) CMD:%1(playerid, params[])
  16. #define DIALOG_SHSLOGIN 16001
  17. #define MAX_DOORS 1000
  18.  
  19. forward LoadAll();
  20.  
  21. new SHSLoggedIn[MAX_PLAYERS];
  22. new CreatedVehs[100];
  23. new Float:GFFP[MAX_PLAYERS][5];
  24. new GIFP[MAX_PLAYERS][5];
  25. enum dInfo
  26. {
  27.     Float:dPosX,
  28.     Float:dPosY,
  29.     Float:dPosZ,
  30.     dModel,
  31.     dColor,
  32.     dVw,
  33.     dInt,
  34.     dCreated,
  35.     dCreate,
  36. };
  37. new DMPInfo[MAX_DMP][dInfo];
  38.  
  39. enum lInfo
  40. {
  41.     Float:lPosX,
  42.     Float:lPosY,
  43.     Float:lPosZ,
  44.     Float:lDistance,
  45.     lColor,
  46.     lVw,
  47.     lInt,
  48.     lText[42],
  49.     Text3D:lCreate,
  50. }
  51. new LabelInfo[MAX_LABELS][lInfo];
  52.  
  53. enum ddInfo
  54. {
  55.     Float:ddExteriorX,
  56.     Float:ddExteriorY,
  57.     Float:ddExteriorZ,
  58.     Float:ddExteriorA,
  59.     Float:ddInteriorX,
  60.     Float:ddInteriorY,
  61.     Float:ddInteriorZ,
  62.     Float:ddInteriorA,
  63.     ddInt,
  64.     ddIntVW,
  65.     ddExtVw,
  66.     ddExtInt,
  67.     ddName[32],
  68.     ddLevel,
  69.     ddAdmin,
  70.     ddVehicleAble,
  71.     ddPickupType,
  72.     ddColor,
  73.     ddLock,
  74.     Text3D:ddLabel,
  75.     ddCreate,
  76. }
  77. new DoorInfo[MAX_DOORS][ddInfo];
  78.  
  79. public OnFilterScriptInit()
  80. {
  81.     SetTimer("LoadAll",3000,false);
  82.     for(new v = 0; v < sizeof(CreatedVehs); v++)
  83.     {
  84.         CreatedVehs[v] = INVALID_VEHICLE_ID;
  85.     }
  86.     return 1;
  87. }
  88.  
  89. public OnFilterScriptExit()
  90. {
  91.     return 1;
  92. }
  93.  
  94.  
  95. public OnPlayerRequestClass(playerid, classid)
  96. {
  97.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  98.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  99.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  100.     return 1;
  101. }
  102.  
  103. public OnPlayerConnect(playerid)
  104. {
  105.     return 1;
  106. }
  107.  
  108. public OnPlayerDisconnect(playerid, reason)
  109. {
  110.     if(SHSLoggedIn[playerid] == 1) { SHSLoggedIn[playerid] = 0; SCM(playerid,"Disconnected from SHS,Stuff saved at scriptfiles/logs/shs.txt");}
  111.     return 1;
  112. }
  113.  
  114. public OnPlayerSpawn(playerid)
  115. {
  116.     return 1;
  117. }
  118.  
  119. public OnPlayerDeath(playerid, killerid, reason)
  120. {
  121.     return 1;
  122. }
  123.  
  124. public OnVehicleSpawn(vehicleid)
  125. {
  126.     return 1;
  127. }
  128.  
  129. public OnVehicleDeath(vehicleid, killerid)
  130. {
  131.     return 1;
  132. }
  133.  
  134. public OnPlayerText(playerid, text[])
  135. {
  136.     return 1;
  137. }
  138.  
  139.  
  140. //---------------------------------------------------[ZCMD Commands]------------------------------------------------------------
  141.  
  142.  
  143. cmdp:(shslogin)
  144. {
  145.     if(SHSLoggedIn[playerid] == 1) return SCM(playerid,"You are already logged into SHS !");
  146.     ShowPlayerDialog(playerid,DIALOG_SHSLOGIN,DIALOG_STYLE_INPUT,"Login SHS","Please enter the server's SHS Default password","Okey","");
  147.     return 1;
  148. }
  149.  
  150. cmdp:(mpos)
  151. {
  152.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  153.     new input[24],saveinput[256];
  154.     if(sscanf(params,"s[24]",input)) return SCM(playerid,"USAGE: /mpos [savename]");
  155.     GetPlayerPosData(playerid);
  156.     format(saveinput,sizeof(saveinput),"X [%f] Y[%f] Z[%f] I[%i] VW[%i] %s",GFFP[playerid][0],GFFP[playerid][1],GFFP[playerid][2],GIFP[playerid][0],GIFP[playerid][1],input);
  157.     SCM(playerid,saveinput);
  158.     Log("/logs/mpos.txt",saveinput);
  159.     return 1;
  160. }
  161.  
  162. cmdp:(svw)
  163. {
  164.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  165.     new id,vwid;
  166.     if(sscanf(params,"ri",id,vwid)) return SCM(playerid,"USAGE: /svw [playerid/partofname] [virtualworld]");
  167.     if(!IsPlayerConnected(id)) return SCM(playerid,"Wrong player ID");
  168.     SetPlayerVirtualWorld(id,vwid);
  169.     new string[256];
  170.     format(string,sizeof(string),"[%d-%d-%d] %s has set %s's virtual world to %i.",GetDay(),GetMonth(),GetYear(),GetPName(playerid),GetPName(id),vwid);
  171.     Log("/logs/shscmds.txt",string);
  172.     if(id == playerid)
  173.     {
  174.         format(string,sizeof(string),"You have set your own virtual world to %i",vwid);
  175.         SCM(playerid,string);
  176.         return 1;
  177.     }else{
  178.         format(string,sizeof(string),"You have set %s's virtual world to %i",GetPName(id),vwid);
  179.         SCM(playerid,string);
  180.         format(string,sizeof(string),"%s Has set your virtual world to %i",GetPName(playerid),vwid);
  181.         SCM(id,string);
  182.     }
  183.     return 1;
  184. }
  185.  
  186. cmdp:(sint)
  187. {
  188.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  189.     new id,interior;
  190.     if(sscanf(params,"ri",id,interior)) return SCM(playerid,"USAGE: /svw [playerid/partofname] [interior]");
  191.     if(!IsPlayerConnected(id)) return SCM(playerid,"Wrong player ID");
  192.     SetPlayerInterior(id,interior);
  193.     new string[256];
  194.     format(string,sizeof(string),"[%d-%d-%d] %s has set %s's interior to %i.",GetDay(),GetMonth(),GetYear(),GetPName(playerid),GetPName(id),interior);
  195.     Log("/logs/shscmds.txt",string);
  196.     if(id == playerid)
  197.     {
  198.         SetPlayerInterior(id,interior);
  199.         format(string,sizeof(string),"You have set your own interior to %i",interior);
  200.         SCM(playerid,string);
  201.         return 1;
  202.     }else{
  203.         SetPlayerInterior(id,interior);
  204.         format(string,sizeof(string),"You have set %s's interior to %i",GetPName(id),interior);
  205.         SCM(playerid,string);
  206.         format(string,sizeof(string),"%s Has set your interior to %i",GetPName(playerid),interior);
  207.         SCM(id,string);
  208.     }
  209.     return 1;
  210. }
  211.  
  212. //-----------------------------------------------------[ZCMD Commands / Dynamic Map Icons]--------------------------------------------------------
  213. cmdp:(dmp)
  214. {
  215.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  216.     new input[32],id,value;
  217.     if(sscanf(params,"s[32]dD",input,id,value))
  218.     {
  219.         SCM(playerid,"USAGE: /dmp [name] [dmpid] [(optional)value]");
  220.         return SCM(playerid,"Available names : [NON _ CASE SENSITIVE] Position, Model, Color, VirtualWorld, Interior, Delete");
  221.     }
  222.     if(id < 0 || id > MAX_DMP) return SCM(playerid,"ID Must be from 0 till 400");
  223.     if(strcmp(input,"position",true) == 0)
  224.     {
  225.         GetPlayerPosData(playerid);
  226.         DMPInfo[id][dPosX] = GFFP[playerid][0];
  227.         DMPInfo[id][dPosY] = GFFP[playerid][1];
  228.         DMPInfo[id][dPosZ] = GFFP[playerid][2];
  229.         DMPInfo[id][dInt] = GIFP[playerid][0];
  230.         DMPInfo[id][dVw] = GIFP[playerid][1];
  231.         SaveDMPS();
  232.         LoadDMPS();
  233.         SCM(playerid,"You have set the position.");
  234.     }
  235.     if(strcmp(input,"model",true) == 0)
  236.     {
  237.         DMPInfo[id][dModel] = value;
  238.         SaveDMPS();
  239.         LoadDMPS();
  240.         SCM(playerid,"You have set the model.");
  241.     }
  242.     if(strcmp(input,"color",true) == 0)
  243.     {
  244.         DMPInfo[id][dColor] = value;
  245.         SaveDMPS();
  246.         LoadDMPS();
  247.         SCM(playerid,"You have set the color.");
  248.     }
  249.     if(strcmp(input,"virtualworld",true) == 0)
  250.     {
  251.         DMPInfo[id][dVw] = value;
  252.         SaveDMPS();
  253.         LoadDMPS();
  254.         SCM(playerid,"You have set the virtual world.");
  255.     }
  256.     if(strcmp(input,"interior",true) == 0)
  257.     {
  258.         DMPInfo[id][dInt] = value;
  259.         SaveDMPS();
  260.         LoadDMPS();
  261.         SCM(playerid,"You have set the interior.");
  262.     }
  263.     if(strcmp(input,"delete",true) == 0)
  264.     {
  265.         DMPInfo[id][dPosX] = 0;
  266.         DMPInfo[id][dPosY] = 0;
  267.         DMPInfo[id][dPosZ] = 0;
  268.         DMPInfo[id][dInt] = 0;
  269.         DMPInfo[id][dVw] = 0;
  270.         DMPInfo[id][dModel] = 0;
  271.         DMPInfo[id][dColor] = 0;
  272.         DMPInfo[id][dVw] = 0;
  273.         DMPInfo[id][dCreated] = 0;
  274.         SCM(playerid,"You have deleted the dmp!");
  275.         SaveDMPS();
  276.         LoadDMPS();
  277.     }
  278.    
  279.     return 1;
  280. }
  281.  
  282. cmdp:(dmpnext)
  283. {
  284.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  285.     new input[24];
  286.     SCM(playerid,"Next available dynamic map icon : ");
  287.     for(new d = 0; d <= MAX_DMP; d++)
  288.     {
  289.         if(DMPInfo[d][dPosX] == 0 && DMPInfo[d][dPosY] == 0 && DMPInfo[d][dPosZ] == 0)
  290.         {
  291.             format(input,sizeof(input),"Next : %d",d);
  292.             SCM(playerid,input);
  293.             break;
  294.         }
  295.     }
  296.     return 1;
  297. }
  298.  
  299. cmdp:(dmpclose)
  300. {
  301.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  302.     GetPlayerPosData(playerid);
  303.     new input[64];
  304.     SCM(playerid,"Listin closest DMPS....");
  305.     for(new d = 0; d <= MAX_DMP; d++)
  306.     {
  307.         if(IsPlayerInRangeOfPoint(playerid,15.0,DMPInfo[d][dPosX],DMPInfo[d][dPosY],DMPInfo[d][dPosZ]))
  308.         {
  309.             format(input,sizeof(input),"DMP %d ( model %d ) is near to you.",d,DMPInfo[d][dModel]);
  310.             SCM(playerid,input);
  311.         }
  312.     }
  313.     return 1;
  314. }
  315.  
  316. //-----------------------------------------------------------------[ZCMD/Dynamic 3D Text Labels]------------------------------------------------
  317. cmdp:(3dlabel)
  318. {
  319.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  320.     new input[32],id,value;
  321.     if(sscanf(params,"s[32]dD",input,id,value))
  322.     {
  323.         SCM(playerid,"USAGE: /3dlabel [name] [labelID] [(optional)value]");
  324.         SCM(playerid,"/3dtext to edit the text");
  325.         return SCM(playerid,"Available names : [NON _ CASE SENSITIVE] Position, Color, VirtualWorld, Interior, Distance, Delete");
  326.     }
  327.     if(id < 0 || id > MAX_LABELS) return SCM(playerid,"ID Must be from 0 till 800");
  328.     if(strcmp(input,"position",true) == 0)
  329.     {
  330.         GetPlayerPosData(playerid);
  331.         LabelInfo[id][lPosX] = GFFP[playerid][0];
  332.         LabelInfo[id][lPosY] = GFFP[playerid][1];
  333.         LabelInfo[id][lPosZ] = GFFP[playerid][2];
  334.         LabelInfo[id][lInt] = GIFP[playerid][0];
  335.         LabelInfo[id][lVw] = GIFP[playerid][1];
  336.         SaveLabels();
  337.         LoadLabels();
  338.         SCM(playerid,"You have set the position !");
  339.     }
  340.     if(strcmp(input,"color",true) == 0)
  341.     {
  342.         if(value > 6 || value < 0) return SCM(playerid,"Color must be from 0 till 6");
  343.         LabelInfo[id][lColor] = value;
  344.         SaveLabels();
  345.         LoadLabels();
  346.         SCM(playerid,"You have set the color !");
  347.     }
  348.     if(strcmp(input,"VirtualWorld",true) == 0)
  349.     {
  350.         LabelInfo[id][lVw] = value;
  351.         SaveLabels();
  352.         LoadLabels();
  353.         SCM(playerid,"You have set the virtual world !");
  354.     }
  355.     if(strcmp(input,"interior",true) == 0)
  356.     {
  357.         LabelInfo[id][lInt] = value;
  358.         SaveLabels();
  359.         LoadLabels();
  360.         SCM(playerid,"You have set the interior !");
  361.     }
  362.     if(strcmp(input,"distance",true) == 0)
  363.     {
  364.         LabelInfo[id][lDistance] = value;
  365.         SaveLabels();
  366.         LoadLabels();
  367.         SCM(playerid,"You have set the distance !");
  368.     }
  369.     if(strcmp(input,"delete",true) == 0)
  370.     {
  371.         LabelInfo[id][lPosX] = 0;
  372.         LabelInfo[id][lPosY] = 0;
  373.         LabelInfo[id][lPosZ] = 0;
  374.         LabelInfo[id][lInt] = 0;
  375.         LabelInfo[id][lVw] = 0;
  376.         LabelInfo[id][lColor] = 0;
  377.         SaveLabels();
  378.         LoadLabels();
  379.         SCM(playerid,"You have deleted the label !");
  380.     }
  381.     return 1;
  382. }
  383.  
  384. cmdp:(3dnext)
  385. {
  386.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  387.     new input[24];
  388.     SCM(playerid,"Next available dynamic 3d text labels : ");
  389.     for(new l = 0; l <= MAX_LABELS; l++)
  390.     {
  391.         if(LabelInfo[l][lPosX] == 0 && LabelInfo[l][lPosY] == 0 &&LabelInfo[l][lPosZ] == 0)
  392.         {
  393.             format(input,sizeof(input),"Next : %d",l);
  394.             SCM(playerid,input);
  395.             break;
  396.         }
  397.     }
  398.     return 1;
  399. }
  400.  
  401. cmdp:(3dtext)
  402. {
  403.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  404.     new input[42],id;
  405.     if(sscanf(params,"is[42]",id,input))
  406.     {
  407.         SCM(playerid,"USAGE: /3dtext [labelID] [text]");
  408.         return 1;
  409.     }
  410.     if(id < 0 || id > MAX_LABELS) return SCM(playerid,"ID Must be from 0 till 800");
  411.     strmid(LabelInfo[id][lText],input,0,strlen(input),255);
  412.     SCM(playerid,"You have set the text !");
  413.     SaveLabels();
  414.     LoadLabels();
  415.     return 1;
  416. }
  417.  
  418. cmdp:(3dclose)
  419. {
  420.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  421.     new input[42];
  422.     SCM(playerid,"Listin closest 3d text labels ....");
  423.     for(new l = 0; l <= MAX_LABELS; l++)
  424.     {
  425.         if(IsPlayerInRangeOfPoint(playerid,7.0,LabelInfo[l][lPosX],LabelInfo[l][lPosY],LabelInfo[l][lPosZ]))
  426.         {
  427.             format(input,sizeof(input),"Label %d is near to you.",l);
  428.             SCM(playerid,input);
  429.         }
  430.     }
  431.     return 1;
  432. }
  433.  
  434.  
  435. //--------------------------------------------------------[ZCMD / Dynamic Doors]--------------------------------------------------------------------
  436.  
  437. cmdp:(door)
  438. {
  439.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  440.     new input[32],id,value;
  441.     if(sscanf(params,"s[32]dD",input,id,value))
  442.     {
  443.         SCM(playerid,"USAGE: /door [name] [doorID] [(optional)value]");
  444.         SCM(playerid,"/doorname to edit the text");
  445.         return SCM(playerid,"Available names : [NON _ CASE SENSITIVE] Exterior, Color, Interior, Delete, Lock, PickupType, Level, VehicleAble, Admin");
  446.     }
  447.     if(id < 0 || id > MAX_DOORS) return SCM(playerid,"ID Must be from 0 till 1000");
  448.  
  449.     if(strcmp(input,"exterior",true) == 0)
  450.     {
  451.         GetPlayerPosData(playerid);
  452.         DoorInfo[id][ddExteriorX] = GFFP[playerid][0];
  453.         DoorInfo[id][ddExteriorY] = GFFP[playerid][1];
  454.         DoorInfo[id][ddExteriorZ] = GFFP[playerid][2];
  455.         DoorInfo[id][ddExteriorA] = GFFP[playerid][3];
  456.         DoorInfo[id][ddExtVw] = GIFP[playerid][1];
  457.         DoorInfo[id][ddExtInt] = GIFP[playerid][0];
  458.         SaveDoors();
  459.         LoadDoors();
  460.         SCM(playerid,"You have set the exterior !");
  461.     }
  462.     if(strcmp(input,"interior",true) == 0)
  463.     {
  464.         GetPlayerPosData(playerid);
  465.         DoorInfo[id][ddInteriorX] = GFFP[playerid][0];
  466.         DoorInfo[id][ddInteriorY] = GFFP[playerid][1];
  467.         DoorInfo[id][ddInteriorZ] = GFFP[playerid][2];
  468.         DoorInfo[id][ddInteriorA] = GFFP[playerid][3];
  469.         DoorInfo[id][ddIntVW] = id+1000;
  470.         DoorInfo[id][ddInt] = GIFP[playerid][0];
  471.         SetPlayerVirtualWorld(playerid,id+1000);
  472.         SaveDoors();
  473.         LoadDoors();
  474.         SCM(playerid,"You have set the interior !");
  475.     }
  476.     if(strcmp(input,"color",true) == 0)
  477.     {
  478.         //0-9
  479.         if(value < 0 || value > 9) return SCM(playerid,"Color must be from 0 till 9");
  480.         DoorInfo[id][ddColor] = value;
  481.         SaveDoors();
  482.         LoadDoors();
  483.         SCM(playerid,"You have set the color !");
  484.     }
  485.     if(strcmp(input,"Lock",true) == 0)
  486.     {
  487.         if(DoorInfo[id][ddLock] == 0)
  488.         {
  489.             DoorInfo[id][ddLock] = 1;
  490.             GameTextForPlayer(playerid,"~n~ ~n~ Door ~r~ Locked",3000,3);
  491.             return 1;
  492.         }
  493.         if(DoorInfo[id][ddLock] == 1)
  494.         {
  495.             DoorInfo[id][ddLock] = 0;
  496.             GameTextForPlayer(playerid,"~n~ ~n~ Door ~g~ Unlocked",3000,3);
  497.  
  498.             return 1;
  499.         }
  500.     }
  501.     if(strcmp(input,"PickupType",true) == 0)
  502.     {
  503.         if(value < 0 || value > 14) return SCM(playerid,"Pickup ID must be from 0 till 14");
  504.         DoorInfo[id][ddPickupType] = value;
  505.         SaveDoors();
  506.         LoadDoors();
  507.         SCM(playerid,"You have set the pickup model !");
  508.     }
  509.     if(strcmp(input,"Level",true) == 0)
  510.     {
  511.         DoorInfo[id][ddLevel] = value;
  512.         SaveDoors();
  513.         SCM(playerid,"You have set the Level !");
  514.     }
  515.     if(strcmp(input,"Admin",true) == 0)
  516.     {
  517.         if(DoorInfo[id][ddAdmin] == 0)
  518.         {
  519.             DoorInfo[id][ddAdmin] = 1;
  520.             SCM(playerid,"The door will now work for (RCON)admins only !");
  521.             SaveDoors();
  522.             return 1;
  523.         }
  524.         if(DoorInfo[id][ddAdmin] == 1)
  525.         {
  526.             DoorInfo[id][ddAdmin] = 0;
  527.             SCM(playerid,"The door will now work for all players !");
  528.             SaveDoors();
  529.             return 1;
  530.         }
  531.     }
  532.     if(strcmp(input,"VehicleAble",true) == 0)
  533.     {
  534.         DoorInfo[id][ddVehicleAble] = value;
  535.         SCM(playerid,"You have set vehicle able !");
  536.         SaveDoors();
  537.         return 1;
  538.     }
  539.     if(strcmp(input,"Delete",true) == 0)
  540.     {
  541.         DoorInfo[id][ddInteriorX] = 0;
  542.         DoorInfo[id][ddInteriorY] = 0;
  543.         DoorInfo[id][ddInteriorZ] = 0;
  544.         DoorInfo[id][ddInteriorA] = 0;
  545.         DoorInfo[id][ddIntVW] = 0;
  546.         DoorInfo[id][ddInt] = 0;
  547.         DoorInfo[id][ddExteriorX] = 0;
  548.         DoorInfo[id][ddExteriorY] = 0;
  549.         DoorInfo[id][ddExteriorZ] = 0;
  550.         DoorInfo[id][ddExteriorA] = 0;
  551.         DoorInfo[id][ddIntVW] = 0;
  552.         DoorInfo[id][ddInt] = 0;
  553.         DoorInfo[id][ddColor] = 0;
  554.         DoorInfo[id][ddAdmin] = 0;
  555.         DoorInfo[id][ddLevel] = 0;
  556.         DoorInfo[id][ddPickupType] = 0;
  557.         SaveDoors();
  558.         LoadDoors();
  559.         SCM(playerid,"You have set the interior !");
  560.     }
  561.     return 1;
  562. }
  563.  
  564. cmdp:(dnext)
  565. {
  566.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  567.     SCM(playerid,"Next available door ID :");
  568.     new input[32];
  569.     for(new index = 0; index < MAX_DOORS; index++)
  570.     {
  571.         if(DoorInfo[index][ddExteriorX] == 0 && DoorInfo[index][ddExteriorY] != 0 && DoorInfo[index][ddExteriorZ] == 0 && DoorInfo[index][ddExteriorA] == 0)
  572.         {
  573.             format(input,sizeof(input),"%d",index);
  574.             SCM(playerid,input);
  575.             break;
  576.         }
  577.     }
  578.     return 1;
  579. }
  580.  
  581. cmdp:(dname)
  582. {
  583.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  584.     new input[32],id;
  585.     if(sscanf(params,"is[32]",id,input)) return SCM(playerid,"USAGE: /dname [doorID] [text(DOOR_NAME)]");
  586.     if(id < 0 || id > MAX_DOORS) return SCM(playerid,"Door id must be from 0 till 1000");
  587.     strmid(DoorInfo[id][ddName],input,0,strlen(input),255);
  588.     SCM(playerid,"You have set the door's name !");
  589.     SaveDoors();
  590.     LoadDoors();
  591.     return 1;
  592. }
  593.  
  594. cmdp:(dgoto)
  595. {
  596.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  597.     new id;
  598.     if(sscanf(params,"i",id)) return SCM(playerid,"USAGE: /dgoto [doorID]");
  599.     if(id < 0 || id > MAX_DOORS) return SCM(playerid,"Door id must be from 0 till 1000");
  600.     if(DoorInfo[id][ddExteriorX] == 0) return SCM(playerid,"Door doesnt exist !");
  601.     SetPlayerPos(playerid,DoorInfo[id][ddExteriorX],DoorInfo[id][ddExteriorY],DoorInfo[id][ddExteriorZ]);
  602.     SetPlayerFacingAngle(playerid,DoorInfo[id][ddExteriorA]);
  603.     SetPlayerVirtualWorld(playerid,DoorInfo[id][ddExtVw]);
  604.     SetPlayerInterior(playerid,DoorInfo[id][ddExtInt]);
  605.     SCM(playerid,"You have been teleported !");
  606.     return 1;
  607. }
  608.  
  609. cmdp:(enter)
  610. {
  611.     for(new index = 0; index < sizeof(DoorInfo); index++)
  612.     {
  613.         if(IsPlayerInRangeOfPoint(playerid,3.0,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]) && GetPlayerVirtualWorld(playerid) == DoorInfo[index][ddExtVw] && GetPlayerInterior(playerid) == DoorInfo[index][ddExtInt])
  614.         {
  615.             if(DoorInfo[index][ddAdmin] > 0 && !IsPlayerAdmin(playerid)) return SCM(playerid,"This door is enabled for admins only !");
  616.             if(GetPlayerScore(playerid) < DoorInfo[index][ddLevel]) return SCM(playerid,"Your level isnt high enough to enter this door !");
  617.             if(DoorInfo[index][ddLock] > 0) return SCM(playerid,"This door is locked !");
  618.             SetPlayerInterior(playerid,DoorInfo[index][ddInt]);
  619.             SetPlayerVirtualWorld(playerid,DoorInfo[index][ddIntVW]);
  620.             if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER && DoorInfo[index][ddVehicleAble] > 0)
  621.             {
  622.                 new vid = GetPlayerVehicleID(playerid);
  623.                 SetVehiclePos(vid,DoorInfo[index][ddInteriorX],DoorInfo[index][ddInteriorY],DoorInfo[index][ddInteriorZ]);
  624.                 SetVehicleZAngle(vid,DoorInfo[index][ddInteriorA]);
  625.                 SetVehicleVirtualWorld(vid,DoorInfo[index][ddIntVW]);
  626.                 LinkVehicleToInterior(vid,DoorInfo[index][ddInt]);
  627.                 return 1;
  628.             }else{
  629.                 SetPlayerPos(playerid,DoorInfo[index][ddInteriorX],DoorInfo[index][ddInteriorY],DoorInfo[index][ddInteriorZ]);
  630.                 SetPlayerFacingAngle(playerid,DoorInfo[index][ddInteriorA]);
  631.             }
  632.            
  633.         }
  634.     }
  635.     return 1;
  636. }
  637.  
  638. cmdp:(exit)
  639. {
  640.     for(new index = 0; index < sizeof(DoorInfo); index++)
  641.     {
  642.         if(IsPlayerInRangeOfPoint(playerid,3.0,DoorInfo[index][ddInteriorX],DoorInfo[index][ddInteriorY],DoorInfo[index][ddInteriorZ]) && GetPlayerVirtualWorld(playerid) == DoorInfo[index][ddIntVW] && GetPlayerInterior(playerid) == DoorInfo[index][ddInt])
  643.         {
  644.             SetPlayerInterior(playerid,DoorInfo[index][ddExtInt]);
  645.             SetPlayerVirtualWorld(playerid,DoorInfo[index][ddExtVw]);
  646.             if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER && DoorInfo[index][ddVehicleAble] > 0)
  647.             {
  648.                 new vid = GetPlayerVehicleID(playerid);
  649.                 SetVehiclePos(vid,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]);
  650.                 SetVehicleZAngle(vid,DoorInfo[index][ddExteriorA]);
  651.                 SetVehicleVirtualWorld(vid,DoorInfo[index][ddExtVw]);
  652.                 LinkVehicleToInterior(vid,DoorInfo[index][ddExtInt]);
  653.                 return 1;
  654.             }else{
  655.                 SetPlayerPos(playerid,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]);
  656.                 SetPlayerFacingAngle(playerid,DoorInfo[index][ddExteriorA]);
  657.             }
  658.         }
  659.        
  660.     }
  661.     return 1;
  662. }
  663.  
  664. cmdp:(cv)
  665. {
  666.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  667.     new model,c1,c2;
  668.     if(sscanf(params,"iii",model,c1,c2)) return SCM(playerid,"USAGE: /cv [modelID] [color1] [color2]");
  669.     for (new iii; iii < sizeof(CreatedVehs); iii++)
  670.     {
  671.         if(CreatedVehs[iii] == INVALID_VEHICLE_ID)
  672.         {
  673.             GetPlayerPosData(playerid);
  674.             CreatedVehs[iii] = CreateVehicle(model,GFFP[playerid][0],GFFP[playerid][1]+2,GFFP[playerid][2],GFFP[playerid][3],c1,c2,1200);
  675.             LinkVehicleToInterior(iii,GIFP[playerid][0]);
  676.             SetVehicleVirtualWorld(iii,GIFP[playerid][1]);
  677.             SCM(playerid,"Vehicle created !");
  678.             break;
  679.         }
  680.     }
  681.     return 1;
  682. }
  683.  
  684. cmdp:(dvs)
  685. {
  686.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  687.     for(new i = 0; i < sizeof(CreatedVehs); i++)
  688.     {
  689.         if(CreatedVehs[i] != INVALID_VEHICLE_ID)
  690.         {
  691.             DestroyVehicle(CreatedVehs[i]);
  692.             CreatedVehs[i] = INVALID_VEHICLE_ID;
  693.         }
  694.     }
  695.     SCM(playerid,"Destroyed all created ( /cv ) vehicles");
  696.  
  697.     return 1;
  698. }
  699.  
  700. cmdp:(dv)
  701. {
  702.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  703.     if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,"You are not in any vehicle !");
  704.     new bool:bl = false, ind = INVALID_VEHICLE_ID;
  705.     if(IsPlayerInAnyVehicle(playerid))
  706.     {
  707.         for(new i = 0; i < sizeof(CreatedVehs); i++)
  708.         {
  709.             if(!bl)
  710.             {
  711.                 if(CreatedVehs[i] == GetPlayerVehicleID(playerid))
  712.                 {
  713.                     bl = true;
  714.                     ind = i;
  715.                 }
  716.             }
  717.         }
  718.         if(ind != INVALID_VEHICLE_ID)
  719.         {
  720.             new carid = GetPlayerVehicleID(playerid);
  721.             DestroyVehicle(carid);
  722.             CreatedVehs[ind] = INVALID_VEHICLE_ID;
  723.             return SCM(playerid,"Vehicle destroyed !");
  724.         }
  725.  
  726.     }
  727.     return 1;
  728. }
  729.  
  730. cmdp:(getv)
  731. {
  732.     if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
  733.     new id;
  734.     if(sscanf(params,"i",id)) return SCM(playerid,"USAGE: /getv [vehicleid]");
  735.     GetPlayerPosData(playerid);
  736.     SetVehiclePos(id,GFFP[playerid][0],GFFP[playerid][1],GFFP[playerid][2]);
  737.     SetVehicleZAngle(id,GFFP[playerid][3]);
  738.     LinkVehicleToInterior(id,GIFP[playerid][0]);
  739.     SetVehicleVirtualWorld(id,GIFP[playerid][1]);
  740.     return 1;
  741. }
  742.  
  743. cmdp:(shshelp)
  744. {
  745.     SCM(playerid,"Basic : /cv [ create vehicle ] | /dvs [ destroy all /cv vehicles ] | /dv [ destroy specefic vehicle ]");
  746.     SCM(playerid,"Basic2: /mpos [ get and save your pos to a log ] | /shslogin login to shs");
  747.     SCM(playerid,"DMP : /dmp [ edit dmp ] | /dmpclose [ nearest dmps ] | /dmpnext [ next DMP ID Available ]");
  748.     SCM(playerid,"3DTextLabels : /3dlabel [ edit dynamic 3dtext label ] | /3dnext [ find next 3d ID Available ] | /3dclose [ nearest labels ]");
  749.     SCM(playerid,"Doors : /door [ edit a door ] | /dnext [ next door ID available ] | /dname [ edit doors name ] | /dgoto [ goto specefic door ]");
  750.     return 1;
  751. }
  752.  
  753. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  754. {
  755.     if(SHSLoggedIn[playerid] == 1) { SCM(playerid,"/dl to see vehicle info");}
  756.     return 1;
  757. }
  758.  
  759. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  760. {
  761.     if(dialogid == DIALOG_SHSLOGIN)
  762.     {
  763.         if(response)
  764.         {
  765.             if(strcmp(inputtext,SHS_PASS,true) == 0)
  766.             {
  767.                 SHSLoggedIn[playerid] = 1;
  768.                 SCM(playerid,"You are logged into SHS !");
  769.             }else return SCM(playerid,"Wrong password !");
  770.         }
  771.     }
  772.     return 1;
  773. }
  774.  
  775. forward SCM(playerid,string[]);
  776. public SCM(playerid,string[])
  777. {
  778.     SendClientMessage(playerid,COLOR_YELLOW,string);
  779.     return 1;
  780. }
  781.  
  782. forward Log(logtype[],string[]);
  783. public Log(logtype[],string[])
  784. {
  785.     new File: LogFile = fopen(logtype,io_append);
  786.     new stringformat[256];
  787.     format(stringformat,sizeof(stringformat),"%s\r\n",string);
  788.     fwrite(LogFile,stringformat);
  789.     fclose(LogFile);
  790.     return 1;
  791. }
  792.  
  793. public LoadAll()
  794. {
  795.     LoadDMPS();
  796.     LoadLabels();
  797.     LoadDoors();
  798.     printf("All DMPS , 3DTextLabels, And Doors loaded !");
  799.     return 1;
  800. }
  801.  
  802. SaveDMPS()
  803. {
  804.     new szFileInput[1024],File:fHandle = fopen("/cfgs/dmp.ini",io_write);
  805.     for(new d = 0; d < MAX_DMP; d++)
  806.     {
  807.         format(szFileInput,sizeof(szFileInput),"%f|%f|%f|%i|%i|%i|%i|%i\r\n",
  808.         DMPInfo[d][dPosX],
  809.         DMPInfo[d][dPosY],
  810.         DMPInfo[d][dPosZ],
  811.         DMPInfo[d][dModel],
  812.         DMPInfo[d][dColor],
  813.         DMPInfo[d][dVw],
  814.         DMPInfo[d][dInt],
  815.         DMPInfo[d][dCreated]
  816.         );
  817.         fwrite(fHandle,szFileInput);
  818.     }
  819.     return fclose(fHandle);
  820. }
  821.  
  822. LoadDMPS()
  823. {
  824.     if(!fexist("/cfgs/dmp.ini")) return 1;
  825.     new szFileInput[1024],File:fHandle = fopen("/cfgs/dmp.ini",io_read),index = 0;
  826.     while(index < sizeof(DMPInfo) && fread(fHandle,szFileInput))
  827.     {
  828.         sscanf(szFileInput,"p<|>fffiiiii",
  829.         DMPInfo[index][dPosX],
  830.         DMPInfo[index][dPosY],
  831.         DMPInfo[index][dPosZ],
  832.         DMPInfo[index][dModel],
  833.         DMPInfo[index][dColor],
  834.         DMPInfo[index][dVw],
  835.         DMPInfo[index][dInt],
  836.         DMPInfo[index][dCreated]
  837.         );
  838.         DestroyDynamicMapIcon(DMPInfo[index][dCreate]);
  839.         if(DMPInfo[index][dPosX] != 0 && DMPInfo[index][dPosY] != 0 && DMPInfo[index][dPosZ] != 0)
  840.         {
  841.         DMPInfo[index][dCreate] = CreateDynamicMapIcon(DMPInfo[index][dPosX],DMPInfo[index][dPosY],DMPInfo[index][dPosZ],DMPInfo[index][dModel],DMPInfo[index][dColor],DMPInfo[index][dVw],DMPInfo[index][dInt],-1,100.0);
  842.         }
  843.         ++index;
  844.     }
  845.     return fclose(fHandle);
  846. }
  847.  
  848. SaveLabels()
  849. {
  850.     new szFileInput[1024],File:fHandle = fopen("/cfgs/3dlabels.ini",io_write);
  851.     for(new l = 0; l < MAX_LABELS; l++)//Note:this is AEL not AY
  852.     {
  853.         format(szFileInput,sizeof(szFileInput),"%f|%f|%f|%f|%i|%i|%i|%s\r\n",
  854.         LabelInfo[l][lPosX],
  855.         LabelInfo[l][lPosY],
  856.         LabelInfo[l][lPosZ],
  857.         LabelInfo[l][lDistance],
  858.         LabelInfo[l][lColor],
  859.         LabelInfo[l][lVw],
  860.         LabelInfo[l][lInt],
  861.         LabelInfo[l][lText]
  862.         );
  863.         fwrite(fHandle,szFileInput);
  864.     }
  865.     return fclose(fHandle);
  866. }
  867.  
  868. LoadLabels()
  869. {
  870.     if(!fexist("/cfgs/3dlabels.ini")) return 1;
  871.     new szFileInput[2520],File:fHandle = fopen("/cfgs/3dlabels.ini",io_read),index = 0;
  872.     while(index < sizeof(LabelInfo) && fread(fHandle,szFileInput))
  873.     {
  874.         sscanf(szFileInput,"p<|>ffffiiis[42]",
  875.         LabelInfo[index][lPosX],
  876.         LabelInfo[index][lPosY],
  877.         LabelInfo[index][lPosZ],
  878.         LabelInfo[index][lDistance],
  879.         LabelInfo[index][lColor],
  880.         LabelInfo[index][lVw],
  881.         LabelInfo[index][lInt],
  882.         LabelInfo[index][lText]
  883.         );
  884.         DestroyDynamic3DTextLabel(LabelInfo[index][lCreate]);
  885.         if(LabelInfo[index][lPosX] != 0 && LabelInfo[index][lPosY] != 0 && LabelInfo[index][lPosZ] != 0)
  886.         {
  887.             if(LabelInfo[index][lColor] == 0)
  888.             {
  889.             LabelInfo[index][lCreate] = CreateDynamic3DTextLabel(LabelInfo[index][lText],-1,LabelInfo[index][lPosX],LabelInfo[index][lPosY],LabelInfo[index][lPosZ],LabelInfo[index][lDistance],INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,LabelInfo[index][lVw],LabelInfo[index][lInt],-1,LabelInfo[index][lDistance]);
  890.             }
  891.             if(LabelInfo[index][lColor] == 1)
  892.             {
  893.             LabelInfo[index][lCreate] = CreateDynamic3DTextLabel(LabelInfo[index][lText],COLOR_YELLOW,LabelInfo[index][lPosX],LabelInfo[index][lPosY],LabelInfo[index][lPosZ],LabelInfo[index][lDistance],INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,LabelInfo[index][lVw],LabelInfo[index][lInt],-1,LabelInfo[index][lDistance]);
  894.             }
  895.             if(LabelInfo[index][lColor] == 2)
  896.             {
  897.             LabelInfo[index][lCreate] = CreateDynamic3DTextLabel(LabelInfo[index][lText],0x00FF00FF,LabelInfo[index][lPosX],LabelInfo[index][lPosY],LabelInfo[index][lPosZ],LabelInfo[index][lDistance],INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,LabelInfo[index][lVw],LabelInfo[index][lInt],-1,LabelInfo[index][lDistance]);
  898.             }
  899.             if(LabelInfo[index][lColor] == 3)
  900.             {
  901.             LabelInfo[index][lCreate] = CreateDynamic3DTextLabel(LabelInfo[index][lText],0xFF0000FF,LabelInfo[index][lPosX],LabelInfo[index][lPosY],LabelInfo[index][lPosZ],LabelInfo[index][lDistance],INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,LabelInfo[index][lVw],LabelInfo[index][lInt],-1,LabelInfo[index][lDistance]);
  902.             }
  903.             if(LabelInfo[index][lColor] == 4)
  904.             {
  905.             LabelInfo[index][lCreate] = CreateDynamic3DTextLabel(LabelInfo[index][lText],0xFF8000FF,LabelInfo[index][lPosX],LabelInfo[index][lPosY],LabelInfo[index][lPosZ],LabelInfo[index][lDistance],INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,LabelInfo[index][lVw],LabelInfo[index][lInt],-1,LabelInfo[index][lDistance]);
  906.             }
  907.             if(LabelInfo[index][lColor] == 5)
  908.             {
  909.             LabelInfo[index][lCreate] = CreateDynamic3DTextLabel(LabelInfo[index][lText],0x000000FF,LabelInfo[index][lPosX],LabelInfo[index][lPosY],LabelInfo[index][lPosZ],LabelInfo[index][lDistance],INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,LabelInfo[index][lVw],LabelInfo[index][lInt],-1,LabelInfo[index][lDistance]);
  910.             }
  911.             if(LabelInfo[index][lColor] == 6)
  912.             {
  913.             LabelInfo[index][lCreate] = CreateDynamic3DTextLabel(LabelInfo[index][lText],0x8000FFFF,LabelInfo[index][lPosX],LabelInfo[index][lPosY],LabelInfo[index][lPosZ],LabelInfo[index][lDistance],INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,LabelInfo[index][lVw],LabelInfo[index][lInt],-1,LabelInfo[index][lDistance]);
  914.             }
  915.         }
  916.         ++index;
  917.     }
  918.     return fclose(fHandle);
  919. }
  920.  
  921. SaveDoors()
  922. {
  923.     new szFileInput[1024],File:fHandle = fopen("/cfgs/doors.ini",io_write);
  924.     for(new d = 0; d < MAX_DOORS; d++)
  925.     {
  926.     format(szFileInput,sizeof(szFileInput),"%f|%f|%f|%f|%f|%f|%f|%f|%i|%i|%i|%i|%s|%i|%i|%i|%i|%i|%i\r\n",
  927.         DoorInfo[d][ddExteriorX],
  928.         DoorInfo[d][ddExteriorY],
  929.         DoorInfo[d][ddExteriorZ],
  930.         DoorInfo[d][ddExteriorA],
  931.         DoorInfo[d][ddInteriorX],
  932.         DoorInfo[d][ddInteriorY],
  933.         DoorInfo[d][ddInteriorZ],
  934.         DoorInfo[d][ddInteriorA],
  935.         DoorInfo[d][ddInt],
  936.         DoorInfo[d][ddIntVW],
  937.         DoorInfo[d][ddExtVw],
  938.         DoorInfo[d][ddExtInt],
  939.         DoorInfo[d][ddName],
  940.         DoorInfo[d][ddLevel],
  941.         DoorInfo[d][ddAdmin],
  942.         DoorInfo[d][ddVehicleAble],
  943.         DoorInfo[d][ddPickupType],
  944.         DoorInfo[d][ddColor],
  945.         DoorInfo[d][ddLock]
  946.         );
  947.     fwrite(fHandle,szFileInput);
  948.     }
  949.     return fclose(fHandle);
  950. }
  951.  
  952. LoadDoors()
  953. {
  954.     if(!fexist("/cfgs/doors.ini")) return 1;
  955.     new szFileInput[1024],File:fHandle = fopen("/cfgs/doors.ini",io_read),index = 0,string[82];
  956.     while(index < sizeof(DoorInfo) && fread(fHandle,szFileInput))
  957.     {
  958.         sscanf(szFileInput,"p<|>ffffffffiiiis[32]iiiiii",
  959.         DoorInfo[index][ddExteriorX],
  960.         DoorInfo[index][ddExteriorY],
  961.         DoorInfo[index][ddExteriorZ],
  962.         DoorInfo[index][ddExteriorA],
  963.         DoorInfo[index][ddInteriorX],
  964.         DoorInfo[index][ddInteriorY],
  965.         DoorInfo[index][ddInteriorZ],
  966.         DoorInfo[index][ddInteriorA],
  967.         DoorInfo[index][ddInt],
  968.         DoorInfo[index][ddIntVW],
  969.         DoorInfo[index][ddExtVw],
  970.         DoorInfo[index][ddExtInt],
  971.         DoorInfo[index][ddName],
  972.         DoorInfo[index][ddLevel],
  973.         DoorInfo[index][ddAdmin],
  974.         DoorInfo[index][ddVehicleAble],
  975.         DoorInfo[index][ddPickupType],
  976.         DoorInfo[index][ddColor],
  977.         DoorInfo[index][ddLock]
  978.         );
  979.         DestroyDynamicPickup(DoorInfo[index][ddCreate]);
  980.         DestroyDynamic3DTextLabel(DoorInfo[index][ddLabel]);
  981.         if(DoorInfo[index][ddExteriorX] != 0 && DoorInfo[index][ddExteriorY] != 0 && DoorInfo[index][ddExteriorZ] != 0 && DoorInfo[index][ddExteriorA] != 0)
  982.         {
  983.             switch(DoorInfo[index][ddPickupType])
  984.             {
  985.                 case 0: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1239,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  986.                 case 1: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1241,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  987.                 case 2: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1242,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  988.                 case 3: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1272,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  989.                 case 4: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1273,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  990.                 case 5: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1313,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  991.                 case 6: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1258,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  992.                 case 7: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1318,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  993.                 case 8: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1559,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  994.                 case 9: { DoorInfo[index][ddCreate] = CreateDynamicPickup(2894,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  995.                 case 10: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1279,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  996.                 case 11: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1274,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  997.                 case 12: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1275,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  998.                 case 13: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1316,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  999.                 case 14: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1314,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  1000.             }
  1001.             format(string,sizeof(string)," %s \n ID : %d",DoorInfo[index][ddName],index);
  1002.             switch(DoorInfo[index][ddColor])
  1003.             {
  1004.                 case 0: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,-1,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  1005.                 case 1: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0x8000FFFF,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  1006.                 case 2: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0xFFFF80FF,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  1007.                 case 3: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0x80FF00FF,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  1008.                 case 4: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0x00FFFFFF,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  1009.                 case 5: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0x0080C0FF,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  1010.                 case 6: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0xFF0000FF,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  1011.                 case 7: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0x0000A0FF1,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  1012.                 case 8: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0xFFFFFFFF,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  1013.                 case 9: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0x000000FF,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
  1014.             }
  1015.         }
  1016.         ++index;
  1017.     }
  1018.     return fclose(fHandle);
  1019. }
  1020.  
  1021. stock GetPName(playerid)
  1022. {
  1023.     new name[MAX_PLAYER_NAME];
  1024.     GetPlayerName(playerid,name,sizeof(name));
  1025.     return name;
  1026. }
  1027. stock GetPlayerPosData(playerid)
  1028. {
  1029.     GetPlayerPos(playerid,GFFP[playerid][0],GFFP[playerid][1],GFFP[playerid][2]);
  1030.     GetPlayerFacingAngle(playerid,GFFP[playerid][3]);
  1031.     GIFP[playerid][0] = GetPlayerInterior(playerid);
  1032.     GIFP[playerid][1] = GetPlayerVirtualWorld(playerid);
  1033.     return 1;
  1034. }
  1035. stock GetDay()
  1036. {
  1037.     new y,m,day;
  1038.     getdate(y,m,day);
  1039.     return day;
  1040. }
  1041. stock GetMonth()
  1042. {
  1043.     new y,month,d;
  1044.     getdate(y,month,d);
  1045.     return month;
  1046. }
  1047. stock GetYear()
  1048. {
  1049.     new year,m,d;
  1050.     getdate(year,m,d);
  1051.     return year;
  1052. }
  1053.  
Advertisement
Add Comment
Please, Sign In to add comment