add orbital cannon, supa in facilities, rpg

This commit is contained in:
Lorenc Pekaj 2018-07-04 03:36:04 +10:00
parent 3699e2b5d9
commit b68a72fe1c
8 changed files with 915 additions and 308 deletions

View File

@ -82,7 +82,6 @@ native gpci ( playerid, serial[ ], len );
#define IsPlayerKidnapped(%1) (p_Kidnapped{%1})
#define IsPlayerBlowingCock(%0) (p_GivingBlowjob{%0})
#define IsPlayerGettingBlowed(%0) (p_GettingBlowjob{%0})
#define IsPlayerAdminOnDuty(%0) (p_AdminOnDuty{%0})
#define IsPlayerMining(%0) (p_isMining{%0})
#define IsPlayerLoadingObjects(%0) (p_pausedToLoad{%0})
#define IsPlayerOnSlotMachine(%0) (p_usingSlotMachine[%0]!=-1)
@ -96,7 +95,6 @@ native gpci ( playerid, serial[ ], len );
#define Ach_Unlock(%0,%1) (%0 >= %1 ?("{6EF83C}"):("{FFFFFF}"))
#define UpdatePlayerTime(%0) SetPlayerTime(%0,floatround(g_WorldClockSeconds/60),g_WorldClockSeconds-floatround((g_WorldClockSeconds/60)*60))
#define GetPlayerTotalCash(%0) (p_BankMoney[%0] + p_Cash[%0]) // Bank Money and Money
#define IsPlayerAFK(%0) ((GetTickCount()-p_AFKTime[%0])>=2595)
#define GetPlayerMethLabVehicle(%0) (GetPlayerVirtualWorld(%0)-VW_METH)
#define IsPlayerLorenc(%0) (p_AccountID[%0]==1)
#define Achievement:: ach_
@ -1156,13 +1154,17 @@ new
;
/* ** ATM System ** */
#define MAX_ATMS 48
#if defined MAX_FACILITIES
#define MAX_ATMS ( 48 + MAX_FACILITIES )
#else
#define MAX_ATMS ( 48 )
#endif
enum E_ATM_DATA
{
E_CHECKPOINT, Float: E_HEALTH, E_TIMESTAMP,
E_OBJECT, Text3D: E_LABEL, bool: E_DISABLED,
E_PICKUP, E_LOOT
E_PICKUP, E_LOOT, E_WORLD
};
new
@ -1404,6 +1406,7 @@ new
/* ** Toy System ** */
#define MAX_TOYS ( sizeof( g_ToyData ) )
#define MAX_TOY_UNLOCKS ( 200 ) // should be ideally MAX_TOYS
#define CATEGORY_WATCHES ( 0 )
#define CATEGORY_BERETS ( 1 )
@ -1502,7 +1505,7 @@ new
{ CATEGORY_MASKS, 96, "Gucci Balaclava", 19801, 10000, 2 },
{ CATEGORY_MASKS, 45, "Black Mask", 18912, 6000, 2 },
{ CATEGORY_MASKS, 46, "Green Mask", 18913, 5200, 2 },
// { CATEGORY_MASKS, 47, "Versace Mask", 18915, 4500, 2 },
{ CATEGORY_MASKS, 47, "Weed Bandana", 18894, 4500, 2 },
{ CATEGORY_MASKS, 48, "Gimp Mask", 19163, 300, 2 },
{ CATEGORY_MASKS, 49, "Hockey Mask White", 19036, 250, 2 },
{ CATEGORY_MASKS, 50, "Hockey Mask Red", 19037, 250, 2 },
@ -1539,11 +1542,7 @@ new
// { CATEGORY_GLASSES, 71, "Versace Vintage", 19033, 520, 2 },
// { CATEGORY_GLASSES, 72, "Versace Havana Wrap", 19030, 490, 2 },
{ CATEGORY_GLASSES, 73, "Oakley Whisker", 19008, 400, 2 },
// { CATEGORY_GLASSES, 74, "Oakley Wiretap", 19009, 400, 2 },
// { CATEGORY_GLASSES, 75, "Versace Brown Square", 19031, 360, 2 },
{ CATEGORY_GLASSES, 76, "Versace Marble Square", 19035, 380, 2 },
// { CATEGORY_GLASSES, 77, "Oakley Valve", 19010, 300, 2 },
// { CATEGORY_GLASSES, 78, "Oakley Crankshaft", 19007, 260, 2 },
// HANDHELD
{ CATEGORY_HANDHELD, 100, "Antique Sword", 19590, 15000, 6 },
@ -1573,8 +1572,9 @@ new
// MISC
{ CATEGORY_MISC, 99, "Gold Bar", 19941, 38000, 1 },
{ CATEGORY_MISC, 128, "Cowboy Boots", 11735, 3000, 1 }, // LATEST
{ CATEGORY_MISC, 127, "Pistol Holster", 19773, 1000, 1 },
{ CATEGORY_MISC, 74, "Cowboy Boots", 11735, 3000, 1 },
{ CATEGORY_MISC, 77, "Marijuana Roll", 2901, 2000, 1 },
{ CATEGORY_MISC, 75, "Pistol Holster", 19773, 1000, 1 },
{ CATEGORY_MISC, 79, "Police Light", 19419, 600, 1 },
{ CATEGORY_MISC, 94, "Xmas Box 1", 19054, 500, 1 },
{ CATEGORY_MISC, 95, "Xmas Box 2", 19056, 500, 1 },
@ -1583,6 +1583,7 @@ new
{ CATEGORY_MISC, 81, "Glider", 2512, 150, 1 },
{ CATEGORY_MISC, 82, "Plane", 2510, 120, 1 },
{ CATEGORY_MISC, 98, "Hiker Backpack", 19559, 100, 1 },
{ CATEGORY_MISC, 78, "Backpack", 3026, 90, 1 },
{ CATEGORY_MISC, 83, "Rubbish Bin", 1343, 80, 1 },
{ CATEGORY_MISC, 84, "Chainsaw Dildo", 19086, 69, 5 },
{ CATEGORY_MISC, 85, "Easter Egg", 19344, 50, 2 },
@ -1608,7 +1609,7 @@ new
p_ToySlotSelected [ MAX_PLAYERS char ],
p_ToyCategorySelected [ MAX_PLAYERS char ],
p_ToyIDSelected [ MAX_PLAYERS char ],
bool: p_ToyUnlocked [ MAX_PLAYERS ] [ 200 char ] // change back to MAX_TOYS
bool: p_ToyUnlocked [ MAX_PLAYERS ] [ MAX_TOY_UNLOCKS char ]
;
/* ** C4 Data ** */
@ -3517,56 +3518,6 @@ public OnGameModeInit()
#endif
/* ** Entrances/Exits ** */
// Houses
/*CreateEntrance( "[ROOFTOP]", -2440.5149, 820.9702, 35.1838, -2438.1204, 819.7362, 65.5078, 0, 0, false, true ); // Jendral
CreateEntrance( "[ROOFTOP]", -2475.4238, 161.5239, 35.1406, -2476.4043, 155.6541, 64.9332, 0, 0, false, true ); // Queens' Rooftop
CreateEntrance( "[ROOFTOP]", -2281.2776, 923.6173, 66.7333, -2280.6958, 907.2256, 96.8359, 0, 0, false, true ); // Juniper Hill Rooftop
CreateEntrance( "[ROOFTOP]", -2372.5613, 851.7944, 41.0832, -2372.9949, 856.7742, 57.6094, 0, 0, false, true ); // Near-supa Rooftop
CreateEntrance( "[ROOFTOP]", -1696.3392, 1030.7318, 45.210, -1693.0250, 1030.273, 56.906, 0, 0, false, true ); // MrFreeze's Rooftop
CreateEntrance( "[ROOFTOP]", -2113.2771, 1087.924, 71.5219, -2120.263, 1060.5692, 96.9456, 0, 0, false, true ); // Arros' Rooftop
CreateEntrance( "[ROOFTOP]", -1991.5497, 821.0363, 45.4453, -1984.2457, 821.7531, 92.3203, 0, 0, false, true ); // Deedz's Rooftop
CreateEntrance( "[ROOFTOP]", -1887.0532, 761.1137, 45.4469, -1860.1149, 783.4689, 93.9143, 0, 0, false, true ); // Arntz's Rooftop
CreateEntrance( "[ROOFTOP]", -2018.7081, 1194.185, 45.4574, -2019.5271, 1198.3176, 80.750, 0, 0, false, true ); // Deedz's Rooftop
CreateEntrance( "[ROOFTOP]", -1782.7190, 1216.257, 32.6563, -1718.9036, 1208.9364, 48.7988, 0, 0, false, true ); // MrFreeze's Rooftop
CreateEntrance( "[ROOFTOP]", -2160.8496, 648.1808, 52.3672, -2163.1775, 648.1913, 60.6982, 0, 0, false, true ); // Dope's Rooftop
CreateEntrance( "[ROOFTOP]", -2724.6169, 73.51550, 4.33590, -2727.8027, 60.5538, 11.1953, 0, 0, false, true ); // Cake's Rooftop
CreateEntrance( "[ROOFTOP]", -1948.4548, 827.3771, 42.5405, -1947.5352, 813.5648, 77.7300, 0, 0, false, true ); // [RR]Natushi's Rooftop
CreateEntrance( "[ROOFTOP]", -1779.6537, 1013.5704, 24.8906, -1774.9280, 1019.5374, 97.6932, 0, 0, false, true ); // Diller's Rooftop
CreateEntrance( "[HOUSE]", -2121.4160, 659.9059, 52.3985, -2120.5251, 659.9581, 60.7005, 0, 0, false, false ); // _[Esteban]_'s Rooftop
CreateEntrance( "[HOUSE]", -2106.3545, 659.9128, 52.3932, -2107.2461, 659.8979, 60.7005, 0, 0, false, false ); // _[Esteban]_'s Rooftop
CreateEntrance( "[ROOFTOP]", 2238.6887, 2225.6982, 10.8203, 2220.8872, 2245.8870, 24.9297, 0, 0, false, true ); // PrinZeco's Rooftop
CreateEntrance( "[STUDIO]", -692.3306, 939.6115, 13.6328, -699.7916, 6335.1655, 84.2296, 0, 0, true , true ); // Uuri's Rooftop
CreateEntrance( "[SECURITY ROOM]", -2042.2239, 246.3592, 29.0572, -2040.1056, 273.7458, 904.9886, 0, 0, true , true ); // Gal's Rooftop
CreateEntrance( "[ROOFTOP]", -1757.2357, 774.0584, 45.2970, -1739.3662, 787.6291, 167.6535, 0, 0, false, true ); // Executive Esuite Roof
CreateEntrance( "[HOUSE]", -1737.0885, 801.0515, 24.8906, -1757.2689, 805.6949, 45.3265, 0, 0, false, true ); // Executive Esuite Roof
CreateEntrance( "[ROOFTOP]", 1370.8140, -1341.3876, 13.5469, 1378.1222, -1381.7068, 34.5537, 0, 0, false, true ); // Assassin's Rooftop
CreateEntrance( "[ROOFTOP]", -2591.5420, 147.2977, 4.3359, -2586.2024, 142.7569, 17.6344, 0, 0, false, true ); // Versec's Rooftop
CreateEntrance( "[ROOFTOP]", -2496.0562, 92.0874, 25.6172, -2506.0942, 105.3671, 35.1719, 0, 0, false, true ); // levi69's Rooftop
CreateEntrance( "[ROOFTOP]", -1732.3933, 632.2880, 25.0978, -1734.8120, 634.4911, 105.1406, 0, 0, false, true ); // Robox's Rooftop
CreateEntrance( "[ROOFTOP]", -1975.7041, 743.8552, 45.4453, -1981.0834, 759.7982, 85.9219, 0, 0, false, true ); // Amy's Rfooftop
CreateEntrance( "[ROOFTOP]", 2408.4724, 2005.9023, 10.8203, 2400.1514, 1997.0370, 19.1563, 0, 0, false, true ); // Zorba's Rooftop
CreateEntrance( "[ROOFTOP]", 2576.9863, 2082.4280, 10.8130, 2592.8230, 2091.7559, 15.6720, 0, 0, false, true ); // iTHUG's Rooftop
CreateEntrance( "[ROOFTOP]", 2119.9629, 1483.1409, 10.8302, 2162.6362, 1452.8992, 24.1406, 0, 0, false, true ); // Chrome_TV's Rooftop
CreateEntrance( "[ROOFTOP]", -2455.2925, -113.9168, 26.0669, -2450.1252, -129.2207, 51.8439, 0, 0, false, true ); // Rexer's Rooftop
CreateEntrance( "[ROOFTOP]", 606.6136, -1447.5503, 14.1969, 595.2242, -1484.3589, 73.8816, 0, 0, false, true ); // Zorba's Rooftop
CreateEntrance( "[ROOFTOP]", -2421.5044, -730.3824, 133.1481, -2432.5017, -747.6622, 141.2511, 0, 0, false, true ); // Gal's Rooftop
CreateEntrance( "[ROOFTOP]", -1681.3436, 1349.8549, 7.1722, -1691.0605, 1333.9678, 16.2976, 0, 0, false, true ); // Gal's Rooftop
CreateEntrance( "[ROOFTOP]", -1990.2039, 767.3861, 45.4453, -1982.2228, 790.7831, 107.0313, 0, 0, false, true ); // Thecover's Rooftop
CreateEntrance( "[ROOFTOP]", -2517.2058, 234.8540, 16.5137, -2517.2146, 233.6684, 21.9738, 0, 0, false, true ); // Niels's Rooftop
CreateEntrance( "[HOUSE]", -2521.8391, 248.8841, 11.0938, -2521.7922, 248.8820, 16.4937, 0, 0, false, true ); // Niels's Rooftop
CreateEntrance( "[ROOFTOP]", -2430.8696, 1.8262, 35.3203, -2435.1899, -3.0185, 47.9531, 0, 0, false, true ); // Miley's Rooftop
CreateEntrance( "[ROOFTOP]", -2246.1819, 457.2802, 40.4719,-2275.6460, 444.2489, 46.7418, 0, 0, false, true ); // Gal's Rooftop
CreateEntrance( "[ROOFTOP]", -1833.8469, 679.3009, 35.1919,-1840.6748, 685.3052, 81.3984, 0, 0, false, true ); // Kidz's Rooftop
CreateEntrance( "[VAULT]", -2912.6204,461.5075,9.7935, -2875.3625, 459.9657, 1240.3340, 0, 0, true, false ); // Wolf's Rooftop
CreateEntrance( "[SUBMARINE]", -34.6946, 234.4038, 2.1994, -35.3430, 244.1769, 770.9557, 0, 0, true, false ); // Wolf's Rooftop
CreateEntrance( "[ROOFTOP]", -2533.1726, 72.5313, 10.3846, -2575.0229, 60.0100, 18.0653, 0, 0, false, true ); // Daniel's Rooftop
CreateEntrance( "[ROOFTOP]", -1806.3270, 998.9644, 24.8906, -1823.3782, 988.7065, 77.1422, 0, 0, false, true ); // Syndicate's Rooftop
CreateEntrance( "[ROOFTOP]", -1977.4973, 955.7825, 45.4453, -1988.9637, 967.9180, 50.9922, 0, 0, false, true ); // Bang.'s Rooftop
CreateEntrance( "[ROOFTOP]", -1880.3057, 960.5383, 35.1719, -1860.1345, 977.6763, 49.8047, 0, 0, false, true ); // Biscuits's Rooftop
CreateEntrance( "[ROOFTOP]", -1962.5211, 743.8117, 45.4453, -1964.0610, 758.8718, 84.6016, 0, 0, false, true ); // Retrieval's Rooftop
CreateEntrance( "[UNDERWATER]", -2705.6335, -448.8924, 4.5261, -2714.9460, -442.7717, -12.2039, 0, 0, false, false ); // Veloxity_'s Rooftop
CreateEntrance( "[ROOFTOP]", -2629.4785, 696.2841, 27.9394, -2697.6145, 689.0028, 66.0922, 0, 0, false, true ); // Faze's Rooftop*/
// Custom Interiors
// CreateEntrance( "[SEWER]", -1990.7736, 1033.7378, 55.7266, 3638.4670, 5215.5024, 1203.3168, 1, 1, true, true, -1 ); // Milky
CreateEntrance( "[BANK]", -1493.1296, 920.1409, 7.1875, -1444.2537, 831.0490, 985.7027, 0, g_bankvaultData[ CITY_SF ] [ E_WORLD ], true, false, 52 );
@ -4947,7 +4898,7 @@ public OnServerUpdate( )
if ( ( GetTickCount( ) - p_AFKTime[ playerid ] ) >= 45000 )
{
// AFK Jail
if ( p_WantedLevel[ playerid ] >= 6 && p_InHouse[ playerid ] == -1 && !IsPlayerAdminOnDuty( playerid ) && !IsPlayerInEntrance( playerid, g_VIPLounge[ CITY_SF ] ) && !IsPlayerInEntrance( playerid, g_VIPLounge[ CITY_LV ] ) && !IsPlayerInEntrance( playerid, g_VIPLounge[ CITY_LS ] ) && !IsPlayerTied( playerid ) && !IsPlayerKidnapped( playerid ) && !IsPlayerCuffed( playerid ) && !IsPlayerTazed( playerid ) ) { // && !IsPlayerDetained( playerid )
if ( p_WantedLevel[ playerid ] >= 6 && p_InHouse[ playerid ] == -1 && !IsPlayerAdminOnDuty( playerid ) && !IsPlayerInEntrance( playerid, g_VIPLounge[ CITY_SF ] ) && !IsPlayerInEntrance( playerid, g_VIPLounge[ CITY_LV ] ) && !IsPlayerInEntrance( playerid, g_VIPLounge[ CITY_LS ] ) && !IsPlayerTied( playerid ) && !IsPlayerKidnapped( playerid ) && !IsPlayerCuffed( playerid ) && !IsPlayerTazed( playerid ) && IsPlayerSpawned( playerid ) ) { // && !IsPlayerDetained( playerid )
JailPlayer( playerid, 60, 1 );
SendGlobalMessage( -1, ""COL_GOLD"[JAIL]{FFFFFF} %s(%d) has been sent to jail for 60 seconds by the server "COL_LRED"[AFK Wanted]", ReturnPlayerName( playerid ), playerid );
}
@ -5300,7 +5251,7 @@ public OnServerUpdate( )
DestroyDynamicMapIcon( g_informedRobberies[ ir ] [ E_MAP_ICON ] );
Iter_SafeRemove(InformedRobbery, cur, ir);
}
else Streamer_SetIntData( STREAMER_TYPE_MAP_ICON, g_informedRobberies[ ir ] [ E_MAP_ICON ], E_STREAMER_COLOR, setAlpha( COLOR_YELLOW, g_informedRobberies[ ir ] [ E_ALPHA ] ) );
else Streamer_SetIntData( STREAMER_TYPE_MAP_ICON, g_informedRobberies[ ir ] [ E_MAP_ICON ], E_STREAMER_COLOR, setAlpha( COLOR_WANTED12, g_informedRobberies[ ir ] [ E_ALPHA ] ) );
}
// Soft delete gang
@ -5380,7 +5331,7 @@ public OnServerUpdate( )
UpdateDynamic3DTextLabelText( g_atmData[ i ] [ E_LABEL ], COLOR_GOLD, "[ATM]\n"COL_GREY"100%" );
DestroyDynamicPickup( g_atmData[ i ] [ E_PICKUP ] ), g_atmData[ i ] [ E_PICKUP ] = -1;
g_atmData[ i ] [ E_LOOT ] = 0, g_atmData[ i ] [ E_DISABLED ] = false, g_atmData[ i ] [ E_HEALTH ] = 100.0;
ReplaceObjectModel( g_atmData[ i ] [ E_OBJECT ], 19324 );
Streamer_SetIntData( STREAMER_TYPE_OBJECT, g_atmData[ i ] [ E_OBJECT ], E_STREAMER_MODEL_ID, 19324 );
}
// Replenish product
@ -5531,7 +5482,7 @@ public ZoneTimer( )
oCount = GetPlayersInGangZone( z, g_gangTurfData[ z ] [ E_OWNER ] );
new
attacker_time_required = -10 * ( attacker_member_count - TAKEOVER_NEEDED_PEOPLE ) + 60;
attacker_time_required = -10 * ( attacker_member_count - TAKEOVER_NEEDED_PEOPLE ) + ( g_gangTurfData[ z ] [ E_FACILITY_GANG ] == INVALID_GANG_ID ? 60 : 120 );
// minimum of 20 seconds
if ( attacker_time_required < 20 )
@ -6071,11 +6022,7 @@ public OnLookupComplete( playerid, success )
SendDeathMessage( INVALID_PLAYER_ID, playerid, 200 );
if ( IsProxyEnabledForPlayer( playerid ) ) {
if ( IsPlayerUnderCover( playerid ) ) {
format( szNormalString, sizeof( szNormalString ), "%s(%d) has connected to the server! (MX)", ReturnPlayerName( playerid ), playerid );
} else {
format( szNormalString, sizeof( szNormalString ), "%s(%d) has connected to the server! (%s)", ReturnPlayerName( playerid ), playerid, GetPlayerCountryName( playerid ) );
}
format( szNormalString, sizeof( szNormalString ), "%s(%d) has connected to the server! (%s)", ReturnPlayerName( playerid ), playerid, GetPlayerCountryName( playerid ) );
} else {
format( szNormalString, sizeof( szNormalString ), "%s(%d) has connected to the server!", ReturnPlayerName( playerid ), playerid );
}
@ -6443,10 +6390,10 @@ public OnPlayerDisconnect( playerid, reason )
if ( i < MAX_GANGS ) p_gangInvited[ playerid ] [ i ] = false;
if ( i < MAX_SETTINGS ) p_PlayerSettings[ playerid ] { i } = false;
if ( i < MAX_TOYS ) p_ToyUnlocked[ playerid ] { i } = false;
if ( i < MAX_WEAPONS ) p_WeaponKills[ playerid ] [ i ] = 0;
if ( i < MAX_RACES ) p_raceInvited[ playerid ] [ i ] = false;
if ( i < MAX_STREAKS ) p_streakData[ playerid ] [ i ] [ E_BEST_STREAK ] = 0, p_streakData[ playerid ] [ i ] [ E_STREAK ] = 0;
if ( i < MAX_TOY_UNLOCKS ) p_ToyUnlocked[ playerid ] { i } = false;
p_BlockedPM[ playerid ] [ i ] = false;
}
@ -6467,6 +6414,7 @@ public OnPlayerSpawn( playerid )
UpdatePlayerTime( playerid );
DeletePVar( playerid, "attached_mugshot" );
PlayerPlaySound( playerid, 0, 0.0, 0.0, 0.0 );
PlayerTextDrawHide( playerid, p_ExperienceTD[ playerid ] );
HidePlayerTogglableTextdraws( playerid );
TextDrawHideForPlayer( playerid, g_CurrentRankTD );
@ -6989,11 +6937,13 @@ public OnPlayerShootDynamicObject( playerid, weaponid, objectid, Float:x, Float:
if ( p_Class[ playerid ] == CLASS_POLICE )
return 1; // Prevent police from damaging atms
new
Float: Damage = GetWeaponDamageFromDistance( weaponid, GetPlayerDistanceFromPoint( playerid, x, y, z ) );
new Float: Damage = GetWeaponDamageFromDistance( weaponid, GetPlayerDistanceFromPoint( playerid, x, y, z ) );
new player_world = GetPlayerVirtualWorld( playerid );
foreach ( new i : atms ) {
if ( g_atmData[ i ] [ E_WORLD ] != -1 && g_atmData[ i ] [ E_WORLD ] != player_world ) continue;
if ( g_atmData[ i ] [ E_OBJECT ] == objectid && !g_atmData[ i ] [ E_DISABLED ] )
{
if ( GetDynamicObjectPos( objectid, X, Y, Z ) && IsPointToPoint( 1.0, X + x, Y + y, Z + z, X, Y, Z ) ) {
@ -7005,7 +6955,7 @@ public OnPlayerShootDynamicObject( playerid, weaponid, objectid, Float:x, Float:
UpdateDynamic3DTextLabelText( g_atmData[ i ] [ E_LABEL ], COLOR_GOLD, szNormalString );
} else {
UpdateDynamic3DTextLabelText( g_atmData[ i ] [ E_LABEL ], COLOR_GOLD, "[ATM]\n"COL_RED"Disabled" );
ReplaceObjectModel( g_atmData[ i ] [ E_OBJECT ], 2943 );
Streamer_SetIntData( STREAMER_TYPE_OBJECT, g_atmData[ i ] [ E_OBJECT ], E_STREAMER_MODEL_ID, 2943 );
g_atmData[ i ] [ E_TIMESTAMP ] = g_iTime + 240;
g_atmData[ i ] [ E_DISABLED ] = true;
@ -7022,7 +6972,7 @@ public OnPlayerShootDynamicObject( playerid, weaponid, objectid, Float:x, Float:
SendServerMessage( playerid, "There seems to be no money in the ATM that you have breached." );
} else {
GetDynamicObjectRot( objectid, rZ, rZ, rZ );
g_atmData[ i ] [ E_PICKUP ] = CreateDynamicPickup( 1550, 1, X + 1.0 * -floatsin( -rZ, degrees ), Y + 1.0 * -floatcos( -rZ, degrees ), Z + 0.33 );
g_atmData[ i ] [ E_PICKUP ] = CreateDynamicPickup( 1550, 1, X + 1.0 * -floatsin( -rZ, degrees ), Y + 1.0 * -floatcos( -rZ, degrees ), Z + 0.33, .worldid = g_atmData[ i ] [ E_WORLD ] );
g_atmData[ i ] [ E_LOOT ] = RandomEx( 320, 750 );
if ( IsPlayerConnected( playerid ) && p_MoneyBag{ playerid } == true ) {
@ -7438,7 +7388,7 @@ public OnPlayerDeath( playerid, killerid, reason )
if ( ! IsPlayerNPC( killerid ) && IsPlayerConnected( killerid ) && GetPVarInt( playerid, "used_cmd_kill" ) != 1 )
{
if ( !IsPlayerStreamedIn( killerid, playerid ) ) {
if ( ! IsPlayerStreamedIn( killerid, playerid ) && ! IsPlayerUsingOrbitalCannon( killerid ) ) {
printf( "[DEBUG] %s was killed for possible fake kill. (0x1B)", ReturnPlayerName( playerid ) );
return SendServerMessage( playerid, "Possible Fake-kill detected - 0x1B" ), KickPlayerTimed( playerid );
}
@ -14177,8 +14127,8 @@ CMD:takeover( playerid, params[ ] )
if ( GetPlayerInterior( playerid ) != 0 && GetPlayerVirtualWorld( playerid ) != 0 )
return SendError( playerid, "You cannot do this inside interiors." );
if ( IsPlayerJailed( playerid ) )
return SendError( playerid, "You cannot use this while you are in jail." );
if ( IsPlayerJailed( playerid ) || IsPlayerUsingOrbitalCannon( playerid ) )
return SendError( playerid, "You cannot do this at the moment." );
new
g_isAFK = 0,
@ -15584,14 +15534,7 @@ CMD:geolocate( playerid, params[ ] )
else if ( p_AdminLevel[ pID ] >= 5 || strmatch( ReturnPlayerName( pID ), "Lorenc" ) ) return SendError( playerid, "I love this person so much that I wont give you his geographical data! :)");
else
{
if ( IsPlayerUnderCover( pID ) )
{
SendClientMessageFormatted( playerid, COLOR_PINK, "[ADMIN]"COL_WHITE" %s(%d) is from Mexico (MX) [%s]", ReturnPlayerName( pID ), pID, ReturnPlayerIP( pID ) );
}
else
{
SendClientMessageFormatted( playerid, COLOR_PINK, "[ADMIN]"COL_WHITE" %s(%d) is from %s (%s) [%s]", ReturnPlayerName( pID ), pID, GetPlayerCountryName( pID ), GetPlayerCountryCode( pID ), ReturnPlayerIP( pID ) );
}
SendClientMessageFormatted( playerid, COLOR_PINK, "[ADMIN]"COL_WHITE" %s(%d) is from %s (%s) [%s]", ReturnPlayerName( pID ), pID, GetPlayerCountryName( pID ), GetPlayerCountryCode( pID ), ReturnPlayerIP( pID ) );
}
return 1;
}
@ -15859,7 +15802,7 @@ CMD:giveweapon( playerid, params[ ] )
else if ( IsWeaponBanned( wep ) && p_AdminLevel[ pID ] < 5 ) return SendError( playerid, "This weapon is a banned weapon, you cannot spawn this." );
else
{
printf("%s banned wep %d - admin level %d", ReturnPlayerName( pID ), wep, p_AdminLevel[ playerid ]);
//printf("%s banned wep %d - admin level %d", ReturnPlayerName( pID ), wep, p_AdminLevel[ playerid ]);
GetWeaponName( wep, gunname, sizeof( gunname ) );
AddAdminLogLineFormatted( "%s(%d) has given %s(%d) a %s", ReturnPlayerName( playerid ), playerid, ReturnPlayerName( pID ), pID, gunname );
SendClientMessageFormatted( playerid, -1, ""COL_PINK"[ADMIN]"COL_WHITE" You have given %s(%d) a %s(%d)", ReturnPlayerName( pID ), pID, gunname, wep );
@ -17152,6 +17095,7 @@ CMD:forceac( playerid, params[ ] )
else if ( !IsPlayerConnected( pID ) || IsPlayerNPC( pID ) ) return SendError( playerid, "Invalid Player ID." );
else if ( pID == playerid ) return SendError( playerid, "You cant kick yourself." );
else if ( p_AdminLevel[ pID ] > p_AdminLevel[ playerid ] ) return SendError( playerid, "You cannot use this command on admins higher than your level." );
//else if ( GetPlayerScore( pID ) < 100 ) return SendError( playerid, "This player's score is under 100, please spectate instead." );
else
{
if ( p_forcedAnticheat[ pID ] <= 0 )
@ -18844,8 +18788,9 @@ public OnPlayerDriveVehicle(playerid, vehicleid)
}
#endif
if ( ! g_Driveby )
if ( ! g_Driveby ) {
SetPlayerArmedWeapon( playerid, 0 );
}
if ( g_isBusinessVehicle[ vehicleid ] != -1 && Iter_Contains( business, g_isBusinessVehicle[ vehicleid ] ) )
{
@ -20091,7 +20036,7 @@ public OnPlayerPickUpDynamicPickup( playerid, pickupid )
Get2DCity ( szCity, X, Y, Z );
GetZoneFromCoordinates ( szLocation, X, Y, Z );
SendGlobalMessage( -1, ""COL_GOLD"[ROBBERY]"COL_WHITE" %s(%d) has robbed "COL_GOLD"%s"COL_WHITE" from an ATM near %s in %s!", ReturnPlayerName( playerid ), playerid, number_format( iLoot ), szLocation, szCity );
SendClientMessageToCops( -1, ""COL_BLUE"[ROBBERY]"COL_WHITE" %s(%d) has robbed "COL_GOLD"%s"COL_WHITE" from an ATM near %s in %s!", ReturnPlayerName( playerid ), playerid, number_format( iLoot ), szLocation, szCity );
return SendServerMessage( playerid, "You have successfully taken "COL_GOLD"%s"COL_WHITE" dispensed from the ATM.", number_format( iLoot ) );
}
}
@ -21190,7 +21135,7 @@ function unpause_Player( playerid )
}
#if defined AC_INCLUDED
public OnPlayerCheatDetected( playerid, detection )
public OnPlayerCheatDetected( playerid, detection, params )
{
if ( detection == CHEAT_TYPE_REMOTE_JACK )
{
@ -21216,7 +21161,15 @@ function unpause_Player( playerid )
// SendGlobalMessage( -1, ""COL_PINK"[ANTI-CHEAT]{FFFFFF} %s(%d) has been banned for fly hacks.", ReturnPlayerName( playerid ), playerid );
// AdvancedBan( playerid, "Server", "Fly Hacks", ReturnPlayerIP( playerid ) );
}
else SendClientMessageToAdmins( -1, ""COL_PINK"[ANTI-CHEAT]"COL_GREY" %s(%d) has been detected for %s.", ReturnPlayerName( playerid ), playerid, detectionToString( detection ) );
else if ( detection == CHEAT_TYPE_WEAPON )
{
SendClientMessageToAdmins( -1, ""COL_PINK"[ANTI-CHEAT]"COL_GREY" %s(%d) has been detected for weapon hack (%s).", ReturnPlayerName( playerid ), playerid, ReturnWeaponName( params ) );
return 1;
}
else
{
SendClientMessageToAdmins( -1, ""COL_PINK"[ANTI-CHEAT]"COL_GREY" %s(%d) has been detected for %s.", ReturnPlayerName( playerid ), playerid, detectionToString( detection ) );
}
return 1;
}
#endif
@ -21331,9 +21284,9 @@ public OnPlayerEditAttachedObject( playerid, response, index, modelid, boneid, F
{
new bool: modded;
if ( fScaleX < 0.25 || fScaleX > 2.5 ) fScaleX = 1.0, modded = true;
if ( fScaleY < 0.25 || fScaleY > 2.5 ) fScaleY = 1.0, modded = true;
if ( fScaleZ < 0.25 || fScaleZ > 2.5 ) fScaleZ = 1.0, modded = true;
if ( fScaleX < 0.1 || fScaleX > 2.5 ) fScaleX = 1.0, modded = true;
if ( fScaleY < 0.1 || fScaleY > 2.5 ) fScaleY = 1.0, modded = true;
if ( fScaleZ < 0.1 || fScaleZ > 2.5 ) fScaleZ = 1.0, modded = true;
if ( modded ) SendServerMessage( playerid, "Some scaling parts were either too small, or too big. They have been scaled to the default size." );
p_AttachedObjectsData[ playerid ] [ slot ] [ E_BONE ] = boneid;
@ -21577,10 +21530,10 @@ thread OnPlayerLogin( playerid, password[ ] )
SendServerMessage( playerid, "You have " COL_GREEN "successfully" COL_WHITE " logged in!" );
// UNDERCOVER USERS
if ( IsPlayerUnderCover( playerid ) ) {
/*if ( IsPlayerUnderCover( playerid ) ) {
// all undercover are american ips
format( p_PlayerIP[ playerid ], 16, "187.237.240.%d", random( 255 ) );
}
}*/
// Search for valid gang
new gang_sql = cache_get_field_content_int( 0, "GANG_ID", dbHandle );
@ -22259,19 +22212,19 @@ public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
cmd_h( playerid, "config" );
return 1;
}
if ( GetPlayerWeapon( playerid ) == 16 || GetPlayerWeapon( playerid ) == 42 )
{
new current_weapon = GetPlayerWeapon( playerid );
new current_ammo = GetPlayerAmmo( playerid );
if ( ( 16 <= current_weapon <= 18 ) || current_weapon == 35 ) {
SendError( playerid, "You cannot store this weapon." );
cmd_h( playerid, "config" );
return 1;
}
new iAmmo = GetPlayerAmmo( playerid );
if ( iAmmo > 0x7FFF || iAmmo <= 0 ) iAmmo = 0x7FFF;
if ( current_ammo > 0x7FFF || current_ammo <= 0 ) current_ammo = 0x7FFF;
listitem = p_HouseWeaponAddSlot{ playerid };
g_HouseWeapons[ p_InHouse[ playerid ] ] [ listitem ] = GetPlayerWeapon( playerid );
g_HouseWeaponAmmo[ p_InHouse[ playerid ] ] [ listitem ] = iAmmo;
SendServerMessage( playerid, "You have inserted your "COL_GREY"%s"COL_WHITE" into your weapon storage.", ReturnWeaponName( GetPlayerWeapon( playerid ) ) );
RemovePlayerWeapon( playerid, GetPlayerWeapon( playerid ) );
g_HouseWeapons[ p_InHouse[ playerid ] ] [ listitem ] = current_weapon;
g_HouseWeaponAmmo[ p_InHouse[ playerid ] ] [ listitem ] = current_ammo;
SendServerMessage( playerid, "You have inserted your "COL_GREY"%s"COL_WHITE" into your weapon storage.", ReturnWeaponName( current_weapon ) );
RemovePlayerWeapon( playerid, current_weapon );
SaveHouseWeaponStorage( p_InHouse[ playerid ] );
ShowHouseWeaponStorage( playerid );
}
@ -22727,7 +22680,7 @@ public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
GivePlayerXP( playerid, -100 );
for( new i; i < MAX_WEAPONS; i++ )
{
if ( IsWeaponInAnySlot( playerid, i ) && i != 0 && !( 16 <= i <= 18 ) && i != 47 && i != WEAPON_BOMB )
if ( IsWeaponInAnySlot( playerid, i ) && i != 0 && !( 16 <= i <= 18 ) && i != 35 && i != 47 && i != WEAPON_BOMB )
{
GivePlayerWeapon( playerid, i, 15000 );
}
@ -22914,7 +22867,7 @@ public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
if ( g_shopItemData[ listitem ] [ E_LIMIT ] == LIMIT_ONE )
{
cmd_shop( playerid, "" );
ShowPlayerShopMenu( playerid );
if ( GetPlayerCash( playerid ) < g_shopItemData[ listitem ] [ E_PRICE ] ) return SendError( playerid, "You don't have enough money for this item." );
@ -22990,7 +22943,7 @@ public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
ShowPlayerDialog( playerid, DIALOG_SHOP_AMOUNT, DIALOG_STYLE_LIST, "{FFFFFF}Shop Items - Buy Quantity", "Buy 1\nBuy 5\nBuy Max", "Select", "Back" );
}
else cmd_shop( playerid, "" );
else ShowPlayerShopMenu( playerid );
}
if ( ( dialogid == DIALOG_XPMARKET ) && response )
{
@ -24380,7 +24333,7 @@ public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
}
p_WeaponDealMenu{ playerid } = listitem;
RedirectAmmunation( playerid, listitem, "{FFFFFF}Weapon Deal - Purchase Weapons", DIALOG_WEAPON_DEAL_BUY, 0.75, true );
RedirectAmmunation( playerid, listitem, "{FFFFFF}Weapon Deal - Purchase Weapons", DIALOG_WEAPON_DEAL_BUY, 0.75, 5 );
}
if ( dialogid == DIALOG_WEAPON_DEAL_BUY )
{
@ -24407,7 +24360,7 @@ public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
if ( price > GetPlayerCash( playerid ) )
{
SendError( playerid, "You don't have enough money for this." );
RedirectAmmunation( playerid, p_WeaponDealMenu{ playerid }, "{FFFFFF}Weapon Deal - Purchase Weapons", DIALOG_WEAPON_DEAL_BUY, 0.75, true );
RedirectAmmunation( playerid, p_WeaponDealMenu{ playerid }, "{FFFFFF}Weapon Deal - Purchase Weapons", DIALOG_WEAPON_DEAL_BUY, 0.75, 5 );
return 1;
}
GivePlayerCash( weapondealerid, floatround( price * 0.75 ) );
@ -24415,10 +24368,10 @@ public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
SetPVarInt( playerid, "purchased_weapon", GetPVarInt( playerid, "purchased_weapon" ) + 1 );
SendClientMessageFormatted( playerid, -1, ""COL_ORANGE"[WEAPON DEAL]{FFFFFF} You have purchased %s for "COL_GOLD"%s"COL_WHITE".", g_AmmunationWeapons[ i ] [ E_NAME ], number_format( price ) );
if ( g_AmmunationWeapons[ i ] [ E_WEPID ] == 101 ) SetPlayerArmour( playerid, 100.0 );
else GivePlayerWeapon( playerid, g_AmmunationWeapons[ i ] [ E_WEPID ], 15000 ); // Infinite
else GivePlayerWeapon( playerid, g_AmmunationWeapons[ i ] [ E_WEPID ], g_AmmunationWeapons[ i ] [ E_AMMO ] * ( g_AmmunationWeapons[ i ] [ E_WEPID ] == 35 ? 1 : 5 ) );
SetPlayerArmedWeapon( playerid, 0 );
GivePlayerCash( playerid, -( price ) );
RedirectAmmunation( playerid, p_WeaponDealMenu{ playerid }, "{FFFFFF}Weapon Deal - Purchase Weapons", DIALOG_WEAPON_DEAL_BUY, 0.75, true );
RedirectAmmunation( playerid, p_WeaponDealMenu{ playerid }, "{FFFFFF}Weapon Deal - Purchase Weapons", DIALOG_WEAPON_DEAL_BUY, 0.75, 5 );
break;
}
x ++;
@ -26350,6 +26303,11 @@ public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
SetPlayerPos( playerid, 1642.2274, -2335.4978, 13.5469 );
}
}
// set interior/world
SetPlayerVirtualWorld( playerid, 0 );
SetPlayerInterior( playerid, 0 );
PlayerPlaySound( playerid, 0, 0.0, 0.0, 0.0 );
}
if ( dialogid == DIALOG_SPAWN && response )
{
@ -28132,7 +28090,7 @@ stock ResetPlayerCash( playerid )
}
stock IsWeaponBanned( weaponid ) {
return 0 <= weaponid < MAX_WEAPONS && ( weaponid == 35 || weaponid == 36 || weaponid == 37 || weaponid == 38 || weaponid == 39 || weaponid == 44 || weaponid == 45 );
return 0 <= weaponid < MAX_WEAPONS && ( weaponid == 36 || weaponid == 37 || weaponid == 38 || weaponid == 39 || weaponid == 44 || weaponid == 45 );
}
stock GivePlayerScore( playerid, score, Float: multiplier = 0.75 )
@ -30632,7 +30590,7 @@ stock GetDayToString( day )
return string;
}
stock CreateATM( Float: X, Float: Y, Float: Z, Float: rX, Float: offset = 180.0 )
stock CreateATM( Float: X, Float: Y, Float: Z, Float: rX, Float: offset = 180.0, world = -1 )
{
new ID = Iter_Free( atms );
@ -30647,9 +30605,10 @@ stock CreateATM( Float: X, Float: Y, Float: Z, Float: rX, Float: offset = 180.0
Iter_Add( atms, ID );
g_atmData[ ID ] [ E_HEALTH ] = 100.0;
g_atmData[ ID ] [ E_CHECKPOINT ] = CreateDynamicCP( nX, nY, Z, 1.0 , -1, -1, -1, 100.0 );
g_atmData[ ID ] [ E_OBJECT ] = CreateDynamicObject( 19324, X, Y, Z, 0.0, 0.0, rX, -1, -1, -1, 100.0, .priority = 2 );
g_atmData[ ID ] [ E_LABEL ] = CreateDynamic3DTextLabel( "[ATM]\n"COL_GREY"100%", COLOR_GOLD, nX, nY, Z, 20.0 );
g_atmData[ ID ] [ E_CHECKPOINT ] = CreateDynamicCP( nX, nY, Z, 1.0, .worldid = world );
g_atmData[ ID ] [ E_OBJECT ] = CreateDynamicObject( 19324, X, Y, Z, 0.0, 0.0, rX, .priority = 2, .worldid = world );
g_atmData[ ID ] [ E_LABEL ] = CreateDynamic3DTextLabel( "[ATM]\n"COL_GREY"100%", COLOR_GOLD, nX, nY, Z, 20.0, .worldid = world );
g_atmData[ ID ] [ E_WORLD ] = world;
}
return ID;
}
@ -33388,7 +33347,7 @@ stock showToyCategoryItems( playerid, category, bool: pawnshop = false )
stock UnlockPlayerToy( playerid, toy_id )
{
if ( toy_id > MAX_TOYS )
if ( toy_id > MAX_TOY_UNLOCKS )
return;
p_ToyUnlocked[ playerid ] { toy_id } = true;
@ -33426,7 +33385,7 @@ thread OnToyLoad( playerid )
while( ++i < rows ) {
new iToy = cache_get_field_content_int( i, "TOY_ID", dbHandle );
if ( iToy < MAX_TOYS ) // Must be something wrong otherwise...
if ( iToy < MAX_TOY_UNLOCKS ) // Must be something wrong otherwise...
p_ToyUnlocked[ playerid ] { iToy } = true;
}
}
@ -34831,17 +34790,6 @@ stock ShowSoundsMenu( playerid )
ShowPlayerDialog( playerid, DIALOG_MODIFY_HITSOUND, DIALOG_STYLE_LIST, ""COL_WHITE"Hitmarker Sound", szSounds, "Select", "Close" );
}
stock ReplaceObjectModel( &objectid, modelid ) {
static
Float: X, Float: Y, Float: Z, Float: rX, Float: rY, Float: rZ;
GetDynamicObjectPos( objectid, X, Y, Z );
GetDynamicObjectRot( objectid, rX, rY, rZ );
DestroyDynamicObject( objectid );
objectid = CreateDynamicObject( modelid, X, Y, Z, rX, rY, rZ );
}
stock GivePlayerLeoWeapons( playerid ) {
GivePlayerWeapon( playerid, 3, 1 );
GivePlayerWeapon( playerid, 22, 250 );
@ -35951,8 +35899,8 @@ stock CreateCrimeReport( playerid )
else GetPlayerPos( playerid, X, Y, Z );
// Create marker
g_informedRobberies[ iCrimeReport ] [ E_ALPHA ] = 0xFF;
g_informedRobberies[ iCrimeReport ] [ E_MAP_ICON ] = CreateDynamicMapIcon( X, Y, Z, 0, COLOR_RED, -1, -1, 0, 1000.0, MAPICON_GLOBAL );
g_informedRobberies[ iCrimeReport ] [ E_ALPHA ] = 0xAA;
g_informedRobberies[ iCrimeReport ] [ E_MAP_ICON ] = CreateDynamicMapIcon( X, Y, Z, 0, COLOR_WANTED12, -1, -1, 0, 1000.0, MAPICON_GLOBAL );
// Reset Players In Map Icon
Streamer_RemoveArrayData( STREAMER_TYPE_MAP_ICON, g_informedRobberies[ iCrimeReport ] [ E_MAP_ICON ], E_STREAMER_PLAYER_ID, 0 );
@ -37721,14 +37669,8 @@ stock FillHomeWithFurniture( houseid, interior_id ) {
// else if ( strmatch( g_houseInteriors[ interior_id ] [ E_NAME ], "Domus Interior" ) )
}
stock IsPlayerUnderCover( playerid ) {
if ( ( p_AccountID[ playerid ] == 577142 || p_AccountID[ playerid ] == 536230 || p_AccountID[ playerid ] == 668504 ) && p_PlayerLogged{ playerid } ) // StefiTV852, Shepard23, JamesComey
return 1;
if ( strmatch( ReturnPlayerName( playerid ), "Bonbo" ) )
return 1;
return 0;
stock IsPlayerUnderCover( playerid ) { // StefiTV852, Shepard23, JamesComey
return ( p_AccountID[ playerid ] == 577142 || p_AccountID[ playerid ] == 536230 || p_AccountID[ playerid ] == 668504 ) && p_PlayerLogged{ playerid };
}
stock ShowPlayerSpawnMenu( playerid ) {
@ -38019,6 +37961,8 @@ stock GetPlayerVIPDuration( playerid ) return p_VIPExpiretime[ playerid ] - g_iT
stock IsPlayerInPaintBall( playerid ) return p_inPaintBall{ playerid };
stock IsPlayerMovieMode( playerid ) return p_inMovieMode{ playerid };
stock GetPlayerAdminLevel( playerid ) return p_AdminLevel[ playerid ];
stock GetPlayerGang( playerid ) return p_GangID[ playerid ];
@ -38031,10 +37975,16 @@ stock IsPlayerInEvent( playerid ) return ( GetPlayerVirtualWorld( playerid ) ==
stock IsPlayerJailed( playerid ) return p_Jailed{ playerid };
stock IsPlayerAdminOnDuty( playerid ) return p_AdminOnDuty{ playerid };
stock IsPlayerEmailVerified( playerid ) return p_accountSecurityData[ playerid ] [ E_ID ];
stock IsPlayerAFK( playerid ) return ( ( GetTickCount( ) - p_AFKTime[ playerid ] ) >= 2595 );
stock UpdatePlayerEntranceExitTick( playerid, ms = 2000 ) {
p_EntranceTickcount[ playerid ] = GetTickCount( ) + ms;
}
stock CanPlayerExitEntrance( playerid ) return GetTickCount( ) > p_EntranceTickcount[ playerid ] && ! p_pausedToLoad{ playerid };
stock IsPlayerSpawnProtected( playerid ) return p_AntiSpawnKillEnabled{ playerid };

View File

@ -14996,4 +14996,164 @@ stock initializeObjects( )
tmpVariable = CreateDynamicObject( 6965, -1572.493164, 790.349914, 8.825008, 0.000000, 0.000000, 45.000000, -1, -1, -1 );
SetDynamicObjectMaterial( tmpVariable, 1, 0, "none", "none", 0 );
SetDynamicObjectMaterial( tmpVariable, 3, 0, "none", "none", 0 );
// Avenger Mansion
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2264.220947, 457.697998, 38.223999, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2264.220947, 457.697998, 38.223999, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2250.218017, 457.697998, 38.223999, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2275.893066, 445.486999, 38.223999, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2275.893066, 432.326995, 38.224998, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2281.228027, 424.670013, 38.234001, 0.000000, 0.000000, -131.399993, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2254.333007, 456.812011, 33.754001, 180.000000, 90.000000, 140.100006, -1, -1, -1 ), 0, 4550, "skyscr1_lan2", "sl_concretewall1", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18765, -2272.174072, 423.938995, 31.753000, 0.000000, 0.000000, -40.299999, -1, -1, -1 ), 0, 4550, "skyscr1_lan2", "sl_concretewall1", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2269.855957, 438.259002, 39.662998, 180.000000, 90.000000, 140.100006, -1, -1, -1 ), 0, 9582, "fort_sfw", "ws_alley_conc1", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2255.378906, 455.566009, 39.661998, 180.000000, 90.000000, 140.100006, -1, -1, -1 ), 0, 9582, "fort_sfw", "ws_alley_conc1", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2255.052001, 455.950012, 47.752998, 180.000000, 90.000000, 140.100006, -1, -1, -1 ), 0, 16150, "ufo_bar", "GEwhite1_64", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2270.011962, 438.059997, 47.743000, 180.000000, 90.000000, 140.100006, -1, -1, -1 ), 0, 16150, "ufo_bar", "GEWHITE1_64", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2273.114990, 434.361999, 39.652000, 180.000000, 90.000000, 140.100006, -1, -1, -1 ), 0, 9582, "fort_sfw", "ws_alley_conc1", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2268.750976, 459.819000, 37.583999, 0.000000, 0.000000, 139.800003, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
CreateDynamicObject( 19817, -2270.329101, 447.997009, 33.542999, 0.000000, 0.000000, 49.099998, -1, -1, -1 );
CreateDynamicObject( 19815, -2273.381103, 453.570007, 36.770000, 0.000000, 0.000000, 49.599998, -1, -1, -1 );
CreateDynamicObject( 19899, -2274.925048, 444.696014, 34.252998, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2255.926025, 436.192993, 40.186019, 0.000000, 0.000000, 50.099998, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2267.471923, 422.384002, 36.675998, 0.000000, 0.000000, 50.099998, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2269.314941, 420.182006, 36.675998, 0.000000, 0.000000, 50.099998, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2261.065917, 430.048004, 36.675998, 0.000000, 0.000000, 50.099998, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2245.142089, 449.079986, 26.843999, 0.000000, 0.000000, 140.100006, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 3578, -2258.750976, 456.657989, 33.483001, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 5174, "warehus_las2", "ws_carparkwall2", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 3578, -2250.750976, 456.657989, 33.483001, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 5174, "warehus_las2", "ws_carparkwall2", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 3578, -2254.750976, 456.657989, 33.483001, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 5174, "warehus_las2", "ws_carparkwall2", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2249.995117, 456.028015, 26.184000, 0.000000, 0.000000, 0.100000, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
CreateDynamicObject( 19817, -2267.291992, 451.496002, 33.542999, 0.000000, 0.000000, 49.099998, -1, -1, -1 );
CreateDynamicObject( 19903, -2271.349121, 452.027008, 34.123001, 0.000000, 0.000000, -45.200000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 3578, -2274.691894, 441.419006, 33.492000, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 5174, "warehus_las2", "ws_carparkwall2", 0 );
CreateDynamicObject( 2133, -2266.104980, 456.808990, 34.213001, 0.000000, 0.000000, -0.699999, -1, -1, -1 );
CreateDynamicObject( 2133, -2265.104003, 456.795989, 34.213001, 0.000000, 0.000000, -0.699999, -1, -1, -1 );
CreateDynamicObject( 19621, -2265.982910, 456.908996, 35.352001, 0.000000, 0.000000, -55.400001, -1, -1, -1 );
CreateDynamicObject( 19921, -2265.331054, 456.589996, 35.341999, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 1650, -2266.360107, 456.850006, 35.541999, 0.000000, 0.000000, -66.599998, -1, -1, -1 );
CreateDynamicObject( 2475, -2265.839111, 457.246002, 34.272998, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 1002, -2265.548095, 457.091003, 36.452999, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 1003, -2265.532958, 457.052001, 35.742000, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 920, -2268.148925, 455.861999, 34.722000, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 19917, -2274.967041, 445.201995, 35.381999, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 19900, -2272.000976, 446.205993, 34.242000, 0.000000, 0.000000, 71.400001, -1, -1, -1 );
CreateDynamicObject( 19921, -2271.792968, 446.132995, 35.192001, 0.000000, 0.000000, 72.400001, -1, -1, -1 );
CreateDynamicObject( 9362, -2273.166992, 425.638000, 34.993000, 0.000000, 0.000000, 177.600006, -1, -1, -1 );
CreateDynamicObject( 1569, -2272.699951, 417.850006, 34.303001, 0.000000, 0.000000, 138.199996, -1, -1, -1 );
CreateDynamicObject( 1569, -2274.928955, 419.855987, 34.303001, 0.000000, 0.000000, -42.500000, -1, -1, -1 );
CreateDynamicObject( 920, -2273.946044, 447.976013, 34.722000, 0.000000, 0.000000, 104.199996, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 3578, -2274.691894, 437.419006, 33.492000, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 5174, "warehus_las2", "ws_carparkwall2", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 3578, -2274.691894, 433.419006, 33.492000, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 5174, "warehus_las2", "ws_carparkwall2", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 3578, -2274.691894, 429.419006, 33.492000, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 5174, "warehus_las2", "ws_carparkwall2", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 19355, -2275.459960, 435.483001, 37.231998, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 6357, "sunstrans_law2", "SunBillB10", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 19355, -2256.818115, 457.282989, 37.012001, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 10249, "ottos2_sfw", "ottos_pics_sfe", 0 );
CreateDynamicObject( 1569, -2273.843994, 453.063995, 40.152999, 0.000000, 0.000000, 49.599998, -1, -1, -1 );
CreateDynamicObject( 1569, -2271.900878, 455.351013, 40.152999, 0.000000, 0.000000, -130.300003, -1, -1, -1 );
CreateDynamicObject( 1557, -2252.858886, 440.545989, 40.161998, 0.000000, 0.000000, -129.699996, -1, -1, -1 );
CreateDynamicObject( 1557, -2254.794921, 438.240997, 40.161998, 0.000000, 0.000000, 49.799999, -1, -1, -1 );
CreateDynamicObject( 1557, -2256.886962, 435.734008, 40.161998, 0.000000, 0.000000, -129.699996, -1, -1, -1 );
CreateDynamicObject( 1557, -2258.833984, 433.408996, 40.161998, 0.000000, 0.000000, 49.799999, -1, -1, -1 );
CreateDynamicObject( 638, -2256.154052, 437.296997, 40.792999, 0.000000, 0.000000, 139.899993, -1, -1, -1 );
CreateDynamicObject( 638, -2253.486083, 441.955993, 40.792999, 0.000000, 0.000000, -130.699996, -1, -1, -1 );
CreateDynamicObject( 638, -2260.308105, 433.855010, 40.792999, 0.000000, 0.000000, -130.699996, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 3352, -2275.413085, 441.261993, 43.323001, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 8663, "triadcasino", "black32", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 3578, -2262.750976, 456.657989, 33.483001, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 5174, "warehus_las2", "ws_carparkwall2", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 18765, -2276.186035, 457.966003, 48.231998, 0.000000, 0.000000, 50.000000, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
CreateDynamicObject( 3934, -2257.874023, 448.506011, 48.543000, 0.000000, 0.000000, -39.900001, -1, -1, -1 );
CreateDynamicObject( 3934, -2265.750000, 439.135009, 48.543000, 0.000000, 0.000000, -39.900001, -1, -1, -1 );
CreateDynamicObject( 14467, -2273.472900, 455.203002, 52.713001, 0.000000, 0.000000, 39.299999, -1, -1, -1 );
CreateDynamicObject( 970, -2239.118896, 455.572998, 48.803001, 0.000000, 0.000000, 50.299999, -1, -1, -1 );
CreateDynamicObject( 970, -2241.781005, 452.364990, 48.803001, 0.000000, 0.000000, 50.299999, -1, -1, -1 );
CreateDynamicObject( 970, -2244.462890, 449.175994, 48.803001, 0.000000, 0.000000, 50.299999, -1, -1, -1 );
CreateDynamicObject( 970, -2247.152099, 445.986999, 48.803001, 0.000000, 0.000000, 49.599998, -1, -1, -1 );
CreateDynamicObject( 970, -2249.829101, 442.798004, 48.792999, 0.000000, 0.000000, 50.299999, -1, -1, -1 );
CreateDynamicObject( 970, -2252.497070, 439.604003, 48.792999, 0.000000, 0.000000, 49.799999, -1, -1, -1 );
CreateDynamicObject( 970, -2255.189941, 436.417999, 48.792999, 0.000000, 0.000000, 49.799999, -1, -1, -1 );
CreateDynamicObject( 970, -2257.882080, 433.240997, 48.792999, 0.000000, 0.000000, 49.799999, -1, -1, -1 );
CreateDynamicObject( 970, -2260.572021, 430.049011, 48.792999, 0.000000, 0.000000, 49.799999, -1, -1, -1 );
CreateDynamicObject( 970, -2263.269042, 426.863006, 48.792999, 0.000000, 0.000000, 49.799999, -1, -1, -1 );
CreateDynamicObject( 970, -2265.961914, 423.677001, 48.792999, 0.000000, 0.000000, 49.799999, -1, -1, -1 );
CreateDynamicObject( 970, -2268.672119, 420.506988, 48.792999, 0.000000, 0.000000, 49.200000, -1, -1, -1 );
CreateDynamicObject( 16151, -2274.366943, 423.973999, 48.513000, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 1594, -2244.900878, 453.394989, 48.713001, 0.000000, 0.000000, 14.899999, -1, -1, -1 );
CreateDynamicObject( 1594, -2250.749023, 454.066009, 48.713001, 0.000000, 0.000000, 14.899999, -1, -1, -1 );
CreateDynamicObject( 1281, -2267.210937, 427.559997, 49.022998, 0.000000, 0.000000, 43.099998, -1, -1, -1 );
CreateDynamicObject( 1281, -2270.909912, 431.510986, 49.022998, 0.000000, 0.000000, 43.099998, -1, -1, -1 );
CreateDynamicObject( 1497, -2273.763916, 453.128997, 48.213001, 0.000000, 0.000000, 49.799999, -1, -1, -1 );
CreateDynamicObject( 1497, -2271.806884, 455.391998, 48.213001, 0.000000, 0.000000, -130.699996, -1, -1, -1 );
CreateDynamicObject( 1594, -2248.082031, 448.544006, 48.713001, 0.000000, 0.000000, 14.899999, -1, -1, -1 );
CreateDynamicObject( 3525, -2273.794921, 452.845001, 49.662998, 0.000000, 0.000000, 48.799999, -1, -1, -1 );
CreateDynamicObject( 3525, -2271.514892, 455.449005, 49.662998, 0.000000, 0.000000, 48.799999, -1, -1, -1 );
CreateDynamicObject( 638, -2273.270996, 451.731994, 48.873001, 0.000000, 0.000000, 46.599998, -1, -1, -1 );
CreateDynamicObject( 638, -2270.304931, 454.871002, 48.873001, 0.000000, 0.000000, 46.599998, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2268.709960, 420.903015, 38.675998, 0.000000, 0.000000, 50.099998, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2261.900878, 429.042999, 38.675998, 0.000000, 0.000000, 50.099998, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2263.189941, 427.501007, 38.675998, 0.000000, 0.000000, 50.099998, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2243.138916, 451.483001, 38.675998, 0.000000, 0.000000, 50.099998, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2240.697998, 454.406005, 38.675998, 0.000000, 0.000000, 50.099998, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2242.283935, 452.459991, 44.366001, 90.000000, 0.000000, 140.399993, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", -218103808 );
SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2249.529052, 443.842010, 38.675998, 0.000000, 0.000000, 50.099998, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2247.510986, 446.140991, 44.366001, 90.000000, 0.000000, 140.399993, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", -218103808 );
SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2244.896972, 449.299987, 44.366001, 90.000000, 0.000000, 140.399993, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", -218103808 );
SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2250.115966, 442.989990, 44.366001, 90.000000, 0.000000, 140.399993, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", -218103808 );
SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2252.719970, 439.839996, 44.366001, 90.000000, 0.000000, 140.399993, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", -218103808 );
SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2255.333007, 436.680999, 44.366001, 90.000000, 0.000000, 140.399993, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", -218103808 );
SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2239.677978, 455.610992, 44.366001, 90.000000, 0.000000, 140.399993, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", -218103808 );
SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2260.555908, 430.364013, 44.366001, 90.000000, 0.000000, 140.399993, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", -218103808 );
SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2257.948974, 433.515014, 44.366001, 90.000000, 0.000000, 140.399993, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", -218103808 );
SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2263.169921, 427.205993, 44.366001, 90.000000, 0.000000, 140.399993, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", -218103808 );
SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2265.779052, 424.048004, 44.366001, 90.000000, 0.000000, 140.399993, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", -218103808 );
SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2270.995117, 417.739013, 44.366001, 90.000000, 0.000000, 140.399993, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", -218103808 );
SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2268.393066, 420.889007, 44.366001, 90.000000, 0.000000, 140.399993, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", -218103808 );
SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2254.969970, 437.335998, 40.196018, 0.000000, 0.000000, 50.099998, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
CreateDynamicObject( 1569, -2272.722900, 417.781005, 40.033000, 0.000000, 0.000000, 138.600006, -1, -1, -1 );
CreateDynamicObject( 1569, -2274.935058, 419.731994, 40.033000, 0.000000, 0.000000, -42.000000, -1, -1, -1 );
CreateDynamicObject( 15035, -2247.030029, 453.149993, 40.162998, 0.000000, 0.000000, -130.000000, -1, -1, -1 );
CreateDynamicObject( 2311, -2271.806884, 440.399993, 40.152999, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 11334, -2272.646972, 441.484985, 40.902999, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2253.596923, 457.845001, 42.231998, 0.000000, 0.000000, -93.099998, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
CreateDynamicObject( 14651, -2264.120117, 430.992004, 42.233001, 0.000000, 0.000000, 142.500000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2250.666015, 456.278015, 42.231998, 0.000000, 0.000000, -131.800003, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
CreateDynamicObject( 14720, -2254.748046, 455.493988, 40.148998, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 19926, -2275.094970, 430.230010, 40.141998, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 19787, -2275.319091, 430.236999, 41.720001, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 19808, -2274.916992, 430.201995, 41.084999, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 1824, -2262.573974, 443.436004, 40.682998, 0.000000, 0.000000, 49.099998, -1, -1, -1 );
CreateDynamicObject( 1714, -2273.872070, 429.804992, 40.138999, 0.000000, 0.000000, -122.199996, -1, -1, -1 );
CreateDynamicObject( 1723, -2260.587890, 443.041992, 40.137001, 0.000000, 0.000000, -131.199996, -1, -1, -1 );
CreateDynamicObject( 1723, -2264.571044, 443.850006, 40.137001, 0.000000, 0.000000, 48.299999, -1, -1, -1 );
CreateDynamicObject( 2029, -2262.673095, 451.230010, 40.158000, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2123, -2262.647949, 450.259002, 40.765998, 0.000000, 0.000000, 270.000000, -1, -1, -1 );
CreateDynamicObject( 2123, -2261.687011, 450.259002, 40.765998, 0.000000, 0.000000, 270.000000, -1, -1, -1 );
CreateDynamicObject( 2123, -2262.647949, 452.178985, 40.765998, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 2123, -2261.687011, 452.188995, 40.765998, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 2868, -2262.147949, 451.222991, 40.956001, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 19174, -2250.497070, 455.730010, 43.317001, 0.000000, 0.000000, 48.299999, -1, -1, -1 );
CreateDynamicObject( 2100, -2275.279052, 447.825012, 40.159000, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 1704, -2273.304931, 448.480010, 40.090999, 0.000000, 0.000000, 270.000000, -1, -1, -1 );
CreateDynamicObject( 955, -2266.533935, 456.752990, 40.544998, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 956, -2265.371093, 456.826995, 40.548999, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 1808, -2259.496093, 456.730987, 40.122001, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2571, -2265.989013, 427.066009, 40.143001, 0.000000, 0.000000, -128.699996, -1, -1, -1 );
CreateDynamicObject( 14455, -2275.323974, 426.929992, 41.591999, 0.000000, 0.000000, 270.000000, -1, -1, -1 );
CreateDynamicObject( 2267, -2275.365966, 434.290008, 43.181999, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 2332, -2275.010986, 434.576995, 40.583000, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 2221, -2271.835937, 440.526000, 40.740001, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2221, -2271.835937, 441.656005, 40.740001, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 19584, -2255.267089, 456.291992, 41.303001, 0.000000, 0.000000, 270.000000, -1, -1, -1 );
CreateDynamicObject( 2745, -2252.252929, 439.356994, 34.668998, 0.000000, 0.000000, 46.599998, -1, -1, -1 );
CreateDynamicObject( 2745, -2257.591064, 432.898010, 34.668998, 0.000000, 0.000000, 51.900001, -1, -1, -1 );
CreateDynamicObject( 11743, -2254.943115, 456.313995, 41.139999, 0.000000, 0.000000, -41.000000, -1, -1, -1 );
CreateDynamicObject( 19172, -2262.148925, 457.179992, 43.819999, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 0, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2600, -2271.471923, 417.079986, 48.912998, 0.000000, 0.000000, 50.099998, -1, -1, -1 );
CreateDynamicObject( 11724, -2275.100097, 441.191986, 40.673000, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 11725, -2274.979003, 441.184997, 40.542999, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2269.118896, 439.127014, 33.762001, 180.000000, 90.000000, 140.100006, -1, -1, -1 ), 0, 4550, "skyscr1_lan2", "sl_concretewall1", -1 );
CreateDynamicObject( 2500, -2254.482910, 454.143005, 41.091999, 0.000000, 0.000000, 270.000000, -1, -1, -1 );
SetDynamicObjectMaterialText( CreateDynamicObject( 7914, -2255.439208, 436.643066, 40.686000, 0.000000, 0.000000, 50.099998, -1, -1, -1 ), 0, "Gangsta' Crib", 120, "Impact", 64, 0, -16777088, 0, 1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2237.777099, 457.899993, 38.223999, 0.000000, 0.000000, 50.099998, -1, -1, -1 ), 0, 4600, "theatrelan2", "gm_labuld2_b", -1 );
CreateDynamicObject( 970, -2270.032958, 418.925994, 48.792999, 0.000000, -0.100000, 49.200000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2273.093261, 434.414459, 47.762992, 180.000000, 90.000000, 140.100006, -1, -1, -1 ), 0, 16150, "ufo_bar", "GEWHITE1_64", -1 );
}

View File

@ -5282,8 +5282,17 @@ stock initializeServerObjects( )
CreateDynamicObject( 8168, -2126.154052, 1839.961059, 44.222999, 0.000000, 0.000000, 64.500000, -1, -1, -1 );
CreateDynamicObject( 16327, -1983.401977, 1835.933959, 41.668998, 0.000000, 0.000000, 33.200000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 10610, -2087.221923, 1745.951049, 52.969001, 0.000000, 0.000000, -167.699996, -1, -1, -1 ), 1, 13008, "sw_block01", "sw_brewbrick01", -47 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2135.994140, 1756.071655, 52.015850, 0.000000, 14.100008, 2.300049, -1, -1, -1 ), 0, 0, "none", "none", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2125.268066, 1729.023315, 61.948272, 0.000000, 0.000000, 26.800050, -1, -1, -1 ), 0, 0, "none", "none", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2129.566406, 1840.423706, 41.849170, 0.000000, 0.000000, -54.799930, -1, -1, -1 ), 0, 0, "none", "none", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2118.684082, 1835.784790, 41.789211, 0.000000, 0.000000, -167.100112, -1, -1, -1 ), 0, 0, "none", "none", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -1992.245117, 1789.131347, 41.937107, 0.000000, 0.000000, 2.699999, -1, -1, -1 ), 0, 0, "none", "none", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -1981.197998, 1756.649902, 39.467201, 0.000000, 0.000000, 10.600001, -1, -1, -1 ), 0, 0, "none", "none", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -1980.224121, 1732.872070, 39.467201, 0.000000, 0.000000, -6.100002, -1, -1, -1 ), 0, 0, "none", "none", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2075.446533, 1709.991943, 39.931343, 0.000000, 0.000000, 93.099952, -1, -1, -1 ), 0, 0, "none", "none", 0 );
// Duel Arena
SetDynamicObjectMaterialText( CreateDynamicObject( 19861, -2232.130126, 263.019104, 36.146163, 0.000000, 0.000000, 0.099999, -1, -1, -1 ), 0, "Thanks Stev!", 130, "Impact", 32, 0, -16777216, 0, 1 );
SetDynamicObjectMaterial( CreateDynamicObject( 970, -2237.906250, 243.059402, 34.840320, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 1, 8463, "vgseland", "tiadbuddhagold", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 970, -2237.906250, 260.958953, 34.840320, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 1, 8463, "vgseland", "tiadbuddhagold", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 970, -2237.906250, 247.239334, 34.840320, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 1, 8463, "vgseland", "tiadbuddhagold", 0 );

View File

@ -29,7 +29,7 @@ new
g_AmmunitionCategory[ ] [ ] =
{
{ "Assault" }, { "Melee" }, { "Submachine Guns" }, { "Pistols" },
{ "Rifles" }, { "Shotguns" }, { "Thrown" }, { "Armor" }
{ "Rifles" }, { "Shotguns" }, { "Thrown" }, { "Special" }
},
g_AmmunationWeapons[ ][ E_WEAPONS_DATA ] =
{
@ -67,25 +67,25 @@ new
{ MENU_THROWN, "Grenade", 16, 1, 1200 },
{ MENU_THROWN, "Molotov Cocktail", 18, 4, 1400 },
{ MENU_ARMOR, "Armor", 101, 100, 12500 }
{ MENU_ARMOR, "Armor", 101, 100, 12500 },
{ MENU_ARMOR, "RPG", 35, 1, 10000 }
},
p_AmmunationMenu [ MAX_PLAYERS char ]
;
/* ** Functions ** */
stock RedirectAmmunation( playerid, listitem, custom_title[ ] = "{FFFFFF}Ammu-Nation", custom_dialogid = DIALOG_AMMU_BUY, Float: custom_multplier = 1.0, bool: unlimited_ammo = false )
stock RedirectAmmunation( playerid, listitem, custom_title[ ] = "{FFFFFF}Ammu-Nation", custom_dialogid = DIALOG_AMMU_BUY, Float: custom_multplier = 1.0, ammo_multiplier = 1 )
{
new
szString[ 420 ];
if ( listitem == MENU_ARMOR ) szString = ""COL_WHITE"Item\t"COL_WHITE"Price\n";
else if ( unlimited_ammo ) szString = ""COL_WHITE"Weapon\t"COL_WHITE"Price\n";
else szString = ""COL_WHITE"Weapon\t"COL_WHITE"Ammo\t"COL_WHITE"Price\n";
for( new i; i < sizeof( g_AmmunationWeapons ); i++ ) if ( g_AmmunationWeapons[ i ] [ E_MENU ] == listitem )
{
if ( ! unlimited_ammo && listitem != MENU_ARMOR ) { // Other multipliers will not specify ammo
format( szString, sizeof( szString ), "%s%s\t%d\t", szString, g_AmmunationWeapons[ i ] [ E_NAME ], g_AmmunationWeapons[ i ] [ E_AMMO ] );
if ( listitem != MENU_ARMOR ) { // Other multipliers will not specify ammo
format( szString, sizeof( szString ), "%s%s\t%d\t", szString, g_AmmunationWeapons[ i ] [ E_NAME ], listitem == MENU_MELEE ? 1 : ( g_AmmunationWeapons[ i ] [ E_AMMO ] * ammo_multiplier ) );
} else {
format( szString, sizeof( szString ), "%s%s\t", szString, g_AmmunationWeapons[ i ] [ E_NAME ] );
}

View File

@ -0,0 +1,363 @@
/*
* Irresistible Gaming (c) 2018
* Developed by Lorenc Pekaj
* Module: cannon.inc
* Purpose: orbital cannon implementation for gang facilities
*/
#if !defined MAX_FACILITIES
#error "This module requires facility module!"
#endif
/* ** Includes ** */
#include < YSI\y_hooks >
#include < mapandreas >
/* ** Definitions ** */
#define ORBITAL_CANNON_TICK ( 100 )
/* ** Variables ** */
enum E_ORBITAL_CANNON_DATA
{
Float: E_POS[ 3 ], Float: E_ZOOM, E_TIMER,
E_FIRE_TICK, E_COOL_DOWN
};
new
g_orbitalCannonData [ MAX_FACILITIES ] [ E_ORBITAL_CANNON_DATA ],
p_usingOrbitalCannon [ MAX_PLAYERS ] = { -1, ... },
Text: g_orbitalAimTD = Text: INVALID_TEXT_DRAW,
Text3D: g_orbitalPlayerLabels [ MAX_FACILITIES ] [ MAX_PLAYERS ]
;
/* ** Hooks ** */
hook OnScriptInit( )
{
// start map andreas
MapAndreas_Init( MAP_ANDREAS_MODE_MINIMAL );
// textdraw
g_orbitalAimTD = TextDrawCreate( 305.000000, 205.000000, "+" );
TextDrawBackgroundColor( g_orbitalAimTD, 0 );
TextDrawFont( g_orbitalAimTD, 2 );
TextDrawLetterSize( g_orbitalAimTD, 1.000000, 4.000000 );
TextDrawColor( g_orbitalAimTD, -16777152 );
TextDrawSetOutline( g_orbitalAimTD, 1 );
TextDrawSetProportional( g_orbitalAimTD, 1 );
// starting data
for ( new facilityid = 0; facilityid < sizeof( g_orbitalCannonData ); facilityid ++ ) {
g_orbitalCannonData[ facilityid ] [ E_TIMER ] = -1;
for ( new i = 0; i < sizeof( g_orbitalPlayerLabels[ ] ); i ++ ) {
g_orbitalPlayerLabels[ facilityid ] [ i ] = Text3D: INVALID_3DTEXT_ID;
}
}
return 1;
}
hook SetPlayerRandomSpawn( playerid )
{
if ( GetPVarType( playerid, "left_cannon" ) != PLAYER_VARTYPE_NONE )
{
new facilityid = GetPVarInt( playerid, "left_cannon" );
new int_type = g_gangFacilities[ facilityid ] [ E_INTERIOR_TYPE ];
// place in facility
pauseToLoad( playerid );
SetPVarInt( playerid, "in_facility", facilityid );
UpdatePlayerEntranceExitTick( playerid );
SetPlayerPos( playerid, g_gangFacilityInterior[ int_type ] [ E_CANNON_POS ] [ 0 ], g_gangFacilityInterior[ int_type ] [ E_CANNON_POS ] [ 1 ], g_gangFacilityInterior[ int_type ] [ E_CANNON_POS ] [ 2 ] );
SetPlayerVirtualWorld( playerid, g_gangFacilities[ facilityid ] [ E_WORLD ] );
SetPlayerInterior( playerid, 0 );
// set camera
DeletePVar( playerid, "left_cannon" );
SetCameraBehindPlayer( playerid );
return Y_HOOKS_BREAK_RETURN_1;
}
return 1;
}
hook OnPlayerDisconnect( playerid, reason )
{
ClosePlayerOrbitalCannon( playerid );
return 1;
}
/* ** Callbacks ** */
function OnPlayerOrbitalCannonUpdate( facilityid, playerid )
{
new Float: current_pos[ 3 ];
new Float: move_unit = 10.0;
new keys, ud, lr;
GetPlayerKeys( playerid, keys, ud, lr );
// store local positions
current_pos[ 0 ] = g_orbitalCannonData[ facilityid ] [ E_POS ] [ 0 ];
current_pos[ 1 ] = g_orbitalCannonData[ facilityid ] [ E_POS ] [ 1 ];
MapAndreas_FindZ_For2DCoord( current_pos[ 0 ], current_pos[ 1 ], current_pos[ 2 ] );
// close
if ( ( keys & KEY_CROUCH ) || IsPlayerJailed( playerid ) || IsPlayerAFK( playerid ) )
{
SetPVarInt( playerid, "left_cannon", facilityid );
ClosePlayerOrbitalCannon( playerid );
return TogglePlayerSpectating( playerid, 0 );
}
// fire ammo
if ( ( keys & KEY_SPRINT ) && ! g_orbitalCannonData[ facilityid ] [ E_COOL_DOWN ] )
{
if ( GetPlayerCash( playerid ) < 250000 ) {
SetPVarInt( playerid, "left_cannon", facilityid );
ClosePlayerOrbitalCannon( playerid );
TogglePlayerSpectating( playerid, 0 );
return SendError( playerid, "You need $250,000 to fire an orbital cannon." );
}
// add tick (ms) for countdown
g_orbitalCannonData[ facilityid ] [ E_FIRE_TICK ] += ORBITAL_CANNON_TICK;
// just pressed fire? move camera
if ( g_orbitalCannonData[ facilityid ] [ E_FIRE_TICK ] == ORBITAL_CANNON_TICK ) {
// smoothly move camera
InterpolateCameraPos(
playerid,
g_orbitalCannonData[ facilityid ] [ E_POS ] [ 0 ], g_orbitalCannonData[ facilityid ] [ E_POS ] [ 1 ],
current_pos[ 2 ] + g_orbitalCannonData[ facilityid ] [ E_ZOOM ],
current_pos[ 0 ], current_pos[ 1 ], current_pos[ 2 ] + g_orbitalCannonData[ facilityid ] [ E_ZOOM ] + 50.0,
5000
);
InterpolateCameraLookAt(
playerid,
g_orbitalCannonData[ facilityid ] [ E_POS ] [ 0 ], g_orbitalCannonData[ facilityid ] [ E_POS ] [ 1 ], current_pos[ 2 ],
current_pos[ 0 ], current_pos[ 1 ], current_pos[ 2 ],
5000
);
}
// alert
if ( g_orbitalCannonData[ facilityid ] [ E_FIRE_TICK ] % 1000 == 0 )
{
if ( g_orbitalCannonData[ facilityid ] [ E_FIRE_TICK ] > 3000 )
{
g_orbitalCannonData[ facilityid ] [ E_FIRE_TICK ] = 0;
g_orbitalCannonData[ facilityid ] [ E_COOL_DOWN ] = ORBITAL_CANNON_TICK * 20;
new rocket = CreateDynamicObject( 3786, current_pos[ 0 ], current_pos[ 1 ], current_pos[ 2 ] + g_orbitalCannonData[ facilityid ] [ E_ZOOM ], 5.0, -90.0, 0.0 );
new move_speed = MoveDynamicObject( rocket, current_pos[ 0 ], current_pos[ 1 ], current_pos[ 2 ], 100.0 );
Streamer_Update( playerid, STREAMER_TYPE_OBJECT );
GivePlayerCash( playerid, -250000 );
PlayerPlaySound( playerid, 1057, 0.0, 0.0, 0.0 );
GameTextForPlayer( playerid, "~g~FIRED!", 2000, 3 );
SendServerMessage( playerid, "You have launched an orbital cannon for "COL_GOLD"$250,000"COL_WHITE", you have %s left.", number_format( GetPlayerCash( playerid ) ) );
return SetTimerEx( "OnPlayerFireOrbitalCannon", move_speed, false, "ddfff", playerid, rocket, current_pos[ 0 ], current_pos[ 1 ], current_pos[ 2 ] );
}
else
{
g_orbitalCannonData[ facilityid ] [ E_ZOOM ] += 2.0;
GameTextForPlayer( playerid, sprintf( "~r~%d", g_orbitalCannonData[ facilityid ] [ E_FIRE_TICK ] / 1000 ), 2000, 3 );
PlayerPlaySound( playerid, 1056, 0.0, 0.0, 0.0 );
}
}
}
else
{
g_orbitalCannonData[ facilityid ] [ E_FIRE_TICK ] = 0;
}
// deduct cooldown
if ( g_orbitalCannonData[ facilityid ] [ E_COOL_DOWN ] && ( g_orbitalCannonData[ facilityid ] [ E_COOL_DOWN ] -= ORBITAL_CANNON_TICK ) <= 0 )
g_orbitalCannonData[ facilityid ] [ E_COOL_DOWN ] = 0;
// begin movement
if ( ! g_orbitalCannonData[ facilityid ] [ E_FIRE_TICK ] )
{
// zoom in
if ( g_orbitalCannonData[ facilityid ] [ E_ZOOM ] > 75.0 ) move_unit = g_orbitalCannonData[ facilityid ] [ E_ZOOM ] / 7.5;
else if ( g_orbitalCannonData[ facilityid ] [ E_ZOOM ] <= 20.0 ) move_unit = 5.0;
// move camera
if ( ud == KEY_UP ) current_pos[ 1 ] += move_unit;
else if ( ud == KEY_DOWN ) current_pos[ 1 ] -= move_unit;
if ( lr == KEY_LEFT ) current_pos[ 0 ] -= move_unit;
else if ( lr == KEY_RIGHT ) current_pos[ 0 ] += move_unit;
// zoom in
if ( keys & KEY_FIRE ) {
if ( ( g_orbitalCannonData[ facilityid ] [ E_ZOOM ] -= move_unit ) < 20.0 ) {
g_orbitalCannonData[ facilityid ] [ E_ZOOM ] = 20.0;
}
}
else if ( keys & KEY_AIM ) {
if ( ( g_orbitalCannonData[ facilityid ] [ E_ZOOM ] += move_unit ) > 300.0 ) {
g_orbitalCannonData[ facilityid ] [ E_ZOOM ] = 300.0;
}
}
// smoothly move camera
InterpolateCameraPos(
playerid,
g_orbitalCannonData[ facilityid ] [ E_POS ] [ 0 ], g_orbitalCannonData[ facilityid ] [ E_POS ] [ 1 ], g_orbitalCannonData[ facilityid ] [ E_POS ] [ 2 ] + g_orbitalCannonData[ facilityid ] [ E_ZOOM ],
current_pos[ 0 ], current_pos[ 1 ], current_pos[ 2 ] + g_orbitalCannonData[ facilityid ] [ E_ZOOM ],
150
);
InterpolateCameraLookAt(
playerid,
g_orbitalCannonData[ facilityid ] [ E_POS ] [ 0 ], g_orbitalCannonData[ facilityid ] [ E_POS ] [ 1 ], g_orbitalCannonData[ facilityid ] [ E_POS ] [ 2 ],
current_pos[ 0 ], current_pos[ 1 ], current_pos[ 2 ],
150
);
}
// update
g_orbitalCannonData[ facilityid ] [ E_POS ] = current_pos;
return 1;
}
function OnPlayerFireOrbitalCannon( playerid, rocketid, Float: X, Float: Y, Float: Z )
{
new Float: player_X, Float: player_Y, Float: player_Z;
// destroy the rocket after it is moved
DestroyDynamicObject( rocketid );
// kill everyone in that area
foreach ( new i : Player ) if ( GetPlayerGang( i ) != GetPlayerGang( playerid ) && GetPlayerVirtualWorld( i ) == 0 && GetPlayerInterior( i ) == 0 && ! IsPlayerJailed( i ) && ! IsPlayerAdminOnDuty( i ) && ! IsPlayerSpawnProtected( i ) )
{
new
player_state = GetPlayerState( i );
if ( GetPlayerPos( i, player_X, player_Y, player_Z ) && player_Z >= Z && player_state != PLAYER_STATE_WASTED && player_state != PLAYER_STATE_SPECTATING )
{
new
Float: distance_squared = VectorSize( player_X - X, player_Y - Y, 0.0 );
if ( distance_squared < 30.0 )
{
SendClientMessageToAllFormatted( -1, ""COL_ORANGE"[ORBITAL CANNON]"COL_WHITE" %s(%d) got rekt by %s(%d)'s orbital cannon.", ReturnPlayerName( i ), i, ReturnPlayerName( playerid ), playerid );
ForcePlayerKill( i, playerid, 51 );
CreateExplosion( player_X, player_Y, player_Z, 0, 10.0 );
continue;
}
}
}
// create explosion
CreateExplosion( X, Y, Z, 6, 10.0 );
return 1;
}
/* ** Functions ** */
stock StartPlayerOrbitalCannon( playerid, facilityid )
{
if ( g_orbitalCannonData[ facilityid ] [ E_TIMER ] != -1 )
return 0;
// player
SetPlayerInterior( playerid, 0 );
SetPlayerVirtualWorld( playerid, 0 );
TogglePlayerSpectating( playerid, 1 );
TextDrawShowForPlayer( playerid, g_orbitalAimTD );
ShowPlayerHelpDialog( playerid, 0, "~y~Arrows~w~ - Move camera~n~~y~~k~~PED_FIREWEAPON~~w~ - Zoom in~n~~y~~k~~PED_LOCK_TARGET~~w~ - Zoom out~n~~y~~k~~PED_SPRINT~~w~ - Fire cannon ~g~($250,000)~n~~y~~k~~PED_DUCK~~w~ - Cancel" );
p_usingOrbitalCannon[ playerid ] = facilityid;
if ( ! IsPlayerMovieMode( playerid ) ) cmd_moviemode( playerid, "" );
// destroy labels (created on stream out/in anyway)
for ( new i = 0; i < sizeof( g_orbitalPlayerLabels[ ] ); i ++ ) {
DestroyDynamic3DTextLabel( g_orbitalPlayerLabels[ facilityid ] [ i ] );
g_orbitalPlayerLabels[ facilityid ] [ i ] = Text3D: INVALID_3DTEXT_ID;
}
// set cannon position
g_orbitalCannonData[ facilityid ] [ E_POS ] [ 0 ] = g_gangFacilities[ facilityid ] [ E_X ];
g_orbitalCannonData[ facilityid ] [ E_POS ] [ 1 ] = g_gangFacilities[ facilityid ] [ E_Y ];
g_orbitalCannonData[ facilityid ] [ E_POS ] [ 2 ] = g_gangFacilities[ facilityid ] [ E_Z ];
// set zoom of camera
g_orbitalCannonData[ facilityid ] [ E_POS ] [ 2 ] += ( g_orbitalCannonData[ facilityid ] [ E_ZOOM ] += 100.0 );
g_orbitalCannonData[ facilityid ] [ E_TIMER ] = SetTimerEx( "OnPlayerOrbitalCannonUpdate", ORBITAL_CANNON_TICK, true, "dd", facilityid, playerid );
return 1;
}
hook OnPlayerStreamIn( playerid, forplayerid )
{
if ( ! IsPlayerNPC( playerid ) && IsPlayerUsingOrbitalCannon( forplayerid ) )
{
new
facilityid = p_usingOrbitalCannon[ forplayerid ];
if ( 0 <= facilityid < sizeof( g_orbitalCannonData ) )
{
if ( ! IsValidDynamic3DTextLabel( g_orbitalPlayerLabels[ facilityid ] [ playerid ] ) )
{
g_orbitalPlayerLabels[ facilityid ] [ playerid ] = CreateDynamic3DTextLabel(
sprintf( "%s(%d)", ReturnPlayerName( playerid ), playerid ),
setAlpha( GetPlayerColor( playerid ), 0xFF ),
0.0, 0.0, 0.0, 300.0,
.attachedplayer = playerid,
.testlos = 0,
.playerid = forplayerid,
.streamdistance = 300.0
);
}
}
}
return 1;
}
hook OnPlayerStreamOut( playerid, forplayerid )
{
if ( ! IsPlayerNPC( playerid ) && IsPlayerUsingOrbitalCannon( forplayerid ) )
{
new
facilityid = p_usingOrbitalCannon[ forplayerid ];
if ( 0 <= facilityid < sizeof( g_orbitalCannonData ) )
{
if ( IsValidDynamic3DTextLabel( g_orbitalPlayerLabels[ facilityid ] [ playerid ] ) )
{
DestroyDynamic3DTextLabel( g_orbitalPlayerLabels[ facilityid ] [ playerid ] );
g_orbitalPlayerLabels[ facilityid ] [ playerid ] = Text3D: INVALID_3DTEXT_ID;
}
}
}
return 1;
}
stock ClosePlayerOrbitalCannon( playerid ) {
new
facilityid = p_usingOrbitalCannon[ playerid ];
// remove user
p_usingOrbitalCannon[ playerid ] = -1;
TextDrawHideForPlayer( playerid, g_orbitalAimTD );
HidePlayerHelpDialog( playerid );
if ( IsPlayerMovieMode( playerid ) ) cmd_moviemode( playerid, "" );
// reset facility portion
if ( 0 <= facilityid < sizeof( g_orbitalCannonData ) )
{
// remove label associated
for ( new i = 0; i < sizeof( g_orbitalPlayerLabels[ ] ); i ++ ) {
DestroyDynamic3DTextLabel( g_orbitalPlayerLabels[ facilityid ] [ i ] );
g_orbitalPlayerLabels[ facilityid ] [ i ] = Text3D: INVALID_3DTEXT_ID;
}
// kill timer
KillTimer( g_orbitalCannonData[ facilityid ] [ E_TIMER ] );
g_orbitalCannonData[ facilityid ] [ E_TIMER ] = -1;
}
return 1;
}
stock IsPlayerUsingOrbitalCannon( playerid ) {
return p_usingOrbitalCannon[ playerid ] != -1;
}

View File

@ -20,27 +20,40 @@
/* ** Variables ** */
enum E_GANG_FACILITIES
{
E_GANG_SQL_ID, E_TURF_ID, E_INTERIOR_TYPE,
E_GANG_SQL_ID, E_TURF_ID, E_INTERIOR_TYPE,
E_WORLD,
Text3D: E_LABEL[ 2 ], E_CHECKPOINT[ 2 ],
Float: E_X, Float: E_Y, Float: E_Z,
Float: E_X, Float: E_Y, Float: E_Z,
E_AMMU_CP
E_AMMU_CP, E_SHOP_CP, E_CANNON_CP,
E_TRAVEL_CP
};
enum E_FACILITY_INTERIOR
{
Float: E_X, Float: E_Y, Float: E_Z,
Float: E_AMMU_POS[ 4 ] //Float: E_MECHANIC_POS[ 4 ]
Float: E_POS[ 3 ],
Float: E_CANNON_POS[ 3 ],
Float: E_AMMU_POS[ 4 ],
Float: E_SHOP_POS[ 4 ],
Float: E_TRAVEL_POS[ 4 ],
Float: E_ATM_POS[ 4 ]
//Float: E_MECHANIC_POS[ 4 ]
};
new
g_gangFacilityInterior [ ] [ E_FACILITY_INTERIOR ] =
{
{ 228.2063, 1872.4011, 1463.7345, { 248.4965, 1797.5060, 1457.4143, 0.000000 } }
// default interior
{
{ 238.9165, 1872.3391, 1861.4607 },
{ 212.4133, 1822.7343, 1856.4138 },
{ 248.5042, 1797.5060, 1857.4143, 0.000000 },
{ 259.9110, 1850.9300, 1858.7600, 0.000000 },
{ 261.0079, 1869.5808, 1858.7600, 90.00000 },
{ 262.5575, 1850.0053, 1858.3671, 180.0000 }
}
},
g_gangFacilities [ MAX_FACILITIES ] [ E_GANG_FACILITIES ],
// g_gangsWithFacilities [ MAX_FACILITIES ],
@ -98,8 +111,9 @@ hook OnPlayerEnterDynamicCP( playerid, checkpointid )
// begin entrance
pauseToLoad( playerid );
SetPVarInt( playerid, "in_facility", facility );
PlayerPlaySound( playerid, 1, 0.0, 0.0, 0.0 );
UpdatePlayerEntranceExitTick( playerid );
SetPlayerPos( playerid, g_gangFacilityInterior[ int_type ] [ E_X ], g_gangFacilityInterior[ int_type ] [ E_Y ], g_gangFacilityInterior[ int_type ] [ E_Z ] );
SetPlayerPos( playerid, g_gangFacilityInterior[ int_type ] [ E_POS ] [ 0 ], g_gangFacilityInterior[ int_type ] [ E_POS ] [ 1 ], g_gangFacilityInterior[ int_type ] [ E_POS ] [ 2 ] );
SetPlayerVirtualWorld( playerid, g_gangFacilities[ facility ] [ E_WORLD ] );
SetPlayerInterior( playerid, 0 );
break;
@ -108,6 +122,7 @@ hook OnPlayerEnterDynamicCP( playerid, checkpointid )
// exit
else if ( checkpointid == g_gangFacilities[ facility ] [ E_CHECKPOINT ] [ 1 ] )
{
PlayerPlaySound( playerid, 0, 0.0, 0.0, 0.0 );
TogglePlayerControllable( playerid, 0 );
UpdatePlayerEntranceExitTick( playerid );
SetTimerEx( "ope_Unfreeze", 1250, false, "d", playerid );
@ -121,6 +136,37 @@ hook OnPlayerEnterDynamicCP( playerid, checkpointid )
{
return ShowAmmunationMenu( playerid, "{FFFFFF}Gang Facility - Purchase Weapons", DIALOG_FACILITY_AMMU );
}
// shop
else if ( checkpointid == g_gangFacilities[ facility ] [ E_SHOP_CP ] )
{
return ShowPlayerShopMenu( playerid );
}
// fast travel
else if ( checkpointid == g_gangFacilities[ facility ] [ E_TRAVEL_CP ] )
{
if ( GetPlayerWantedLevel( playerid ) )
return SendError( playerid, "You cannot travel while you are wanted." );
return ShowPlayerAirportMenu( playerid );
}
// orbital cannon
else if ( checkpointid == g_gangFacilities[ facility ] [ E_CANNON_CP ] )
{
if ( GetPlayerCash( playerid ) < 250000 )
return SendError( playerid, "You need at least $250,000 available to begin operating the orbital cannon." );
if ( StartPlayerOrbitalCannon( playerid, facility ) )
{
return SendServerMessage( playerid, "You are now operating this facility's orbital cannon." );
}
else
{
return SendError( playerid, "The orbital cannon of this facility is currently in use." );
}
}
}
}
return 1;
@ -226,6 +272,7 @@ thread OnGangFaciltiesLoad( )
if ( rows )
{
new gang_name[ 30 ], join_msg[ 96 ];
new Float: infront_x, Float: infront_y;
for ( new row = 0; row < rows; row ++ )
{
@ -302,17 +349,47 @@ thread OnGangFaciltiesLoad( )
// create interior
new type = g_gangFacilities[ id ] [ E_INTERIOR_TYPE ];
g_gangFacilities[ id ] [ E_CHECKPOINT ] [ 1 ] = CreateDynamicCP( g_gangFacilityInterior[ type ] [ E_X ], g_gangFacilityInterior[ type ] [ E_Y ], g_gangFacilityInterior[ type ] [ E_Z ], 1.0, g_gangFacilities[ id ] [ E_WORLD ], -1, -1, 100.0 );
g_gangFacilities[ id ] [ E_LABEL ] [ 1 ] = CreateDynamic3DTextLabel( "[EXIT]", COLOR_GOLD, g_gangFacilityInterior[ type ] [ E_X ], g_gangFacilityInterior[ type ] [ E_Y ], g_gangFacilityInterior[ type ] [ E_Z ], 20.0 );
g_gangFacilities[ id ] [ E_CHECKPOINT ] [ 1 ] = CreateDynamicCP( g_gangFacilityInterior[ type ] [ E_POS ] [ 0 ], g_gangFacilityInterior[ type ] [ E_POS ] [ 1 ], g_gangFacilityInterior[ type ] [ E_POS ] [ 2 ], 1.0, g_gangFacilities[ id ] [ E_WORLD ], -1, -1, 100.0 );
g_gangFacilities[ id ] [ E_LABEL ] [ 1 ] = CreateDynamic3DTextLabel( "[EXIT]", COLOR_GOLD, g_gangFacilityInterior[ type ] [ E_POS ] [ 0 ], g_gangFacilityInterior[ type ] [ E_POS ] [ 1 ], g_gangFacilityInterior[ type ] [ E_POS ] [ 2 ], 20.0 );
// ammunation man
CreateDynamicActor( 179, g_gangFacilityInterior[ type ] [ E_AMMU_POS ] [ 0 ], g_gangFacilityInterior[ type ] [ E_AMMU_POS ] [ 1 ], g_gangFacilityInterior[ type ] [ E_AMMU_POS ] [ 2 ], g_gangFacilityInterior[ type ] [ E_AMMU_POS ] [ 3 ], true, 100.0, .worldid = g_gangFacilities[ id ] [ E_WORLD ] );
new Float: infront_x = g_gangFacilityInterior[ type ] [ E_AMMU_POS ] [ 0 ] + 2.0 * floatsin( g_gangFacilityInterior[ type ] [ E_AMMU_POS ] [ 3 ], degrees );
new Float: infront_y = g_gangFacilityInterior[ type ] [ E_AMMU_POS ] [ 1 ] + 2.0 * floatcos( g_gangFacilityInterior[ type ] [ E_AMMU_POS ] [ 3 ], degrees );
infront_x = g_gangFacilityInterior[ type ] [ E_AMMU_POS ] [ 0 ] + 2.0 * floatsin( -g_gangFacilityInterior[ type ] [ E_AMMU_POS ] [ 3 ], degrees );
infront_y = g_gangFacilityInterior[ type ] [ E_AMMU_POS ] [ 1 ] + 2.0 * floatcos( -g_gangFacilityInterior[ type ] [ E_AMMU_POS ] [ 3 ], degrees );
g_gangFacilities[ id ] [ E_AMMU_CP ] = CreateDynamicCP( infront_x, infront_y, g_gangFacilityInterior[ type ] [ E_AMMU_POS ] [ 2 ], 1.0, g_gangFacilities[ id ] [ E_WORLD ], -1, -1, 100.0 );
g_gangFacilities[ id ] [ E_AMMU_CP ] = CreateDynamicCP( infront_x, infront_y, g_gangFacilityInterior[ type ] [ E_AMMU_POS ] [ 2 ], 1.0, .worldid = g_gangFacilities[ id ] [ E_WORLD ] );
CreateDynamic3DTextLabel( "[AMMU-NATION]", COLOR_GOLD, infront_x, infront_y, g_gangFacilityInterior[ type ] [ E_AMMU_POS ] [ 2 ], 20.0, .worldid = g_gangFacilities[ id ] [ E_WORLD ] );
// orbital cannon
g_gangFacilities[ id ] [ E_CANNON_CP ] = CreateDynamicCP( g_gangFacilityInterior[ type ] [ E_CANNON_POS ] [ 0 ], g_gangFacilityInterior[ type ] [ E_CANNON_POS ] [ 1 ], g_gangFacilityInterior[ type ] [ E_CANNON_POS ] [ 2 ], 1.0, .worldid = g_gangFacilities[ id ] [ E_WORLD ] );
CreateDynamic3DTextLabel( "[ORBITAL CANNON]", COLOR_GOLD, g_gangFacilityInterior[ type ] [ E_CANNON_POS ] [ 0 ], g_gangFacilityInterior[ type ] [ E_CANNON_POS ] [ 1 ], g_gangFacilityInterior[ type ] [ E_CANNON_POS ] [ 2 ], 20.0, .worldid = g_gangFacilities[ id ] [ E_WORLD ] );
// shop actor
CreateDynamicActor( 211, g_gangFacilityInterior[ type ] [ E_SHOP_POS ] [ 0 ], g_gangFacilityInterior[ type ] [ E_SHOP_POS ] [ 1 ], g_gangFacilityInterior[ type ] [ E_SHOP_POS ] [ 2 ], g_gangFacilityInterior[ type ] [ E_SHOP_POS ] [ 3 ], true, 100.0, .worldid = g_gangFacilities[ id ] [ E_WORLD ] );
infront_x = g_gangFacilityInterior[ type ] [ E_SHOP_POS ] [ 0 ] + 2.0 * floatsin( -g_gangFacilityInterior[ type ] [ E_SHOP_POS ] [ 3 ], degrees );
infront_y = g_gangFacilityInterior[ type ] [ E_SHOP_POS ] [ 1 ] + 2.0 * floatcos( -g_gangFacilityInterior[ type ] [ E_SHOP_POS ] [ 3 ], degrees );
g_gangFacilities[ id ] [ E_SHOP_CP ] = CreateDynamicCP( infront_x, infront_y, g_gangFacilityInterior[ type ] [ E_SHOP_POS ] [ 2 ], 1.0, .worldid = g_gangFacilities[ id ] [ E_WORLD ] );
CreateDynamic3DTextLabel( "[24/7]", COLOR_GOLD, infront_x, infront_y, g_gangFacilityInterior[ type ] [ E_SHOP_POS ] [ 2 ], 20.0, .worldid = g_gangFacilities[ id ] [ E_WORLD ] );
// fast travel actor
CreateDynamicActor( 61, g_gangFacilityInterior[ type ] [ E_TRAVEL_POS ] [ 0 ], g_gangFacilityInterior[ type ] [ E_TRAVEL_POS ] [ 1 ], g_gangFacilityInterior[ type ] [ E_TRAVEL_POS ] [ 2 ], g_gangFacilityInterior[ type ] [ E_TRAVEL_POS ] [ 3 ], true, 100.0, .worldid = g_gangFacilities[ id ] [ E_WORLD ] );
infront_x = g_gangFacilityInterior[ type ] [ E_TRAVEL_POS ] [ 0 ] + 2.0 * floatsin( -g_gangFacilityInterior[ type ] [ E_TRAVEL_POS ] [ 3 ], degrees );
infront_y = g_gangFacilityInterior[ type ] [ E_TRAVEL_POS ] [ 1 ] + 2.0 * floatcos( -g_gangFacilityInterior[ type ] [ E_TRAVEL_POS ] [ 3 ], degrees );
g_gangFacilities[ id ] [ E_TRAVEL_CP ] = CreateDynamicCP( infront_x, infront_y, g_gangFacilityInterior[ type ] [ E_TRAVEL_POS ] [ 2 ], 1.0, .worldid = g_gangFacilities[ id ] [ E_WORLD ] );
CreateDynamic3DTextLabel( "[FAST TRAVEL]", COLOR_GOLD, infront_x, infront_y, g_gangFacilityInterior[ type ] [ E_TRAVEL_POS ] [ 2 ], 20.0, .worldid = g_gangFacilities[ id ] [ E_WORLD ] );
// create atm
CreateATM( g_gangFacilityInterior[ type ] [ E_ATM_POS ] [ 0 ], g_gangFacilityInterior[ type ] [ E_ATM_POS ] [ 1 ], g_gangFacilityInterior[ type ] [ E_ATM_POS ] [ 2 ], g_gangFacilityInterior[ type ] [ E_ATM_POS ] [ 3 ], 0.0, g_gangFacilities[ id ] [ E_WORLD ] );
// more actors
CreateDynamicActor( 268, 244.6742, 1843.2554, 1858.7576, 0.000000, true, 100.0, .worldid = g_gangFacilities[ id ] [ E_WORLD ] );
ApplyDynamicActorAnimation( CreateDynamicActor( 70, 212.868576, 1819.894531, 1856.413818, 117.200050, true, 100.0, .worldid = g_gangFacilities[ id ] [ E_WORLD ] ), "COP_AMBIENT", "Coplook_loop", 4.1, 1, 1, 1, 1, 0 );
ApplyDynamicActorAnimation( CreateDynamicActor( 70, 213.705627, 1827.192993, 1856.413818, 60.300289, true, 100.0, .worldid = g_gangFacilities[ id ] [ E_WORLD ] ), "COP_AMBIENT", "Coplook_think", 4.1, 1, 1, 1, 1, 0 );
}
else
{
@ -347,7 +424,7 @@ stock GetFacilityInteriorType( gang_sql_id )
static stock initializeFacilityObjects( )
{
tmpVariable = CreateDynamicObject( 16647, 249.156005, 1860.953002, 1460.366943, 0.000000, 0.000000, 180.000000, -1, -1, -1, .streamdistance = -1 );
tmpVariable = CreateDynamicObject( 16647, 249.156005, 1860.953002, 1860.366943, 0.000000, 0.000000, 180.000000, -1, -1, -1, .streamdistance = -1 );
SetDynamicObjectMaterial( tmpVariable, 1, 6038, "lawwhitebuilds", "brwall_128", 0 );
SetDynamicObjectMaterial( tmpVariable, 2, 6038, "lawwhitebuilds", "brwall_128", 0 );
SetDynamicObjectMaterial( tmpVariable, 7, 6038, "lawwhitebuilds", "brwall_128", 0 );
@ -358,87 +435,86 @@ static stock initializeFacilityObjects( )
SetDynamicObjectMaterial( tmpVariable, 8, 17538, "losflor4_lae2", "tarmacplain_bank", 0 );
SetDynamicObjectMaterial( tmpVariable, 15, 17538, "losflor4_lae2", "tarmacplain_bank", 0 );
SetDynamicObjectMaterial( tmpVariable, 6, 3587, "snpedhusxref", "comptwindo1", 0 );
CreateDynamicObject( 16641, 279.890991, 1807.014038, -44.832000, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
tmpVariable = CreateDynamicObject( 16643, 248.727005, 1869.989013, 1461.852050, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
tmpVariable = CreateDynamicObject( 16643, 248.727005, 1869.989013, 1861.852050, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
SetDynamicObjectMaterial( tmpVariable, 3, 16643, "none", "none", 1 );
SetDynamicObjectMaterial( tmpVariable, 4, 16643, "none", "none", 1 );
CreateDynamicObject( 16651, 247.906005, 1825.625000, 1455.562011, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 16650, 247.703002, 1823.843994, 1456.555053, 0.000000, 0.000000, -90.000000, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", 0 );
tmpVariable = CreateDynamicObject( 16665, 223.429992, 1822.741943, 1456.406005, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 16651, 247.906005, 1825.625000, 1855.562011, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 16650, 247.703002, 1823.843994, 1856.555053, 0.000000, 0.000000, -90.000000, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", 0 );
tmpVariable = CreateDynamicObject( 16665, 223.429992, 1822.741943, 1856.406005, 0.000000, 0.000000, 0.000000, -1, -1, -1, .streamdistance = -1 );
SetDynamicObjectMaterial( tmpVariable, 0, 6038, "lawwhitebuilds", "brwall_128", 0 );
SetDynamicObjectMaterial( tmpVariable, 1, 6038, "lawwhitebuilds", "brwall_128", 0 );
SetDynamicObjectMaterial( tmpVariable, 6, 6038, "lawwhitebuilds", "brwall_128", 0 );
SetDynamicObjectMaterial( tmpVariable, 2, 17538, "losflor4_lae2", "tarmacplain_bank", 0 );
SetDynamicObjectMaterial( tmpVariable, 4, 17538, "losflor4_lae2", "tarmacplain_bank", 0 );
SetDynamicObjectMaterial( tmpVariable, 3, 8419, "vgsbldng1", "black32", 0 );
CreateDynamicObject( 16648, 244.703002, 1905.211059, 1459.906005, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 16640, 263.429992, 1840.782958, 1457.109985, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
tmpVariable = CreateDynamicObject( 19786, 211.182998, 1822.728027, 1459.890991, 7.900000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 16648, 244.703002, 1905.211059, 1859.906005, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 16640, 263.429992, 1840.782958, 1857.109985, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
tmpVariable = CreateDynamicObject( 19786, 211.182998, 1822.728027, 1859.890991, 7.900000, 0.000000, 90.000000, -1, -1, -1 );
SetDynamicObjectMaterialText( tmpVariable, 0, "ACTIVE", 130, "ARIAL", 60, 1, 0, -16777216, 1 );
SetDynamicObjectMaterialText( tmpVariable, 1, "\nACTIVE", 130, "ARIAL", 100, 1, -65536, -16777216, 1 );
tmpVariable = CreateDynamicObject( 19786, 211.244003, 1822.728027, 1460.186035, 7.900000, 0.000000, 90.000000, -1, -1, -1 );
tmpVariable = CreateDynamicObject( 19786, 211.244003, 1822.728027, 1860.186035, 7.900000, 0.000000, 90.000000, -1, -1, -1 );
SetDynamicObjectMaterialText( tmpVariable, 0, "ORBITAL CANNON", 130, "ARIAL", 50, 1, 0, 0, 1 );
SetDynamicObjectMaterialText( tmpVariable, 1, "ORBITAL CANNON", 130, "ARIAL", 50, 1, -1, 0, 1 );
tmpVariable = CreateDynamicObject( 19786, 212.235000, 1818.493041, 1459.784057, 7.900000, 0.000000, 117.599998, -1, -1, -1 );
tmpVariable = CreateDynamicObject( 19786, 212.235000, 1818.493041, 1859.784057, 7.900000, 0.000000, 117.599998, -1, -1, -1 );
SetDynamicObjectMaterialText( tmpVariable, 1, "\nACTIVE", 130, "arial", 110, 1, -65536, -16777216, 1 );
SetDynamicObjectMaterialText( tmpVariable, 0, "\nACTIVE", 130, "arial", 110, 1, -16777216, -16777216, 1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19786, 212.212005, 1826.942993, 1459.744018, 7.900000, 0.000000, 62.299999, -1, -1, -1 ), 0, 16658, "a51", "wallgreyred128", 0 );
SetDynamicObjectMaterialText( CreateDynamicObject( 19786, 212.212005, 1826.942993, 1459.744018, 7.900000, 0.000000, 62.299999, -1, -1, -1 ), 1, "\nACTIVE", 130, "arial", 110, 1, -65536, -16777216, 1 );
tmpVariable = CreateDynamicObject( 19786, 212.285003, 1818.517944, 1460.119018, 7.900000, 0.000000, 117.599998, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19786, 212.212005, 1826.942993, 1859.744018, 7.900000, 0.000000, 62.299999, -1, -1, -1 ), 0, 1676, "wshxrefpump", "black64", 0 );
SetDynamicObjectMaterialText( CreateDynamicObject( 19786, 212.212005, 1826.942993, 1859.744018, 7.900000, 0.000000, 62.299999, -1, -1, -1 ), 1, "\nACTIVE", 130, "arial", 110, 1, -65536, -16777216, 1 );
tmpVariable = CreateDynamicObject( 19786, 212.285003, 1818.517944, 1860.119018, 7.900000, 0.000000, 117.599998, -1, -1, -1 );
SetDynamicObjectMaterialText( tmpVariable, 1, "ORBITAL CANNON", 130, "Arial", 50, 1, -1, 0, 1 );
SetDynamicObjectMaterialText( tmpVariable, 0, "ORBITAL CANNON", 130, "Arial", 50, 1, 0, 0, 1 );
tmpVariable = CreateDynamicObject( 19786, 212.263000, 1826.916992, 1460.088989, 7.900000, 0.000000, 62.299999, -1, -1, -1 );
tmpVariable = CreateDynamicObject( 19786, 212.263000, 1826.916992, 1860.088989, 7.900000, 0.000000, 62.299999, -1, -1, -1 );
SetDynamicObjectMaterialText( tmpVariable, 1, "ORBITAL CANNON", 130, "Arial", 50, 1, -1, 0, 1 );
SetDynamicObjectMaterialText( tmpVariable, 0, "ORBITAL CANNON", 130, "Arial", 50, 1, 0, 0, 1 );
CreateDynamicObject( 16782, 210.367004, 1822.741943, 1457.602050, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 16662, 211.934005, 1823.194946, 1456.639038, 0.000000, 0.000000, 63.000000, -1, -1, -1 );
CreateDynamicObject( 3526, 222.003005, 1828.145019, 1455.504028, 0.000000, 0.000000, 68.900001, -1, -1, -1 );
CreateDynamicObject( 3526, 224.410995, 1826.500000, 1455.504028, 0.000000, 0.000000, 41.799999, -1, -1, -1 );
CreateDynamicObject( 3526, 221.975997, 1817.296997, 1455.504028, 0.000000, 0.000000, -69.500000, -1, -1, -1 );
CreateDynamicObject( 3526, 224.350006, 1818.922973, 1455.504028, 0.000000, 0.000000, -41.700000, -1, -1, -1 );
CreateDynamicObject( 964, 253.541000, 1797.566040, 1456.404052, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 964, 252.100997, 1797.566040, 1456.404052, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 964, 253.220993, 1797.251953, 1457.343994, 0.000000, 0.000000, -167.699996, -1, -1, -1 );
CreateDynamicObject( 355, 254.179992, 1799.074951, 1456.722045, 0.000000, -90.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 355, 254.179992, 1798.395019, 1456.722045, 0.000000, -90.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 355, 254.179992, 1798.734985, 1456.722045, 0.000000, -90.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 2358, 252.067993, 1797.734008, 1457.472045, 0.000000, 0.000000, -130.000000, -1, -1, -1 );
CreateDynamicObject( 2358, 253.134002, 1797.234985, 1458.391967, 0.000000, 0.000000, 175.800003, -1, -1, -1 );
CreateDynamicObject( 2359, 251.667007, 1796.734008, 1457.501953, 0.000000, 0.000000, 14.500000, -1, -1, -1 );
CreateDynamicObject( 923, 252.889007, 1805.036010, 1457.281982, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 923, 250.542999, 1804.788940, 1457.281982, 0.000000, 0.000000, 11.699999, -1, -1, -1 );
CreateDynamicObject( 18637, 251.001998, 1796.952026, 1456.943969, 80.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 18637, 250.341995, 1796.952026, 1456.943969, 80.000000, 0.000000, 180.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 2063, 241.001007, 1799.272949, 1457.303955, 0.000000, 0.000000, 134.600006, -1, -1, -1 ), 0, 2063, "none", "none", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 2063, 244.800003, 1797.186035, 1457.303955, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 2063, "none", "none", 0 );
CreateDynamicObject( 1271, 246.636001, 1797.443969, 1456.803955, 0.000000, 0.000000, 19.600000, -1, -1, -1 );
CreateDynamicObject( 1271, 242.404006, 1798.142944, 1456.803955, 0.000000, 0.000000, -74.000000, -1, -1, -1 );
CreateDynamicObject( 1271, 243.054000, 1797.572021, 1456.803955, 0.000000, 0.000000, -39.700000, -1, -1, -1 );
CreateDynamicObject( 1271, 242.751998, 1797.739013, 1457.463989, 0.000000, 0.000000, 154.000000, -1, -1, -1 );
CreateDynamicObject( 19602, 240.326995, 1799.930053, 1457.303955, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 19602, 240.619995, 1799.656982, 1457.303955, 0.000000, 0.000000, 47.200000, -1, -1, -1 );
CreateDynamicObject( 19602, 240.996994, 1799.318969, 1457.303955, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2040, 241.138000, 1799.099975, 1458.183959, 0.000000, 0.000000, 45.000000, -1, -1, -1 );
CreateDynamicObject( 2040, 241.533996, 1798.703979, 1458.183959, 0.000000, 0.000000, 21.200000, -1, -1, -1 );
CreateDynamicObject( 2036, 244.300003, 1797.150024, 1457.254028, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2036, 245.289001, 1797.150024, 1457.693969, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 2035, 244.819000, 1797.150024, 1456.784057, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 2035, 245.429000, 1797.150024, 1458.104003, 0.000000, 0.000000, 11.600000, -1, -1, -1 );
CreateDynamicObject( 19515, 243.938995, 1797.230957, 1458.313964, 0.000000, -90.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 19515, 244.578994, 1797.230957, 1458.313964, 0.000000, -90.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 359, 241.255996, 1798.937011, 1457.703979, 90.000000, 0.000000, 135.000000, -1, -1, -1 );
CreateDynamicObject( 359, 239.716995, 1800.338989, 1457.154052, -8.399999, -88.400001, 138.899993, -1, -1, -1 );
CreateDynamicObject( 359, 239.397003, 1800.671997, 1457.188964, -8.399999, -88.400001, 138.899993, -1, -1, -1 );
CreateDynamicObject( 2056, 246.738006, 1797.470947, 1457.154052, -90.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2056, 246.554992, 1797.300048, 1457.173950, -90.000000, 0.000000, 43.099998, -1, -1, -1 );
CreateDynamicObject( 1654, 241.621994, 1798.675048, 1457.404052, 0.000000, 0.000000, 124.300003, -1, -1, -1 );
CreateDynamicObject( 1654, 241.350006, 1798.915039, 1457.404052, 0.000000, 0.000000, 175.399993, -1, -1, -1 );
CreateDynamicObject( 370, 239.292999, 1801.390991, 1456.764038, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
tmpVariable = CreateDynamicObject( 16654, 248.358993, 1782.765991, 1456.819946, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 16782, 210.367004, 1822.741943, 1857.602050, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 16662, 211.934005, 1823.194946, 1856.639038, 0.000000, 0.000000, 63.000000, -1, -1, -1 );
CreateDynamicObject( 3526, 222.003005, 1828.145019, 1855.504028, 0.000000, 0.000000, 68.900001, -1, -1, -1 );
CreateDynamicObject( 3526, 224.410995, 1826.500000, 1855.504028, 0.000000, 0.000000, 41.799999, -1, -1, -1 );
CreateDynamicObject( 3526, 221.975997, 1817.296997, 1855.504028, 0.000000, 0.000000, -69.500000, -1, -1, -1 );
CreateDynamicObject( 3526, 224.350006, 1818.922973, 1855.504028, 0.000000, 0.000000, -41.700000, -1, -1, -1 );
CreateDynamicObject( 964, 253.541000, 1797.566040, 1856.404052, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 964, 252.100997, 1797.566040, 1856.404052, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 964, 253.220993, 1797.251953, 1857.343994, 0.000000, 0.000000, -167.699996, -1, -1, -1 );
CreateDynamicObject( 355, 254.179992, 1799.074951, 1856.722045, 0.000000, -90.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 355, 254.179992, 1798.395019, 1856.722045, 0.000000, -90.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 355, 254.179992, 1798.734985, 1856.722045, 0.000000, -90.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 2358, 252.067993, 1797.734008, 1857.472045, 0.000000, 0.000000, -130.000000, -1, -1, -1 );
CreateDynamicObject( 2358, 253.134002, 1797.234985, 1858.391967, 0.000000, 0.000000, 175.800003, -1, -1, -1 );
CreateDynamicObject( 2359, 251.667007, 1796.734008, 1857.501953, 0.000000, 0.000000, 14.500000, -1, -1, -1 );
CreateDynamicObject( 923, 252.889007, 1805.036010, 1857.281982, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 923, 250.542999, 1804.788940, 1857.281982, 0.000000, 0.000000, 11.699999, -1, -1, -1 );
CreateDynamicObject( 18637, 251.001998, 1796.952026, 1856.943969, 80.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 18637, 250.341995, 1796.952026, 1856.943969, 80.000000, 0.000000, 180.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 2063, 241.001007, 1799.272949, 1857.303955, 0.000000, 0.000000, 134.600006, -1, -1, -1 ), 0, 2063, "none", "none", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 2063, 244.800003, 1797.186035, 1857.303955, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 2063, "none", "none", 0 );
CreateDynamicObject( 1271, 246.636001, 1797.443969, 1856.803955, 0.000000, 0.000000, 19.600000, -1, -1, -1 );
CreateDynamicObject( 1271, 242.404006, 1798.142944, 1856.803955, 0.000000, 0.000000, -74.000000, -1, -1, -1 );
CreateDynamicObject( 1271, 243.054000, 1797.572021, 1856.803955, 0.000000, 0.000000, -39.700000, -1, -1, -1 );
CreateDynamicObject( 1271, 242.751998, 1797.739013, 1857.463989, 0.000000, 0.000000, 154.000000, -1, -1, -1 );
CreateDynamicObject( 19602, 240.326995, 1799.930053, 1857.303955, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 19602, 240.619995, 1799.656982, 1857.303955, 0.000000, 0.000000, 47.200000, -1, -1, -1 );
CreateDynamicObject( 19602, 240.996994, 1799.318969, 1857.303955, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2040, 241.138000, 1799.099975, 1858.183959, 0.000000, 0.000000, 45.000000, -1, -1, -1 );
CreateDynamicObject( 2040, 241.533996, 1798.703979, 1858.183959, 0.000000, 0.000000, 21.200000, -1, -1, -1 );
CreateDynamicObject( 2036, 244.300003, 1797.150024, 1857.254028, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2036, 245.289001, 1797.150024, 1857.693969, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 2035, 244.819000, 1797.150024, 1856.784057, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 2035, 245.429000, 1797.150024, 1858.104003, 0.000000, 0.000000, 11.600000, -1, -1, -1 );
CreateDynamicObject( 19515, 243.938995, 1797.230957, 1858.313964, 0.000000, -90.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 19515, 244.578994, 1797.230957, 1858.313964, 0.000000, -90.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 359, 241.255996, 1798.937011, 1857.703979, 90.000000, 0.000000, 135.000000, -1, -1, -1 );
CreateDynamicObject( 359, 239.716995, 1800.338989, 1857.154052, -8.399999, -88.400001, 138.899993, -1, -1, -1 );
CreateDynamicObject( 359, 239.397003, 1800.671997, 1857.188964, -8.399999, -88.400001, 138.899993, -1, -1, -1 );
CreateDynamicObject( 2056, 246.738006, 1797.470947, 1857.154052, -90.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2056, 246.554992, 1797.300048, 1857.173950, -90.000000, 0.000000, 43.099998, -1, -1, -1 );
CreateDynamicObject( 1654, 241.621994, 1798.675048, 1857.404052, 0.000000, 0.000000, 124.300003, -1, -1, -1 );
CreateDynamicObject( 1654, 241.350006, 1798.915039, 1857.404052, 0.000000, 0.000000, 175.399993, -1, -1, -1 );
CreateDynamicObject( 370, 239.292999, 1801.390991, 1856.764038, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
tmpVariable = CreateDynamicObject( 16654, 248.358993, 1782.765991, 1856.819946, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
SetDynamicObjectMaterial( tmpVariable, 0, 18038, "vegas_munation", "mp_gun_floorred", 0 );
SetDynamicObjectMaterial( tmpVariable, 1, 18038, "vegas_munation", "mp_gun_floorred", 0 );
CreateDynamicObject( 16646, 245.960998, 1865.586059, 1460.828002, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
tmpVariable = CreateDynamicObject( 16642, 247.242004, 1823.897949, 1458.843994, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 16646, 245.960998, 1865.586059, 1860.828002, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
tmpVariable = CreateDynamicObject( 16642, 247.242004, 1823.897949, 1858.843994, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
SetDynamicObjectMaterial( tmpVariable, 3, 6038, "lawwhitebuilds", "brwall_128", 0 );
SetDynamicObjectMaterial( tmpVariable, 4, 6038, "lawwhitebuilds", "brwall_128", 0 );
SetDynamicObjectMaterial( tmpVariable, 5, 6038, "lawwhitebuilds", "brwall_128", 0 );
@ -446,95 +522,140 @@ static stock initializeFacilityObjects( )
SetDynamicObjectMaterial( tmpVariable, 11, 6038, "lawwhitebuilds", "brwall_128", 0 );
SetDynamicObjectMaterial( tmpVariable, 7, 17538, "losflor4_lae2", "tarmacplain_bank", 0 );
SetDynamicObjectMaterial( tmpVariable, 12, 17538, "losflor4_lae2", "tarmacplain_bank", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 3384, 245.067001, 1827.708984, 1455.163940, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 3384, "none", "none", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 3384, 246.557998, 1827.848999, 1455.163940, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 3384, "none", "none", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 3384, 245.067001, 1816.129028, 1455.163940, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 3384, "none", "none", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 3384, 246.548004, 1816.269042, 1455.163940, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 3384, "none", "none", 0 );
CreateDynamicObject( 14532, 244.511001, 1818.031982, 1457.404052, 0.000000, 0.000000, -64.099998, -1, -1, -1 );
CreateDynamicObject( 14532, 244.520996, 1829.708984, 1457.413940, 0.000000, 0.000000, -64.099998, -1, -1, -1 );
CreateDynamicObject( 3388, 244.970993, 1825.399047, 1453.524047, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 3388, 245.981002, 1825.399047, 1453.524047, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 3388, 244.970993, 1818.328979, 1453.524047, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 3388, 245.960998, 1818.328979, 1453.524047, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
tmpVariable = CreateDynamicObject( 16658, 283.406005, 1818.578002, 1455.991943, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 3384, 245.067001, 1827.708984, 1855.163940, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 3384, "none", "none", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 3384, 246.557998, 1827.848999, 1855.163940, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 3384, "none", "none", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 3384, 245.067001, 1816.129028, 1855.163940, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 3384, "none", "none", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 3384, 246.548004, 1816.269042, 1855.163940, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 3384, "none", "none", 0 );
CreateDynamicObject( 14532, 244.511001, 1818.031982, 1857.404052, 0.000000, 0.000000, -64.099998, -1, -1, -1 );
CreateDynamicObject( 14532, 244.520996, 1829.708984, 1857.413940, 0.000000, 0.000000, -64.099998, -1, -1, -1 );
CreateDynamicObject( 3388, 244.970993, 1825.399047, 1853.524047, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 3388, 245.981002, 1825.399047, 1853.524047, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 3388, 244.970993, 1818.328979, 1853.524047, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 3388, 245.960998, 1818.328979, 1853.524047, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
tmpVariable = CreateDynamicObject( 16658, 283.406005, 1818.578002, 1855.991943, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
SetDynamicObjectMaterial( tmpVariable, 6, 16644, "a51_detailstuff", "concretegroundl1_256", -47 );
SetDynamicObjectMaterial( tmpVariable, 7, 16644, "a51_detailstuff", "concretegroundl1_256", -47 );
SetDynamicObjectMaterial( tmpVariable, 8, 16644, "a51_detailstuff", "concretegroundl1_256", -47 );
SetDynamicObjectMaterial( tmpVariable, 11, 16644, "a51_detailstuff", "concretegroundl1_256", -47 );
CreateDynamicObject( 16661, 287.554992, 1820.008056, 1455.218994, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 16659, 287.601989, 1819.647949, 1456.977050, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 11714, 277.506011, 1821.741943, 1458.069946, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18765, 262.069000, 1817.915039, 1451.145019, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 16640, "a51", "ws_castironwalk", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 18765, 272.069000, 1817.915039, 1451.145019, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 16640, "a51", "ws_castironwalk", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 18765, 282.069000, 1817.915039, 1451.145019, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 16640, "a51", "ws_castironwalk", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 18765, 292.058990, 1817.915039, 1451.145019, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 16640, "a51", "ws_castironwalk", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 18765, 302.049011, 1817.915039, 1451.145019, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 16640, "a51", "ws_castironwalk", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 18765, 262.069000, 1827.906005, 1451.145019, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 16640, "a51", "ws_castironwalk", -16 );
CreateDynamicObject( 16641, 272.330993, 1805.993041, 1455.167968, 0.000000, 0.000000, -90.000000, -1, -1, -1 );
CreateDynamicObject( 3397, 239.138000, 1829.255004, 1453.711059, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 3397, 239.138000, 1816.213012, 1453.711059, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 1989, 239.065994, 1822.729980, 1453.711059, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 1989, 239.065994, 1823.711059, 1453.711059, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 1989, 239.065994, 1821.739990, 1453.711059, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 1714, 240.231002, 1816.511962, 1453.691040, 0.000000, 0.000000, -60.000000, -1, -1, -1 );
CreateDynamicObject( 1714, 240.320999, 1828.269042, 1453.691040, 0.000000, 0.000000, -110.199996, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19328, 238.559005, 1825.869018, 1455.470947, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 16644, "a51_detailstuff", "a51_map", 0 );
CreateDynamicObject( 2615, 238.597000, 1828.056030, 1455.931030, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19377, 247.826004, 1811.739013, 1463.703979, 0.000000, 90.000000, 0.000000, -1, -1, -1 ), 0, 16656, "a51_labs", "ws_trainstationwin1", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 19377, 247.826004, 1821.369018, 1463.703979, 0.000000, 90.000000, 0.000000, -1, -1, -1 ), 0, 16656, "a51_labs", "ws_trainstationwin1", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 19377, 247.826004, 1831.000000, 1463.703979, 0.000000, 90.000000, 0.000000, -1, -1, -1 ), 0, 16656, "a51_labs", "ws_trainstationwin1", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 19377, 247.826004, 1833.501953, 1463.702026, 0.000000, 90.000000, 0.000000, -1, -1, -1 ), 0, 16656, "a51_labs", "ws_trainstationwin1", 0 );
CreateDynamicObject( 11714, 297.735992, 1821.741943, 1458.069946, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 11729, 249.175994, 1857.734008, 1463.093994, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 11730, "none", "none", -251658241 );
SetDynamicObjectMaterial( CreateDynamicObject( 11729, 248.505996, 1857.734008, 1463.093994, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 11730, "none", "none", -251658241 );
SetDynamicObjectMaterial( CreateDynamicObject( 11729, 247.845993, 1857.734008, 1463.093994, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 11730, "none", "none", -251658241 );
SetDynamicObjectMaterial( CreateDynamicObject( 11730, 247.186004, 1857.734008, 1463.093994, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 11730, "none", "none", -251658241 );
SetDynamicObjectMaterial( CreateDynamicObject( 11729, 246.535995, 1857.734008, 1463.093994, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 11730, "none", "none", -251658241 );
SetDynamicObjectMaterial( CreateDynamicObject( 11730, 245.886001, 1857.734008, 1463.093994, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 11730, "none", "none", -251658241 );
SetDynamicObjectMaterial( CreateDynamicObject( 2206, 246.013000, 1860.954956, 1463.024047, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 1675, "wshxrefhse", "greygreensubuild_128", 0 );
CreateDynamicObject( 1714, 246.960998, 1859.885009, 1463.073974, 0.000000, 0.000000, -151.199996, -1, -1, -1 );
CreateDynamicObject( 356, 246.848999, 1860.711059, 1464.024047, -89.900001, 2.500000, -1.399999, -1, -1, -1 );
CreateDynamicObject( 2043, 246.582000, 1861.208007, 1464.063964, 0.000000, 0.000000, -59.299999, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 2167, 242.563003, 1862.652954, 1463.104003, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 1675, "wshxrefhse", "greygreensubuild_128", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 2167, 241.652999, 1862.652954, 1463.104003, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 1675, "wshxrefhse", "greygreensubuild_128", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 19787, 241.391006, 1857.465942, 1464.854003, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 16150, "ufo_bar", "black32", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 19787, 243.671005, 1857.465942, 1464.854003, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 16150, "ufo_bar", "black32", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 11714, 238.455993, 1872.332031, 1459.208984, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 19799, "all_vault", "liftdoorsac256", -16 );
SetDynamicObjectMaterialText( CreateDynamicObject( 7909, 263.942993, 1861.439941, 1462.397949, 0.000000, 0.000000, -90.000000, -1, -1, -1 ), 0, "! Work In Progress !", 120, "impact", 48, 0, -16711936, 0, 1 );
tmpVariable = CreateDynamicObject( 19926, 248.494995, 1798.292968, 1456.375976, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 16661, 287.554992, 1820.008056, 1855.218994, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 16659, 287.601989, 1819.647949, 1856.977050, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 11714, 277.506011, 1821.741943, 1858.069946, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 18765, 262.069000, 1817.915039, 1851.145019, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 16640, "a51", "ws_castironwalk", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 18765, 272.069000, 1817.915039, 1851.145019, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 16640, "a51", "ws_castironwalk", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 18765, 282.069000, 1817.915039, 1851.145019, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 16640, "a51", "ws_castironwalk", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 18765, 292.058990, 1817.915039, 1851.145019, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 16640, "a51", "ws_castironwalk", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 18765, 302.049011, 1817.915039, 1851.145019, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 16640, "a51", "ws_castironwalk", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 18765, 262.069000, 1827.906005, 1851.145019, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 16640, "a51", "ws_castironwalk", -16 );
CreateDynamicObject( 16641, 272.330993, 1805.993041, 1855.167968, 0.000000, 0.000000, -90.000000, -1, -1, -1 );
CreateDynamicObject( 3397, 239.138000, 1829.255004, 1853.711059, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 3397, 239.138000, 1816.213012, 1853.711059, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 1989, 239.065994, 1822.729980, 1853.711059, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 1989, 239.065994, 1823.711059, 1853.711059, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 1989, 239.065994, 1821.739990, 1853.711059, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 1714, 240.231002, 1816.511962, 1853.691040, 0.000000, 0.000000, -60.000000, -1, -1, -1 );
CreateDynamicObject( 1714, 240.320999, 1828.269042, 1853.691040, 0.000000, 0.000000, -110.199996, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19328, 238.559005, 1825.869018, 1855.470947, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 16644, "a51_detailstuff", "a51_map", 0 );
CreateDynamicObject( 2615, 238.597000, 1828.056030, 1855.931030, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19377, 247.826004, 1811.739013, 1863.703979, 0.000000, 90.000000, 0.000000, -1, -1, -1 ), 0, 16656, "a51_labs", "ws_trainstationwin1", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 19377, 247.826004, 1821.369018, 1863.703979, 0.000000, 90.000000, 0.000000, -1, -1, -1 ), 0, 16656, "a51_labs", "ws_trainstationwin1", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 19377, 247.826004, 1831.000000, 1863.703979, 0.000000, 90.000000, 0.000000, -1, -1, -1 ), 0, 16656, "a51_labs", "ws_trainstationwin1", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 19377, 247.826004, 1833.501953, 1863.702026, 0.000000, 90.000000, 0.000000, -1, -1, -1 ), 0, 16656, "a51_labs", "ws_trainstationwin1", 0 );
CreateDynamicObject( 11714, 297.735992, 1821.741943, 1858.069946, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 11729, 249.175994, 1857.734008, 1863.093994, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 11730, "none", "none", -251658241 );
SetDynamicObjectMaterial( CreateDynamicObject( 11729, 248.505996, 1857.734008, 1863.093994, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 11730, "none", "none", -251658241 );
SetDynamicObjectMaterial( CreateDynamicObject( 11729, 247.845993, 1857.734008, 1863.093994, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 11730, "none", "none", -251658241 );
SetDynamicObjectMaterial( CreateDynamicObject( 11730, 247.186004, 1857.734008, 1863.093994, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 11730, "none", "none", -251658241 );
SetDynamicObjectMaterial( CreateDynamicObject( 11729, 246.535995, 1857.734008, 1863.093994, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 11730, "none", "none", -251658241 );
SetDynamicObjectMaterial( CreateDynamicObject( 11730, 245.886001, 1857.734008, 1863.093994, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 11730, "none", "none", -251658241 );
SetDynamicObjectMaterial( CreateDynamicObject( 2206, 246.013000, 1860.954956, 1863.024047, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 1675, "wshxrefhse", "greygreensubuild_128", 0 );
CreateDynamicObject( 1714, 246.960998, 1859.885009, 1863.073974, 0.000000, 0.000000, -151.199996, -1, -1, -1 );
CreateDynamicObject( 356, 246.848999, 1860.711059, 1864.024047, -89.900001, 2.500000, -1.399999, -1, -1, -1 );
CreateDynamicObject( 2043, 246.582000, 1861.208007, 1864.063964, 0.000000, 0.000000, -59.299999, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 2167, 242.563003, 1862.652954, 1863.104003, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 1675, "wshxrefhse", "greygreensubuild_128", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 2167, 241.652999, 1862.652954, 1863.104003, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 1675, "wshxrefhse", "greygreensubuild_128", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 19787, 241.391006, 1857.465942, 1864.854003, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 16150, "ufo_bar", "black32", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 19787, 243.671005, 1857.465942, 1864.854003, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, 16150, "ufo_bar", "black32", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 11714, 238.455993, 1872.332031, 1859.208984, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 19799, "all_vault", "liftdoorsac256", -16 );
SetDynamicObjectMaterialText( CreateDynamicObject( 7909, 263.942993, 1861.439941, 1862.397949, 0.000000, 0.000000, -90.000000, -1, -1, -1 ), 0, "The Lost And Damned", 120, "impact", 48, 0, 0xFF964B00, 0, 1 );
tmpVariable = CreateDynamicObject( 19926, 248.494995, 1798.292968, 1856.375976, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
SetDynamicObjectMaterial( tmpVariable, 0, 4552, "ammu_lan2", "newall4-4", 0 );
SetDynamicObjectMaterial( tmpVariable, 1, 4552, "ammu_lan2", "newall4-4", 0 );
SetDynamicObjectMaterialText( CreateDynamicObject( 2662, 247.796997, 1806.805053, 1459.504028, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, "Ammunation", 120, "IMPACT", 84, 0, -13421773, 0, 1 );
SetDynamicObjectMaterialText( CreateDynamicObject( 19327, 233.839004, 1821.076049, 1458.443969, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, "Authorized personnel\nONLY", 120, "IMPACT", 25, 0, -4671304, 0, 1 );
tmpVariable = CreateDynamicObject( 19173, 245.843002, 1827.785034, 1457.543945, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
SetDynamicObjectMaterialText( CreateDynamicObject( 2662, 247.796997, 1806.805053, 1859.504028, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, "Ammunation", 120, "IMPACT", 84, 0, -13421773, 0, 1 );
SetDynamicObjectMaterialText( CreateDynamicObject( 19327, 233.839004, 1821.076049, 1858.443969, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, "Authorized personnel\nONLY", 120, "IMPACT", 25, 0, -4671304, 0, 1 );
tmpVariable = CreateDynamicObject( 19173, 245.843002, 1827.785034, 1857.543945, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
SetDynamicObjectMaterialText( tmpVariable, 0, "SERVERS", 120, "IMPACT", 84, 0, -13421773, 0, 1 );
SetDynamicObjectMaterialText( tmpVariable, 1, "SERVERS", 120, "IMPACT", 84, 1, 0, 0, 1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19377, 295.842010, 1821.823974, 1457.980957, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 16644, "a51_detailstuff", "concretegroundl1_256", -47 );
SetDynamicObjectMaterial( CreateDynamicObject( 19377, 279.122009, 1821.823974, 1457.980957, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 16644, "a51_detailstuff", "concretegroundl1_256", -47 );
CreateDynamicObject( 19618, 238.981002, 1819.521972, 1454.151000, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 3787, 252.636001, 1843.160034, 1458.297973, 0.000000, 0.000000, 6.000000, -1, -1, -1 );
CreateDynamicObject( 1685, 250.477996, 1856.599975, 1458.527954, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 964, 249.166000, 1858.026977, 1457.767944, 0.000000, 0.000000, -140.899993, -1, -1, -1 );
CreateDynamicObject( 964, 248.787994, 1856.234985, 1457.767944, 0.000000, 0.000000, -87.400001, -1, -1, -1 );
CreateDynamicObject( 1348, 251.755996, 1858.241943, 1458.517944, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19741, 249.591003, 1868.484985, 1457.511962, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 16375, "des_boneyard", "roucghstone", -256 );
CreateDynamicObject( 922, 242.257003, 1805.038940, 1457.333984, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
SetDynamicObjectMaterialText( CreateDynamicObject( 2662, 248.867004, 1842.296997, 1460.644042, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, "Server Room", 120, "IMPACT", 84, 0, -13421773, 0, 1 );
SetDynamicObjectMaterialText( CreateDynamicObject( 2662, 234.757003, 1822.738037, 1459.463989, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, "Orbital Cannon", 120, "IMPACT", 84, 0, -13421773, 0, 1 );
tmpVariable = CreateDynamicObject( 19173, 245.843002, 1816.214965, 1457.543945, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19377, 295.842010, 1821.823974, 1857.980957, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 16644, "a51_detailstuff", "concretegroundl1_256", -47 );
SetDynamicObjectMaterial( CreateDynamicObject( 19377, 279.122009, 1821.823974, 1857.980957, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 16644, "a51_detailstuff", "concretegroundl1_256", -47 );
SetDynamicObjectMaterial( CreateDynamicObject( 19741, 249.591003, 1868.484985, 1857.511962, 0.000000, 0.000000, 0.000000, -1, -1, -1 ), 0, 16375, "des_boneyard", "roucghstone", -256 );
CreateDynamicObject( 922, 242.257003, 1805.038940, 1857.333984, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
SetDynamicObjectMaterialText( CreateDynamicObject( 2662, 248.867004, 1842.296997, 1860.644042, 0.000000, 0.000000, 180.000000, -1, -1, -1 ), 0, "Server Room", 120, "IMPACT", 84, 0, -13421773, 0, 1 );
SetDynamicObjectMaterialText( CreateDynamicObject( 2662, 234.757003, 1822.738037, 1859.463989, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, "Orbital Cannon", 120, "IMPACT", 84, 0, -13421773, 0, 1 );
tmpVariable = CreateDynamicObject( 19173, 245.843002, 1816.214965, 1857.543945, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
SetDynamicObjectMaterialText( tmpVariable, 0, "SERVERS", 120, "IMPACT", 84, 0, -13421773, 0, 1 );
SetDynamicObjectMaterialText( tmpVariable, 1, "SERVERS", 120, "IMPACT", 84, 1, 0, 0, 1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19875, 227.824996, 1873.713012, 1462.730957, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 16649, "a51", "a51_weedoors", -16 );
CreateDynamicObject( 16649, 231.477005, 1872.359008, 1461.961059, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
CreateDynamicObject( 16649, 231.477005, 1872.359008, 1461.961059, 0.000000, 0.000000, 180.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19875, 227.824996, 1871.010986, 1462.730957, 0.000000, 0.000000, -90.000000, -1, -1, -1 ), 0, 16649, "a51", "a51_weedoors", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 19875, 227.815002, 1870.931030, 1462.730957, 0.000000, 0.000000, -90.000000, -1, -1, -1 ), 0, 16649, "a51", "a51_weedoors", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 19875, 227.815002, 1873.796020, 1462.730957, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 16649, "a51", "a51_weedoors", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 3061, 247.550003, 1841.797973, 1468.943969, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", -16 );
CreateDynamicObject( 2960, 239.701995, 1844.417968, 1460.024047, 0.000000, 90.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2960, 239.701995, 1849.417968, 1460.024047, 0.000000, 90.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2960, 242.901992, 1849.417968, 1460.024047, 0.000000, 90.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2960, 242.901992, 1844.417968, 1460.024047, 0.000000, 90.000000, 0.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19875, 238.533996, 1871.010986, 1860.458984, 0.000000, 0.000000, -90.000000, -1, -1, -1 ), 0, 16649, "a51", "a51_weedoors", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 19875, 238.535003, 1873.715942, 1860.458984, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 16649, "a51", "a51_weedoors", -16 );
SetDynamicObjectMaterial( CreateDynamicObject( 3061, 247.550003, 1841.797973, 1868.943969, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 5722, "sunrise01_lawn", "plainglass", -16 );
CreateDynamicObject( 18981, 252.274002, 1873.482055, 1857.004028, 0.000000, 90.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 11400, 243.199996, 1850.332031, 1863.477050, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 19917, 242.819000, 1850.366943, 1861.944946, -63.799999, 0.000000, -90.500000, -1, -1, -1 );
CreateDynamicObject( 19899, 241.804000, 1842.675048, 1857.727050, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 19917, 239.598007, 1843.348022, 1857.727050, 0.000000, 0.000000, -73.400001, -1, -1, -1 );
CreateDynamicObject( 3565, 249.134002, 1875.989990, 1859.078002, 0.000000, 0.000000, -12.500000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19817, 244.731994, 1855.046997, 1856.496948, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 12923, "sw_block05", "dustyconcrete", 0 );
CreateDynamicObject( 19929, 238.908996, 1845.779052, 1857.732055, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2475, 238.576004, 1845.092041, 1857.786987, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 2475, 238.576004, 1845.973022, 1857.786987, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 19903, 238.886993, 1852.663940, 1857.744018, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 19903, 238.886993, 1857.545043, 1857.744018, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19817, 244.731994, 1859.936035, 1856.505004, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 12923, "sw_block05", "dustyconcrete", 0 );
SetDynamicObjectMaterial( CreateDynamicObject( 19817, 244.731994, 1850.213012, 1856.496948, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 12923, "sw_block05", "dustyconcrete", 0 );
CreateDynamicObject( 1002, 238.729995, 1845.829956, 1860.006958, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 1014, 238.535003, 1845.823974, 1859.274047, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 1650, 239.013000, 1846.689941, 1858.963989, 0.000000, 0.000000, 25.200000, -1, -1, -1 );
CreateDynamicObject( 19921, 239.309997, 1845.805053, 1858.758056, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 19621, 239.005004, 1844.909057, 1858.761962, 0.000000, 0.000000, -147.699996, -1, -1, -1 );
SetDynamicObjectMaterial( CreateDynamicObject( 19355, 245.260803, 1842.088012, 1860.215576, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, 10249, "ottos2_sfw", "ottos_pics_sfe", 0 );
CreateDynamicObject( 19815, 238.535003, 1855.029052, 1860.095825, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 19815, 238.535003, 1855.029052, 1859.104858, 0.000000, 180.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 1999, 244.522003, 1843.942016, 1857.735961, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2059, 244.578002, 1844.083007, 1858.573974, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 1984, 258.829010, 1851.767944, 1857.656005, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 1848, 262.945007, 1855.573974, 1857.625976, 0.000000, 0.000000, 270.000000, -1, -1, -1 );
CreateDynamicObject( 341, 256.651123, 1855.343017, 1858.655761, 0.000000, 28.199998, -109.299942, -1, -1, -1 );
CreateDynamicObject( 1842, 259.781005, 1855.352050, 1858.107055, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 1995, 256.463989, 1851.837036, 1857.586059, 0.000000, 0.000000, 270.000000, -1, -1, -1 );
CreateDynamicObject( 1995, 256.493988, 1852.828979, 1857.586059, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 1995, 256.463989, 1854.759033, 1857.586059, 0.000000, 0.000000, 270.000000, -1, -1, -1 );
CreateDynamicObject( 1995, 256.493988, 1855.750976, 1857.586059, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 944, 251.302017, 1856.556518, 1858.638427, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 341, 256.467956, 1855.982666, 1858.664794, 0.000000, 28.199998, -107.400222, -1, -1, -1 );
CreateDynamicObject( 918, 256.495544, 1851.684448, 1858.817626, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 1650, 256.497772, 1852.841674, 1858.757568, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 1650, 256.614929, 1853.054931, 1858.757568, 0.000000, 0.000000, -24.800024, -1, -1, -1 );
CreateDynamicObject( 918, 256.495544, 1852.335083, 1858.817626, 0.000000, 0.000000, -66.499977, -1, -1, -1 );
CreateDynamicObject( 19329, 259.889465, 1849.657836, 1859.798583, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2164, 261.189849, 1872.801391, 1857.736572, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2162, 263.488403, 1871.236206, 1857.736572, 0.000000, 0.000000, -90.000000, -1, -1, -1 );
CreateDynamicObject( 2161, 263.488403, 1869.464477, 1857.736572, 0.000000, 0.000000, -90.000000, -1, -1, -1 );
CreateDynamicObject( 2162, 263.488403, 1868.134765, 1857.736572, 0.000000, 0.000000, -90.000000, -1, -1, -1 );
CreateDynamicObject( 2164, 259.419281, 1872.801391, 1857.736572, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2167, 258.498840, 1872.801391, 1857.736572, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 2165, 260.386077, 1868.690551, 1857.736572, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 2310, 259.283569, 1868.564941, 1858.307128, 0.000000, 0.000000, -137.900177, -1, -1, -1 );
CreateDynamicObject( 2472, 263.625640, 1869.469970, 1859.107910, 0.000000, 0.000000, -90.000000, -1, -1, -1 );
CreateDynamicObject( 1685, 257.151245, 1863.329711, 1858.477294, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 3800, 260.969757, 1862.297241, 1857.726562, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 3798, 262.515991, 1862.757446, 1857.706542, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 1348, 257.097320, 1864.635742, 1858.427246, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 1891, 259.709838, 1859.312500, 1857.666503, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 1885, 256.321441, 1859.682617, 1857.696533, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
CreateDynamicObject( 1885, 256.321441, 1858.931884, 1857.696533, 0.000000, 0.000000, 0.000000, -1, -1, -1 );
SetDynamicObjectMaterialText( CreateDynamicObject( 2662, 238.587280, 1849.567504, 1860.304809, 0.000000, 0.000000, 90.000000, -1, -1, -1 ), 0, "Gang Vehicles", 120, "Impact", 84, 0, -13421773, 0, 1 );
SetDynamicObjectMaterialText( CreateDynamicObject( 2662, 263.417633, 1869.281738, 1860.304809, 0.000000, 0.000000, -90.000000, -1, -1, -1 ), 0, "Fast Travel", 120, "Impact", 84, 0, -13421773, 0, 1 );
CreateDynamicObject( 363, 246.722503, 1816.183593, 1855.371826, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
CreateDynamicObject( 363, 246.722503, 1827.754516, 1855.371826, 0.000000, 0.000000, 90.000000, -1, -1, -1 );
}
/* ** SCHEMA ** */

View File

@ -45,6 +45,7 @@
#include < irresistible\features\gangs\gangs >
#include < irresistible\features\gangs\facilities >
#include < irresistible\features\gangs\turfs >
#include < irresistible\features\gangs\cannon >
// visage casino
#include < irresistible\features\visage\roulette >

View File

@ -1,8 +1,11 @@
(+) Adds a 1v1 duel arena behind paintball, where you can wage money against eachother. Thanks Stev.
(+) Adds /discordurl for level 5 admins to update the sfcnr.com/discord redirect.
(+) You now get a Shotgun with 25 ammo when you enter a police car.
(+) You can now join public gangs through /gangs.
(/) Wanted levels over 30 will place you in Alcatraz Prison.
(/) Price of supa save items have been generally increased.
(/) Speed of robberies has been increased.
(/) Bail is doubled if you are in Alcatraz.
(+) Orbital cannon now accessible through gang facilities. Costs $250,000 per missile.
(+) 2.5% fee on player duels... To counter aggressive money transfers.
(+) You can now buy an RPG at an ammunation for $10,000 per rocket.
(+) Adds fast travel, 24/7 and a private ATM within gang facilities.
(+) Orbital cannon now shows player tags.
(+) Adds backpack to toys.
(/) When a player commits a crime, a red blip will slowly fade out at the location of robbery.
(/) Takes at least 120 seconds to take over a facility.
(/) Weapon dealers now sell 5X the ammo of a standard ammunation. Though, 1 RPG only.
(*) Fixes a few anti weapon hack bugs, admins are also now reported with the weapon in question.
(*) Addresses some toy unlocking issues.