[Map] LVPD fixed interior
#1

Hello guys, as I decided to use the LVPD interior I fixed it because it has some non-solid zones... nothing special but it's okay if you wanna use it, that's why I share it.

Watch the video to see more:
http://www.youtube.com/watch?v=xcG24AgWhlY

IMPORTANT: some doors appear opened in the video but they are closed by default (I opened them before I started to record).

Objects removed:
  • Beds from the cells (non-solid).
  • Cell doors (all them are the same object, and some are closed).
PHP код:
RemoveBuildingForPlayer(playerid14856198.4688168.67971003.89840.25); /* LVPD Cell Doors */
RemoveBuildingForPlayer(playerid1771190.6406174.74221002.68750.25); /* LVPD Cell Bed */
RemoveBuildingForPlayer(playerid1771194.8750174.74221002.68750.25); /* LVPD Cell Bed */
RemoveBuildingForPlayer(playerid1771199.1328174.74221002.68750.25); /* LVPD Cell Bed */
RemoveBuildingForPlayer(playerid1771188.4922162.02341002.68750.25); /* LVPD Cell Bed */
RemoveBuildingForPlayer(playerid1771192.7266162.02341002.68750.25); /* LVPD Cell Bed */
RemoveBuildingForPlayer(playerid1771196.9844162.02341002.68750.25); /* LVPD Cell Bed */ 
Objects added:
  • New cell doors to be able to open/close.
  • Objects behind the walls to make some zones solid.
PHP код:
/* Door #1 */
CreateDynamicObject(19304,209.0360000,179.1378000,1005.1469700,0.0000000,0.0000000,-90.0000000,-1,3);
CreateDynamicObject(19303,209.0360000,180.0157900,1003.2750200,0.0000000,0.0000000,-90.0000000,-1,3);
Bit16_Set(g_DoorsLVPD1CreateDynamicObject(19302,209.0959900,178.2598000,1003.2750200,0.0000000,0.0000000,-90.0000000,-1,3));
/* Door #2 */
CreateDynamicObject(19304,209.0360000,158.2357900,1005.1469700,0.0000000,0.0000000,-90.0000000,-1,3);
CreateDynamicObject(19303,209.0360000,159.1138000,1003.2750200,0.0000000,0.0000000,-90.0000000,-1,3);
Bit16_Set(g_DoorsLVPD2CreateDynamicObject(19302,209.0959900,157.3578000,1003.2750200,0.0000000,0.0000000,-90.0000000,-1,3));
/* Cell #1 */
CreateDynamicObject(19304,198.0640000,177.0448000,1005.1469700,0.0000000,0.0000000,0.00000000,-1,3);
CreateDynamicObject(19303,197.1860000,177.0448000,1003.2750200,0.0000000,0.0000000,0.0000000,-1,3);
Bit16_Set(g_DoorsLVPD3CreateDynamicObject(19302,198.9420000,177.1048000,1003.2750200,0.0000000,0.0000000,0.0000000,-1,3));
/* Cell #2 */
CreateDynamicObject(19304,193.8179900,177.0448000,1005.1469700,0.0000000,0.0000000,0.0000000,-1,3);
CreateDynamicObject(19303,192.9400000,177.0448000,1003.2750200,0.0000000,0.0000000,0.0000000,-1,3);
Bit16_Set(g_DoorsLVPD4CreateDynamicObject(19302,194.6960000,177.1048000,1003.2750200,0.0000000,0.0000000,0.0000000,-1,3));
/* Cell #3 */
CreateDynamicObject(19304,189.5789900,177.0448000,1005.1469700,0.0000000,0.0000000,0.0000000,-1,3);
CreateDynamicObject(19303,188.7010000,177.0448000,1003.2750200,0.0000000,0.0000000,0.0000000,-1,3);
Bit16_Set(g_DoorsLVPD5CreateDynamicObject(19302,190.4570000,177.1048000,1003.2750200,0.0000000,0.0000000,0.0000000,-1,3));
/* Cell #4 */
CreateDynamicObject(19304,198.0679900,160.3268000,1005.1469700,0.0000000,0.0000000,180.0000000,-1,3);
CreateDynamicObject(19303,198.9460000,160.3268000,1003.2750200,0.0000000,0.0000000,180.0000000,-1,3);
Bit16_Set(g_DoorsLVPD6CreateDynamicObject(19302,197.1900000,160.2668000,1003.2750200,0.0000000,0.0000000,180.0000000,-1,3));
/* Cell #5 */
CreateDynamicObject(19304,193.8280000,160.3268000,1005.1469700,0.0000000,0.0000000,180.0000000,-1,3);
CreateDynamicObject(19303,194.7059900,160.3268000,1003.2750200,0.0000000,0.0000000,180.0000000,-1,3);
Bit16_Set(g_DoorsLVPD7CreateDynamicObject(19302,192.9500000,160.2668000,1003.2750200,0.0000000,0.0000000,180.0000000,-1,3));
/* Cell #6 */
CreateDynamicObject(19304,189.5809900,160.3268000,1005.1469700,0.0000000,0.0000000,180.0000000,-1,3);
CreateDynamicObject(19303,190.4590000,160.3268000,1003.2750200,0.0000000,0.0000000,180.0000000,-1,3);
Bit16_Set(g_DoorsLVPD8CreateDynamicObject(19302,188.7030000,160.2668000,1003.2750200,0.0000000,0.0000000,180.0000000,-1,3));
/* Floor and walls */
CreateDynamicObject(19379,195.0980100,161.0397000,1001.9210800,0.0000000,90.0000000,0.0000000,-1,3);
CreateDynamicObject(19462,188.0980100,161.0397000,1001.9210800,0.0000000,90.0000000,0.0000000,-1,3);
CreateDynamicObject(19379,195.0980100,176.3197000,1001.9210800,0.0000000,90.0000000,0.0000000,-1,3);
CreateDynamicObject(19462,188.0980100,176.3197000,1001.9210800,0.0000000,90.0000000,0.0000000,-1,3);
CreateDynamicObject(19428,195.9346900,176.3210000,1003.7678200,0.0000000,0.0000000,0.0000000,-1,3);
CreateDynamicObject(19428,191.6747000,176.3210000,1003.7678200,0.0000000,0.0000000,0.0000000,-1,3);
CreateDynamicObject(19428,195.9346900,161.0410000,1003.7678200,0.0000000,0.0000000,0.0000000,-1,3);
CreateDynamicObject(19428,191.6747000,161.0410000,1003.7678200,0.0000000,0.0000000,0.0000000,-1,3);
CreateDynamicObject(19447,191.4247000,172.3170000,1003.7678200,0.0000000,0.0000000,0.0000000,-1,3);
CreateDynamicObject(19447,187.7327000,172.3170000,1003.7678200,0.0000000,0.0000000,0.0000000,-1,3);
CreateDynamicObject(19447,191.9667100,172.3170000,1003.7678200,0.0000000,0.0000000,0.0000000,-1,3);
CreateDynamicObject(19428,196.2127100,176.3210000,1003.7678200,0.0000000,0.0000000,0.0000000,-1,3);
CreateDynamicObject(19428,195.6687000,176.3210000,1003.7678200,0.0000000,0.0000000,0.0000000,-1,3);
CreateDynamicObject(19428,196.2207000,161.0410000,1003.7678200,0.0000000,0.0000000,0.0000000,-1,3);
CreateDynamicObject(19447,191.9787000,165.0549900,1003.7678200,0.0000000,0.0000000,0.0000000,-1,3);
CreateDynamicObject(19447,191.4306900,165.0549900,1003.7678200,0.0000000,0.0000000,0.0000000,-1,3);
CreateDynamicObject(19447,195.6806900,165.0549900,1003.7678200,0.0000000,0.0000000,0.0000000,-1,3);
CreateDynamicObject(19447,187.7317000,165.0549900,1003.7678200,0.0000000,0.0000000,0.0000000,-1,3);
CreateDynamicObject(19447,190.9527000,164.0290100,1003.7678200,0.0000000,0.0000000,90.0000000,-1,3); 
I used rBits to save the ids of the doors which move, here's the code I used in my gamemode (adapt it by yourself):
PHP код:
/* Variables. */
new Bit1:g_DoorStateLVPD<9>;
new 
Bit16:g_DoorsLVPD<9>;
/* Script to open/close doors. */
if(IsPlayerInRangeOfPoint(playerid1.5209.0959900178.25980001003.2750200) && GetPlayerInterior(playerid) == 3/* Door #1 LVPD */
{
    if(
Bit1_Get(g_DoorStateLVPD1))
    {
        
Bit1_Set(g_DoorStateLVPD1false);
        
MoveDynamicObject(Bit16_Get(g_DoorsLVPD1), 209.0959900178.25980001003.27502000.80.00.0, -90.0);
        
        
cmd_me(playerid"tira de la puerta y la cierra.");  /* This means it's closing. */
        
    
}
    else
    {
        
Bit1_Set(g_DoorStateLVPD1true);
        
MoveDynamicObject(Bit16_Get(g_DoorsLVPD1), 209.0959900180.01579001003.27502000.80.00.0, -90.0);
        
        
cmd_me(playerid"mete la llave en la cerradura, la gira y abre la puerta."); /* This means it's opening. */
    
}
}
else if(
IsPlayerInRangeOfPoint(playerid1.5209.0959900,157.3578000,1003.2750200) && GetPlayerInterior(playerid) == 3/* Door #2 LVPD */
{
    if(
Bit1_Get(g_DoorStateLVPD2))
    {
        
Bit1_Set(g_DoorStateLVPD2false);
        
MoveDynamicObject(Bit16_Get(g_DoorsLVPD2), 209.09599157.35781003.275020.80.00.0, -90.0);
        
cmd_me(playerid"tira de la puerta y la cierra.");
    }
    else
    {
        
Bit1_Set(g_DoorStateLVPD2true);
        
MoveDynamicObject(Bit16_Get(g_DoorsLVPD2), 209.09599159.11381003.275020.80.00.0, -90.0);
        
cmd_me(playerid"mete la llave en la cerradura, la gira y abre la puerta.");
    }
}
else if(
IsPlayerInRangeOfPoint(playerid1.5198.9420000177.10480001003.2750200) && GetPlayerInterior(playerid) == 3/* Cell #1 LVPD */
{
    if(
Bit1_Get(g_DoorStateLVPD3))
    {
        
Bit1_Set(g_DoorStateLVPD3false);
        
MoveDynamicObject(Bit16_Get(g_DoorsLVPD3), 198.9420000177.10480001003.27502000.80.0,0.0,0.0);
        
cmd_me(playerid"tira de la puerta de la celda y la cierra.");
    }
    else
    {
        
Bit1_Set(g_DoorStateLVPD3true);
        
MoveDynamicObject(Bit16_Get(g_DoorsLVPD3), 197.1860000177.10480001003.27502000.80.0,0.0,0.0);
        
cmd_me(playerid"mete la llave en la cerradura, la gira y abre la puerta de la celda.");
    }
}
else if(
IsPlayerInRangeOfPoint(playerid1.5194.6960000177.10480001003.2750200) && GetPlayerInterior(playerid) == 3/* Cell #2 LVPD */
{
    if(
Bit1_Get(g_DoorStateLVPD4))
    {
        
Bit1_Set(g_DoorStateLVPD4false);
        
MoveDynamicObject(Bit16_Get(g_DoorsLVPD4), 194.6960000177.10480001003.27502000.80.0,0.0,0.0);
        
cmd_me(playerid"tira de la puerta de la celda y la cierra.");
    }
    else
    {
        
Bit1_Set(g_DoorStateLVPD4true);
        
MoveDynamicObject(Bit16_Get(g_DoorsLVPD4), 192.9400000177.10480001003.27502000.80.0,0.0,0.0);
        
cmd_me(playerid"mete la llave en la cerradura, la gira y abre la puerta de la celda.");
    }
}
else if(
IsPlayerInRangeOfPoint(playerid1.5190.4570000177.10480001003.2750200) && GetPlayerInterior(playerid) == 3/* Cell #3 LVPD */
{
    if(
Bit1_Get(g_DoorStateLVPD5))
    {
        
Bit1_Set(g_DoorStateLVPD5false);
        
MoveDynamicObject(Bit16_Get(g_DoorsLVPD5), 190.4570000177.10480001003.27502000.80.0,0.0,0.0);
        
cmd_me(playerid"tira de la puerta de la celda y la cierra.");
    }
    else
    {
        
Bit1_Set(g_DoorStateLVPD5true);
        
MoveDynamicObject(Bit16_Get(g_DoorsLVPD5), 188.7010000177.10480001003.27502000.80.0,0.0,0.0);
        
cmd_me(playerid"mete la llave en la cerradura, la gira y abre la puerta de la celda.");
    }
}
else if(
IsPlayerInRangeOfPoint(playerid1.5197.1900000,160.2668000,1003.2750200) && GetPlayerInterior(playerid) == 3/* Cell #4 LVPD */
{
    if(
Bit1_Get(g_DoorStateLVPD6))
    {
        
Bit1_Set(g_DoorStateLVPD6false);
        
MoveDynamicObject(Bit16_Get(g_DoorsLVPD6), 197.1900000160.26680001003.27502000.80.00.0180.0);
        
cmd_me(playerid"tira de la puerta de la celda y la cierra.");
    }
    else
    {
        
Bit1_Set(g_DoorStateLVPD6true);
        
MoveDynamicObject(Bit16_Get(g_DoorsLVPD6), 198.9460000160.26680001003.27502000.80.00.0180.0);
        
cmd_me(playerid"mete la llave en la cerradura, la gira y abre la puerta de la celda.");
    }
}
else if(
IsPlayerInRangeOfPoint(playerid1.5192.9500000,160.2668000,1003.2750200) && GetPlayerInterior(playerid) == 3/* Cell #5 LVPD */
{
    if(
Bit1_Get(g_DoorStateLVPD7))
    {
        
Bit1_Set(g_DoorStateLVPD7false);
        
MoveDynamicObject(Bit16_Get(g_DoorsLVPD7), 192.9500000,160.2668000,1003.27502000.80.00.0180.0);
        
cmd_me(playerid"tira de la puerta de la celda y la cierra.");
    }
    else
    {
        
Bit1_Set(g_DoorStateLVPD7true);
        
MoveDynamicObject(Bit16_Get(g_DoorsLVPD7), 194.7059900,160.2668000,1003.27502000.80.00.0180.0);
        
cmd_me(playerid"mete la llave en la cerradura, la gira y abre la puerta de la celda.");
    }
}
else if(
IsPlayerInRangeOfPoint(playerid1.5188.7030000160.26680001003.2750200) && GetPlayerInterior(playerid) == 3/* Cell #6 LVPD */
{
    if(
Bit1_Get(g_DoorStateLVPD8))
    {
        
Bit1_Set(g_DoorStateLVPD8false);
        
MoveDynamicObject(Bit16_Get(g_DoorsLVPD8), 188.7030000,160.2668000,1003.27502000.80.00.0180.0);
        
cmd_me(playerid"tira de la puerta de la celda y la cierra.");
    }
    else
    {
        
Bit1_Set(g_DoorStateLVPD8true);
        
MoveDynamicObject(Bit16_Get(g_DoorsLVPD8), 190.4590000,160.2668000,1003.27502000.80.00.0180.0);
        
cmd_me(playerid"mete la llave en la cerradura, la gira y abre la puerta de la celda.");
    }

Some screenshots:




That's all people, I tried to make a clean map. Excuse my English by the way.

Regards.
Reply
#2

Good job dude +rep!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)