diff --git a/gamemodes/irresistible/cnr/auth/account.pwn b/gamemodes/irresistible/cnr/auth/account.pwn index 908b75f..4118be3 100644 --- a/gamemodes/irresistible/cnr/auth/account.pwn +++ b/gamemodes/irresistible/cnr/auth/account.pwn @@ -94,7 +94,7 @@ hook OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] ) p_Uptime[ playerid ] = 0; ShowAchievement( playerid, "Registering to SF-CnR!", 1 ); p_PlayerLogged{ playerid } = true; - SetPlayerCash( playerid, 0 ); + SetPlayerCash( playerid, 5000 ); SetPlayerScore( playerid, 0 ); p_Kills[ playerid ] = 1; p_Deaths[ playerid ] = 1; @@ -375,7 +375,7 @@ stock SavePlayerData( playerid, bool: logout = false ) if ( IsPlayerCuffed( playerid ) || IsPlayerTazed( playerid ) || IsPlayerTied( playerid ) || p_LeftCuffed{ playerid } || p_QuitToAvoidTimestamp[ playerid ] > g_iTime ) bQuitToAvoid = true; - + #if defined __cloudy_event_system if ( IsPlayerInEvent( playerid ) ) bQuitToAvoid = false; diff --git a/gamemodes/irresistible/cnr/commands/admin/_admin.pwn b/gamemodes/irresistible/cnr/commands/admin/_admin.pwn index 958134f..7e24484 100644 --- a/gamemodes/irresistible/cnr/commands/admin/_admin.pwn +++ b/gamemodes/irresistible/cnr/commands/admin/_admin.pwn @@ -140,6 +140,7 @@ static stock { 5, "/editgate", "Editing a gate" }, { 5, "/acunban", "Unbanning a player from AC" }, { 5, "/safeisbugged", "Debug command for robbery safes" }, + { 5, "/replenishsafe", "Fixes bugged robbery safes" }, { 5, "/autovehrespawn", "Setting auto respawn for vehicles" }, { 5, "/megaban", "The Mega Ban" }, { 5, "/achangename", "Change a players name" }, diff --git a/gamemodes/irresistible/cnr/commands/admin/admin_five.pwn b/gamemodes/irresistible/cnr/commands/admin/admin_five.pwn index 6b82083..b158751 100644 --- a/gamemodes/irresistible/cnr/commands/admin/admin_five.pwn +++ b/gamemodes/irresistible/cnr/commands/admin/admin_five.pwn @@ -346,6 +346,23 @@ CMD:safeisbugged( playerid, params[ ] ) return 1; } +CMD:replenishsafe( playerid, params[ ] ) +{ + new + rID; + + if ( p_AdminLevel[ playerid ] < 5 ) return SendError( playerid, ADMIN_COMMAND_REJECT ); + else if ( sscanf( params, "d", rID ) ) return SendUsage( playerid, "/replenishsafe [SAFE_ID]" ); + else if (!Iter_Contains(RobberyCount, rID)) return SendError( playerid, "This is an invalid Safe ID." ); + else + { + printf( "[GM:ADMIN] %s has replenished %d! (Success: %d)", ReturnPlayerName( playerid ), rID, setSafeReplenished( rID ) ); + + SendClientMessageFormatted( playerid, -1, ""COL_PINK"[ADMIN]"COL_WHITE" You've replenished Safe ID %d: "COL_GREY"%s"COL_WHITE".", rID, g_robberyData[ rID ] [ E_NAME ] ); + } + return 1; +} + CMD:autovehrespawn( playerid, params[ ] ) { #if defined _vsync_included @@ -1001,3 +1018,41 @@ thread OnPlayerUnforceAC( playerid, player[ ], pID, bool:offline ) } return 1; } + +CMD:giveboombox( playerid, params[ ] ) +{ + new + pID; + + if ( p_AdminLevel[ playerid ] < 5 ) return SendError( playerid, ADMIN_COMMAND_REJECT ); + else if ( sscanf( params, "u", pID ) ) return SendUsage( playerid, "/giveboombox [PLAYER_ID]" ); + else if ( ! IsPlayerConnected( pID ) || IsPlayerNPC( pID ) ) return SendError( playerid, "Invalid Player ID." ); + else if ( GetPlayerBoombox( pID ) ) return SendError( playerid, "Player already has boombox in his inventory." ); + else + { + SendClientMessageFormatted( pID, -1, ""COL_PINK"[ADMIN]"COL_WHITE" %s(%d) gave you boombox.", ReturnPlayerName( playerid ), playerid ); + SendClientMessageFormatted( playerid, -1, ""COL_PINK"[ADMIN]"COL_WHITE" You have given boombox to %s(%d).", ReturnPlayerName( pID ), pID ); + AddAdminLogLineFormatted( "%s(%d) has given boombox to %s(%d)", ReturnPlayerName( playerid ), playerid, ReturnPlayerName( pID ), pID ); + SetPlayerBoombox( pID, true ); + } + return 1; +} + +CMD:removeboombox( playerid, params[ ] ) +{ + new + pID; + + if ( p_AdminLevel[ playerid ] < 5 ) return SendError( playerid, ADMIN_COMMAND_REJECT ); + else if ( sscanf( params, "u", pID ) ) return SendUsage( playerid, "/removeboombox [PLAYER_ID]" ); + else if ( ! IsPlayerConnected( pID ) || IsPlayerNPC( pID ) ) return SendError( playerid, "Invalid Player ID." ); + else if ( ! GetPlayerBoombox( pID ) ) return SendError( playerid, "Player doesn't have boombox in his inventory." ); + else + { + SendClientMessageFormatted( pID, -1, ""COL_PINK"[ADMIN]"COL_WHITE" %s(%d) has removed your boombox.", ReturnPlayerName( playerid ), playerid ); + SendClientMessageFormatted( playerid, -1, ""COL_PINK"[ADMIN]"COL_WHITE" You have removed boombox from %s(%d).", ReturnPlayerName( pID ), pID ); + AddAdminLogLineFormatted( "%s(%d) has removed boombox from %s(%d)", ReturnPlayerName( playerid ), playerid, ReturnPlayerName( pID ), pID ); + SetPlayerBoombox( pID, false ); + } + return 1; +} \ No newline at end of file diff --git a/gamemodes/irresistible/cnr/commands/admin/admin_rcon.pwn b/gamemodes/irresistible/cnr/commands/admin/admin_rcon.pwn index 0f88aa4..f3aff1b 100644 --- a/gamemodes/irresistible/cnr/commands/admin/admin_rcon.pwn +++ b/gamemodes/irresistible/cnr/commands/admin/admin_rcon.pwn @@ -255,23 +255,6 @@ CMD:addcomponent( playerid, params[ ] ) return 1; } -CMD:replenishsafe( playerid, params[ ] ) -{ - new - rID; - - if ( !IsPlayerAdmin( playerid ) ) return 0; - else if ( sscanf( params, "d", rID ) ) return SendUsage( playerid, "/replenishsafe [SAFE_ID]" ); - else if (!Iter_Contains(RobberyCount, rID)) return SendError( playerid, "This is an invalid Safe ID." ); - else - { - printf( "[GM:ADMIN] %s has replenished %d! (Success: %d)", ReturnPlayerName( playerid ), rID, setSafeReplenished( rID ) ); - - SendClientMessageFormatted( playerid, -1, ""COL_PINK"[ADMIN]"COL_WHITE" You've replenished Safe ID %d: "COL_GREY"%s"COL_WHITE".", rID, g_robberyData[ rID ] [ E_NAME ] ); - } - return 1; -} - CMD:driveby( playerid, params[ ] ) { if ( !IsPlayerAdmin( playerid ) ) return 0; diff --git a/gamemodes/irresistible/cnr/dialog_ids.pwn b/gamemodes/irresistible/cnr/dialog_ids.pwn index 5a26af0..b654838 100644 --- a/gamemodes/irresistible/cnr/dialog_ids.pwn +++ b/gamemodes/irresistible/cnr/dialog_ids.pwn @@ -213,6 +213,8 @@ #define DIALOG_VIP_MAIN 1204 #define DIALOG_XPMARKET_SELL 1205 #define DIALOG_BUY_VIP_MAIN 1206 +#define DIALOG_VEH_COLORS 1207 +#define DIALOG_CASINO_POINTS_MARKET 1208 /* ** Hooks ** */ hook OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] ) diff --git a/gamemodes/irresistible/cnr/features/_features.pwn b/gamemodes/irresistible/cnr/features/_features.pwn index cc9696e..ab01df9 100644 --- a/gamemodes/irresistible/cnr/features/_features.pwn +++ b/gamemodes/irresistible/cnr/features/_features.pwn @@ -68,6 +68,7 @@ #include "irresistible\cnr\features\shamal.pwn" #include "irresistible\cnr\features\billboards.pwn" #include "irresistible\cnr\features\trolley_car.pwn" +#include "irresistible\cnr\features\boom_box.pwn" // pool #include "irresistible\cnr\features\pool.pwn" diff --git a/gamemodes/irresistible/cnr/features/animations.pwn b/gamemodes/irresistible/cnr/features/animations.pwn index f833194..6bf3617 100644 --- a/gamemodes/irresistible/cnr/features/animations.pwn +++ b/gamemodes/irresistible/cnr/features/animations.pwn @@ -366,7 +366,7 @@ stock CreateLoopingAnimation( playerid, animlib[ ], animname[ ], Float:Speed, lo { // event check #if defined __cloudy_event_system - if ( IsPlayerInEvent( playerid ) && ! EventSettingAllow( EVENT_SETTING_KIDNAP ) ) + if ( IsPlayerInEvent( playerid ) && ! EventSettingAllow( EVENT_SETTING_ANIM ) ) #else if ( IsPlayerInEvent( playerid ) ) #endif diff --git a/gamemodes/irresistible/cnr/features/boom_box.pwn b/gamemodes/irresistible/cnr/features/boom_box.pwn new file mode 100644 index 0000000..ba9cfe9 --- /dev/null +++ b/gamemodes/irresistible/cnr/features/boom_box.pwn @@ -0,0 +1,201 @@ +/* + * Irresistible Gaming 2018 + * Developed by Night + * Module: cnr\features\boom_box.pwn + * Purpose: boombox related feature + */ + +/* ** Includes ** */ +#include < YSI\y_hooks > + +/* ** Definitions ** */ +#define DEFAULT_BOOMBOX_RANGE ( 50.0 ) +#define BOOMBOX_URL_LEN ( 128 ) + +/* ** Variables ** */ +enum E_BOOMBOX_DATA +{ + E_OBJECT, Text3D: E_LABEL, E_MUSIC_AREA, + Float: E_X, Float: E_Y, Float: E_Z, + E_URL[ BOOMBOX_URL_LEN ] +}; + +static stock + g_boomboxData [ MAX_PLAYERS ] [ E_BOOMBOX_DATA ], + bool: p_Boombox [ MAX_PLAYERS char ], + bool: p_UsingBoombox [ MAX_PLAYERS char ] +; + +/* ** Hooks ** */ +hook OnPlayerDisconnect( playerid, reason ) +{ + SetPlayerBoombox( playerid, false ); + return 1; +} + +#if defined AC_INCLUDED +hook OnPlayerDeathEx( playerid, killerid, reason, Float: damage, bodypart ) +#else +hook OnPlayerDeath( playerid, killerid, reason ) +#endif +{ + Boombox_Destroy( playerid ); + return 1; +} + +hook OnPlayerJailed( playerid ) +{ + Boombox_Destroy( playerid ); + return 1; +} + +hook OnPlayerEnterDynArea( playerid, areaid ) +{ + foreach ( new i : Player ) + { + if ( IsValidDynamicArea( g_boomboxData[ i ] [ E_MUSIC_AREA ] ) ) + { + if ( areaid == g_boomboxData[ i ] [ E_MUSIC_AREA ] ) + { + // start the music + PlayAudioStreamForPlayer( playerid, g_boomboxData[ i ] [ E_URL ], g_boomboxData[ i ] [ E_X ], g_boomboxData[ i ] [ E_Y ], g_boomboxData[ i ] [ E_Z ], DEFAULT_BOOMBOX_RANGE, 1 ); + SendServerMessage( playerid, "You are now listening to a nearby boombox!" ); + return 1; + } + } + } + return 1; +} + +hook OnPlayerLeaveDynArea( playerid, areaid ) +{ + foreach ( new i : Player ) + { + if ( IsValidDynamicArea( g_boomboxData[ i ] [ E_MUSIC_AREA ] ) ) + { + if ( areaid == g_boomboxData[ i ] [ E_MUSIC_AREA ] ) + { + // stop the music + StopAudioStreamForPlayer( playerid ); + SendServerMessage( playerid, "You stopped listening to a nearby boombox!" ); + return 1; + } + } + } + return 1; +} + +/* ** Commands ** */ +CMD:boombox( playerid, params[ ] ) +{ + if ( ! GetPlayerBoombox( playerid ) ) + return SendError( playerid, "You can buy Boombox at Supa Save or a 24/7 store." ); + + if ( IsPlayerInAnyVehicle(playerid) ) + return SendError( playerid, "You cannot use Boombox inside of a vehicle."); + + if ( ! strcmp( params, "play", false, 3 ) ) + { + static + Float: X, + Float: Y, + Float: Z, + Float: Angle, + szURL[ BOOMBOX_URL_LEN ]; + + if ( sscanf( params[ 5 ], sprintf( "s[%d]", BOOMBOX_URL_LEN ), szURL ) ) return SendUsage( playerid, "/boombox play [URL]" ); + // else if ( IsPlayerUsingBoombox( playerid ) ) return SendError( playerid, "You are already using Boombox." ); + else + { + if ( GetPlayerPos( playerid, X, Y, Z ) && GetPlayerFacingAngle( playerid, Angle ) ) + { + new + current_boombox = GetCurrentBoombox( playerid ); + + if ( current_boombox != -1 && current_boombox != playerid ) { + return SendError( playerid, "You cannot be near another Boombox if you wish to create your own." ); + } + + if ( IsPlayerUsingBoombox( playerid ) ) { + if ( GetPlayerDistanceFromPoint( playerid, g_boomboxData[ playerid ] [ E_X ], g_boomboxData[ playerid ] [ E_Y ], g_boomboxData[ playerid ] [ E_Z ] ) > DEFAULT_BOOMBOX_RANGE ) { + return SendError( playerid, "You are too far from your boombox. Use "COL_GREY"/boombox stop"COL_WHITE" to stop it." ); + } + format( g_boomboxData[ playerid ] [ E_URL ], BOOMBOX_URL_LEN, "%s", szURL ); + foreach ( new i : Player ) { + if ( GetPlayerDistanceFromPoint( i, g_boomboxData[ playerid ] [ E_X ], g_boomboxData[ playerid ] [ E_Y ], g_boomboxData[ playerid ] [ E_Z ] ) < DEFAULT_BOOMBOX_RANGE ) { + StopAudioStreamForPlayer( i ); + PlayAudioStreamForPlayer( i, g_boomboxData[ playerid ] [ E_URL ], g_boomboxData[ playerid ] [ E_X ], g_boomboxData[ playerid ] [ E_Y ], g_boomboxData[ playerid ] [ E_Z ], DEFAULT_BOOMBOX_RANGE, 1 ); + } + } + SendServerMessage( playerid, "You have updated your boombox stream to: "COL_GREY"%s", szURL ); + } else { + SendServerMessage( playerid, "If the stream doesn't respond then it must be offline. Use "COL_GREY"/boombox stop"COL_WHITE" to stop the stream." ); + Boombox_Create( playerid, szURL, X, Y, Z, Angle ); + p_UsingBoombox{ playerid } = true; + } + } + } + } + else if ( ! strcmp( params, "stop", false, 3 ) ) + { + if ( ! IsPlayerUsingBoombox( playerid ) ) return SendError( playerid, "You are not using Boombox." ); + + StopAudioStreamForPlayer( playerid ); + Boombox_Destroy( playerid ); + SendServerMessage( playerid, "You have removed your Boombox."); + p_UsingBoombox{ playerid } = false; + } + else SendUsage( playerid, "/boombox [PLAY/STOP]" ); + return 1; +} + +/* ** Functions ** */ +stock IsPlayerUsingBoombox( playerid ) return p_UsingBoombox{ playerid }; + +stock GetPlayerBoombox( playerid ) return p_Boombox{ playerid }; + +stock SetPlayerBoombox( playerid, bool: toggle ) +{ + if ( ( p_Boombox{ playerid } = toggle ) == false ) { + Boombox_Destroy( playerid ); + } +} + +stock Boombox_Destroy( playerid ) +{ + p_UsingBoombox{ playerid } = false; + + g_boomboxData[ playerid ] [ E_X ] = 0.0; + g_boomboxData[ playerid ] [ E_Y ] = 0.0; + g_boomboxData[ playerid ] [ E_Z ] = 0.0; + g_boomboxData[ playerid ] [ E_URL ] [ 0 ] = '\0'; + + DestroyDynamicObject( g_boomboxData[ playerid ] [ E_OBJECT ] ); + DestroyDynamic3DTextLabel( g_boomboxData[ playerid ] [ E_LABEL ] ); + DestroyDynamicArea( g_boomboxData[ playerid ] [ E_MUSIC_AREA ] ); + return 1; +} + +stock Boombox_Create( playerid, szURL[ BOOMBOX_URL_LEN ], Float: X, Float: Y, Float: Z, Float: Angle, Float: fDistance = DEFAULT_BOOMBOX_RANGE ) +{ + format( g_boomboxData[ playerid ] [ E_URL ], BOOMBOX_URL_LEN, "%s", szURL ); + + g_boomboxData[ playerid ] [ E_X ] = X; + g_boomboxData[ playerid ] [ E_Y ] = Y; + g_boomboxData[ playerid ] [ E_Z ] = Z; + + g_boomboxData[ playerid ] [ E_OBJECT ] = CreateDynamicObject( 2103, X, Y, Z - 0.92, 0, 0, 0, GetPlayerVirtualWorld( playerid ), GetPlayerInterior( playerid ), -1, Angle ); + g_boomboxData[ playerid ] [ E_LABEL ] = CreateDynamic3DTextLabel( sprintf( "%s(%d)'s Boombox", ReturnPlayerName( playerid ), playerid ), COLOR_GOLD, X, Y, Z, 20, .worldid = GetPlayerVirtualWorld( playerid ), .interiorid = GetPlayerInterior( playerid ) ); + g_boomboxData[ playerid ] [ E_MUSIC_AREA ] = CreateDynamicSphere( X, Y, Z, fDistance, .worldid = GetPlayerVirtualWorld( playerid ), .interiorid = GetPlayerInterior( playerid ) ); + return 1; +} + +stock GetCurrentBoombox( playerid ) +{ + foreach ( new i : Player ) { + if ( GetPlayerDistanceFromPoint( playerid, g_boomboxData[ i ] [ E_X ], g_boomboxData[ i ] [ E_Y ], g_boomboxData[ i ] [ E_Z ] ) < DEFAULT_BOOMBOX_RANGE ) { + return i; + } + } + return -1; +} \ No newline at end of file diff --git a/gamemodes/irresistible/cnr/features/cop/arrest.pwn b/gamemodes/irresistible/cnr/features/cop/arrest.pwn index 36e56f9..7120b1c 100644 --- a/gamemodes/irresistible/cnr/features/cop/arrest.pwn +++ b/gamemodes/irresistible/cnr/features/cop/arrest.pwn @@ -122,7 +122,7 @@ CMD:taze( playerid, params[ ] ) // event check #if defined __cloudy_event_system - if ( IsPlayerInEvent( playerid ) && ! EventSettingAllow( EVENT_SETTING_KIDNAP ) ) + if ( IsPlayerInEvent( playerid ) && ! EventSettingAllow( EVENT_SETTING_ARREST ) ) #else if ( IsPlayerInEvent( playerid ) ) #endif @@ -180,6 +180,9 @@ CMD:arrest( playerid, params[ ] ) if ( GetPlayerState( playerid ) == PLAYER_STATE_WASTED ) return SendError( playerid, "You cannot use this command since you are dead." ); new totalCash = ( p_WantedLevel[ victimid ] < MAX_WANTED_LVL ? p_WantedLevel[ victimid ] : MAX_WANTED_LVL ) * ( COP_ARREST_PAY_PER_WANTED ); new totalSeconds = p_WantedLevel[ victimid ] * ( JAIL_SECONDS_MULTIPLIER ); + if ( GetPlayerLevel( victimid, E_POLICE ) >= 75.0 ) { + totalSeconds = floatround( float( totalSeconds ) * 0.5 ); + } GivePlayerScore( playerid, 2 ); GivePlayerExperience( playerid, E_POLICE ); GivePlayerCash( playerid, totalCash ); @@ -396,9 +399,13 @@ stock BreakPlayerCuffs( playerid ) } else p_BobbyPins[ playerid ] --; - new probability = 50; // success rate probability + new Float: probability = fRandomEx( 0.0, 100.0 ); - if ( random( 101 ) <= probability ) + // multiply success rate every 25 levels (only 1, 2, 3, 4x) + probability *= GetPlayerLevel( playerid, E_POLICE ) / 25.0 + 1.0; + + // if probability >= n% after multiplying as well then uncuff + if ( probability >= 75.0 ) { if ( ! IsPlayerCuffed( playerid ) ) { @@ -439,12 +446,12 @@ stock AwardNearestLEO( playerid, reason ) { if ( ! IsPlayerConnected( playerid ) || playerid == INVALID_PLAYER_ID || GetPlayerWantedLevel( playerid ) < 2 || IsPlayerDead( playerid ) ) return false; - + #if defined __cloudy_event_system if ( IsPlayerInEvent( playerid ) ) return false; #endif - + new Float: radius = ( IsPlayerInAnyVehicle( playerid ) ? 150.0 : 75.0 ); // If player is in a vehicle, increase radius due to ability to get farther quicker. new closestLEO = GetClosestPlayerEx( playerid, CLASS_POLICE, radius ); diff --git a/gamemodes/irresistible/cnr/features/cop/bail.pwn b/gamemodes/irresistible/cnr/features/cop/bail.pwn index 57d44d1..3cb7ec4 100644 --- a/gamemodes/irresistible/cnr/features/cop/bail.pwn +++ b/gamemodes/irresistible/cnr/features/cop/bail.pwn @@ -32,13 +32,13 @@ CMD:bail( playerid, params[ ] ) else if ( GetPVarInt( pID, "bail_antispam" ) > g_iTime ) return SendError( playerid, "You must wait 10 seconds before offering a bail to this player." ); else { - equa = BAIL_DOLLARS_PER_SECOND * p_JailTime[ pID ]; - if ( p_JailTime[ pID ] >= ALCATRAZ_TIME_WANTED ) equa *= 2; - p_BailOfferer[ pID ] = playerid; - p_BailTimestamp[ pID ] = g_iTime + 120; - SetPVarInt( pID, "bail_antispam", g_iTime + 1 ); - SendServerMessage( playerid, "You have offered %s(%d) bail for "COL_GOLD"%s", ReturnPlayerName( pID ), pID, cash_format( equa ) ); - SendClientMessageFormatted( pID, -1, ""COL_GREY"[SERVER]"COL_WHITE" %s(%d) has offered to bail you out for "COL_GOLD"%s"COL_WHITE". "COL_ORANGE"/acceptbail"COL_WHITE" to accept the bail.", ReturnPlayerName( playerid ), playerid, cash_format( equa ) ); + equa = floatround( float( BAIL_DOLLARS_PER_SECOND * p_JailTime[ pID ] ) * ( 1.0 - GetPlayerLevel( pID, E_POLICE ) / 125.0 ) ); + if ( p_JailTime[ pID ] >= ALCATRAZ_TIME_WANTED ) equa *= 2; + p_BailOfferer[ pID ] = playerid; + p_BailTimestamp[ pID ] = g_iTime + 120; + SetPVarInt( pID, "bail_antispam", g_iTime + 1 ); + SendServerMessage( playerid, "You have offered %s(%d) bail for "COL_GOLD"%s", ReturnPlayerName( pID ), pID, cash_format( equa ) ); + SendClientMessageFormatted( pID, -1, ""COL_GREY"[SERVER]"COL_WHITE" %s(%d) has offered to bail you out for "COL_GOLD"%s"COL_WHITE". "COL_ORANGE"/acceptbail"COL_WHITE" to accept the bail.", ReturnPlayerName( playerid ), playerid, cash_format( equa ) ); } return 1; } @@ -46,7 +46,7 @@ CMD:bail( playerid, params[ ] ) CMD:acceptbail( playerid, params[ ] ) { new - equa = BAIL_DOLLARS_PER_SECOND * p_JailTime[ playerid ]; + equa = floatround( float( BAIL_DOLLARS_PER_SECOND * p_JailTime[ playerid ] ) * ( 1.0 - GetPlayerLevel( playerid, E_POLICE ) / 125.0 ) ); if ( p_JailTime[ playerid ] >= ALCATRAZ_TIME_WANTED ) equa *= 2; @@ -61,7 +61,7 @@ CMD:acceptbail( playerid, params[ ] ) new cashEarned = floatround( equa * 0.70 ); - GivePlayerCash( playerid, -equa ); + GivePlayerCash( playerid, -equa ); GivePlayerCash( p_BailOfferer[ playerid ], cashEarned ); StockMarket_UpdateEarnings( E_STOCK_GOVERNMENT, cashEarned, 0.1 ); SendClientMessageFormatted( p_BailOfferer[ playerid ], -1, ""COL_GREEN"[BAIL]"COL_WHITE" %s(%d) has paid bail. You have earned "COL_GOLD"%s"COL_WHITE" from his bail.", ReturnPlayerName( playerid ), playerid, cash_format( cashEarned ) ); diff --git a/gamemodes/irresistible/cnr/features/fires.pwn b/gamemodes/irresistible/cnr/features/fires.pwn index 4ebc0dc..32207d5 100644 --- a/gamemodes/irresistible/cnr/features/fires.pwn +++ b/gamemodes/irresistible/cnr/features/fires.pwn @@ -11,7 +11,7 @@ /* ** Definitions ** */ #define MAX_FIRES ( 10 ) -#define FIRE_EXTINGUISH_PAYOUT ( 4000 ) +#define FIRE_EXTINGUISH_PAYOUT ( 5000 ) /* ** Variables ** */ enum E_FIRE_DATA @@ -85,13 +85,13 @@ hook OnPlayerUpdateEx( playerid ) if ( g_fireData[ i ] [ E_HEALTH ] <= 0.0 ) { - new - money_earned = RandomEx( FIRE_EXTINGUISH_PAYOUT / 2, FIRE_EXTINGUISH_PAYOUT ); + new min_money_earned = floatround( float( FIRE_EXTINGUISH_PAYOUT ) * 0.75 ); + new money_earned = RandomEx( min_money_earned, FIRE_EXTINGUISH_PAYOUT ); ach_HandleExtinguishedFires( playerid ); SendClientMessageToAllFormatted( -1, "{A83434}[FIREMAN]"COL_WHITE" %s(%d) has earned "COL_GOLD"%s"COL_WHITE" for extinguishing a house fire.", ReturnPlayerName( playerid ), playerid, cash_format( money_earned ) ); GivePlayerScore( playerid, 2 ); - //GivePlayerExperience( playerid, E_FIREMAN ); + GivePlayerExperience( playerid, E_ROLEPLAY, 0.5 ); GivePlayerCash( playerid, money_earned ); StockMarket_UpdateEarnings( E_STOCK_GOVERNMENT, money_earned, 0.15 ); HouseFire_Remove( i ); @@ -117,6 +117,10 @@ hook OnServerUpdate( ) hook OnServerGameDayEnd( ) { + for ( new fireid = 0; fireid < MAX_FIRES; fireid ++ ) + { + HouseFire_Remove( fireid ); + } HouseFire_Create( ); return 1; } diff --git a/gamemodes/irresistible/cnr/features/gangs/gangs.pwn b/gamemodes/irresistible/cnr/features/gangs/gangs.pwn index 8b98ff3..9503ba3 100644 --- a/gamemodes/irresistible/cnr/features/gangs/gangs.pwn +++ b/gamemodes/irresistible/cnr/features/gangs/gangs.pwn @@ -649,6 +649,7 @@ thread OnPlayerGangLoaded( playerid ) thread OnGangAdded( gangid ) { g_gangData[ gangid ] [ E_SQL_ID ] = cache_insert_id( ); + mysql_single_query( sprintf( "UPDATE `USERS` SET `GANG_ID`=%d WHERE `ID`=%d", g_gangData[ gangid ] [ E_SQL_ID ], g_gangData[ gangid ][ E_LEADER ] ) ); return 1; } @@ -770,6 +771,10 @@ thread OnGangKickOffline( playerid, gangid ) mysql_single_query( sprintf( "DELETE FROM `GANG_COLEADERS` WHERE `USER_ID`=%d", player_accid ) ); mysql_single_query( sprintf( "UPDATE `USERS` SET `GANG_ID`=-1 WHERE `ID`=%d", player_accid ) ); + for ( new i = 0; i < MAX_COLEADERS; i++ ) if ( g_gangData[ gangid ] [ E_COLEADER ] [ i ] == player_accid ) { + g_gangData[ gangid ] [ E_COLEADER ] [ i ] = 0; + } + SendClientMessageToGang( static_gangid, g_gangData[ static_gangid ] [ E_COLOR ], "[GANG]{FFFFFF} %s has left the gang (KICKED)", player_name ); } else diff --git a/gamemodes/irresistible/cnr/features/hotel_da_novic.pwn b/gamemodes/irresistible/cnr/features/hotel_da_novic.pwn index 9cbba28..125fe1b 100644 --- a/gamemodes/irresistible/cnr/features/hotel_da_novic.pwn +++ b/gamemodes/irresistible/cnr/features/hotel_da_novic.pwn @@ -31,6 +31,9 @@ static stock /* ** Hooks ** */ hook OnScriptInit( ) { + // load objects for apartments + initializeHotelObjects( ); + // Load apartments mysql_function_query( dbHandle, "SELECT * FROM `APARTMENTS`", true, "NovicHotel_Load", "" ); @@ -380,3 +383,1511 @@ stock NovicHotel_GetPlayerApartments( playerid ) } return 0; } + +static stock initializeHotelObjects( ) +{ +#if !defined DEBUG_MODE + CreateDynamicObject(2298, -1985.82996, 1338.85999, 15.12000, 0.00000, 0.00000, -149.22000); + CreateDynamicObject(2841, -1987.06006, 1337.18994, 15.12000, 0.00000, 0.00000, 27.30000); + CreateDynamicObject(2854, -1984.05005, 1335.71997, 15.64000, 0.00000, 0.00000, -152.39999); + CreateDynamicObject(322, -1986.59998, 1334.09998, 15.10000, 90.00000, 0.00000, -81.78000); + CreateDynamicObject(19173, -1985.02002, 1334.90002, 17.59000, 0.00000, 0.00000, 30.24000); + CreateDynamicObject(2313, -2000.96997, 1334.05005, 15.12000, 0.00000, 0.00000, 129.12000); + CreateDynamicObject(948, -2000.35999, 1333.39001, 15.12000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(948, -2002.43994, 1335.71997, 15.12000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1996.12000, 1336.56006, 15.12000, 0.00000, 0.00000, -89.94000); + CreateDynamicObject(1703, -1999.12000, 1339.38000, 15.12000, 0.00000, 0.00000, -28.14000); + CreateDynamicObject(1433, -1998.10999, 1336.71997, 15.30000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1791, -2001.67004, 1334.40002, 21.10000, 0.00000, 0.00000, 130.14000); + CreateDynamicObject(1703, -1980.56995, 1362.45996, 15.12000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1978.67004, 1358.44995, 15.12000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1742, -1986.97998, 1354.63000, 15.12000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1742, -1986.97998, 1356.05005, 15.12000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1742, -1986.97998, 1357.48999, 15.12000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2629, -1944.43994, 1369.47998, 15.12000, 0.00000, 0.00000, -24.18000); + CreateDynamicObject(2628, -1942.32996, 1360.38000, 15.12000, 0.00000, 0.00000, 200.94000); + CreateDynamicObject(2632, -1945.13000, 1359.30005, 15.12000, 0.00000, 0.00000, 22.50000); + CreateDynamicObject(2630, -1944.96997, 1359.29004, 15.17000, 0.00000, 0.00000, -69.72000); + CreateDynamicObject(2823, -1941.59998, 1361.70996, 15.14000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2823, -1943.38000, 1368.56006, 15.14000, 0.00000, 0.00000, 94.74000); + CreateDynamicObject(1703, -1967.22998, 1368.43994, 15.12000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1965.34998, 1362.87000, 15.12000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1969.25000, 1364.59998, 15.12000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1963.43994, 1366.64001, 15.12000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1433, -1966.55005, 1365.76001, 15.32000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1966.77002, 1365.77002, 15.82000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2132, -1977.66003, 1368.47998, 15.12000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2131, -1975.62000, 1368.43994, 15.12000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1979.65002, 1368.46997, 15.12000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1980.65002, 1368.46997, 15.12000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2822, -1979.56995, 1368.39001, 27.10000, 0.00000, 0.00000, -119.10000); + CreateDynamicObject(2851, -1977.47998, 1366.77002, 32.49000, 0.00000, 0.00000, 55.92000); + CreateDynamicObject(640, -1989.71997, 1374.45996, 15.81000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(640, -2001.73999, 1377.43994, 15.81000, 0.00000, 0.00000, 150.00000); + CreateDynamicObject(1594, -2000.27002, 1371.23999, 15.60000, 0.00000, 0.00000, 21.78000); + CreateDynamicObject(1594, -1996.87000, 1367.43994, 15.60000, 0.00000, 0.00000, -30.00000); + CreateDynamicObject(1594, -2000.85999, 1363.46997, 15.60000, 0.00000, 0.00000, 38.22000); + CreateDynamicObject(2823, -2000.17004, 1371.33997, 16.01000, 0.00000, 0.00000, -5.04000); + CreateDynamicObject(2823, -1996.90002, 1367.47998, 16.01000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2823, -2000.93005, 1363.38000, 16.01000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2823, -1997.03003, 1367.15002, 16.01000, 0.00000, 0.00000, 116.04000); + CreateDynamicObject(2823, -2000.43994, 1371.00000, 16.01000, 0.00000, 0.00000, 126.24000); + CreateDynamicObject(1703, -1963.43994, 1366.64001, 20.57000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1703, -1967.22998, 1368.43994, 20.57000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1969.25000, 1364.59998, 20.57000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1965.34998, 1362.87000, 20.57000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1433, -1966.55005, 1365.76001, 20.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1966.77002, 1365.77002, 21.29000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1978.67004, 1358.44995, 20.57000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1980.56995, 1362.45996, 20.57000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1742, -1986.97998, 1354.63000, 20.57000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1742, -1986.97998, 1356.05005, 20.57000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1742, -1986.97998, 1357.48999, 20.57000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2632, -1945.13000, 1359.30005, 20.57000, 0.00000, 0.00000, 22.50000); + CreateDynamicObject(2628, -1942.32996, 1360.38000, 20.57000, 0.00000, 0.00000, 200.94000); + CreateDynamicObject(2823, -1941.59998, 1361.70996, 20.59000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2630, -1944.96997, 1359.29004, 20.63000, 0.00000, 0.00000, -69.72000); + CreateDynamicObject(2298, -1985.82996, 1338.85999, 20.57000, 0.00000, 0.00000, -149.22000); + CreateDynamicObject(2841, -1987.06006, 1337.18994, 20.59000, 0.00000, 0.00000, 27.30000); + CreateDynamicObject(19173, -1985.02002, 1334.90002, 22.57000, 0.00000, 0.00000, 30.24000); + CreateDynamicObject(2854, -1984.05005, 1335.71997, 21.10000, 0.00000, 0.00000, -152.39999); + CreateDynamicObject(322, -1986.59998, 1334.09998, 20.57000, 90.00000, 0.00000, -81.78000); + CreateDynamicObject(1433, -1998.10999, 1336.71997, 20.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1999.12000, 1339.38000, 20.57000, 0.00000, 0.00000, -28.14000); + CreateDynamicObject(1703, -1996.12000, 1336.56006, 20.57000, 0.00000, 0.00000, -89.94000); + CreateDynamicObject(2313, -2000.96997, 1334.05005, 20.57000, 0.00000, 0.00000, 129.12000); + CreateDynamicObject(948, -2000.35999, 1333.39001, 20.57000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(948, -2002.43994, 1335.71997, 20.57000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1594, -2000.85999, 1363.46997, 21.05000, 0.00000, 0.00000, 38.22000); + CreateDynamicObject(1594, -1996.87000, 1367.43994, 21.01000, 0.00000, 0.00000, -30.00000); + CreateDynamicObject(1594, -2000.27002, 1371.23999, 21.01000, 0.00000, 0.00000, 21.78000); + CreateDynamicObject(640, -2001.73999, 1377.43994, 21.29000, 0.00000, 0.00000, 150.00000); + CreateDynamicObject(2823, -2000.93005, 1363.38000, 21.45000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2823, -2000.43994, 1371.00000, 21.41000, 0.00000, 0.00000, 126.24000); + CreateDynamicObject(2823, -2000.17004, 1371.33997, 21.41000, 0.00000, 0.00000, -5.04000); + CreateDynamicObject(2823, -1997.03003, 1367.15002, 21.41000, 0.00000, 0.00000, 116.04000); + CreateDynamicObject(2823, -1996.90002, 1367.47998, 21.41000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(640, -1989.71997, 1374.45996, 21.27000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2131, -1975.62000, 1368.43994, 20.57000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2132, -1977.66003, 1368.47998, 20.57000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1979.65002, 1368.46997, 20.57000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1980.65002, 1368.46997, 20.57000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2629, -1944.43994, 1369.47998, 20.57000, 0.00000, 0.00000, -24.18000); + CreateDynamicObject(2823, -1943.38000, 1368.56006, 20.59000, 0.00000, 0.00000, 94.74000); + CreateDynamicObject(1703, -1978.67004, 1358.44995, 26.04000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1980.56995, 1362.45996, 26.04000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1969.25000, 1364.59998, 26.04000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1967.22998, 1368.43994, 26.04000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1963.43994, 1366.64001, 26.04000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1703, -1965.34998, 1362.87000, 26.04000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1433, -1966.55005, 1365.76001, 26.22000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1966.77002, 1365.77002, 26.74000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2630, -1944.96997, 1359.29004, 26.10000, 0.00000, 0.00000, -69.72000); + CreateDynamicObject(2628, -1942.32996, 1360.38000, 26.04000, 0.00000, 0.00000, 200.94000); + CreateDynamicObject(2632, -1945.13000, 1359.30005, 26.04000, 0.00000, 0.00000, 22.50000); + CreateDynamicObject(2823, -1941.59998, 1361.70996, 26.08000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2823, -1943.38000, 1368.56006, 26.06000, 0.00000, 0.00000, 94.74000); + CreateDynamicObject(2629, -1944.43994, 1369.47998, 26.04000, 0.00000, 0.00000, -24.18000); + CreateDynamicObject(1742, -1986.97998, 1354.63000, 26.04000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1742, -1986.97998, 1356.05005, 26.04000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1742, -1986.97998, 1357.48999, 26.04000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2841, -1987.06006, 1337.18994, 26.04000, 0.00000, 0.00000, 27.30000); + CreateDynamicObject(2298, -1985.82996, 1338.85999, 26.04000, 0.00000, 0.00000, -149.22000); + CreateDynamicObject(2854, -1984.05005, 1335.71997, 26.60000, 0.00000, 0.00000, -152.39999); + CreateDynamicObject(19173, -1985.02002, 1334.90002, 27.78000, 0.00000, 0.00000, 30.24000); + CreateDynamicObject(1703, -1996.12000, 1336.56006, 26.04000, 0.00000, 0.00000, -89.94000); + CreateDynamicObject(1703, -1999.12000, 1339.38000, 26.04000, 0.00000, 0.00000, -28.14000); + CreateDynamicObject(1433, -1998.10999, 1336.71997, 26.22000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2313, -2000.96997, 1334.05005, 26.04000, 0.00000, 0.00000, 129.12000); + CreateDynamicObject(948, -2002.43994, 1335.71997, 26.04000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(948, -2000.35999, 1333.39001, 26.04000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1791, -2001.67004, 1334.40002, 26.54000, 0.00000, 0.00000, 130.14000); + CreateDynamicObject(640, -2001.73999, 1377.43994, 26.72000, 0.00000, 0.00000, 150.00000); + CreateDynamicObject(1594, -2000.27002, 1371.23999, 26.52000, 0.00000, 0.00000, 21.78000); + CreateDynamicObject(1594, -2000.85999, 1363.46997, 26.52000, 0.00000, 0.00000, 38.22000); + CreateDynamicObject(1594, -1996.87000, 1367.43994, 26.52000, 0.00000, 0.00000, -30.00000); + CreateDynamicObject(2823, -2000.93005, 1363.38000, 26.92000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2823, -1997.03003, 1367.15002, 26.92000, 0.00000, 0.00000, 116.04000); + CreateDynamicObject(2823, -1996.90002, 1367.47998, 26.92000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2823, -2000.17004, 1371.33997, 26.92000, 0.00000, 0.00000, -5.04000); + CreateDynamicObject(2823, -2000.43994, 1371.00000, 26.92000, 0.00000, 0.00000, 126.24000); + CreateDynamicObject(640, -1989.71997, 1374.45996, 26.72000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2134, -1980.65002, 1368.46997, 26.04000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1979.65002, 1368.46997, 26.04000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2132, -1977.66003, 1368.47998, 26.04000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2131, -1975.62000, 1368.43994, 26.04000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2822, -1979.56995, 1368.39001, 22.00000, 0.00000, 0.00000, -119.10000); + CreateDynamicObject(1703, -2000.31995, 1353.22998, 26.03000, 0.00000, 0.00000, 46.14000); + CreateDynamicObject(1703, -1995.45996, 1351.56006, 26.03000, 0.00000, 0.00000, 226.08000); + CreateDynamicObject(640, -1989.73999, 1348.68005, 26.72000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1985.12000, 1350.71997, 26.04000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1982.79004, 1354.39001, 26.04000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1982.79004, 1354.39001, 15.12000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1985.12000, 1350.71997, 15.12000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1995.45996, 1351.56006, 15.12000, 0.00000, 0.00000, 226.08000); + CreateDynamicObject(1703, -2000.31995, 1353.22998, 15.12000, 0.00000, 0.00000, 46.14000); + CreateDynamicObject(1703, -1995.45996, 1351.56006, 20.57000, 0.00000, 0.00000, 226.08000); + CreateDynamicObject(1703, -2000.31995, 1353.22998, 20.57000, 0.00000, 0.00000, 46.14000); + CreateDynamicObject(640, -1989.73999, 1348.68005, 15.81000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(640, -1989.73999, 1348.68005, 21.27000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1985.12000, 1350.71997, 20.57000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1982.79004, 1354.39001, 20.57000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1963.43994, 1366.64001, 31.49000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1703, -1967.22998, 1368.43994, 31.49000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1969.25000, 1364.59998, 31.49000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1965.34998, 1362.87000, 31.49000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1433, -1966.55005, 1365.76001, 31.69000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1966.77002, 1365.77002, 32.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2632, -1945.13000, 1359.30005, 31.49000, 0.00000, 0.00000, 22.50000); + CreateDynamicObject(2630, -1944.96997, 1359.29004, 31.55000, 0.00000, 0.00000, -69.72000); + CreateDynamicObject(2628, -1942.32996, 1360.38000, 31.49000, 0.00000, 0.00000, 200.94000); + CreateDynamicObject(2823, -1941.59998, 1361.70996, 31.51000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2823, -1943.38000, 1368.56006, 31.51000, 0.00000, 0.00000, 94.74000); + CreateDynamicObject(2629, -1944.43994, 1369.47998, 31.49000, 0.00000, 0.00000, -24.18000); + CreateDynamicObject(1703, -1982.79004, 1354.39001, 31.49000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1985.12000, 1350.71997, 31.49000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1978.67004, 1358.44995, 31.49000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1980.56995, 1362.45996, 31.49000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1742, -1986.97998, 1357.48999, 31.49000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1742, -1986.97998, 1356.06995, 31.49000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1742, -1986.97998, 1354.63000, 31.49000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2131, -1975.62000, 1368.43994, 31.49000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2132, -1977.66003, 1368.47998, 31.49000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1979.65002, 1368.46997, 31.49000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1980.65002, 1368.46997, 31.49000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2822, -1979.56995, 1368.39001, 32.49000, 0.00000, 0.00000, -119.10000); + CreateDynamicObject(1742, -1981.50000, 1363.72998, 42.38000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1742, -1981.50000, 1363.77002, 42.38000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1742, -1980.26001, 1363.73999, 47.85000, 0.04000, 0.00000, 0.00000); + CreateDynamicObject(2000, -1950.63000, 1374.00000, 56.14000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1742, -1981.68994, 1363.75000, 53.31000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1742, -1980.27002, 1363.76001, 58.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1742, -1981.51001, 1363.76001, 64.23000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2576, -1980.85999, 1337.87000, 42.39000, 0.00000, 0.00000, 210.00000); + CreateDynamicObject(1744, -1984.81006, 1334.76001, 49.85000, 0.00000, 0.00000, 210.00000); + CreateDynamicObject(2563, -1985.28003, 1337.53003, 42.39000, 0.00000, 0.00000, 210.00000); + CreateDynamicObject(1820, -1988.59998, 1333.17004, 42.40000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2196, -1987.98999, 1334.26001, 48.38000, 0.00000, 0.00000, 70.00000); + CreateDynamicObject(321, -1981.87000, 1337.16003, 44.61000, -87.54000, 61.86000, 0.00000); + CreateDynamicObject(1825, -2001.13000, 1367.22998, 42.40000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1966.04004, 1368.27002, 42.40000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1968.58997, 1364.70996, 42.40000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1964.07996, 1363.19995, 42.40000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1968.58997, 1364.70996, 47.88000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1966.04004, 1368.27002, 47.82000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1964.07996, 1363.19995, 47.87000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2576, -1980.85999, 1337.87000, 47.85000, 0.00000, 0.00000, 210.00000); + CreateDynamicObject(321, -1981.87000, 1337.16003, 50.07000, -87.54000, 61.86000, 0.00000); + CreateDynamicObject(2563, -1985.28003, 1337.53003, 47.85000, 0.00000, 0.00000, 210.00000); + CreateDynamicObject(1820, -1988.59998, 1333.17004, 47.86000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1825, -2001.13000, 1367.22998, 47.84000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1744, -1984.81006, 1334.76001, 44.39000, 0.00000, 0.00000, 210.00000); + CreateDynamicObject(2196, -1987.98999, 1334.26001, 42.90000, 0.00000, 0.00000, 70.00000); + CreateDynamicObject(1724, -1986.44995, 1350.62000, 42.39000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2629, -1950.42004, 1364.57996, 42.44000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2630, -1950.42004, 1366.39001, 42.44000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2628, -1941.78003, 1369.04004, 42.40000, 0.00000, 0.00000, -30.00000); + CreateDynamicObject(2627, -1943.22998, 1359.67004, 42.40000, 0.00000, 0.00000, -66.00000); + CreateDynamicObject(2629, -1950.42004, 1364.57996, 47.90000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2630, -1950.42004, 1366.39001, 47.90000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2628, -1941.78003, 1369.04004, 47.86000, 0.00000, 0.00000, -30.00000); + CreateDynamicObject(2627, -1943.22998, 1359.67004, 47.86000, 0.00000, 0.00000, -66.00000); + CreateDynamicObject(1724, -1986.44995, 1350.62000, 47.85000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2628, -1941.78003, 1369.04004, 53.32000, 0.00000, 0.00000, -30.00000); + CreateDynamicObject(2627, -1943.22998, 1359.67004, 53.32000, 0.00000, 0.00000, -66.00000); + CreateDynamicObject(2629, -1950.42004, 1364.57996, 53.36000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2630, -1950.42004, 1366.39001, 53.36000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1724, -1986.43005, 1350.59998, 53.32000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1968.57996, 1364.68994, 53.32000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1964.07996, 1363.19995, 53.32000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1966.04004, 1368.27002, 53.32000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(321, -1981.87000, 1337.16003, 55.52000, -87.54000, 61.86000, 0.00000); + CreateDynamicObject(2576, -1980.85999, 1337.87000, 53.30000, 0.00000, 0.00000, 210.00000); + CreateDynamicObject(2563, -1985.28003, 1337.53003, 53.32000, 0.00000, 0.00000, 210.00000); + CreateDynamicObject(1744, -1984.81006, 1334.76001, 55.32000, 0.00000, 0.00000, 210.00000); + CreateDynamicObject(1820, -1988.59998, 1333.17004, 53.32000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2196, -1987.98999, 1334.26001, 53.82000, 0.00000, 0.00000, 70.00000); + CreateDynamicObject(1825, -2001.13000, 1367.22998, 53.32000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2010, -2000.56006, 1333.31006, 42.39000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2010, -2002.44995, 1335.54004, 42.39000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2010, -2000.56006, 1333.31006, 47.85000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2010, -2002.44995, 1335.54004, 47.85000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2010, -2000.56006, 1333.31006, 53.32000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2010, -2002.44995, 1335.54004, 53.32000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1724, -1982.97998, 1353.77002, 58.77000, 0.00000, 0.00000, 137.64000); + CreateDynamicObject(1703, -1964.07996, 1363.19995, 58.77000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1966.04004, 1368.27002, 58.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1968.58997, 1364.70996, 58.77000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2627, -1943.22998, 1359.67004, 58.77000, 0.00000, 0.00000, -66.00000); + CreateDynamicObject(2629, -1950.42004, 1364.57996, 58.89000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2630, -1950.42004, 1366.39001, 58.87000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2628, -1941.78003, 1369.04004, 58.77000, 0.00000, 0.00000, -30.00000); + CreateDynamicObject(1724, -1986.43005, 1350.59998, 64.23000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(321, -1981.87000, 1337.16003, 60.99000, -87.54000, 61.86000, 0.00000); + CreateDynamicObject(2576, -1980.85999, 1337.87000, 58.77000, 0.00000, 0.00000, 210.00000); + CreateDynamicObject(2563, -1985.30005, 1337.54004, 58.77000, 0.00000, 0.00000, 210.00000); + CreateDynamicObject(1820, -1988.59998, 1333.17004, 58.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1744, -1984.81006, 1334.76001, 66.23000, 0.00000, 0.00000, 210.00000); + CreateDynamicObject(2196, -1987.98999, 1334.26001, 59.27000, 0.00000, 0.00000, 70.00000); + CreateDynamicObject(2010, -2000.56006, 1333.31006, 58.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2010, -2002.44995, 1335.54004, 58.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1968.58997, 1364.70996, 64.23000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1966.04004, 1368.27002, 64.23000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1964.07996, 1363.19995, 64.23000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2628, -1941.78003, 1369.04004, 64.23000, 0.00000, 0.00000, -30.00000); + CreateDynamicObject(2629, -1950.42004, 1364.57996, 64.31000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2627, -1943.22998, 1359.67004, 64.23000, 0.00000, 0.00000, -66.00000); + CreateDynamicObject(2630, -1950.42004, 1366.39001, 64.31000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(321, -1982.03003, 1337.34998, 66.45000, -87.54000, 61.86000, 0.00000); + CreateDynamicObject(2576, -1980.85999, 1337.87000, 64.23000, 0.00000, 0.00000, 210.00000); + CreateDynamicObject(2563, -1985.28003, 1337.53003, 64.23000, 0.00000, 0.00000, 210.00000); + CreateDynamicObject(1820, -1988.59998, 1333.17004, 64.23000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2196, -1987.98999, 1334.26001, 64.73000, 0.00000, 0.00000, 70.00000); + CreateDynamicObject(1744, -1984.81006, 1334.76001, 60.77000, 0.00000, 0.00000, 210.00000); + CreateDynamicObject(2010, -2002.44995, 1335.54004, 64.23000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2010, -2000.56006, 1333.31006, 64.23000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1825, -2001.13000, 1367.22998, 58.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1825, -2001.13000, 1367.22998, 64.23000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1516, -1965.03003, 1365.65002, 42.38000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1965.03003, 1365.69995, 48.41000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1516, -1965.03003, 1365.65002, 47.87000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1965.03003, 1365.69995, 42.93000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2762, -1998.67004, 1353.41003, 42.81000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1670, -1998.63000, 1353.90002, 43.23000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1721, -1998.68994, 1355.06995, 42.40000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1721, -1997.64001, 1354.06006, 42.40000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1721, -1997.63000, 1352.81995, 42.40000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1721, -1999.70996, 1352.81995, 42.40000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1721, -1999.68994, 1354.06006, 42.40000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1721, -1998.68994, 1351.81995, 42.40000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2858, -1998.78003, 1353.02002, 43.23000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2859, -2001.26001, 1367.21997, 43.27000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1742, -1980.07996, 1363.75000, 42.38000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1742, -1978.63000, 1363.76001, 42.38000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2204, -1986.81006, 1353.64001, 42.39000, 0.00000, 0.00000, 90.32000); + CreateDynamicObject(344, -1986.63000, 1354.87000, 43.43000, -19.38000, -86.82000, 90.00000); + CreateDynamicObject(2131, -1982.06995, 1368.48999, 42.40000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2132, -1984.35999, 1368.42004, 42.40000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2133, -1986.38000, 1368.48999, 42.40000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1981.01001, 1368.47998, 42.40000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1980.01001, 1368.47998, 42.40000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1979.01001, 1368.47998, 42.40000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2133, -1978.00000, 1368.47998, 42.40000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2823, -1980.46997, 1368.37000, 43.45000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2858, -1979.06006, 1368.35999, 43.45000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2851, -1984.68994, 1368.31995, 43.45000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(638, -2001.79004, 1377.46997, 43.10000, 0.00000, 0.00000, 150.00000); + CreateDynamicObject(2596, -1959.45996, 1365.79004, 45.26000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(2596, -1959.45996, 1365.79004, 50.26000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(2596, -1959.45996, 1365.79004, 56.26000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(2596, -1959.45996, 1365.79004, 61.26000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(2596, -1959.47998, 1365.79004, 67.26000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1516, -1965.03003, 1365.65002, 53.32000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1965.03003, 1365.69995, 53.86000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2131, -1982.06995, 1368.48999, 47.88000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2823, -1980.46997, 1368.37000, 48.94000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2858, -1979.06006, 1368.35999, 48.94000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2133, -1986.38000, 1368.48999, 47.88000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2132, -1984.35999, 1368.42004, 47.88000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1981.01001, 1368.47998, 47.88000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1980.01001, 1368.47998, 47.88000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1979.01001, 1368.47998, 47.88000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2133, -1978.00000, 1368.47998, 47.88000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2859, -2001.26001, 1367.21997, 48.72000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(638, -2001.79004, 1377.46997, 48.56000, 0.00000, 0.00000, 150.00000); + CreateDynamicObject(2762, -1998.67004, 1353.41003, 48.26000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1721, -1999.70996, 1352.81995, 47.88000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1721, -1999.68994, 1354.06006, 47.88000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1721, -1997.63000, 1352.81995, 47.88000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1721, -1998.68994, 1351.81995, 47.88000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1721, -1997.64001, 1354.06006, 47.88000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1721, -1998.68994, 1355.06995, 47.88000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2858, -1998.78003, 1353.02002, 48.70000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1998.63000, 1353.90002, 48.70000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(638, -2001.79004, 1377.46997, 54.02000, 0.00000, 0.00000, 150.00000); + CreateDynamicObject(2859, -2001.26001, 1367.21997, 54.20000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2762, -1998.67004, 1353.41003, 53.72000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1721, -1998.68994, 1351.81995, 53.32000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1721, -1999.70996, 1352.81995, 53.32000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1721, -1999.68994, 1354.06006, 53.32000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1721, -1997.64001, 1354.06006, 53.32000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1721, -1997.63000, 1352.81995, 53.32000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1721, -1998.68994, 1355.06995, 53.32000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1670, -1998.63000, 1353.90002, 54.16000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2858, -1998.78003, 1353.02002, 54.14000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1721, -1998.68994, 1355.06995, 58.77000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1721, -1999.68994, 1354.06006, 58.77000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1721, -1999.71997, 1352.80005, 58.77000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1721, -1997.63000, 1352.81995, 58.77000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1721, -1997.64001, 1354.06006, 58.77000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1721, -1998.68994, 1351.81995, 58.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2762, -1998.67004, 1353.41003, 59.19000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2858, -1998.78003, 1353.02002, 59.61000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1998.63000, 1353.90002, 59.63000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2859, -2001.26001, 1367.21997, 59.65000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1721, -1998.68994, 1355.06995, 64.23000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1721, -1999.68994, 1354.06006, 64.23000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1721, -1997.64001, 1354.06006, 64.23000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1721, -1999.71997, 1352.80005, 64.23000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1721, -1998.68994, 1351.81995, 64.23000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1721, -1997.63000, 1352.81995, 64.23000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2762, -1998.67004, 1353.41003, 64.63000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2858, -1998.78003, 1353.02002, 65.05000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1998.63000, 1353.90002, 65.07000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2859, -2001.26001, 1367.21997, 65.11000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(638, -2001.79004, 1377.46997, 64.95000, 0.00000, 0.00000, 150.00000); + CreateDynamicObject(638, -2001.79004, 1377.46997, 59.47000, 0.00000, 0.00000, 150.00000); + CreateDynamicObject(2842, -1987.07996, 1336.58997, 42.40000, 0.00000, 0.00000, 30.00000); + CreateDynamicObject(2842, -1987.07996, 1336.58997, 47.85000, 0.00000, 0.00000, 30.00000); + CreateDynamicObject(2842, -1987.07996, 1336.58997, 53.32000, 0.00000, 0.00000, 30.00000); + CreateDynamicObject(2842, -1987.07996, 1336.58997, 58.77000, 0.00000, 0.00000, 30.00000); + CreateDynamicObject(2842, -1987.07996, 1336.58997, 64.23000, 0.00000, 0.00000, 30.00000); + CreateDynamicObject(2131, -1982.06995, 1368.48999, 53.32000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2132, -1984.35999, 1368.42004, 53.32000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2133, -1986.38000, 1368.48999, 53.32000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2133, -1978.00000, 1368.47998, 53.32000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2823, -1980.46997, 1368.37000, 54.38000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2858, -1979.06006, 1368.35999, 54.38000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2134, -1979.01001, 1368.47998, 53.32000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1980.01001, 1368.47998, 53.32000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1981.01001, 1368.47998, 53.32000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2851, -1984.68994, 1368.31995, 54.38000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1516, -1965.03003, 1365.65002, 58.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1965.03003, 1365.69995, 59.31000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1516, -1965.03003, 1365.65002, 64.23000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1965.03003, 1365.69995, 64.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2851, -1984.68994, 1368.31995, 48.94000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2133, -1978.00000, 1368.47998, 58.77000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2131, -1982.06995, 1368.48999, 58.77000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2133, -1986.38000, 1368.48999, 58.77000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2858, -1979.06006, 1368.31995, 59.83000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2823, -1980.46997, 1368.37000, 59.82000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2851, -1984.68994, 1368.31995, 59.82000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2134, -1979.01001, 1368.47998, 58.77000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1980.01001, 1368.47998, 58.77000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1981.00000, 1368.46997, 58.77000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2132, -1984.35999, 1368.42004, 58.77000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2133, -1978.00000, 1368.47998, 64.23000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2858, -1979.06006, 1368.31995, 65.29000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2134, -1979.01001, 1368.47998, 64.23000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2823, -1980.46997, 1368.37000, 65.28000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2134, -1980.01001, 1368.47998, 64.23000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1981.00000, 1368.46997, 64.23000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2131, -1982.06995, 1368.48999, 64.23000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2851, -1984.68994, 1368.31995, 65.29000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2132, -1984.35999, 1368.42004, 64.23000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2133, -1986.38000, 1368.48999, 64.23000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2204, -1986.81006, 1353.64001, 47.85000, 0.00000, 0.00000, 90.32000); + CreateDynamicObject(344, -1986.63000, 1354.87000, 48.89000, -19.38000, -86.82000, 90.00000); + CreateDynamicObject(1742, -1978.81995, 1363.73999, 47.85000, 0.04000, 0.00000, 0.00000); + CreateDynamicObject(1742, -1981.69995, 1363.73999, 47.85000, 0.04000, 0.00000, 0.00000); + CreateDynamicObject(1742, -1983.13000, 1363.75000, 53.31000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1742, -1980.25000, 1363.75000, 53.31000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1742, -1978.82996, 1363.73999, 58.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1742, -1981.68994, 1363.76001, 58.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1742, -1982.95996, 1363.77002, 64.23000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1742, -1980.06995, 1363.76001, 64.23000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2204, -1986.79004, 1353.63000, 58.77000, 0.00000, 0.00000, 90.32000); + CreateDynamicObject(2204, -1986.81006, 1353.64001, 64.23000, 0.00000, 0.00000, 90.32000); + CreateDynamicObject(2204, -1986.81006, 1353.63000, 53.32000, 0.00000, 0.00000, 90.32000); + CreateDynamicObject(19086, -1986.68994, 1354.39001, 55.41000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(344, -1986.63000, 1354.87000, 59.53000, -19.38000, -86.82000, 90.00000); + CreateDynamicObject(344, -1986.63000, 1354.87000, 65.29000, -19.38000, -86.82000, 90.00000); + CreateDynamicObject(2964, -1965.46997, 1365.88000, 69.63000, 0.00000, 0.00000, 3.30000); + CreateDynamicObject(338, -1965.06995, 1366.44995, 70.56000, -32.76000, -91.98000, 0.00000); + CreateDynamicObject(338, -1964.31006, 1365.76001, 70.56000, -32.76000, -91.98000, 30.42000); + CreateDynamicObject(338, -1966.46997, 1365.56995, 70.56000, -32.76000, -91.98000, -209.46001); + CreateDynamicObject(2995, -1966.00000, 1365.51001, 70.56000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.56995, 1365.93994, 70.56000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.63000, 1365.59998, 70.56000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.04004, 1366.26001, 70.56000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1964.85999, 1365.72998, 70.56000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.08997, 1366.21997, 70.56000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1964.47998, 1365.98999, 70.32000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1964.39001, 1365.92004, 70.32000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.43994, 1365.80005, 70.28000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.50000, 1365.95996, 70.28000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2857, -1967.78003, 1367.97998, 70.33000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2857, -1963.64001, 1363.52002, 70.33000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2628, -1941.18994, 1368.20996, 69.63000, 0.00000, 0.00000, -27.36000); + CreateDynamicObject(2631, -1942.59998, 1360.44995, 69.63000, 0.00000, 0.00000, 23.46000); + CreateDynamicObject(2629, -1941.93005, 1360.68005, 69.68000, 0.00000, 0.00000, -66.42000); + CreateDynamicObject(2859, -1941.68994, 1362.58997, 69.63000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2859, -1943.04004, 1367.82996, 69.63000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2859, -1944.80005, 1366.82996, 69.63000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2630, -1946.54004, 1359.20996, 69.63000, 0.00000, 0.00000, 244.98000); + CreateDynamicObject(2815, -1948.20996, 1365.55005, 69.63000, 0.00000, 0.00000, 90.36000); + CreateDynamicObject(2229, -1982.53003, 1336.31995, 69.62000, 0.00000, 0.00000, -150.06000); + CreateDynamicObject(2311, -1985.89001, 1334.82996, 69.63000, 0.00000, 0.00000, 30.90000); + CreateDynamicObject(2229, -1987.92004, 1333.18994, 69.62000, 0.00000, 0.00000, -150.06000); + CreateDynamicObject(1786, -1985.07996, 1335.20996, 70.13000, 0.00000, 0.00000, -149.52000); + CreateDynamicObject(2344, -1985.78003, 1337.63000, 70.33000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2849, -1985.38000, 1335.18994, 69.69000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2566, -1998.98999, 1334.80005, 70.07000, 0.00000, 0.00000, 129.42000); + CreateDynamicObject(2816, -2000.57996, 1333.43005, 70.12000, 0.00000, 0.00000, 114.84000); + CreateDynamicObject(2819, -2001.18994, 1336.12000, 70.17000, 0.00000, 0.00000, -82.68000); + CreateDynamicObject(1703, -1990.51001, 1347.50000, 69.63000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1986.80005, 1339.72998, 69.63000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1989.35999, 1336.55005, 69.63000, 0.00000, 0.00000, 72.90000); + CreateDynamicObject(2894, -2002.52002, 1335.68005, 70.12000, 0.00000, 0.00000, 83.46000); + CreateDynamicObject(2816, -1986.22998, 1337.23999, 70.33000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2841, -2000.06006, 1336.45996, 69.63000, 0.00000, 0.00000, -49.56000); + CreateDynamicObject(948, -1991.62000, 1348.52002, 69.63000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(948, -1987.68994, 1348.56995, 69.63000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1991.77002, 1343.83997, 69.63000, 0.00000, 0.00000, 90.30000); + CreateDynamicObject(1703, -1988.56995, 1342.31006, 69.63000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1987.40002, 1345.91003, 69.63000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1433, -1989.55005, 1345.18005, 69.81000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1989.68005, 1345.38000, 70.32000, 0.00000, 0.00000, 24.72000); + CreateDynamicObject(1670, -1989.28003, 1344.93005, 70.32000, 0.00000, 0.00000, 46.26000); + CreateDynamicObject(638, -1993.29004, 1369.19995, 70.33000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.22998, 1371.93994, 70.33000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.22998, 1362.45996, 70.33000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.29004, 1359.17004, 70.33000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.29004, 1353.50000, 70.33000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.34998, 1350.68994, 70.33000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(2147, -1977.71997, 1368.48999, 69.63000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1978.54004, 1368.45996, 69.63000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1979.19995, 1368.45996, 69.63000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1979.85999, 1368.45996, 69.63000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1980.52002, 1368.45996, 69.63000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2132, -1975.72998, 1368.45996, 69.63000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1981.35999, 1368.41003, 69.63000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1982.35999, 1368.41003, 69.63000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1983.35999, 1368.41003, 69.63000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2851, -1979.16003, 1368.42004, 70.81000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2851, -1976.31995, 1368.58997, 70.81000, 0.00000, 0.00000, -47.76000); + CreateDynamicObject(2858, -1979.91003, 1368.38000, 70.76000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(322, -2002.56995, 1335.73999, 69.99000, -35.28000, 95.70000, 0.00000); + CreateDynamicObject(14455, -1986.79004, 1356.28003, 71.29000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(14455, -1978.01001, 1363.43994, 71.29000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(640, -1986.59998, 1360.65002, 70.30000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1968.62000, 1370.18005, 69.63000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1965.30005, 1370.18005, 69.63000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1961.70996, 1368.23999, 69.63000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1703, -1961.67004, 1364.85999, 69.63000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1703, -1963.93994, 1361.00000, 69.63000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1967.18005, 1360.95996, 69.63000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1970.79004, 1363.08997, 69.63000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1970.87000, 1366.31995, 69.63000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(19172, -1966.08997, 1357.16003, 72.50000, 0.00000, 0.00000, 185.00000); + CreateDynamicObject(19174, -1984.97998, 1334.93994, 72.47000, 0.00000, 0.00000, 210.53999); + CreateDynamicObject(1703, -1987.35999, 1345.89001, 75.09000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1703, -1990.51001, 1347.50000, 75.09000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1991.77002, 1343.83997, 75.09000, 0.00000, 0.00000, 90.30000); + CreateDynamicObject(1703, -1988.56995, 1342.31006, 75.09000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(14455, -1986.79004, 1356.28003, 76.75000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(640, -1986.59998, 1360.65002, 75.79000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(14455, -1978.01001, 1363.43994, 76.75000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(948, -1987.68994, 1348.56995, 75.09000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(948, -1991.62000, 1348.52002, 75.09000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1989.55005, 1345.18005, 75.27000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1986.80005, 1339.72998, 75.09000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1989.35999, 1336.55005, 75.09000, 0.00000, 0.00000, 72.90000); + CreateDynamicObject(1703, -1970.79004, 1363.08997, 75.09000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1970.87000, 1366.31995, 75.09000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1967.18005, 1360.95996, 75.09000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1963.93994, 1361.00000, 75.09000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1961.67004, 1364.85999, 75.09000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1703, -1961.70996, 1368.23999, 75.09000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1703, -1965.30005, 1370.18005, 75.09000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1968.62000, 1370.18005, 75.09000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2815, -1948.20996, 1365.55005, 75.09000, 0.00000, 0.00000, 90.36000); + CreateDynamicObject(2859, -1944.80005, 1366.82996, 75.09000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2859, -1943.04004, 1367.82996, 75.09000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2859, -1941.68994, 1362.58997, 75.09000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2630, -1946.54004, 1359.20996, 75.09000, 0.00000, 0.00000, 244.98000); + CreateDynamicObject(2628, -1941.18994, 1368.20996, 75.09000, 0.00000, 0.00000, -27.36000); + CreateDynamicObject(2631, -1942.59998, 1360.44995, 75.09000, 0.00000, 0.00000, 23.46000); + CreateDynamicObject(2629, -1941.93005, 1360.68005, 75.13000, 0.00000, 0.00000, -66.42000); + CreateDynamicObject(2857, -1963.64001, 1363.52002, 75.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2857, -1967.78003, 1367.97998, 75.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2311, -1985.89001, 1334.82996, 75.09000, 0.00000, 0.00000, 30.90000); + CreateDynamicObject(2229, -1982.53003, 1336.31995, 75.09000, 0.00000, 0.00000, -150.06000); + CreateDynamicObject(2229, -1987.92004, 1333.18994, 75.09000, 0.00000, 0.00000, -150.06000); + CreateDynamicObject(2816, -1986.22998, 1337.23999, 75.79000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2344, -1985.80005, 1337.62000, 75.79000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1786, -1985.07996, 1335.20996, 75.59000, 0.00000, 0.00000, -149.52000); + CreateDynamicObject(2849, -1985.38000, 1335.18994, 75.15000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2841, -2000.06006, 1336.45996, 75.09000, 0.00000, 0.00000, -49.56000); + CreateDynamicObject(2566, -1998.98999, 1334.80005, 75.51000, 0.00000, 0.00000, 129.42000); + CreateDynamicObject(2816, -2000.57996, 1333.43005, 75.59000, 0.00000, 0.00000, 114.84000); + CreateDynamicObject(2819, -2001.18994, 1336.12000, 75.63000, 0.00000, 0.00000, -82.68000); + CreateDynamicObject(2894, -2002.53003, 1335.69995, 75.55000, 0.00000, 0.00000, 83.46000); + CreateDynamicObject(322, -2002.56995, 1335.73999, 75.43000, -35.28000, 95.70000, 0.00000); + CreateDynamicObject(638, -1993.34998, 1350.68994, 75.79000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.29004, 1353.50000, 75.79000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.29004, 1359.17004, 75.79000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.20996, 1362.46997, 75.79000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.29004, 1369.19995, 75.79000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.22998, 1371.93994, 75.79000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(1670, -1989.68005, 1345.38000, 75.79000, 0.00000, 0.00000, 24.72000); + CreateDynamicObject(1670, -1989.28003, 1344.93005, 75.79000, 0.00000, 0.00000, 46.26000); + CreateDynamicObject(2132, -1975.72998, 1368.45996, 75.09000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2147, -1977.71997, 1368.48999, 75.09000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1978.54004, 1368.45996, 75.09000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1979.19995, 1368.45996, 75.09000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1979.85999, 1368.45996, 75.09000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1980.52002, 1368.45996, 75.09000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1981.35999, 1368.41003, 75.09000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1982.35999, 1368.41003, 75.09000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1983.35999, 1368.41003, 75.09000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2851, -1979.16003, 1368.42004, 76.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2858, -1979.91003, 1368.38000, 76.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2851, -1976.09998, 1368.41003, 76.15000, 0.00000, 0.00000, -47.76000); + CreateDynamicObject(2964, -1965.46997, 1365.88000, 75.09000, 0.00000, 0.00000, 3.30000); + CreateDynamicObject(338, -1966.46997, 1365.56995, 76.01000, -32.76000, -91.98000, -209.46001); + CreateDynamicObject(338, -1964.31006, 1365.76001, 76.01000, -32.76000, -91.98000, 30.42000); + CreateDynamicObject(338, -1965.06995, 1366.44995, 76.01000, -32.76000, -91.98000, 0.00000); + CreateDynamicObject(2995, -1964.47998, 1365.98999, 75.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1964.41003, 1365.92004, 75.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.08997, 1366.21997, 76.03000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.00000, 1365.51001, 76.03000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.63000, 1365.59998, 76.03000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.56995, 1365.93994, 76.03000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1964.85999, 1365.72998, 76.03000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.56995, 1365.93994, 81.49000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.04004, 1366.26001, 76.03000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.50000, 1365.95996, 75.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.43994, 1365.80005, 75.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(19172, -1966.08997, 1357.16003, 78.09000, 0.00000, 0.00000, 185.00000); + CreateDynamicObject(19174, -1984.97998, 1334.93994, 78.47000, 0.00000, 0.00000, 210.53999); + CreateDynamicObject(2628, -1941.18994, 1368.20996, 80.55000, 0.00000, 0.00000, -27.36000); + CreateDynamicObject(2859, -1943.04004, 1367.82996, 80.55000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2631, -1942.59998, 1360.44995, 80.55000, 0.00000, 0.00000, 23.46000); + CreateDynamicObject(2859, -1941.68994, 1362.58997, 80.55000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2859, -1944.80005, 1366.82996, 80.55000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2629, -1941.93005, 1360.68005, 80.59000, 0.00000, 0.00000, -66.42000); + CreateDynamicObject(2630, -1946.54004, 1359.20996, 80.55000, 0.00000, 0.00000, 244.98000); + CreateDynamicObject(2815, -1948.20996, 1365.55005, 80.55000, 0.00000, 0.00000, 90.36000); + CreateDynamicObject(1703, -1970.87000, 1366.31995, 80.55000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1965.30005, 1370.18005, 80.55000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1968.62000, 1370.18005, 80.55000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1961.70996, 1368.23999, 80.55000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1703, -1961.67004, 1364.85999, 80.55000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1703, -1963.93994, 1361.00000, 80.55000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1967.18005, 1360.95996, 80.55000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1970.79004, 1363.08997, 80.55000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2857, -1963.64001, 1363.52002, 81.25000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2857, -1967.78003, 1367.97998, 81.25000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(948, -1987.68994, 1348.56995, 80.55000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(948, -1991.62000, 1348.52002, 80.55000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1987.40002, 1345.91003, 80.55000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1703, -1990.51001, 1347.50000, 80.55000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1991.77002, 1343.83997, 80.55000, 0.00000, 0.00000, 90.30000); + CreateDynamicObject(1703, -1988.56995, 1342.31006, 80.55000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1986.80005, 1339.72998, 80.55000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1989.35999, 1336.55005, 80.55000, 0.00000, 0.00000, 72.90000); + CreateDynamicObject(2229, -1982.53003, 1336.31995, 80.55000, 0.00000, 0.00000, -150.06000); + CreateDynamicObject(1433, -1989.55005, 1345.18005, 80.73000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2229, -1987.92004, 1333.18994, 80.55000, 0.00000, 0.00000, -150.06000); + CreateDynamicObject(2816, -1986.22998, 1337.23999, 81.25000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2344, -1985.80005, 1337.62000, 81.25000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2841, -2000.06006, 1336.45996, 80.55000, 0.00000, 0.00000, -49.56000); + CreateDynamicObject(1786, -1985.07996, 1335.20996, 81.05000, 0.00000, 0.00000, -149.52000); + CreateDynamicObject(2311, -1985.89001, 1334.82996, 80.55000, 0.00000, 0.00000, 30.90000); + CreateDynamicObject(2849, -1985.38000, 1335.18994, 80.61000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2566, -1998.98999, 1334.80005, 80.97000, 0.00000, 0.00000, 129.42000); + CreateDynamicObject(2816, -2000.57996, 1333.43005, 81.03000, 0.00000, 0.00000, 114.84000); + CreateDynamicObject(2894, -2002.53003, 1335.69995, 81.03000, 0.00000, 0.00000, 83.46000); + CreateDynamicObject(2819, -2001.17004, 1336.12000, 81.07000, 0.00000, 0.00000, -82.68000); + CreateDynamicObject(322, -2002.56995, 1335.73999, 80.89000, -35.28000, 95.70000, 0.00000); + CreateDynamicObject(638, -1993.34998, 1350.68994, 81.25000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.29004, 1353.50000, 81.25000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.29004, 1359.17004, 81.25000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.20996, 1362.46997, 81.25000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.29004, 1369.19995, 81.25000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.22998, 1371.93994, 81.25000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(1670, -1989.28003, 1344.93005, 81.25000, 0.00000, 0.00000, 46.26000); + CreateDynamicObject(1670, -1989.68005, 1345.38000, 81.25000, 0.00000, 0.00000, 24.72000); + CreateDynamicObject(2964, -1965.46997, 1365.88000, 80.55000, 0.00000, 0.00000, 3.30000); + CreateDynamicObject(338, -1965.06995, 1366.44995, 81.47000, -32.76000, -91.98000, 0.00000); + CreateDynamicObject(338, -1964.31006, 1365.76001, 81.47000, -32.76000, -91.98000, 30.42000); + CreateDynamicObject(338, -1966.46997, 1365.56995, 81.47000, -32.76000, -91.98000, -209.46001); + CreateDynamicObject(2995, -1964.85999, 1365.72998, 81.49000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.63000, 1365.59998, 81.49000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.00000, 1365.51001, 81.49000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.08997, 1366.21997, 81.49000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.04004, 1366.26001, 81.49000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1964.47998, 1365.98999, 81.23000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1964.41003, 1365.92004, 81.23000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.43994, 1365.80005, 81.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.50000, 1365.95996, 81.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2628, -1941.18994, 1368.20996, 86.01000, 0.00000, 0.00000, -27.36000); + CreateDynamicObject(2815, -1948.20996, 1365.55005, 86.01000, 0.00000, 0.00000, 90.36000); + CreateDynamicObject(2859, -1944.80005, 1366.82996, 86.01000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2859, -1943.04004, 1367.82996, 86.01000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2859, -1941.68994, 1362.58997, 86.01000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2631, -1942.59998, 1360.44995, 86.01000, 0.00000, 0.00000, 23.46000); + CreateDynamicObject(2629, -1941.93005, 1360.68005, 86.07000, 0.00000, 0.00000, -66.42000); + CreateDynamicObject(2630, -1946.54004, 1359.20996, 86.01000, 0.00000, 0.00000, 244.98000); + CreateDynamicObject(1703, -1968.62000, 1370.18005, 86.01000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1965.30005, 1370.18005, 86.01000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1961.70996, 1368.23999, 86.01000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1703, -1961.67004, 1364.85999, 86.01000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1703, -1963.93994, 1361.00000, 86.01000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1970.87000, 1366.31995, 86.01000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1970.79004, 1363.08997, 86.01000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1967.18005, 1360.95996, 86.01000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2857, -1963.64001, 1363.52002, 86.71000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2857, -1967.78003, 1367.97998, 86.71000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(14455, -1986.79004, 1356.28003, 82.21000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(14455, -1978.01001, 1363.43994, 82.21000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(640, -1986.59998, 1360.65002, 81.25000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(14455, -1978.01001, 1363.43994, 87.67000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(14455, -1986.79004, 1356.28003, 87.67000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(640, -1986.59998, 1360.65002, 86.71000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1987.40002, 1345.91003, 86.01000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1703, -1990.51001, 1347.50000, 86.01000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1991.77002, 1343.83997, 86.01000, 0.00000, 0.00000, 90.30000); + CreateDynamicObject(1703, -1988.56995, 1342.31006, 86.01000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1433, -1989.55005, 1345.18005, 86.19000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1986.80005, 1339.72998, 86.01000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1989.35999, 1336.55005, 86.01000, 0.00000, 0.00000, 72.90000); + CreateDynamicObject(2816, -1986.22998, 1337.23999, 86.71000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2344, -1985.78003, 1337.60999, 86.71000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2229, -1982.53003, 1336.31995, 86.01000, 0.00000, 0.00000, -150.06000); + CreateDynamicObject(2229, -1987.92004, 1333.18994, 86.01000, 0.00000, 0.00000, -150.06000); + CreateDynamicObject(2311, -1985.89001, 1334.82996, 86.01000, 0.00000, 0.00000, 30.90000); + CreateDynamicObject(1786, -1985.07996, 1335.20996, 86.51000, 0.00000, 0.00000, -149.52000); + CreateDynamicObject(2849, -1985.38000, 1335.18994, 86.01000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1989.28003, 1344.93005, 86.71000, 0.00000, 0.00000, 46.26000); + CreateDynamicObject(1670, -1989.68005, 1345.38000, 86.71000, 0.00000, 0.00000, 24.72000); + CreateDynamicObject(2566, -1998.97998, 1334.78003, 86.41000, 0.00000, 0.00000, 129.42000); + CreateDynamicObject(2816, -2000.57996, 1333.43005, 86.47000, 0.00000, 0.00000, 114.84000); + CreateDynamicObject(2819, -2001.18994, 1336.12000, 86.51000, 0.00000, 0.00000, -82.68000); + CreateDynamicObject(2894, -2002.53003, 1335.69995, 86.47000, 0.00000, 0.00000, 83.46000); + CreateDynamicObject(2841, -2000.06006, 1336.45996, 86.01000, 0.00000, 0.00000, -49.56000); + CreateDynamicObject(322, -2002.56995, 1335.73999, 86.33000, -35.28000, 95.70000, 0.00000); + CreateDynamicObject(638, -1993.34998, 1350.68994, 86.69000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.29004, 1353.50000, 86.69000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.29004, 1359.17004, 86.69000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.20996, 1362.46997, 86.69000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.29004, 1369.19995, 86.69000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.22998, 1371.93994, 86.69000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(2134, -1983.35999, 1368.41003, 80.55000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1982.35999, 1368.41003, 80.55000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1981.35999, 1368.41003, 80.55000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1980.52002, 1368.45996, 80.55000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1979.85999, 1368.45996, 80.55000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1979.19995, 1368.45996, 80.55000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1978.54004, 1368.45996, 80.55000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2147, -1977.71997, 1368.48999, 80.55000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2132, -1975.72998, 1368.45996, 80.55000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2851, -1976.09998, 1368.41003, 81.61000, 0.00000, 0.00000, -47.76000); + CreateDynamicObject(2851, -1979.16003, 1368.42004, 81.67000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2858, -1979.91003, 1368.38000, 81.67000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2964, -1965.46997, 1365.88000, 86.01000, 0.00000, 0.00000, 3.30000); + CreateDynamicObject(338, -1966.46997, 1365.56995, 86.93000, -32.76000, -91.98000, -209.46001); + CreateDynamicObject(338, -1964.31006, 1365.76001, 86.93000, -32.76000, -91.98000, 30.42000); + CreateDynamicObject(338, -1965.06995, 1366.44995, 86.93000, -32.76000, -91.98000, 0.00000); + CreateDynamicObject(2995, -1964.85999, 1365.72998, 86.95000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.04004, 1366.26001, 86.95000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.56995, 1365.93994, 86.95000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.63000, 1365.59998, 86.95000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.00000, 1365.51001, 86.95000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.08997, 1366.21997, 86.95000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1964.41003, 1365.92004, 86.69000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1964.47998, 1365.98999, 86.69000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.42004, 1365.78003, 86.65000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.50000, 1365.95996, 86.65000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(14455, -1986.79004, 1356.28003, 93.13000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(14455, -1978.01001, 1363.43994, 93.13000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(640, -1986.59998, 1360.65002, 92.17000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1970.79004, 1363.08997, 91.47000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1970.87000, 1366.31995, 91.47000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1968.62000, 1370.18005, 91.47000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1965.30005, 1370.18005, 91.47000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1967.19995, 1360.96997, 91.47000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2857, -1967.78003, 1367.97998, 92.13000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1963.93994, 1361.00000, 91.47000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1961.67004, 1364.85999, 91.47000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1703, -1961.70996, 1368.23999, 91.47000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1703, -1965.30005, 1370.18005, 91.47000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2857, -1963.64001, 1363.52002, 92.17000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2964, -1965.46997, 1365.88000, 91.47000, 0.00000, 0.00000, 3.30000); + CreateDynamicObject(2815, -1948.20996, 1365.55005, 91.47000, 0.00000, 0.00000, 90.36000); + CreateDynamicObject(2859, -1944.80005, 1366.82996, 91.47000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2630, -1946.54004, 1359.20996, 91.47000, 0.00000, 0.00000, 244.98000); + CreateDynamicObject(2628, -1941.18994, 1368.20996, 91.47000, 0.00000, 0.00000, -27.36000); + CreateDynamicObject(2859, -1943.04004, 1367.82996, 91.47000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2859, -1941.68994, 1362.58997, 91.47000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2631, -1942.59998, 1360.44995, 91.47000, 0.00000, 0.00000, 23.46000); + CreateDynamicObject(2629, -1941.93005, 1360.68005, 91.47000, 0.00000, 0.00000, -66.42000); + CreateDynamicObject(1703, -1991.77002, 1343.83997, 91.47000, 0.00000, 0.00000, 90.30000); + CreateDynamicObject(1703, -1990.51001, 1347.50000, 91.47000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1987.40002, 1345.91003, 91.47000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1703, -1988.56995, 1342.31006, 91.47000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1433, -1989.55005, 1345.16003, 91.65000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1989.68005, 1345.38000, 92.17000, 0.00000, 0.00000, 24.72000); + CreateDynamicObject(1670, -1989.28003, 1344.93005, 92.17000, 0.00000, 0.00000, 46.26000); + CreateDynamicObject(1703, -1986.80005, 1339.72998, 91.47000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1989.35999, 1336.55005, 91.47000, 0.00000, 0.00000, 72.90000); + CreateDynamicObject(2816, -1986.23999, 1337.26001, 92.17000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2344, -1985.78003, 1337.60999, 92.17000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2229, -1982.53003, 1336.31995, 91.47000, 0.00000, 0.00000, -150.06000); + CreateDynamicObject(2229, -1987.92004, 1333.18994, 91.47000, 0.00000, 0.00000, -150.06000); + CreateDynamicObject(1786, -1985.07996, 1335.20996, 91.97000, 0.00000, 0.00000, -149.52000); + CreateDynamicObject(2311, -1985.89001, 1334.82996, 91.47000, 0.00000, 0.00000, 30.90000); + CreateDynamicObject(2849, -1985.38000, 1335.20996, 91.55000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2841, -2000.06006, 1336.45996, 91.47000, 0.00000, 0.00000, -49.56000); + CreateDynamicObject(2566, -1998.97998, 1334.78003, 91.87000, 0.00000, 0.00000, 129.42000); + CreateDynamicObject(2819, -2001.18994, 1336.12000, 91.95000, 0.00000, 0.00000, -82.68000); + CreateDynamicObject(2894, -2002.53003, 1335.69995, 91.93000, 0.00000, 0.00000, 83.46000); + CreateDynamicObject(2816, -2000.57996, 1333.43005, 91.93000, 0.00000, 0.00000, 114.84000); + CreateDynamicObject(322, -2002.56995, 1335.73999, 91.79000, -35.28000, 95.70000, 0.00000); + CreateDynamicObject(638, -1993.34998, 1350.68994, 92.17000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.29004, 1353.50000, 92.17000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.29004, 1359.17004, 92.17000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.20996, 1362.46997, 92.17000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.29004, 1369.19995, 92.17000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(638, -1993.22998, 1371.93994, 92.17000, 0.00000, 0.00000, 178.56000); + CreateDynamicObject(2134, -1983.35999, 1368.41003, 86.01000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1982.35999, 1368.41003, 86.01000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1981.35999, 1368.41003, 86.01000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1980.52002, 1368.45996, 86.01000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1979.85999, 1368.45996, 86.01000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1979.21997, 1368.46997, 86.01000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1978.54004, 1368.45996, 86.01000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2147, -1977.71997, 1368.48999, 86.01000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2132, -1975.72998, 1368.45996, 86.01000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2858, -1979.91003, 1368.38000, 87.15000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2851, -1979.16003, 1368.42004, 87.13000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2134, -1983.35999, 1368.41003, 91.47000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1982.35999, 1368.41003, 91.47000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1981.35999, 1368.41003, 91.47000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1980.52002, 1368.45996, 91.47000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1979.85999, 1368.45996, 91.47000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1979.21997, 1368.46997, 91.47000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2170, -1978.54004, 1368.45996, 91.47000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2147, -1977.71997, 1368.48999, 91.47000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2132, -1975.72998, 1368.45996, 91.47000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2851, -1976.09998, 1368.41003, 87.07000, 0.00000, 0.00000, -47.76000); + CreateDynamicObject(2851, -1976.09998, 1368.41003, 92.53000, 0.00000, 0.00000, -47.76000); + CreateDynamicObject(2858, -1979.91003, 1368.38000, 92.59000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2851, -1979.16003, 1368.42004, 92.59000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(338, -1964.31006, 1365.76001, 92.39000, -32.76000, -91.98000, 30.42000); + CreateDynamicObject(338, -1966.46997, 1365.56995, 92.39000, -32.76000, -91.98000, -209.46001); + CreateDynamicObject(338, -1965.06995, 1366.44995, 92.39000, -32.76000, -91.98000, 0.00000); + CreateDynamicObject(2995, -1966.08997, 1366.21997, 92.41000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1964.85999, 1365.72998, 92.41000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.63000, 1365.59998, 92.41000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.56995, 1365.93994, 92.41000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.00000, 1365.51001, 92.41000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.04004, 1366.26001, 92.41000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1964.47998, 1365.98999, 92.15000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1964.41003, 1365.92004, 92.15000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.42004, 1365.78003, 92.13000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.50000, 1365.95996, 92.13000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(19172, -1966.08997, 1357.16003, 83.09000, 0.00000, 0.00000, 185.00000); + CreateDynamicObject(19172, -1966.08997, 1357.16003, 89.09000, 0.00000, 0.00000, 185.00000); + CreateDynamicObject(19172, -1966.08997, 1357.16003, 94.09000, 0.00000, 0.00000, 185.00000); + CreateDynamicObject(19174, -1984.97998, 1334.93994, 83.47000, 0.00000, 0.00000, 210.53999); + CreateDynamicObject(19174, -1984.97998, 1334.93994, 89.47000, 0.00000, 0.00000, 210.53999); + CreateDynamicObject(19174, -1984.97998, 1334.93994, 94.47000, 0.00000, 0.00000, 210.53999); + CreateDynamicObject(1433, -1986.15002, 1337.43005, 69.81000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1967.81006, 1367.81006, 69.81000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1963.69995, 1363.40002, 69.81000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1967.80005, 1367.82996, 75.27000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1963.69995, 1363.40002, 75.27000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1986.15002, 1337.43005, 75.27000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1963.69995, 1363.40002, 80.73000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1967.80005, 1367.82996, 80.73000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1986.15002, 1337.43005, 80.73000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1963.69995, 1363.40002, 86.19000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1967.80005, 1367.82996, 86.19000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1986.15002, 1337.43005, 86.19000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1967.80005, 1367.82996, 91.65000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1963.69995, 1363.40002, 91.65000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1986.15002, 1337.43005, 91.65000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1946.51001, 1364.09998, 113.12000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2853, -1944.55005, 1365.05005, 113.63000, 0.00000, 0.00000, -273.35999); + CreateDynamicObject(2854, -1944.35999, 1365.58997, 113.63000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1575, -1944.18994, 1365.25000, 113.21000, 0.00000, 0.00000, 116.70000); + CreateDynamicObject(1670, -1944.47998, 1364.54004, 113.65000, 0.00000, 0.00000, -135.60001); + CreateDynamicObject(3461, -1947.00000, 1368.29004, 114.65000, 0.00000, 0.00000, -7.68000); + CreateDynamicObject(3461, -1947.01001, 1362.44995, 114.65000, 0.00000, 0.00000, -7.68000); + CreateDynamicObject(1703, -1942.63000, 1366.00000, 113.12000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(2700, -1943.22998, 1359.48999, 116.21000, 0.00000, 0.00000, 114.84000); + CreateDynamicObject(2700, -1942.22998, 1369.48999, 116.21000, 0.00000, 0.00000, 242.39999); + CreateDynamicObject(19128, -1967.58997, 1363.70996, 113.12000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(19128, -1967.57996, 1367.67004, 113.12000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(19128, -1963.60999, 1363.69995, 113.12000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(19128, -1963.63000, 1367.68005, 113.12000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1957, -1971.76001, 1365.34998, 114.03000, 0.00000, 0.00000, 94.98000); + CreateDynamicObject(1957, -1971.75000, 1366.20996, 114.03000, 0.00000, 0.00000, -89.46000); + CreateDynamicObject(1840, -1971.70996, 1365.72998, 113.12000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2229, -1971.92004, 1364.76001, 113.12000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2229, -1971.93994, 1367.42004, 113.12000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1714, -1973.47998, 1364.70996, 113.13000, 0.00000, 0.00000, 113.04000); + CreateDynamicObject(1714, -1973.54004, 1367.12000, 113.13000, 0.00000, 0.00000, 50.46000); + CreateDynamicObject(2255, -1974.31995, 1365.82996, 115.33000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2126, -1943.91003, 1364.56995, 113.13000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1575, -1944.37000, 1364.68005, 113.21000, 0.00000, 0.00000, 49.80000); + CreateDynamicObject(1575, -1944.58997, 1365.60999, 113.21000, 0.00000, 0.00000, 22.92000); + CreateDynamicObject(2032, -1971.60999, 1365.30005, 113.13000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2267, -1944.54004, 1370.89001, 115.44000, 0.00000, 0.00000, -27.16000); + CreateDynamicObject(2283, -1966.09998, 1357.14001, 115.79000, 0.00000, 0.00000, 182.82001); + CreateDynamicObject(2393, -1992.68005, 1370.18005, 116.17000, 90.00000, 0.00000, -90.00000); + CreateDynamicObject(1985, -1994.12000, 1370.43994, 115.91000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2341, -1986.65002, 1368.44995, 113.12000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2340, -1986.68005, 1369.44995, 113.13000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2133, -1986.67004, 1370.42004, 113.13000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2133, -1986.67004, 1371.42004, 113.13000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2141, -1986.68994, 1372.42004, 113.13000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2132, -1984.65002, 1368.44995, 113.12000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2133, -1983.65002, 1368.43005, 113.13000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2133, -1982.65002, 1368.43005, 113.13000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2131, -1980.65002, 1368.41003, 113.13000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2133, -1979.65002, 1368.43005, 113.13000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2133, -1978.65002, 1368.43005, 113.13000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2427, -1978.71997, 1368.05005, 114.18000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1484, -1978.17004, 1367.93994, 113.26000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2866, -1982.93005, 1368.30005, 114.18000, 0.00000, 0.00000, 202.38000); + CreateDynamicObject(2867, -1986.64001, 1369.54004, 114.18000, 0.00000, 0.00000, -121.80000); + CreateDynamicObject(2915, -1993.34998, 1368.21997, 113.31000, 0.00000, 0.00000, 89.82000); + CreateDynamicObject(2915, -1993.51001, 1367.29004, 113.31000, 0.00000, 0.00000, 123.96000); + CreateDynamicObject(2632, -1993.65002, 1367.18994, 113.13000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2629, -1993.56995, 1365.96997, 113.18000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(2851, -1985.67004, 1368.34998, 114.06000, 0.00000, 0.00000, -106.32000); + CreateDynamicObject(2851, -1986.39001, 1368.25000, 114.18000, 0.00000, 0.00000, -89.04000); + CreateDynamicObject(640, -2001.81006, 1377.15002, 113.81000, 0.00000, 0.00000, -30.84000); + CreateDynamicObject(2393, -1992.68005, 1360.43005, 116.17000, 90.00000, 0.00000, -90.00000); + CreateDynamicObject(1985, -1994.09998, 1360.69995, 115.91000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2632, -1993.65002, 1357.94995, 113.13000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2628, -1993.48999, 1358.90002, 113.18000, 0.00000, 0.00000, -88.80000); + CreateDynamicObject(2627, -1993.91003, 1362.70996, 113.18000, 0.00000, 0.00000, -86.82000); + CreateDynamicObject(2630, -1993.67004, 1357.29004, 113.18000, 0.00000, 0.00000, -90.48000); + CreateDynamicObject(1703, -2000.94995, 1368.55005, 113.12000, 0.00000, 0.00000, 61.08000); + CreateDynamicObject(1703, -1999.67004, 1364.55005, 113.12000, 0.00000, 0.00000, 126.72000); + CreateDynamicObject(1703, -2000.64001, 1360.10999, 113.12000, 0.00000, 0.00000, 61.08000); + CreateDynamicObject(1703, -1999.85999, 1355.92004, 113.12000, 0.00000, 0.00000, 126.72000); + CreateDynamicObject(2566, -1999.01001, 1334.73999, 113.56000, 0.00000, 0.00000, 128.82001); + CreateDynamicObject(2816, -2002.58997, 1335.77002, 113.61000, 0.00000, 0.00000, -373.07999); + CreateDynamicObject(2855, -2000.71997, 1333.43994, 113.61000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(348, -2000.73999, 1333.25000, 113.78000, -86.04000, -57.30000, 0.00000); + CreateDynamicObject(2818, -2000.10999, 1336.43005, 113.12000, 0.00000, 0.00000, -50.22000); + CreateDynamicObject(1703, -1997.29004, 1348.17004, 113.12000, 0.00000, 0.00000, -52.14000); + CreateDynamicObject(1703, -1999.55005, 1343.81995, 113.12000, 0.00000, 0.00000, -231.24001); + CreateDynamicObject(1703, -1996.15002, 1344.67004, 113.12000, 0.00000, 0.00000, -139.74001); + CreateDynamicObject(1703, -2000.68994, 1347.08997, 113.12000, 0.00000, 0.00000, 38.58000); + CreateDynamicObject(2126, -1998.97998, 1345.94995, 113.13000, 0.00000, 0.00000, -52.86000); + CreateDynamicObject(1670, -1997.91003, 1345.37000, 113.65000, 0.00000, 0.00000, 38.04000); + CreateDynamicObject(1670, -1998.57996, 1346.27002, 113.65000, 0.00000, 0.00000, 222.78000); + CreateDynamicObject(2311, -1982.20996, 1337.05005, 113.12000, 0.00000, 0.00000, -148.25999); + CreateDynamicObject(2311, -1984.28003, 1335.78003, 113.12000, 0.00000, 0.00000, -149.16000); + CreateDynamicObject(2311, -1986.31995, 1334.52002, 113.12000, 0.00000, 0.00000, -149.16000); + CreateDynamicObject(1786, -1982.72998, 1336.55005, 113.63000, 0.00000, 0.00000, -158.94000); + CreateDynamicObject(1786, -1986.91003, 1333.94995, 113.63000, 0.00000, 0.00000, -123.42000); + CreateDynamicObject(1786, -1984.87000, 1335.19995, 113.63000, 0.00000, 0.00000, -150.60001); + CreateDynamicObject(1703, -1984.41003, 1340.65002, 113.12000, 0.00000, 0.00000, 20.40000); + CreateDynamicObject(1703, -1988.56995, 1337.76001, 113.12000, 0.00000, 0.00000, 46.86000); + CreateDynamicObject(1703, -1990.88000, 1333.75000, 113.12000, 0.00000, 0.00000, 78.90000); + CreateDynamicObject(14619, -1988.60999, 1335.07996, 113.50000, 0.00000, 0.00000, 102.12000); + CreateDynamicObject(14467, -1989.56995, 1347.87000, 115.36000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1546, -1978.37000, 1368.41003, 114.32000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1546, -1978.82996, 1368.44995, 114.32000, 0.00000, 0.00000, 114.42000); + CreateDynamicObject(2275, -1988.01001, 1374.37000, 115.51000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2273, -1989.59998, 1374.37000, 115.83000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2275, -1991.31006, 1374.37000, 115.51000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(640, -1985.67004, 1379.81006, 113.81000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(640, -1991.15002, 1379.81006, 113.81000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(640, -1996.63000, 1379.81006, 113.81000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(3461, -1992.05005, 1348.39001, 114.69000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(3461, -1988.06006, 1348.39001, 114.69000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1982.68005, 1339.27002, 113.30000, 0.00000, 0.00000, 16.56000); + CreateDynamicObject(1433, -1986.67004, 1337.48999, 113.30000, 0.00000, 0.00000, 47.88000); + CreateDynamicObject(1433, -1989.06006, 1334.81995, 113.30000, 0.00000, 0.00000, 79.62000); + CreateDynamicObject(3461, -1983.68005, 1343.43005, 115.32000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(3461, -1989.14001, 1339.48999, 115.32000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(3461, -1992.70996, 1333.98999, 115.32000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2190, -1984.03003, 1363.27002, 113.91000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2162, -1987.00000, 1354.70996, 113.12000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2162, -1987.01001, 1356.51001, 113.12000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2163, -1987.00000, 1358.30005, 113.12000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2165, -1986.47998, 1360.13000, 113.12000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2166, -1986.43005, 1362.08997, 113.12000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2171, -1982.55005, 1363.08997, 113.12000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2169, -1984.46997, 1363.05005, 113.12000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1715, -1983.66003, 1362.14001, 113.13000, 0.00000, 0.00000, 222.78000); + CreateDynamicObject(1715, -1985.63000, 1362.43994, 113.13000, 0.00000, 0.00000, -2.40000); + CreateDynamicObject(1715, -1985.52002, 1360.80005, 113.13000, 0.00000, 0.00000, -75.42000); + CreateDynamicObject(2853, -1986.56995, 1361.57996, 113.91000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2853, -1982.20996, 1363.22998, 113.91000, 0.00000, 0.00000, 211.62000); + CreateDynamicObject(2854, -1985.72998, 1363.13000, 113.91000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2894, -1983.48999, 1363.19995, 113.91000, 0.00000, 0.00000, -19.38000); + CreateDynamicObject(2600, -1998.18994, 1333.08997, 113.89000, 0.00000, 0.00000, 21.36000); + CreateDynamicObject(2611, -1984.27002, 1363.56995, 115.45000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(921, -1985.58997, 1363.50000, 115.98000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2051, -1992.78003, 1351.73999, 115.49000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(2051, -1992.77002, 1353.72998, 115.49000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(1433, -1998.40002, 1353.84998, 113.31000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1998.43005, 1351.40002, 113.31000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(348, -1998.26001, 1354.19995, 113.86000, 90.00000, 8.34000, -71.70000); + CreateDynamicObject(348, -1998.58997, 1353.60999, 113.86000, 90.00000, 8.34000, 3.18000); + CreateDynamicObject(348, -1998.63000, 1351.53003, 113.86000, 90.00000, 8.34000, -73.86000); + CreateDynamicObject(348, -1998.08997, 1351.67004, 113.86000, 90.00000, 8.34000, -142.67999); + CreateDynamicObject(1670, -1986.60999, 1337.40002, 113.83000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1988.88000, 1334.95996, 113.83000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1982.71997, 1339.25000, 113.83000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2344, -1982.97998, 1339.43005, 113.81000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2344, -1986.51001, 1337.80005, 113.81000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2344, -1989.34998, 1335.13000, 113.81000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2232, -1971.91003, 1363.53003, 113.68000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2232, -1971.72998, 1367.84998, 113.68000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(3525, -1997.71997, 1357.50000, 111.20000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(640, -2001.65002, 1377.50000, 102.91000, 0.00000, 0.00000, -28.26000); + CreateDynamicObject(2286, -2002.06006, 1377.77002, 105.33000, 0.00000, 0.00000, 60.78000); + CreateDynamicObject(2566, -1999.03003, 1334.75000, 97.32000, 0.00000, 0.00000, 128.34000); + CreateDynamicObject(2853, -2000.78003, 1333.42004, 97.37000, 0.00000, 0.00000, 27.36000); + CreateDynamicObject(2854, -2002.63000, 1335.77002, 97.38000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2255, -2001.55005, 1334.70996, 98.86000, 0.00000, 0.00000, 129.06000); + CreateDynamicObject(3525, -2000.83997, 1333.40002, 99.24000, 0.00000, 0.00000, 129.06000); + CreateDynamicObject(3525, -2002.73999, 1335.60999, 99.24000, 0.00000, 0.00000, 129.06000); + CreateDynamicObject(3525, -1984.76001, 1341.98999, 99.92000, 0.00000, 0.00000, 270.00000); + CreateDynamicObject(2964, -1966.18994, 1364.68994, 96.75000, 0.00000, 0.00000, 140.28000); + CreateDynamicObject(338, -1966.04004, 1365.51001, 97.69000, 74.00000, -78.30000, 0.00000); + CreateDynamicObject(338, -1965.68994, 1363.96997, 97.69000, 74.00000, -78.30000, -24.18000); + CreateDynamicObject(2995, -1966.80005, 1364.97998, 97.69000, 0.00000, 0.00000, -38.04000); + CreateDynamicObject(2995, -1965.95996, 1365.01001, 97.69000, 61.00000, 0.00000, 4.02000); + CreateDynamicObject(2995, -1966.79004, 1364.64001, 97.69000, 456.00000, 0.00000, -48.66000); + CreateDynamicObject(2995, -1966.58997, 1365.38000, 97.69000, 455.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.98999, 1364.08997, 97.69000, 51.00000, 0.00000, -61.20000); + CreateDynamicObject(2995, -1965.29004, 1364.48999, 97.69000, 21.00000, 21.00000, 0.00000); + CreateDynamicObject(2995, -1965.60999, 1364.07996, 97.69000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1965.41003, 1364.08997, 97.39000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2995, -1966.94995, 1365.27002, 97.69000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2244, -1986.67004, 1373.40002, 97.69000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(640, -1977.65002, 1368.34998, 97.44000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2298, -1986.06995, 1338.79004, 15.12000, 0.00000, 0.00000, 210.89999); + CreateDynamicObject(2393, -1982.78003, 1378.14001, 105.03000, 0.00000, 90.00000, 180.00000); + CreateDynamicObject(1985, -1984.14001, 1378.39001, 105.26000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2628, -1989.46997, 1374.60999, 102.25000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2629, -1990.96997, 1374.65002, 102.26000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2298, -1985.82996, 1338.85999, 31.49000, 0.00000, 0.00000, -149.22000); + CreateDynamicObject(2841, -1987.06006, 1337.18994, 31.49000, 0.00000, 0.00000, 27.30000); + CreateDynamicObject(2854, -1984.05005, 1335.71997, 32.01000, 0.00000, 0.00000, -152.39999); + CreateDynamicObject(19173, -1985.02002, 1334.90002, 33.49000, 0.00000, 0.00000, 30.24000); + CreateDynamicObject(640, -1989.71997, 1374.45996, 32.19000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(640, -2001.73999, 1377.43994, 32.19000, 0.00000, 0.00000, 150.00000); + CreateDynamicObject(640, -1989.73999, 1348.68005, 32.19000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1999.12000, 1339.38000, 31.49000, 0.00000, 0.00000, -28.14000); + CreateDynamicObject(1703, -1996.12000, 1336.56006, 31.49000, 0.00000, 0.00000, -89.94000); + CreateDynamicObject(1433, -1998.10999, 1336.71997, 31.67000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2313, -2000.96997, 1334.05005, 31.49000, 0.00000, 0.00000, 129.12000); + CreateDynamicObject(948, -2000.35999, 1333.39001, 31.49000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(948, -2002.43994, 1335.71997, 31.49000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1791, -2001.67004, 1334.40002, 31.99000, 0.00000, 0.00000, 130.14000); + CreateDynamicObject(1703, -1995.45996, 1351.56006, 31.49000, 0.00000, 0.00000, 226.08000); + CreateDynamicObject(1703, -2000.31995, 1353.22998, 31.49000, 0.00000, 0.00000, 46.14000); + CreateDynamicObject(1594, -2000.85999, 1363.46997, 32.19000, 0.00000, 0.00000, 38.22000); + CreateDynamicObject(1594, -1996.87000, 1367.43994, 32.19000, 0.00000, 0.00000, -30.00000); + CreateDynamicObject(1594, -2000.27002, 1371.23999, 32.19000, 0.00000, 0.00000, 21.78000); + CreateDynamicObject(2823, -2000.93005, 1363.38000, 32.59000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2823, -1997.03003, 1367.15002, 32.59000, 0.00000, 0.00000, 116.04000); + CreateDynamicObject(2823, -1996.91003, 1367.50000, 32.59000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2823, -2000.43994, 1371.00000, 32.59000, 0.00000, 0.00000, 126.24000); + CreateDynamicObject(2823, -2000.17004, 1371.33997, 32.59000, 0.00000, 0.00000, -5.04000); + CreateDynamicObject(1703, -1963.43994, 1366.64001, 36.95000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1703, -1967.22998, 1368.43994, 36.95000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1965.34998, 1362.87000, 36.95000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1969.25000, 1364.59998, 36.95000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1433, -1966.55005, 1365.76001, 37.13000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1966.77002, 1365.77002, 37.67000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1980.56995, 1362.45996, 36.95000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1978.67004, 1358.44995, 36.95000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1982.79004, 1354.39001, 36.95000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1985.12000, 1350.71997, 36.95000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1742, -1986.97998, 1354.63000, 36.95000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1742, -1986.97998, 1357.48999, 36.95000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1742, -1986.97998, 1356.06995, 36.95000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2841, -1987.06006, 1337.18994, 36.95000, 0.00000, 0.00000, 27.30000); + CreateDynamicObject(2298, -1985.82996, 1338.85999, 36.95000, 0.00000, 0.00000, -149.22000); + CreateDynamicObject(19173, -1985.02002, 1334.90002, 38.95000, 0.00000, 0.00000, 30.24000); + CreateDynamicObject(2854, -1984.05005, 1335.71997, 37.48000, 0.00000, 0.00000, -152.39999); + CreateDynamicObject(1703, -1996.12000, 1336.56006, 36.95000, 0.00000, 0.00000, -89.94000); + CreateDynamicObject(1703, -1999.12000, 1339.38000, 36.95000, 0.00000, 0.00000, -28.14000); + CreateDynamicObject(1433, -1998.10999, 1336.71997, 37.17000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(948, -2000.35999, 1333.39001, 36.95000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1791, -2001.67004, 1334.40002, 37.45000, 0.00000, 0.00000, 130.14000); + CreateDynamicObject(2313, -2000.96997, 1334.05005, 36.95000, 0.00000, 0.00000, 129.12000); + CreateDynamicObject(948, -2002.43994, 1335.71997, 36.95000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(640, -2001.73999, 1377.43994, 37.65000, 0.00000, 0.00000, 150.00000); + CreateDynamicObject(1594, -2000.27002, 1371.23999, 37.65000, 0.00000, 0.00000, 21.78000); + CreateDynamicObject(1594, -1996.87000, 1367.43994, 37.65000, 0.00000, 0.00000, -30.00000); + CreateDynamicObject(1594, -2000.85999, 1363.46997, 37.65000, 0.00000, 0.00000, 38.22000); + CreateDynamicObject(640, -1989.73999, 1348.68005, 37.65000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(640, -1989.71997, 1374.45996, 37.65000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2823, -1996.91003, 1367.50000, 38.05000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2823, -1997.03003, 1367.15002, 38.05000, 0.00000, 0.00000, 116.04000); + CreateDynamicObject(2823, -2000.17004, 1371.33997, 38.05000, 0.00000, 0.00000, -5.04000); + CreateDynamicObject(2823, -2000.43994, 1371.00000, 38.05000, 0.00000, 0.00000, 126.24000); + CreateDynamicObject(2823, -2000.93005, 1363.38000, 38.05000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2632, -1945.13000, 1359.30005, 36.95000, 0.00000, 0.00000, 22.50000); + CreateDynamicObject(2630, -1944.96997, 1359.29004, 36.95000, 0.00000, 0.00000, -69.72000); + CreateDynamicObject(2628, -1942.32996, 1360.38000, 36.95000, 0.00000, 0.00000, 200.94000); + CreateDynamicObject(2823, -1941.59998, 1361.70996, 36.97000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2629, -1944.43994, 1369.47998, 36.95000, 0.00000, 0.00000, -24.18000); + CreateDynamicObject(2823, -1943.38000, 1368.56006, 36.97000, 0.00000, 0.00000, 94.74000); + CreateDynamicObject(1703, -1991.07996, 1345.78003, 58.77000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1996.70996, 1339.26001, 58.77000, 0.00000, 0.00000, -58.92000); + CreateDynamicObject(1703, -1998.55005, 1335.38000, 58.77000, 0.00000, 0.00000, -232.38000); + CreateDynamicObject(1703, -1987.64001, 1344.44995, 58.77000, 0.00000, 0.00000, -90.86000); + CreateDynamicObject(1703, -1992.56006, 1342.47998, 58.77000, 0.00000, 0.00000, 90.54000); + CreateDynamicObject(1824, -1989.98999, 1343.06006, 59.29000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1896, -1981.50000, 1356.12000, 59.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1724, -1981.04004, 1353.08997, 58.77000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1724, -1979.33997, 1354.33997, 58.77000, 0.00000, 0.00000, -137.64000); + CreateDynamicObject(1724, -1982.97998, 1353.77002, 64.23000, 0.00000, 0.00000, 137.64000); + CreateDynamicObject(1724, -1981.04004, 1353.08997, 64.23000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1724, -1979.33997, 1354.33997, 64.23000, 0.00000, 0.00000, -137.64000); + CreateDynamicObject(1896, -1981.50000, 1356.12000, 65.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1824, -1989.98999, 1343.06006, 64.75000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1991.07996, 1345.78003, 64.23000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1987.64001, 1344.44995, 64.23000, 0.00000, 0.00000, -90.86000); + CreateDynamicObject(1703, -1992.56006, 1342.47998, 64.23000, 0.00000, 0.00000, 90.54000); + CreateDynamicObject(1703, -1996.70996, 1339.26001, 64.23000, 0.00000, 0.00000, -58.92000); + CreateDynamicObject(1703, -1998.55005, 1335.38000, 64.23000, 0.00000, 0.00000, -232.38000); + CreateDynamicObject(1724, -1982.97998, 1353.77002, 53.32000, 0.00000, 0.00000, 137.64000); + CreateDynamicObject(1724, -1981.04004, 1353.08997, 53.32000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1724, -1979.33997, 1354.33997, 53.32000, 0.00000, 0.00000, -137.64000); + CreateDynamicObject(1896, -1981.50000, 1356.12000, 54.30000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1987.64001, 1344.44995, 53.32000, 0.00000, 0.00000, -90.86000); + CreateDynamicObject(1703, -1991.07996, 1345.78003, 53.32000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1992.56006, 1342.47998, 53.32000, 0.00000, 0.00000, 90.54000); + CreateDynamicObject(1824, -1989.98999, 1343.06006, 53.82000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1998.55005, 1335.38000, 53.32000, 0.00000, 0.00000, -232.38000); + CreateDynamicObject(1703, -1996.70996, 1339.26001, 53.32000, 0.00000, 0.00000, -58.92000); + CreateDynamicObject(1724, -1986.43005, 1350.59998, 58.77000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1724, -1979.33997, 1354.33997, 47.85000, 0.00000, 0.00000, -137.64000); + CreateDynamicObject(1724, -1981.04004, 1353.08997, 47.85000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1724, -1982.97998, 1353.77002, 47.85000, 0.00000, 0.00000, 137.64000); + CreateDynamicObject(1703, -1987.64001, 1344.44995, 47.85000, 0.00000, 0.00000, -90.86000); + CreateDynamicObject(1703, -1991.07996, 1345.78003, 47.85000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1992.56006, 1342.47998, 47.85000, 0.00000, 0.00000, 90.54000); + CreateDynamicObject(1824, -1989.98999, 1343.06006, 48.36000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1996.70996, 1339.26001, 47.85000, 0.00000, 0.00000, -58.92000); + CreateDynamicObject(1703, -1998.55005, 1335.38000, 47.85000, 0.00000, 0.00000, -232.38000); + CreateDynamicObject(1724, -1979.33997, 1354.33997, 42.39000, 0.00000, 0.00000, -137.64000); + CreateDynamicObject(1724, -1981.04004, 1353.08997, 42.39000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1724, -1982.97998, 1353.77002, 42.39000, 0.00000, 0.00000, 137.64000); + CreateDynamicObject(1896, -1981.50000, 1356.12000, 43.38000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1896, -1981.50000, 1356.12000, 48.82000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1987.64001, 1344.44995, 42.39000, 0.00000, 0.00000, -90.86000); + CreateDynamicObject(1703, -1991.07996, 1345.78003, 42.39000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1992.56006, 1342.47998, 42.39000, 0.00000, 0.00000, 90.54000); + CreateDynamicObject(1703, -1996.70996, 1339.26001, 42.39000, 0.00000, 0.00000, -58.92000); + CreateDynamicObject(1703, -1998.55005, 1335.38000, 42.39000, 0.00000, 0.00000, -232.38000); + CreateDynamicObject(1824, -1989.98999, 1343.06006, 42.91000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2131, -1975.62000, 1368.43994, 36.95000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2132, -1977.66003, 1368.47998, 36.95000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1980.65002, 1368.46997, 36.95000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1979.65002, 1368.46997, 36.95000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2822, -1979.56995, 1368.39001, 38.01000, 0.00000, 0.00000, -119.10000); + CreateDynamicObject(2851, -1978.67004, 1368.27002, 37.87000, 0.00000, 0.00000, 55.92000); + CreateDynamicObject(2631, -1950.28003, 1365.41003, 53.36000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2631, -1950.28003, 1365.41003, 47.90000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2631, -1950.28003, 1365.41003, 42.44000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2631, -1950.28003, 1365.41003, 58.83000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2631, -1950.28003, 1365.41003, 64.27000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2308, -1986.43005, 1362.15002, 107.66000, 0.00000, 0.00000, 360.00000); + CreateDynamicObject(2200, -1986.67004, 1359.93994, 107.67000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2205, -1986.34998, 1358.95996, 107.67000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(2190, -1986.32996, 1359.27002, 108.60000, 0.00000, 0.00000, 46.80000); + CreateDynamicObject(2238, -1986.68005, 1357.35999, 109.02000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2008, -1984.44995, 1363.10999, 107.66000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2162, -1982.44995, 1363.59998, 107.66000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1714, -1985.13000, 1358.57996, 107.67000, 0.00000, 0.00000, -54.96000); + CreateDynamicObject(1714, -1984.23999, 1362.01001, 107.67000, 0.00000, 0.00000, 125.76000); + CreateDynamicObject(2894, -1986.53003, 1362.82996, 108.45000, 0.00000, 0.00000, 47.40000); + CreateDynamicObject(2894, -1986.31006, 1357.96997, 108.61000, 0.00000, 0.00000, 115.20000); + CreateDynamicObject(2255, -1986.40002, 1358.06995, 110.14000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(18885, -1974.33997, 1365.93994, 108.75000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(3525, -1974.58997, 1364.53003, 110.54000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(3525, -1974.58997, 1367.25000, 110.54000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(358, -2000.20996, 1332.81006, 107.96000, -14.28000, -98.56000, 347.51999); + CreateDynamicObject(2566, -1998.89001, 1334.64001, 108.05000, 0.00000, 0.00000, 129.84000); + CreateDynamicObject(1744, -2001.57996, 1333.71997, 109.48000, 0.00000, 0.00000, 129.84000); + CreateDynamicObject(356, -2001.59998, 1334.22998, 109.88000, -103.06000, -7.68000, -75.48000); + CreateDynamicObject(348, -2000.28003, 1333.38000, 108.10000, 90.00000, 0.00000, -106.68000); + CreateDynamicObject(3052, -2002.93005, 1336.31995, 107.78000, 0.00000, 0.00000, -4.32000); + CreateDynamicObject(2043, -2002.29004, 1336.04004, 107.77000, 0.00000, 0.00000, 73.86000); + CreateDynamicObject(351, -2002.62000, 1336.18005, 107.96000, -101.32000, -13.28000, 126.96000); + CreateDynamicObject(1704, -2001.30005, 1342.06006, 107.67000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1704, -2002.65002, 1339.78003, 107.67000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1704, -2000.32996, 1338.58997, 107.67000, 0.00000, 0.00000, -180.00000); + CreateDynamicObject(1433, -2000.76001, 1340.29004, 107.87000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(348, -2001.10999, 1340.10999, 108.39000, 90.00000, 0.00000, 55.86000); + CreateDynamicObject(348, -2000.66003, 1339.83997, 108.39000, 90.00000, 0.00000, 56.10000); + CreateDynamicObject(348, -2000.79004, 1340.72998, 108.39000, 90.00000, 0.00000, -27.66000); + CreateDynamicObject(2254, -2001.73999, 1334.25000, 111.25000, 0.00000, 0.00000, 129.96001); + CreateDynamicObject(2208, -1997.85999, 1365.23999, 107.66000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2208, -1997.85999, 1358.88000, 107.66000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1722, -1997.97998, 1363.71997, 107.67000, 0.00000, 0.00000, -9.90000); + CreateDynamicObject(1722, -1996.45996, 1365.90002, 107.67000, 0.00000, 0.00000, 124.80000); + CreateDynamicObject(1722, -1996.73999, 1367.08997, 107.67000, 0.00000, 0.00000, 70.08000); + CreateDynamicObject(1722, -1999.42004, 1365.79004, 107.67000, 0.00000, 0.00000, 281.34000); + CreateDynamicObject(1722, -1999.31006, 1367.43994, 107.67000, 0.00000, 0.00000, 247.44000); + CreateDynamicObject(1722, -1997.81995, 1369.06006, 107.67000, 0.00000, 0.00000, -209.58000); + CreateDynamicObject(2212, -1997.87000, 1365.52002, 108.58000, -25.50000, 23.52000, 27.24000); + CreateDynamicObject(2212, -1997.81995, 1366.56006, 108.58000, -25.50000, 23.52000, -173.82001); + CreateDynamicObject(2212, -1998.13000, 1367.59998, 108.58000, -25.50000, 23.52000, -89.94000); + CreateDynamicObject(2894, -1997.93994, 1365.12000, 108.53000, 0.00000, 0.00000, -25.74000); + CreateDynamicObject(2894, -1997.64001, 1366.96997, 108.53000, 0.00000, 0.00000, 131.10001); + CreateDynamicObject(3525, -1992.81995, 1367.70996, 110.27000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(3525, -1992.81995, 1363.79004, 110.27000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(3525, -1992.81995, 1358.32996, 110.27000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(3525, -1992.81995, 1353.97998, 110.27000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1704, -1999.30005, 1361.33997, 107.67000, 0.00000, 0.00000, 60.66000); + CreateDynamicObject(1704, -1995.89001, 1360.73999, 107.67000, 0.00000, 0.00000, 283.79999); + CreateDynamicObject(1704, -1998.76001, 1357.90002, 107.67000, 0.00000, 0.00000, 492.60001); + CreateDynamicObject(348, -1997.90002, 1361.50000, 108.53000, 90.00000, 0.00000, -125.46000); + CreateDynamicObject(348, -1997.63000, 1359.04004, 108.53000, 90.00000, 0.00000, 121.44000); + CreateDynamicObject(1703, -1999.95996, 1353.30005, 107.66000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1997.91003, 1349.26001, 107.66000, 0.00000, 0.00000, 178.62000); + CreateDynamicObject(1703, -2001.69995, 1350.32996, 107.66000, 0.00000, 0.00000, 88.86000); + CreateDynamicObject(1670, -1998.03003, 1358.76001, 108.54000, 0.00000, 0.00000, 139.98000); + CreateDynamicObject(1670, -1998.03003, 1361.22998, 108.54000, 0.00000, 0.00000, -39.78000); + CreateDynamicObject(1549, -1999.68005, 1358.93005, 107.67000, 0.00000, 0.00000, 192.36000); + CreateDynamicObject(1549, -1999.67004, 1361.00000, 107.67000, 0.00000, 0.00000, 239.52000); + CreateDynamicObject(2894, -1997.77002, 1360.52002, 108.53000, 0.00000, 0.00000, 63.96000); + CreateDynamicObject(2894, -1997.88000, 1359.77002, 108.53000, 0.00000, 0.00000, 133.67999); + CreateDynamicObject(2229, -1982.59998, 1336.44995, 107.66000, 0.00000, 0.00000, 218.64000); + CreateDynamicObject(2229, -1982.95996, 1336.15002, 107.66000, 0.00000, 0.00000, 218.64000); + CreateDynamicObject(2311, -1984.79004, 1335.27002, 107.66000, 0.00000, 0.00000, 31.02000); + CreateDynamicObject(2311, -1986.83997, 1334.06006, 107.66000, 0.00000, 0.00000, 31.02000); + CreateDynamicObject(2232, -1983.76001, 1335.93994, 108.75000, 0.00000, 0.00000, 247.50000); + CreateDynamicObject(2232, -1986.47998, 1334.29004, 108.75000, 0.00000, 0.00000, 165.12000); + CreateDynamicObject(2188, -1966.55005, 1371.40002, 108.63000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1963.01001, 1370.96997, 107.66000, 0.00000, 0.00000, 229.86000); + CreateDynamicObject(1703, -1965.68994, 1368.43005, 107.66000, 0.00000, 0.00000, 178.67999); + CreateDynamicObject(1703, -1968.87000, 1369.43005, 107.66000, 0.00000, 0.00000, 120.78000); + CreateDynamicObject(1722, -1966.01001, 1372.90002, 107.67000, 0.00000, 0.00000, -200.64000); + CreateDynamicObject(1824, -1966.83997, 1363.34998, 108.19000, 0.00000, 0.00000, 0.06000); + CreateDynamicObject(1703, -1967.87000, 1365.66003, 107.67000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1970.32996, 1362.41003, 107.67000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1963.48999, 1364.40002, 107.67000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1703, -1965.70996, 1360.89001, 107.67000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2393, -1982.78003, 1378.14001, 110.41000, 0.00000, 90.00000, 180.00000); + CreateDynamicObject(1985, -1984.14001, 1378.39001, 110.62000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2631, -1989.64001, 1374.84998, 107.66000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(640, -2001.65002, 1377.50000, 108.36000, 0.00000, 0.00000, -28.26000); + CreateDynamicObject(2628, -1989.46997, 1374.60999, 107.70000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2629, -1990.96997, 1374.65002, 107.69000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2255, -1990.02002, 1374.33997, 110.42000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2258, -2001.94995, 1377.90002, 111.09000, 0.00000, 0.00000, 60.00000); + CreateDynamicObject(2131, -1981.52002, 1368.46997, 107.67000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2132, -1978.54004, 1368.47998, 107.67000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1983.56995, 1368.42004, 107.67000, 0.00000, 0.00000, 180.58000); + CreateDynamicObject(2131, -1985.64001, 1368.56995, 107.67000, 0.00000, 0.00000, 493.98001); + CreateDynamicObject(2134, -1980.54004, 1368.47998, 107.67000, 0.00000, 0.00000, 180.58000); + CreateDynamicObject(2256, -1976.31995, 1368.00000, 110.64000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1302, -1980.96997, 1374.00000, 107.67000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1302, -1975.62000, 1373.97998, 107.67000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2862, -1978.55005, 1368.40002, 108.72000, 0.00000, 0.00000, 166.98000); + CreateDynamicObject(2862, -1980.50000, 1368.43005, 108.72000, 0.00000, 0.00000, 166.98000); + CreateDynamicObject(1776, -1978.21997, 1373.85999, 108.76000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1714, -1941.39001, 1365.18994, 107.67000, 0.00000, 0.00000, -61.62000); + CreateDynamicObject(2208, -1942.69995, 1363.31006, 107.67000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2816, -1942.81006, 1365.67004, 108.53000, 0.00000, 0.00000, -117.72000); + CreateDynamicObject(2855, -1942.66003, 1363.31006, 108.53000, 0.00000, 0.00000, 127.02000); + CreateDynamicObject(2894, -1942.56995, 1365.01001, 108.53000, 0.00000, 0.00000, 77.04000); + CreateDynamicObject(2894, -1942.87000, 1364.18994, 108.53000, 0.00000, 0.00000, 304.26001); + CreateDynamicObject(2202, -1943.34998, 1369.80005, 107.67000, 0.00000, 0.00000, -26.64000); + CreateDynamicObject(2202, -1943.07996, 1359.80005, 107.67000, 0.00000, 0.00000, 202.08000); + CreateDynamicObject(1704, -1944.54004, 1365.18005, 107.67000, 0.00000, 0.00000, 52.92000); + CreateDynamicObject(1704, -1944.18005, 1363.28003, 107.67000, 0.00000, 0.00000, 115.38000); + CreateDynamicObject(3525, -1947.03003, 1362.20996, 110.61000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(3525, -1947.03003, 1368.63000, 110.61000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1948.56995, 1362.87000, 107.67000, 0.00000, 0.00000, 109.56000); + CreateDynamicObject(1703, -1949.31995, 1366.37000, 107.67000, 0.00000, 0.00000, 63.66000); + CreateDynamicObject(1433, -1946.93994, 1364.93994, 107.85000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2855, -1946.70996, 1364.68005, 108.36000, 0.00000, 0.00000, 126.36000); + CreateDynamicObject(2853, -1947.04004, 1365.16003, 108.36000, 0.00000, 0.00000, 39.30000); + CreateDynamicObject(2229, -1987.64001, 1333.55005, 107.66000, 0.00000, 0.00000, 218.64000); + CreateDynamicObject(2229, -1988.03003, 1333.32996, 107.66000, 0.00000, 0.00000, 218.64000); + CreateDynamicObject(2104, -1984.83997, 1335.15002, 108.16000, 0.00000, 0.00000, 215.34000); + CreateDynamicObject(2101, -1985.62000, 1334.97998, 108.17000, 0.00000, 0.00000, 207.36000); + CreateDynamicObject(1703, -1985.82996, 1340.32996, 107.67000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1990.50000, 1335.48999, 107.67000, 0.00000, 0.00000, 68.64000); + CreateDynamicObject(1703, -1989.00000, 1338.77002, 107.67000, 0.00000, 0.00000, 36.54000); + CreateDynamicObject(1703, -1990.81995, 1347.20996, 107.67000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1992.50000, 1344.09998, 107.67000, 0.00000, 0.00000, 88.68000); + CreateDynamicObject(1703, -1988.78003, 1342.69995, 107.67000, 0.00000, 0.00000, 176.39999); + CreateDynamicObject(1433, -1989.92004, 1345.09998, 107.84000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1990.01001, 1345.09998, 108.37000, 0.00000, 0.00000, 93.30000); + CreateDynamicObject(640, -1989.75000, 1348.54004, 108.36000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(640, -1994.67004, 1332.88000, 108.36000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1704, -1982.67004, 1354.82996, 107.66000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1704, -1983.16003, 1351.71997, 107.66000, 0.00000, 0.00000, 146.52000); + CreateDynamicObject(1704, -1980.90002, 1352.38000, 107.66000, 0.00000, 0.00000, 225.89999); + CreateDynamicObject(1433, -1982.22998, 1353.13000, 107.84000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1982.15002, 1353.13000, 108.37000, 0.00000, 0.00000, 59.76000); + CreateDynamicObject(1704, -1978.03003, 1360.98999, 107.66000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1977.39001, 1358.73999, 107.84000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1704, -1978.21997, 1356.71997, 107.66000, 0.00000, 0.00000, 146.52000); + CreateDynamicObject(1704, -1975.34998, 1357.73999, 107.66000, 0.00000, 0.00000, 225.89999); + CreateDynamicObject(1670, -1977.34998, 1358.69995, 108.37000, 0.00000, 0.00000, 136.25999); + CreateDynamicObject(1704, -1982.71997, 1351.40002, 113.12000, 0.00000, 0.00000, 151.56000); + CreateDynamicObject(1704, -1980.47998, 1353.00000, 113.12000, 0.00000, 0.00000, 251.46001); + CreateDynamicObject(1704, -1983.25000, 1354.62000, 113.12000, 0.00000, 0.00000, 14.58000); + CreateDynamicObject(1433, -1982.22998, 1353.13000, 113.30000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1982.15002, 1353.13000, 113.82000, 0.00000, 0.00000, 59.76000); + CreateDynamicObject(1704, -1978.41003, 1357.40002, 113.12000, 0.00000, 0.00000, 117.60000); + CreateDynamicObject(1704, -1975.65002, 1358.17004, 113.12000, 0.00000, 0.00000, 242.88000); + CreateDynamicObject(1433, -1977.39001, 1358.73999, 113.30000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1704, -1977.52002, 1360.67004, 113.12000, 0.00000, 0.00000, -19.62000); + CreateDynamicObject(1670, -1977.34998, 1358.69995, 113.78000, 0.00000, 0.00000, 136.25999); + CreateDynamicObject(2611, -1986.84998, 1362.54004, 109.69000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1704, -1975.43994, 1358.98999, 96.75000, 0.00000, 0.00000, 261.00000); + CreateDynamicObject(1704, -1978.58997, 1357.59998, 96.75000, 0.00000, 0.00000, 124.98000); + CreateDynamicObject(1704, -1976.82996, 1360.51001, 96.75000, 0.00000, 0.00000, -24.30000); + CreateDynamicObject(1433, -1977.39001, 1358.73999, 96.93000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1977.35999, 1358.73999, 97.45000, 0.00000, 0.00000, 237.12000); + CreateDynamicObject(1704, -1981.82996, 1354.65002, 96.75000, 0.00000, 0.00000, -25.14000); + CreateDynamicObject(1704, -1983.87000, 1353.13000, 96.75000, 0.00000, 0.00000, 73.80000); + CreateDynamicObject(1704, -1981.27002, 1351.84998, 96.75000, 0.00000, 0.00000, 206.22000); + CreateDynamicObject(1670, -1982.29004, 1353.10999, 97.47000, 0.00000, 0.00000, 172.74001); + CreateDynamicObject(1433, -1982.22998, 1353.13000, 96.93000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2010, -1986.25000, 1350.78003, 96.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2164, -1986.85999, 1357.71997, 96.75000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2164, -1986.85999, 1359.47998, 96.75000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2167, -1986.89001, 1361.27002, 96.75000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2779, -1978.07996, 1363.19995, 96.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2778, -1979.64001, 1363.10999, 96.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2779, -1981.25000, 1363.27002, 96.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2640, -1982.59998, 1363.37000, 97.59000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2172, -1984.52002, 1363.18005, 96.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1714, -1983.81995, 1362.37000, 96.75000, 0.00000, 0.00000, -128.94000); + CreateDynamicObject(1714, -1985.95996, 1362.26001, 96.75000, 0.00000, 0.00000, -244.98000); + CreateDynamicObject(2193, -1986.50000, 1362.18005, 96.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2611, -1986.84998, 1362.54004, 98.76000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1987.78003, 1346.06006, 96.75000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1703, -1991.17004, 1347.43994, 96.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1989.27002, 1342.68994, 96.75000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1987.28003, 1341.18005, 96.75000, 0.00000, 0.00000, 1.86000); + CreateDynamicObject(1703, -1990.56995, 1337.94995, 96.75000, 0.00000, 0.00000, 63.06000); + CreateDynamicObject(2229, -1983.22998, 1336.19995, 96.75000, 0.00000, 0.00000, 209.22000); + CreateDynamicObject(19175, -1985.23999, 1334.66003, 99.33000, 0.00000, 0.00000, 211.14000); + CreateDynamicObject(1433, -1987.45996, 1338.97998, 96.95000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1670, -1987.35999, 1338.89001, 97.47000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1992.64001, 1344.10999, 96.75000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1575, -1989.82996, 1344.81006, 97.27000, 0.02000, 0.00000, 73.08000); + CreateDynamicObject(2823, -1990.43005, 1345.27002, 97.27000, 0.00000, 0.00000, 29.10000); + CreateDynamicObject(2823, -1989.89001, 1345.35999, 97.28000, 0.00000, 0.00000, -148.74001); + CreateDynamicObject(2823, -1990.25000, 1344.84998, 97.29000, 0.00000, 0.00000, -61.68000); + CreateDynamicObject(1433, -1990.18005, 1345.01001, 96.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(640, -1989.47998, 1348.60999, 97.44000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2011, -1993.06995, 1349.38000, 96.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(640, -1993.06006, 1352.56006, 97.44000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(640, -1993.06006, 1358.73999, 97.44000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1996.41003, 1351.42004, 96.75000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1999.56995, 1352.52002, 96.75000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1998.37000, 1355.35999, 96.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1997.45996, 1353.25000, 96.93000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1575, -1997.65002, 1352.93994, 97.43000, 0.00000, 0.00000, 80.34000); + CreateDynamicObject(1575, -1997.65002, 1352.93994, 97.59000, 0.00000, 0.00000, 52.20000); + CreateDynamicObject(1575, -1997.72998, 1353.46997, 97.43000, 0.00000, 0.00000, -64.26000); + CreateDynamicObject(1575, -1997.21997, 1353.52002, 97.61000, 0.00000, 0.00000, 25.26000); + CreateDynamicObject(1575, -1997.21997, 1353.52002, 97.43000, 0.00000, 0.00000, -47.04000); + CreateDynamicObject(3525, -1997.71997, 1356.69995, 98.73000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(640, -1993.06006, 1365.02002, 97.44000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(640, -1993.06006, 1370.98999, 97.44000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1998.90002, 1363.91003, 96.75000, 0.00000, 0.00000, 131.10001); + CreateDynamicObject(1703, -2000.51001, 1366.81006, 96.75000, 0.00000, 0.00000, 401.04001); + CreateDynamicObject(1703, -1995.43994, 1364.69995, 96.75000, 0.00000, 0.00000, 580.73999); + CreateDynamicObject(1703, -1997.26001, 1367.83997, 96.75000, 0.00000, 0.00000, -47.52000); + CreateDynamicObject(1670, -1999.58997, 1366.31006, 96.75000, 0.00000, 0.00000, -84.42000); + CreateDynamicObject(1433, -1998.02002, 1365.70996, 96.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2860, -1997.90002, 1365.69995, 96.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2259, -1993.16003, 1367.69995, 98.81000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(2258, -1992.64001, 1361.92004, 99.02000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(2259, -1993.16003, 1356.73999, 98.82000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(640, -2001.65002, 1377.50000, 97.44000, 0.00000, 0.00000, -28.26000); + CreateDynamicObject(2393, -1982.78003, 1378.14001, 99.73000, 0.00000, 90.00000, 180.00000); + CreateDynamicObject(1985, -1984.14001, 1378.39001, 99.98000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2628, -1989.06995, 1374.60999, 96.75000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2632, -1989.92004, 1374.80005, 96.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2629, -1990.96997, 1374.65002, 96.75000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1961.31995, 1364.54004, 96.75000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1703, -1962.80005, 1367.44995, 96.75000, 0.00000, 0.00000, -55.50000); + CreateDynamicObject(1703, -1965.72998, 1368.87000, 96.75000, 0.00000, 0.00000, -18.66000); + CreateDynamicObject(1703, -1969.06006, 1368.85999, 96.75000, 0.00000, 0.00000, 3.36000); + CreateDynamicObject(2857, -1963.43005, 1364.65002, 96.75000, 0.00000, 0.00000, 27.66000); + CreateDynamicObject(2857, -1966.18005, 1367.09998, 96.75000, 0.00000, 0.00000, 105.84000); + CreateDynamicObject(2857, -1968.18005, 1365.87000, 96.75000, 0.00000, 0.00000, 116.76000); + CreateDynamicObject(338, -1966.93005, 1364.50000, 97.69000, 74.00000, -78.30000, -74.46000); + CreateDynamicObject(1209, -1981.10999, 1368.30005, 96.75000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2132, -1982.56995, 1368.35999, 96.75000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2133, -1984.59998, 1368.39001, 96.75000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2133, -1985.58997, 1368.39001, 96.75000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2341, -1986.58997, 1368.37000, 96.75000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2340, -1986.59998, 1369.35999, 97.44000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2131, -1986.33997, 1370.39001, 96.75000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2340, -1986.57996, 1372.44995, 96.75000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2822, -1984.56006, 1368.23999, 97.44000, 0.00000, 0.00000, 95.40000); + CreateDynamicObject(2851, -1982.90002, 1368.28003, 97.44000, 0.00000, 0.00000, -99.48000); + CreateDynamicObject(2851, -1983.59998, 1368.26001, 97.44000, 0.00000, 0.00000, -99.48000); + CreateDynamicObject(19128, -1946.89001, 1365.33997, 96.75000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1943.00000, 1362.48999, 96.75000, 0.00000, 0.00000, -146.46001); + CreateDynamicObject(1703, -1942.07996, 1366.19995, 96.75000, 0.00000, 0.00000, -89.34000); + CreateDynamicObject(1703, -1944.57996, 1369.07996, 96.75000, 0.00000, 0.00000, -45.84000); + CreateDynamicObject(2256, -1942.56995, 1369.91003, 99.41000, 0.00000, 0.00000, -26.70000); + CreateDynamicObject(2256, -1943.43005, 1359.06006, 99.41000, 0.00000, 0.00000, -157.25999); + CreateDynamicObject(3525, -1947.09998, 1368.65002, 99.41000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(3525, -1947.06006, 1362.17004, 99.41000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2315, -1985.02002, 1335.33997, 96.75000, 0.00000, 0.00000, 30.90000); + CreateDynamicObject(2315, -1987.08997, 1334.08997, 96.75000, 0.00000, 0.00000, 30.90000); + CreateDynamicObject(2232, -1986.94995, 1334.18005, 97.83000, 0.00000, 0.00000, 214.08000); + CreateDynamicObject(2232, -1983.69995, 1336.02002, 97.83000, 0.00000, 0.00000, 214.08000); + CreateDynamicObject(2229, -1987.91003, 1333.41003, 96.75000, 0.00000, 0.00000, 209.22000); + CreateDynamicObject(1786, -1985.78003, 1334.54004, 97.23000, 0.00000, 0.00000, 211.44000); + CreateDynamicObject(1786, -1984.45996, 1335.38000, 97.23000, 0.00000, 0.00000, 211.44000); + CreateDynamicObject(3525, -1982.81995, 1336.31995, 99.27000, 0.00000, 0.00000, 211.14000); + CreateDynamicObject(3525, -1987.58997, 1333.50000, 99.27000, 0.00000, 0.00000, 211.14000); + CreateDynamicObject(2842, -2000.18994, 1336.51001, 96.73000, 0.00000, 0.00000, -52.50000); + CreateDynamicObject(2286, -2002.06006, 1377.77002, 99.62000, 0.00000, 0.00000, 60.78000); + CreateDynamicObject(1704, -1980.90002, 1352.38000, 102.21000, 0.00000, 0.00000, 225.89999); + CreateDynamicObject(1704, -1983.16003, 1351.71997, 102.21000, 0.00000, 0.00000, 146.52000); + CreateDynamicObject(1704, -1982.67004, 1354.82996, 102.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1704, -1978.21997, 1356.71997, 102.21000, 0.00000, 0.00000, 146.52000); + CreateDynamicObject(1704, -1975.34998, 1357.73999, 102.21000, 0.00000, 0.00000, 225.89999); + CreateDynamicObject(1433, -1977.39001, 1358.73999, 102.39000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1704, -1978.03003, 1360.98999, 102.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(18885, -1974.33997, 1365.93994, 103.31000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(3525, -1974.58997, 1364.53003, 105.10000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(3525, -1974.58997, 1367.25000, 105.10000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1970.32996, 1362.41003, 102.21000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1703, -1968.87000, 1369.43005, 102.21000, 0.00000, 0.00000, 120.78000); + CreateDynamicObject(1824, -1966.83997, 1363.34998, 102.74000, 0.00000, 0.00000, 0.06000); + CreateDynamicObject(1703, -1965.70996, 1360.89001, 102.21000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1703, -1963.48999, 1364.40002, 102.21000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(1703, -1967.87000, 1365.66003, 102.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1963.01001, 1370.96997, 102.21000, 0.00000, 0.00000, 229.86000); + CreateDynamicObject(1703, -1965.68994, 1368.43005, 102.21000, 0.00000, 0.00000, 178.67999); + CreateDynamicObject(2188, -1966.55005, 1371.40002, 103.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1722, -1966.01001, 1372.90002, 102.21000, 0.00000, 0.00000, -200.64000); + CreateDynamicObject(1302, -1975.62000, 1373.97998, 102.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1776, -1978.21997, 1373.85999, 103.30000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1302, -1980.96997, 1374.00000, 102.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2631, -1989.64001, 1374.84998, 102.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2202, -1943.34998, 1369.80005, 102.21000, 0.00000, 0.00000, -26.64000); + CreateDynamicObject(1703, -1949.31995, 1366.37000, 102.21000, 0.00000, 0.00000, 63.66000); + CreateDynamicObject(2202, -1943.07996, 1359.80005, 102.21000, 0.00000, 0.00000, 202.08000); + CreateDynamicObject(1703, -1948.56995, 1362.87000, 102.21000, 0.00000, 0.00000, 109.56000); + CreateDynamicObject(1433, -1946.93994, 1364.93994, 102.39000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2853, -1947.04004, 1365.16003, 102.90000, 0.00000, 0.00000, 39.30000); + CreateDynamicObject(2855, -1946.70996, 1364.68005, 102.90000, 0.00000, 0.00000, 126.36000); + CreateDynamicObject(1704, -1944.18005, 1363.28003, 102.21000, 0.00000, 0.00000, 115.38000); + CreateDynamicObject(1704, -1944.54004, 1365.18005, 102.21000, 0.00000, 0.00000, 52.92000); + CreateDynamicObject(2208, -1942.69995, 1363.31006, 102.21000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2894, -1942.56995, 1365.01001, 103.07000, 0.00000, 0.00000, 77.04000); + CreateDynamicObject(2894, -1942.87000, 1364.18994, 103.07000, 0.00000, 0.00000, 304.26001); + CreateDynamicObject(2855, -1942.66003, 1363.31006, 103.07000, 0.00000, 0.00000, 127.02000); + CreateDynamicObject(2816, -1942.81006, 1365.67004, 103.07000, 0.00000, 0.00000, -117.72000); + CreateDynamicObject(1714, -1941.39001, 1365.18994, 102.21000, 0.00000, 0.00000, -61.62000); + CreateDynamicObject(3525, -1947.03003, 1362.20996, 105.05000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(3525, -1947.03003, 1368.63000, 105.05000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1982.22998, 1353.13000, 102.39000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2200, -1986.67004, 1359.93994, 102.21000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2205, -1986.34998, 1358.95996, 102.21000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(2162, -1982.44995, 1363.59998, 102.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2008, -1984.44995, 1363.10999, 102.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(2308, -1986.43005, 1362.15002, 102.21000, 0.00000, 0.00000, 360.00000); + CreateDynamicObject(2255, -1986.40002, 1358.06995, 104.21000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2611, -1986.84998, 1362.54004, 104.21000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(2894, -1986.53003, 1362.82996, 103.00000, 0.00000, 0.00000, 47.40000); + CreateDynamicObject(1714, -1984.23999, 1362.01001, 102.21000, 0.00000, 0.00000, 125.76000); + CreateDynamicObject(1714, -1985.13000, 1358.57996, 102.21000, 0.00000, 0.00000, -54.96000); + CreateDynamicObject(2190, -1986.32996, 1359.27002, 103.15000, 0.00000, 0.00000, 46.80000); + CreateDynamicObject(1433, -2000.76001, 1340.29004, 102.39000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1433, -1989.92004, 1345.09998, 102.39000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1990.81995, 1347.20996, 102.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1992.50000, 1344.09998, 102.21000, 0.00000, 0.00000, 88.68000); + CreateDynamicObject(1703, -1988.80005, 1342.68005, 102.21000, 0.00000, 0.00000, 176.39999); + CreateDynamicObject(1703, -1985.82996, 1340.32996, 102.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1703, -1990.50000, 1335.48999, 102.21000, 0.00000, 0.00000, 68.64000); + CreateDynamicObject(1703, -1989.00000, 1338.77002, 102.21000, 0.00000, 0.00000, 36.54000); + CreateDynamicObject(2229, -1982.59998, 1336.44995, 102.21000, 0.00000, 0.00000, 218.64000); + CreateDynamicObject(2229, -1982.95996, 1336.15002, 102.21000, 0.00000, 0.00000, 218.64000); + CreateDynamicObject(2311, -1984.79004, 1335.27002, 102.21000, 0.00000, 0.00000, 31.02000); + CreateDynamicObject(2229, -1987.64001, 1333.55005, 102.21000, 0.00000, 0.00000, 218.64000); + CreateDynamicObject(2229, -1988.03003, 1333.32996, 102.21000, 0.00000, 0.00000, 218.64000); + CreateDynamicObject(2232, -1986.47998, 1334.29004, 103.31000, 0.00000, 0.00000, 165.12000); + CreateDynamicObject(2101, -1985.62000, 1334.97998, 102.73000, 0.00000, 0.00000, 207.36000); + CreateDynamicObject(2104, -1984.83997, 1335.15002, 102.71000, 0.00000, 0.00000, 215.34000); + CreateDynamicObject(2232, -1983.76001, 1335.93994, 103.31000, 0.00000, 0.00000, 247.50000); + CreateDynamicObject(640, -1994.67004, 1332.88000, 102.91000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(358, -2000.18994, 1332.81006, 102.21000, -14.28000, -98.56000, 347.51999); + CreateDynamicObject(2566, -1998.89001, 1334.64001, 102.61000, 0.00000, 0.00000, 129.84000); + CreateDynamicObject(1744, -2001.57996, 1333.71997, 103.97000, 0.00000, 0.00000, 129.84000); + CreateDynamicObject(2254, -2001.73999, 1334.25000, 105.73000, 0.00000, 0.00000, 129.96001); + CreateDynamicObject(348, -2000.28003, 1333.38000, 102.66000, 90.00000, 0.00000, -106.68000); + CreateDynamicObject(1704, -2002.65002, 1339.78003, 102.21000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1704, -2000.32996, 1338.58997, 102.21000, 0.00000, 0.00000, -180.00000); + CreateDynamicObject(1704, -2001.30005, 1342.06006, 102.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(348, -2001.10999, 1340.10999, 102.91000, 90.00000, 0.00000, 55.86000); + CreateDynamicObject(348, -2000.66003, 1339.83997, 102.91000, 90.00000, 0.00000, 56.10000); + CreateDynamicObject(348, -2000.79004, 1340.72998, 102.91000, 90.00000, 0.00000, -27.66000); + CreateDynamicObject(1703, -1997.91003, 1349.26001, 102.21000, 0.00000, 0.00000, 178.62000); + CreateDynamicObject(1703, -2001.69995, 1350.32996, 102.21000, 0.00000, 0.00000, 88.86000); + CreateDynamicObject(1703, -1999.95996, 1353.30005, 102.21000, 0.00000, 0.00000, 0.00000); + CreateDynamicObject(1704, -1998.76001, 1357.90002, 102.21000, 0.00000, 0.00000, 492.60001); + CreateDynamicObject(1704, -1995.89001, 1360.73999, 102.21000, 0.00000, 0.00000, 283.79999); + CreateDynamicObject(1704, -1999.30005, 1361.33997, 102.21000, 0.00000, 0.00000, 60.66000); + CreateDynamicObject(1549, -1999.68005, 1358.93005, 102.21000, 0.00000, 0.00000, 192.36000); + CreateDynamicObject(1549, -1999.67004, 1361.00000, 102.21000, 0.00000, 0.00000, 239.52000); + CreateDynamicObject(2208, -1997.85999, 1358.88000, 102.21000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(3525, -1997.71997, 1357.50000, 105.02000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(3525, -1992.81995, 1363.79004, 105.02000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(3525, -1992.81995, 1358.32996, 105.02000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(3525, -1992.81995, 1353.97998, 105.02000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(3525, -1992.81995, 1367.70996, 105.02000, 0.00000, 0.00000, -90.00000); + CreateDynamicObject(2208, -1997.85999, 1365.23999, 102.21000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1722, -1998.04004, 1363.90002, 102.21000, 0.00000, 0.00000, -9.90000); + CreateDynamicObject(1722, -1999.42004, 1365.79004, 102.21000, 0.00000, 0.00000, 281.34000); + CreateDynamicObject(1722, -1999.31006, 1367.43994, 102.21000, 0.00000, 0.00000, 247.44000); + CreateDynamicObject(1722, -1997.81995, 1369.06006, 102.21000, 0.00000, 0.00000, -209.58000); + CreateDynamicObject(1722, -1996.45996, 1365.90002, 102.21000, 0.00000, 0.00000, 124.80000); + CreateDynamicObject(1722, -1996.73999, 1367.08997, 102.21000, 0.00000, 0.00000, 70.08000); + CreateDynamicObject(2894, -1997.93005, 1365.16003, 103.07000, 0.00000, 0.00000, -25.74000); + CreateDynamicObject(2212, -1997.71997, 1365.80005, 103.13000, -25.50000, 23.52000, 27.24000); + CreateDynamicObject(2894, -1997.64001, 1366.96997, 10.21000, 0.00000, 0.00000, 131.10001); + CreateDynamicObject(2894, -1997.64001, 1366.96997, 103.07000, 0.00000, 0.00000, 131.10001); + CreateDynamicObject(2212, -1998.13000, 1367.59998, 103.13000, -25.50000, 23.52000, -89.94000); + CreateDynamicObject(2255, -1990.02002, 1374.33997, 104.86000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2134, -1983.56995, 1368.42004, 102.21000, 0.00000, 0.00000, 180.58000); + CreateDynamicObject(2131, -1981.52002, 1368.46997, 102.21000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2131, -1985.45996, 1368.63000, 102.21000, 0.00000, 0.00000, 493.98001); + CreateDynamicObject(2134, -1980.54004, 1368.47998, 102.21000, 0.00000, 0.00000, 180.58000); + CreateDynamicObject(2132, -1978.54004, 1368.47998, 102.21000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2862, -1978.55005, 1368.40002, 103.27000, 0.00000, 0.00000, 166.98000); + CreateDynamicObject(2862, -1980.50000, 1368.43005, 103.25000, 0.00000, 0.00000, 166.98000); + CreateDynamicObject(2256, -1976.31995, 1368.00000, 104.96000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(1670, -1977.34998, 1358.69995, 102.91000, 0.00000, 0.00000, 136.25999); + CreateDynamicObject(1670, -1982.15002, 1353.13000, 102.91000, 0.00000, 0.00000, 59.76000); + CreateDynamicObject(1670, -1990.01001, 1345.09998, 102.91000, 0.00000, 0.00000, 93.30000); + CreateDynamicObject(2311, -1986.83997, 1334.06006, 102.21000, 0.00000, 0.00000, 31.02000); + CreateDynamicObject(640, -1989.75000, 1348.54004, 102.91000, 0.00000, 0.00000, 90.00000); + CreateDynamicObject(1670, -1998.03003, 1361.22998, 103.09000, 0.00000, 0.00000, -39.78000); + CreateDynamicObject(348, -1997.90002, 1361.50000, 103.09000, 90.00000, 0.00000, -125.46000); + CreateDynamicObject(348, -1997.63000, 1359.04004, 103.08000, 90.00000, 0.00000, 121.44000); + CreateDynamicObject(3052, -2002.93005, 1336.26001, 102.32000, 0.00000, 0.00000, -4.32000); + CreateDynamicObject(351, -2002.59998, 1336.17004, 102.50000, -101.32000, -13.28000, 126.96000); + CreateDynamicObject(2043, -2002.29004, 1336.04004, 102.32000, 0.00000, 0.00000, 73.86000); + CreateDynamicObject(356, -2001.59998, 1334.22998, 104.38000, -103.06000, -7.68000, -75.48000); + CreateDynamicObject(2894, -1997.77002, 1360.52002, 103.09000, 0.00000, 0.00000, 63.96000); + CreateDynamicObject(2894, -1997.88000, 1359.77002, 103.09000, 0.00000, 0.00000, 133.67999); + CreateDynamicObject(2862, -1980.50000, 1368.43005, 103.09000, 0.00000, 0.00000, 166.98000); + CreateDynamicObject(2862, -1978.55005, 1368.40002, 103.09000, 0.00000, 0.00000, 166.98000); + CreateDynamicObject(3525, -1982.81995, 1336.31995, 104.77000, 0.00000, 0.00000, 211.14000); + CreateDynamicObject(3525, -1987.58997, 1333.50000, 104.77000, 0.00000, 0.00000, 211.14000); + CreateDynamicObject(2817, -2000.09998, 1336.26001, 107.67000, 0.00000, 0.00000, -50.16000); + CreateDynamicObject(2817, -2000.09998, 1336.26001, 102.21000, 0.00000, 0.00000, -50.16000); + CreateDynamicObject(2630, -1992.33997, 1375.26001, 107.67000, 0.00000, 0.00000, -203.58000); + CreateDynamicObject(2630, -1992.33997, 1375.26001, 102.21000, 0.00000, 0.00000, -203.58000); + CreateDynamicObject(2627, -1987.16003, 1375.02002, 102.19000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2627, -1987.16003, 1375.02002, 107.66000, 0.00000, 0.00000, 180.00000); + CreateDynamicObject(2255, -2001.55005, 1334.70996, 114.81000, 0.00000, 0.00000, 129.06000); +#endif +} \ No newline at end of file diff --git a/gamemodes/irresistible/cnr/features/minijobs/lumberjack.pwn b/gamemodes/irresistible/cnr/features/minijobs/lumberjack.pwn index 7805aa7..2391e63 100644 --- a/gamemodes/irresistible/cnr/features/minijobs/lumberjack.pwn +++ b/gamemodes/irresistible/cnr/features/minijobs/lumberjack.pwn @@ -171,7 +171,7 @@ hook OnPlayerEnterDynRaceCP( playerid, checkpointid ) //SendServerMessage( playerid, "You've made "COL_GOLD"%s"COL_WHITE" from exporting. Go and pick another box up!" ); GivePlayerCash( playerid, cash ); GivePlayerScore( playerid, 5 ); - GivePlayerExperience( playerid, E_ROLEPLAY ); + GivePlayerExperience( playerid, E_ROLEPLAY, 1.0 + fDistance / 1000.0 ); DestroyDynamicMapIcon( p_LumberjackMapIcon[ playerid ] ); p_LumberjackMapIcon[ playerid ] = CreateDynamicMapIconEx( -2330.8535, -113.9084, 34.00, 51, 0, MAPICON_GLOBAL, 6000.0, { -1 }, { -1 }, aPlayer ); @@ -243,6 +243,7 @@ CMD:wood( playerid, params[ ] ) g_treeData[ i ] [ E_CHOPPED ] = true; count++; GivePlayerCash( playerid, 250 ); + GivePlayerExperience( playerid, E_ROLEPLAY, 0.4 ); SendServerMessage( playerid, "Tree successfully chopped into smaller pieces. Go to the wood chipper and type "COL_ORANGE"/wood chip{FFFFFF}!" ); break; } diff --git a/gamemodes/irresistible/cnr/features/minijobs/meth.pwn b/gamemodes/irresistible/cnr/features/minijobs/meth.pwn index a8360f9..a0f0d34 100644 --- a/gamemodes/irresistible/cnr/features/minijobs/meth.pwn +++ b/gamemodes/irresistible/cnr/features/minijobs/meth.pwn @@ -304,6 +304,7 @@ public OnMethamphetamineCooking( playerid, vehicleid, last_chemical ) ShowPlayerHelpDialog( playerid, 5000, "The process is done. Bag it up and do another round if you wish." ); SendServerMessage( playerid, "Process is done. Bag it up, and do another round if you wish. Export it for money." ); GivePlayerWantedLevel( playerid, 12 ); + GivePlayerExperience( playerid, E_ROLEPLAY ); GivePlayerScore( playerid, 3 ); ach_HandleMethYielded( playerid ); SetGVarInt( "meth_yield", CreateDynamicObject( 1579, 2083.684082, 1233.945922, 414.875244, 0.000000, 0.000000, 90.000000, GetPlayerVirtualWorld( playerid ) ), vehicleid ); @@ -415,6 +416,7 @@ CMD:meth( playerid, params[ ] ) cashEarned = p_Methamphetamine{ playerid } * ( 5000 + random( 1000 ) ); GivePlayerCash( playerid, cashEarned ); + GivePlayerExperience( playerid, E_ROLEPLAY, float( p_Methamphetamine{ playerid } ) * 0.2 ); StockMarket_UpdateEarnings( E_STOCK_CLUCKIN_BELL, cashEarned, .factor = 0.3 ); SendServerMessage( playerid, "You have exported %d bags of meth, earning you "COL_GOLD"%s"COL_WHITE".", p_Methamphetamine{ playerid }, cash_format( cashEarned ) ); p_Methamphetamine{ playerid } = 0; @@ -544,7 +546,7 @@ stock RemovePlayersFromJourney( vehicleID ) SetPlayerPos( playerid, x, y, z ); SetPlayerInterior( playerid, 0 ); SetPlayerVirtualWorld( playerid, 0 ); - + SendServerMessage( playerid, "You have been removed from a player-owned Journey as the player who owned it has left the server." ); } } diff --git a/gamemodes/irresistible/cnr/features/minijobs/pilot.pwn b/gamemodes/irresistible/cnr/features/minijobs/pilot.pwn index 1cb242f..4c91b20 100644 --- a/gamemodes/irresistible/cnr/features/minijobs/pilot.pwn +++ b/gamemodes/irresistible/cnr/features/minijobs/pilot.pwn @@ -185,7 +185,7 @@ hook OnPlayerEnterDynRaceCP( playerid, checkpointid ) GivePlayerScore( playerid, 1 + floatround( p_PilotDistance[ playerid ] / 1000.0 ) ); StockMarket_UpdateEarnings( E_STOCK_AVIATION, cash_earned, stock_dividend_allocation ); GivePlayerCash( playerid, cash_earned ); - GivePlayerExperience( playerid, E_ROLEPLAY ); + GivePlayerExperience( playerid, E_ROLEPLAY, 1.0 + p_PilotDistance[ playerid ] / 1000.0 ); ShowPlayerHelpDialog( playerid, 5000, "You have earned ~y~%s ~w~for exporting %s!", cash_format( cash_earned ), g_CargoName[ p_PilotCargo[ playerid ] ] ); StopPlayerPilotWork( playerid ); diff --git a/gamemodes/irresistible/cnr/features/minijobs/traindriver.pwn b/gamemodes/irresistible/cnr/features/minijobs/traindriver.pwn index be6cbb4..61101b3 100644 --- a/gamemodes/irresistible/cnr/features/minijobs/traindriver.pwn +++ b/gamemodes/irresistible/cnr/features/minijobs/traindriver.pwn @@ -134,7 +134,7 @@ hook OnPlayerEnterDynRaceCP( playerid, checkpointid ) GivePlayerScore( playerid, 1 + floatround( p_TrainDistance[ playerid ] / 1000.0 ) ); GivePlayerCash( playerid, iCashEarned ); - GivePlayerExperience( playerid, E_ROLEPLAY ); + GivePlayerExperience( playerid, E_ROLEPLAY, 1.0 + p_TrainDistance[ playerid ] / 1000.0 ); ach_HandleTrainMissions( playerid ); diff --git a/gamemodes/irresistible/cnr/features/minijobs/trucking.pwn b/gamemodes/irresistible/cnr/features/minijobs/trucking.pwn index 56cbae5..3145174 100644 --- a/gamemodes/irresistible/cnr/features/minijobs/trucking.pwn +++ b/gamemodes/irresistible/cnr/features/minijobs/trucking.pwn @@ -181,7 +181,7 @@ hook OnPlayerEnterDynRaceCP( playerid, checkpointid ) GivePlayerScore( playerid, 1 + floatround( p_TruckingDistance[ playerid ] / 1000.0 ) ); StockMarket_UpdateEarnings( E_STOCK_TRUCKING_COMPANY, iCashEarned, .factor = 1.0 ); GivePlayerCash( playerid, iCashEarned ); - GivePlayerExperience( playerid, E_ROLEPLAY ); + GivePlayerExperience( playerid, E_ROLEPLAY, 1.0 + p_TruckingDistance[ playerid ] / 1000.0 ); p_TruckingDistance [ playerid ] = 0.0; p_hasTruckingJob { playerid } = false; diff --git a/gamemodes/irresistible/cnr/features/player_items/shop.pwn b/gamemodes/irresistible/cnr/features/player_items/shop.pwn index 131cfe4..4b34661 100644 --- a/gamemodes/irresistible/cnr/features/player_items/shop.pwn +++ b/gamemodes/irresistible/cnr/features/player_items/shop.pwn @@ -24,7 +24,8 @@ enum E_SHOP_ITEMS SHOP_ITEM_DRILL, SHOP_ITEM_METAL_MELTER, SHOP_ITEM_WEED_SEED, - SHOP_ITEM_FIREWORKS + SHOP_ITEM_FIREWORKS, + SHOP_ITEM_BOOMBOX } enum E_SHOP_DATA @@ -49,7 +50,8 @@ new { SHOP_ITEM_MONEY_CASE, false, "Money Case", "Increases robbing amount", 1, 4500 }, // [1250] { SHOP_ITEM_DRILL, true , "Thermal Drill", "Halves safe cracking time", 1, 5000 }, { SHOP_ITEM_METAL_MELTER, true , "Metal Melter", "/breakout", 4, 7500 }, - { SHOP_ITEM_FIREWORKS, true , "Firework", "/fireworks", 0, 50000 } + { SHOP_ITEM_FIREWORKS, true , "Firework", "/fireworks", 0, 50000 }, + { SHOP_ITEM_BOOMBOX, false, "Boombox", "/boombox", 1, 15000 } }, g_playerShopItems [ MAX_PLAYERS ] [ E_SHOP_ITEMS ] // gradually move to this ; @@ -102,6 +104,11 @@ hook OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] ) { GivePlayerFireworks( playerid, 1 ); } + case SHOP_ITEM_BOOMBOX: + { + if ( GetPlayerBoombox( playerid ) ) return SendError( playerid, "You have already purchased this item." ); + SetPlayerBoombox( playerid, true ); + } } GivePlayerCash( playerid, -( g_shopItemData[ listitem ] [ E_PRICE ] ) ); SendServerMessage( playerid, "You have bought a "COL_GREY"%s"COL_WHITE" for "COL_GOLD"%s"COL_WHITE".", g_shopItemData[ listitem ] [ E_NAME ], cash_format( g_shopItemData[ listitem ] [ E_PRICE ] ) ); @@ -191,6 +198,7 @@ stock GetShopItemAmount( playerid, id ) case SHOP_ITEM_METAL_MELTER: return p_MetalMelter[ playerid ]; case SHOP_ITEM_WEED_SEED: return g_playerShopItems[ playerid ] [ SHOP_ITEM_WEED_SEED ]; case SHOP_ITEM_FIREWORKS: return p_Fireworks[ playerid ]; + case SHOP_ITEM_BOOMBOX: return GetPlayerBoombox( playerid ); } return 0; } @@ -213,6 +221,7 @@ stock SetPlayerShopItemAmount( playerid, id, value ) case SHOP_ITEM_METAL_MELTER: p_MetalMelter[ playerid ] = value; case SHOP_ITEM_WEED_SEED: g_playerShopItems[ playerid ] [ SHOP_ITEM_WEED_SEED ] = value; case SHOP_ITEM_FIREWORKS: p_Fireworks[ playerid ] = value; + case SHOP_ITEM_BOOMBOX: SetPlayerBoombox( playerid, !!value ); } return 1; } diff --git a/gamemodes/irresistible/cnr/features/random_messages.pwn b/gamemodes/irresistible/cnr/features/random_messages.pwn index 2182e83..62365cb 100644 --- a/gamemodes/irresistible/cnr/features/random_messages.pwn +++ b/gamemodes/irresistible/cnr/features/random_messages.pwn @@ -70,7 +70,8 @@ static stock { "{8ADE47}Stephanie:"COL_WHITE" Contribute to our feature "COL_GREY"/crowdfunds"COL_WHITE"! Early supporters get benefits!" }, { "{8ADE47}Stephanie:"COL_WHITE" You can buy premium player homes using "COL_GREY"/estate"COL_WHITE"!" }, { "{8ADE47}Stephanie:"COL_WHITE" You can buy Irresistible Coins from players using "COL_GREY"/ic buy"COL_WHITE"!" }, - { "{8ADE47}Stephanie:"COL_WHITE" Buy a secure wallet to reduce the amount of money you drop when you die!" } + { "{8ADE47}Stephanie:"COL_WHITE" Buy a secure wallet to reduce the amount of money you drop when you die!" }, + { "{8ADE47}Stephanie:"COL_WHITE" Buy a boombox and have a music party with your friends in area!" } }, g_randomMessageTick = 0 ; diff --git a/gamemodes/irresistible/cnr/features/robbery/robbery_init.pwn b/gamemodes/irresistible/cnr/features/robbery/robbery_init.pwn index 50b96be..c23efbc 100644 --- a/gamemodes/irresistible/cnr/features/robbery/robbery_init.pwn +++ b/gamemodes/irresistible/cnr/features/robbery/robbery_init.pwn @@ -113,7 +113,7 @@ hook OnScriptInit( ) CreateMultipleRobberies( "Church", ROBBERY_SAFE_PAY, 2390.926757, 3195.784179, 1016.920837, -90.00000, 39, 40, 41, 62, 24 ); CreateRobberyNPC( "Priest", ROBBERY_BOT_PAY, 2383.1968,3193.2842,1017.7320,1.0113, 68, 39, 40, 41, 62, 24 ); - CreateMultipleRobberies( "Hotel de Solanum", ROBBERY_SAFE_PAY, -1967.766357, 1367.773925, 6.879500000, 86.700000, 0 ); + CreateMultipleRobberies( "Hotel da Novic", ROBBERY_SAFE_PAY, -1967.766357, 1367.773925, 6.879500000, 86.700000, 0 ); CreateRobberyNPC( "Hotel Bartender", ROBBERY_BOT_PAY, -1944.5562,1362.2947,7.3546,86.4801, 126, 0 ); CreateMultipleRobberies( "Vehicle Dealership", ROBBERY_SAFE_PAY, -1862.799682, -652.836608, 1001.578125, -89.80000, 0 ); diff --git a/gamemodes/irresistible/cnr/features/robbery/safes.pwn b/gamemodes/irresistible/cnr/features/robbery/safes.pwn index 5bd59b1..a3e9588 100644 --- a/gamemodes/irresistible/cnr/features/robbery/safes.pwn +++ b/gamemodes/irresistible/cnr/features/robbery/safes.pwn @@ -172,7 +172,7 @@ hook OnProgressCompleted( playerid, progressid, params ) Get2DCity( szCity, g_entranceData[ id ] [ E_EX ], g_entranceData[ id ] [ E_EY ], g_entranceData[ id ] [ E_EZ ] ); GetZoneFromCoordinates( szLocation, g_entranceData[ id ] [ E_EX ], g_entranceData[ id ] [ E_EY ], g_entranceData[ id ] [ E_EZ ] ); if ( !strmatch( szCity, "San Fierro" ) && !strmatch( szCity, "Las Venturas" ) && !strmatch( szCity, "Los Santos" ) ) g_robberyData[ robberyid ] [ E_SAFE_LOOT ] /= 2; // Halve Profit outside SF, LV & LS - //if ( strmatch( szCity, "Las Venturas" ) || strmatch( szCity, "Los Santos" ) ) g_robberyData[ robberyid ] [ E_SAFE_LOOT ] = floatround( g_robberyData[ robberyid ] [ E_SAFE_LOOT ] * 0.75 ); // Remove 25% + if ( strmatch( szCity, "Las Venturas" ) || strmatch( szCity, "Los Santos" ) ) g_robberyData[ robberyid ] [ E_SAFE_LOOT ] = floatround( g_robberyData[ robberyid ] [ E_SAFE_LOOT ] * 0.5 ); // Remove 50% SendGlobalMessage( COLOR_GOLD, "[ROBBERY]"COL_WHITE" %s(%d) has robbed "COL_GOLD"%s"COL_WHITE" from %s near %s in %s!", ReturnPlayerName( playerid ), playerid, cash_format( g_robberyData[ robberyid ] [ E_SAFE_LOOT ] ), g_robberyData[ robberyid ] [ E_NAME ], szLocation, szCity ); } else if ( p_InBusiness[ playerid ] != -1 ) @@ -538,6 +538,10 @@ stock createRobberyLootInstance( playerid, robberyid, type ) random_chance = 100.0; } + if ( GetPlayerLevel( playerid, E_POLICE ) >= 50.0 ) { + random_chance = 100.0; + } + // level increase chance of success random_chance += GetPlayerLevel( playerid, E_ROBBERY ) * 0.2; // increase success rate by 0.2% per level diff --git a/gamemodes/irresistible/cnr/features/vehicles/garages.pwn b/gamemodes/irresistible/cnr/features/vehicles/garages.pwn index 2440585..188af3c 100644 --- a/gamemodes/irresistible/cnr/features/vehicles/garages.pwn +++ b/gamemodes/irresistible/cnr/features/vehicles/garages.pwn @@ -571,3 +571,7 @@ stock GetGaragePos( garageid, &Float: X, &Float: Y, &Float: Z ) { Y = g_garageData[ garageid ] [ E_Y ]; Z = g_garageData[ garageid ] [ E_Z ]; } + +stock IsPlayerInGarage( playerid ) { + return p_InGarage[ playerid ] != -1; +} \ No newline at end of file diff --git a/gamemodes/irresistible/cnr/features/vehicles/vehicles.pwn b/gamemodes/irresistible/cnr/features/vehicles/vehicles.pwn index f8dc67a..7d43897 100644 --- a/gamemodes/irresistible/cnr/features/vehicles/vehicles.pwn +++ b/gamemodes/irresistible/cnr/features/vehicles/vehicles.pwn @@ -25,7 +25,36 @@ enum E_CAR_DATA new g_vehicleData [ MAX_PLAYERS ] [ MAX_BUYABLE_VEHICLES ] [ E_CAR_DATA ], bool: g_buyableVehicle [ MAX_VEHICLES char ], - g_vehicleModifications [ MAX_PLAYERS ] [ MAX_BUYABLE_VEHICLES ] [ MAX_CAR_MODS ] + g_vehicleModifications [ MAX_PLAYERS ] [ MAX_BUYABLE_VEHICLES ] [ MAX_CAR_MODS ], + g_vehicleColors [ ] = + { + 0x000000AA, 0xF5F5F5AA, 0x2A77A1AA, 0x840410AA, 0x263739AA, 0x86446EAA, 0xD78E10AA, 0x4C75B7AA, 0xBDBEC6AA, 0x5E7072AA, + 0x46597AAA, 0x656A79AA, 0x5D7E8DAA, 0x58595AAA, 0xD6DAD6AA, 0x9CA1A3AA, 0x335F3FAA, 0x730E1AAA, 0x7B0A2AAA, 0x9F9D94AA, + 0x3B4E78AA, 0x732E3EAA, 0x691E3BAA, 0x96918CAA, 0x515459AA, 0x3F3E45AA, 0xA5A9A7AA, 0x635C5AAA, 0x3D4A68AA, 0x979592AA, + 0x421F21AA, 0x5F272BAA, 0x8494ABAA, 0x767B7CAA, 0x646464AA, 0x5A5752AA, 0x252527AA, 0x2D3A35AA, 0x93A396AA, 0x6D7A88AA, + 0x221918AA, 0x6F675FAA, 0x7C1C2AAA, 0x5F0A15AA, 0x193826AA, 0x5D1B20AA, 0x9D9872AA, 0x7A7560AA, 0x989586AA, 0xADB0B0AA, + 0x848988AA, 0x304F45AA, 0x4D6268AA, 0x162248AA, 0x272F4BAA, 0x7D6256AA, 0x9EA4ABAA, 0x9C8D71AA, 0x6D1822AA, 0x4E6881AA, + 0x9C9C98AA, 0x917347AA, 0x661C26AA, 0x949D9FAA, 0xA4A7A5AA, 0x8E8C46AA, 0x341A1EAA, 0x6A7A8CAA, 0xAAAD8EAA, 0xAB988FAA, + 0x851F2EAA, 0x6F8297AA, 0x585853AA, 0x9AA790AA, 0x601A23AA, 0x20202CAA, 0xA4A096AA, 0xAA9D84AA, 0x78222BAA, 0x0E316DAA, + 0x722A3FAA, 0x7B715EAA, 0x741D28AA, 0x1E2E32AA, 0x4D322FAA, 0x7C1B44AA, 0x2E5B20AA, 0x395A83AA, 0x6D2837AA, 0xA7A28FAA, + 0xAFB1B1AA, 0x364155AA, 0x6D6C6EAA, 0x0F6A89AA, 0x204B6BAA, 0x2B3E57AA, 0x9B9F9DAA, 0x6C8495AA, 0x4D8495AA, 0xAE9B7FAA, + 0x406C8FAA, 0x1F253BAA, 0xAB9276AA, 0x134573AA, 0x96816CAA, 0x64686AAA, 0x105082AA, 0xA19983AA, 0x385694AA, 0x525661AA, + 0x7F6956AA, 0x8C929AAA, 0x596E87AA, 0x473532AA, 0x44624FAA, 0x730A27AA, 0x223457AA, 0x640D1BAA, 0xA3ADC6AA, 0x695853AA, + 0x9B8B80AA, 0x620B1CAA, 0x5B5D5EAA, 0x624428AA, 0x731827AA, 0x1B376DAA, 0xEC6AAEAA, 0x000000AA, 0x177517AA, 0x210606AA, + 0x125478AA, 0x452A0DAA, 0x571E1EAA, 0x010701AA, 0x25225AAA, 0x2C89AAAA, 0x8A4DBDAA, 0x35963AAA, 0xB7B7B7AA, 0x464C8DAA, + 0x84888CAA, 0x817867AA, 0x817A26AA, 0x6A506FAA, 0x583E6FAA, 0x8CB972AA, 0x824F78AA, 0x6D276AAA, 0x1E1D13AA, 0x1E1306AA, + 0x1F2518AA, 0x2C4531AA, 0x1E4C99AA, 0x2E5F43AA, 0x1E9948AA, 0x1E9999AA, 0x999976AA, 0x7C8499AA, 0x992E1EAA, 0x2C1E08AA, + 0x142407AA, 0x993E4DAA, 0x1E4C99AA, 0x198181AA, 0x1A292AAA, 0x16616FAA, 0x1B6687AA, 0x6C3F99AA, 0x481A0EAA, 0x7A7399AA, + 0x746D99AA, 0x53387EAA, 0x222407AA, 0x3E190CAA, 0x46210EAA, 0x991E1EAA, 0x8D4C8DAA, 0x805B80AA, 0x7B3E7EAA, 0x3C1737AA, + 0x733517AA, 0x781818AA, 0x83341AAA, 0x8E2F1CAA, 0x7E3E53AA, 0x7C6D7CAA, 0x020C02AA, 0x072407AA, 0x163012AA, 0x16301BAA, + 0x642B4FAA, 0x368452AA, 0x999590AA, 0x818D96AA, 0x99991EAA, 0x7F994CAA, 0x839292AA, 0x788222AA, 0x2B3C99AA, 0x3A3A0BAA, + 0x8A794EAA, 0x0E1F49AA, 0x15371CAA, 0x15273AAA, 0x375775AA, 0x060820AA, 0x071326AA, 0x20394BAA, 0x2C5089AA, 0x15426CAA, + 0x103250AA, 0x241663AA, 0x692015AA, 0x8C8D94AA, 0x516013AA, 0x090F02AA, 0x8C573AAA, 0x52888EAA, 0x995C52AA, 0x99581EAA, + 0x993A63AA, 0x998F4EAA, 0x99311EAA, 0x0D1842AA, 0x521E1EAA, 0x42420DAA, 0x4C991EAA, 0x082A1DAA, 0x96821DAA, 0x197F19AA, + 0x3B141FAA, 0x745217AA, 0x893F8DAA, 0x7E1A6CAA, 0x0B370BAA, 0x27450DAA, 0x071F24AA, 0x784573AA, 0x8A653AAA, 0x732617AA, + 0x319490AA, 0x56941DAA, 0x59163DAA, 0x1B8A2FAA, 0x38160BAA, 0x041804AA, 0x355D8EAA, 0x2E3F5BAA, 0x561A28AA, 0x4E0E27AA, + 0x706C67AA, 0x3B3E42AA, 0x2E2D33AA, 0x7B7E7DAA, 0x4A4442AA, 0x28344EAA + } ; /* ** Hooks ** */ @@ -537,6 +566,26 @@ CMD:v( playerid, params[ ] ) return 1; } +CMD:colors( playerid, params[ ] ) return cmd_colours( playerid, params ); +CMD:colours( playerid, params[ ] ) +{ + const + COLORS_PER_ROW = 20; + + static + list[ 4072 ]; + + list[ 0 ] = '\0'; + + for ( new J; J != sizeof( g_vehicleColors ); J ++ ) + { + format( list, sizeof( list ), "%s{%06x}%03d%s", list, g_vehicleColors[ J ] >>> 8, J, ! ( ( J + 1 ) % COLORS_PER_ROW ) ? ( "\n" ) : ( " " ) ); + } + + ShowPlayerDialog( playerid, DIALOG_VEH_COLORS, DIALOG_STYLE_MSGBOX, ""COL_WHITE"Vehicle Colors", list, "Okay", ""); + return 1; +} + /* ** SQL Threads ** */ thread OnVehicleLoad( playerid ) { @@ -852,7 +901,7 @@ stock dischargeVehicles( playerid ) if ( g_vehicleData[ playerid ][ v ][ E_MODEL ] == 508 ) RemovePlayersFromJourney( g_vehicleData[ playerid ][ v ][ E_VEHICLE_ID ] ); DestroyBuyableVehicle( playerid, v, .db_remove = false ); } - + } return 1; } diff --git a/gamemodes/irresistible/cnr/features/vehicles/vmodifications.pwn b/gamemodes/irresistible/cnr/features/vehicles/vmodifications.pwn index 1d6f8f3..a9fa9b5 100644 --- a/gamemodes/irresistible/cnr/features/vehicles/vmodifications.pwn +++ b/gamemodes/irresistible/cnr/features/vehicles/vmodifications.pwn @@ -1,6 +1,6 @@ /* * Irresistible Gaming (c) 2018 - * Developed by Lorenc + * Developed by Lorenc, Cloudy * Module: cnr\features\vehicles\vehicle_modifications.pwn * Purpose: custom vehicle components (objects) for player vehicles */ @@ -30,6 +30,16 @@ #define PREVIEW_MODEL_COMPONENT ( 10 ) // some random number +#define COMPONENT_EDIT_TYPE_X 0 +#define COMPONENT_EDIT_TYPE_Y 1 +#define COMPONENT_EDIT_TYPE_Z 2 +#define COMPONENT_EDIT_TYPE_RX 3 +#define COMPONENT_EDIT_TYPE_RY 4 +#define COMPONENT_EDIT_TYPE_RZ 5 + +#define TIMER_UPDATE_RATE 50 +#define MAX_COMPONENT_OFFSET 3.0 + enum E_CAR_MODS { E_CATEGORY, E_LIMIT, E_MODEL_ID, @@ -227,102 +237,10 @@ new g_vehiclePimpData[ MAX_PLAYERS ] [ MAX_BUYABLE_VEHICLES ] [ E_PIMP_DATA ] ; +/* ** Forwards ** */ +forward OnUpdateVehicleComponents( playerid ); + /* ** Hooks ** */ -hook OnPlayerEditDynObject( playerid, objectid, response, Float: x, Float: y, Float: z, Float: rx, Float: ry, Float: rz ) -{ - if ( GetPVarType( playerid, "components_editing" ) != 0 ) - { - new - ownerid = INVALID_PLAYER_ID, - vehicleid = GetPlayerVehicleID( playerid ), - slotid = GetPVarInt( playerid, "components_editing" ), - v = getVehicleSlotFromID( vehicleid, ownerid ) - ; - - if ( v == -1 ) - return CancelEdit( playerid ), SendError( playerid, "You need to be in a buyable vehicle." ); - - if ( playerid != ownerid ) - return CancelEdit( playerid ), SendError( playerid, "This vehicle does not belong to you." ); - - if ( !g_vehiclePimpData[ ownerid ] [ v ] [ E_CREATED ] [ slotid ] ) - return CancelEdit( playerid ), SendError( playerid, "Internal Server Error (0x1C)." ); - - if ( g_vehiclePimpData[ ownerid ] [ v ] [ E_OBJECT ] [ slotid ] != objectid ) - return CancelEdit( playerid ), SendError( playerid, "Internal Server Error (0x2D)." ); - - static - Float: X, Float: Y, Float:Z, Float: Angle; - - if ( response == EDIT_RESPONSE_FINAL ) - { - // Grab positions prior - GetVehicleZAngle( vehicleid, Angle ); - GetVehiclePos( vehicleid, X, Y, Z ); - - // Calculate offsets - new - Float: fDistance = VectorSize( x - X, y - Y, 0.0 ), - Float: fAngle = Angle - atan2( y - Y, x - X ), - Float: finalX = fDistance * floatcos( fAngle, degrees ), - Float: finalY = fDistance * floatsin( -fAngle, degrees ), - Float: finalZ = z - Z - ; - - // Get model size - GetVehicleModelInfo( GetVehicleModel( vehicleid ), VEHICLE_MODEL_INFO_SIZE, X, Y, Z ); - - // Half because we're using pretty much the radius, not circumference (way to look at it) - X /= 2.0, Y /= 2.0; - - if ( floatabs( finalX ) > X + 0.35 ) { - SendServerMessage( playerid, "The object breaches the X axis limit for this vehicle (%0.1f). It has been moved.", ( finalX = X + 0.35 ) ); - } - - if ( floatabs( finalY ) > Y + 0.35 ) { - SendServerMessage( playerid, "The object breaches the Y axis limit for this vehicle (%0.1f). It has been moved.", ( finalY = Y + 0.35 ) ); - } - - if ( floatabs( finalZ ) > Z + 0.35 ) { - SendServerMessage( playerid, "The object breaches the Z axis limit for this vehicle (%0.1f). It has been moved.", ( finalZ = Z + 0.35 ) ); - } - - // Readjust variables - g_vehiclePimpData[ ownerid ] [ v ] [ E_X ] [ slotid ] = finalX; - g_vehiclePimpData[ ownerid ] [ v ] [ E_Y ] [ slotid ] = finalY; - g_vehiclePimpData[ ownerid ] [ v ] [ E_Z ] [ slotid ] = finalZ; - g_vehiclePimpData[ ownerid ] [ v ] [ E_RX ] [ slotid ] = rx; - g_vehiclePimpData[ ownerid ] [ v ] [ E_RY ] [ slotid ] = ry; - g_vehiclePimpData[ ownerid ] [ v ] [ E_RZ ] [ slotid ] = rz - Angle; - - format( szNormalString, sizeof( szNormalString ), "UPDATE `COMPONENTS` SET `X`=%f,`Y`=%f,`Z`=%f,`RX`=%f,`RY`=%f,`RZ`=%f WHERE `ID`=%d", finalX, finalY, finalZ, rx, ry, rz - Angle, g_vehiclePimpData[ ownerid ] [ v ] [ E_SQL_ID ] [ slotid ] ); - mysql_single_query( szNormalString ); - - //DestroyDynamicObject( g_vehiclePimpData[ ownerid ] [ v ] [ E_OBJECT ] [ slotid ] ); - //g_vehiclePimpData[ ownerid ] [ v ] [ E_OBJECT ] [ slotid ] = CreateDynamicObject( g_vehiclePimpData[ ownerid ] [ v ] [ E_MODEL ] [ slotid ], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ); - AttachDynamicObjectToVehicle( g_vehiclePimpData[ ownerid ] [ v ] [ E_OBJECT ] [ slotid ], vehicleid, finalX, finalY, finalZ, rx, ry, rz - Angle ); - - GetVehiclePos( vehicleid, X, Y, Z ); - return SetVehiclePos( vehicleid, X, Y, Z + 0.05 ); - } - else if ( response == EDIT_RESPONSE_CANCEL ) - { - //DestroyDynamicObject( g_vehiclePimpData[ ownerid ] [ v ] [ E_OBJECT ] [ slotid ] ); - //g_vehiclePimpData[ ownerid ] [ v ] [ E_OBJECT ] [ slotid ] = CreateDynamicObject( g_vehiclePimpData[ ownerid ] [ v ] [ E_MODEL ] [ slotid ], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ); - AttachDynamicObjectToVehicle( g_vehiclePimpData[ ownerid ] [ v ] [ E_OBJECT ] [ slotid ], vehicleid, - g_vehiclePimpData[ ownerid ] [ v ] [ E_X ] [ slotid ], g_vehiclePimpData[ ownerid ] [ v ] [ E_Y ] [ slotid ], g_vehiclePimpData[ ownerid ] [ v ] [ E_Z ] [ slotid ], - g_vehiclePimpData[ ownerid ] [ v ] [ E_RX ] [ slotid ], g_vehiclePimpData[ ownerid ] [ v ] [ E_RY ] [ slotid ], g_vehiclePimpData[ ownerid ] [ v ] [ E_RZ ] [ slotid ] ); - - // Sync new position - if ( GetVehiclePos( vehicleid, X, Y, Z ) ) { - SetVehiclePos( vehicleid, X, Y, Z + 0.05 ); - } - } - return Y_HOOKS_BREAK_RETURN_1; - } - return 1; -} - hook OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] ) { if ( ( dialogid == DIALOG_COMPONENTS_CATEGORY ) && response ) { @@ -515,30 +433,35 @@ hook OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] ) } case 1: // Edit { - new - Float: X, Float: Y, Float: Z, Float: Angle; + if ( g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_DISABLED ] [ i ] ) + { + SendError( playerid, "This component is disabled, enable it first." ); + return ShowPlayerVehicleComponentMenu( playerid, ownerid, vehicleid, i ); + } - GetVehiclePos( g_vehicleData[ ownerid ] [ vehicleid ] [ E_VEHICLE_ID ], X, Y, Z ); - GetVehicleZAngle( g_vehicleData[ ownerid ] [ vehicleid ] [ E_VEHICLE_ID ], Angle ); - DestroyDynamicObject( g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_OBJECT ] [ i ] ); + SetPVarFloat( playerid, "component_pos_x", g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_X ] [ i ] ); + SetPVarFloat( playerid, "component_pos_y", g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_Y ] [ i ] ); + SetPVarFloat( playerid, "component_pos_z", g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_Z ] [ i ] ); + SetPVarFloat( playerid, "component_rot_x", g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_RX ] [ i ] ); + SetPVarFloat( playerid, "component_rot_y", g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_RY ] [ i ] ); + SetPVarFloat( playerid, "component_rot_z", g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_RZ ] [ i ] ); - // printf("Destroyed %d", g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_OBJECT ] [ i ] ); + ShowPlayerHelpDialog( + playerid, 0, + "~g~A or D -~w~ Move object~n~"\ + "~g~/px - ~w~X axis~n~\ + ~g~/py - ~w~Y axis~n~\ + ~g~/pz - ~w~Z axis~n~\ + ~g~/rx - ~w~X rotation~n~\ + ~g~/ry - ~w~Y rotation~n~\ + ~g~/rz - ~w~Z rotation~n~\ + ~g~Press Y - ~w~Save~n~\ + ~g~Press N - ~w~Cancel~n~\ + ~g~Hold SPACE - ~w~Faster edit" + ); - X += g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_X ] [ i ]; - Y += g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_Y ] [ i ]; - Z += g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_Z ] [ i ]; - - new - iObject = CreateDynamicObject( g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_MODEL ] [ i ], X, Y, Z, g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_RX ] [ i ], g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_RY ] [ i ], g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_RZ ] [ i ] - Angle, .worldid = GetVehicleVirtualWorld( g_vehicleData[ ownerid ] [ vehicleid ] [ E_VEHICLE_ID ] ) ); - - // printf("%d = CreateDynamicObject( %d, %f, %f, %f, %f, %f, %f )", iObject, g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_MODEL ] [ i ], X, Y, Z, g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_RX ] [ i ], g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_RY ] [ i ], g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_RZ ] [ i ] - Angle ); - - if ( ( g_vehiclePimpData[ ownerid ] [ vehicleid ] [ E_OBJECT ] [ i ] = iObject ) ) { - GetVehiclePos( g_vehicleData[ ownerid ] [ vehicleid ] [ E_VEHICLE_ID ], X, Y, Z ); - SetVehiclePos( g_vehicleData[ ownerid ] [ vehicleid ] [ E_VEHICLE_ID ], X, Y, Z + 0.05 ); - - EditDynamicObject( playerid, iObject ); - } + SendClientMessage( playerid, -1, ""COL_GREY"[GARAGE]"COL_WHITE" You have started editing the component." ); + SetTimerEx( "OnUpdateVehicleComponents", TIMER_UPDATE_RATE, false, "d", playerid ); } case 2: // sell { @@ -667,7 +590,151 @@ thread OnPlayerCreateVehicleComponent( playerid, vehicleid, slotid ) return 1; } +/* ** Callbacks ** */ +public OnUpdateVehicleComponents( playerid ) +{ + // just incase, to avoid bugs + if ( ! IsPlayerEditingVehicle( playerid ) || ! IsPlayerInGarage( playerid ) ) + return EndPlayerEditComponent( playerid ); + + new + ownerid = INVALID_PLAYER_ID, + vehicleid = GetPlayerVehicleID( playerid ), + slotid = GetPVarInt( playerid, "components_editing" ), + v = getVehicleSlotFromID( vehicleid, ownerid ) + ; + if ( v == -1 || playerid != ownerid || ! g_vehiclePimpData[ ownerid ] [ v ] [ E_CREATED ] [ slotid ] || g_vehiclePimpData[ ownerid ] [ v ] [ E_DISABLED ] [ slotid ] ) + return SendServerMessage( playerid, "Vehicle component editing was cancelled." ), EndPlayerEditComponent( playerid ); + + new + LR, KEYS, Float: VALUE = -1.0; + + GetPlayerKeys( playerid, KEYS, tmpVariable, LR ); + + if ( KEYS & KEY_YES ) + { + SendClientMessageFormatted( playerid, -1, ""COL_GREY"[GARAGE]"COL_WHITE" You have saved the component you were editing." ); + return EndPlayerEditComponent( ownerid, v, slotid, true ); + } + else if ( KEYS & KEY_NO ) + { + SendClientMessage( playerid, -1, ""COL_GREY"[GARAGE]"COL_WHITE" You have cancelled editing the component." ); + return EndPlayerEditComponent( ownerid, v, slotid ); + } + + if ( LR > 0 ) + VALUE = 0.01; + + else if ( LR < 0 ) + VALUE = -0.01; + + if ( VALUE != -1.0 ) + { + // hold space to edit components faster + if ( KEYS & KEY_HANDBRAKE ) + VALUE *= 3; + + new Float: tmpPosX = GetPVarFloat( playerid, "component_pos_x" ); + new Float: tmpPosY = GetPVarFloat( playerid, "component_pos_y" ); + new Float: tmpPosZ = GetPVarFloat( playerid, "component_pos_z" ); + new Float: tmpRotX = GetPVarFloat( playerid, "component_rot_x" ); + new Float: tmpRotY = GetPVarFloat( playerid, "component_rot_y" ); + new Float: tmpRotZ = GetPVarFloat( playerid, "component_rot_z" ); + + switch( GetPVarInt( playerid, "component_edit_type" ) ) + { + case COMPONENT_EDIT_TYPE_X: + SetPVarFloat( playerid, "component_pos_x", ( tmpPosX += VALUE ) ); + + case COMPONENT_EDIT_TYPE_Y: + SetPVarFloat( playerid, "component_pos_y", ( tmpPosY += VALUE ) ); + + case COMPONENT_EDIT_TYPE_Z: + SetPVarFloat( playerid, "component_pos_z", ( tmpPosZ += VALUE ) ); + + case COMPONENT_EDIT_TYPE_RX: + SetPVarFloat( playerid, "component_rot_x", ( tmpRotX += ( ( VALUE * 360 ) / 100 ) * 10 ) ); + + case COMPONENT_EDIT_TYPE_RY: + SetPVarFloat( playerid, "component_rot_y", ( tmpRotY += ( ( VALUE * 360 ) / 100 ) * 10 ) ); + + case COMPONENT_EDIT_TYPE_RZ: + SetPVarFloat( playerid, "component_rot_z", ( tmpRotZ += ( ( VALUE * 360 ) / 100 ) * 10 ) ); + + default: + return EndPlayerEditComponent( playerid, v, slotid ); + } + + // add movement limit of MAX_COMPONENT_OFFSET units + if ( tmpPosX > MAX_COMPONENT_OFFSET ) tmpPosX = MAX_COMPONENT_OFFSET; + else if ( tmpPosX < -MAX_COMPONENT_OFFSET ) tmpPosX = -MAX_COMPONENT_OFFSET; + + if ( tmpPosY > MAX_COMPONENT_OFFSET ) tmpPosY = MAX_COMPONENT_OFFSET; + else if ( tmpPosY < -MAX_COMPONENT_OFFSET ) tmpPosY = -MAX_COMPONENT_OFFSET; + + if ( tmpPosZ > MAX_COMPONENT_OFFSET ) tmpPosZ = MAX_COMPONENT_OFFSET; + else if ( tmpPosZ < -MAX_COMPONENT_OFFSET ) tmpPosZ = -MAX_COMPONENT_OFFSET; + + // attach object to vehicle + AttachDynamicObjectToVehicle( + g_vehiclePimpData[ ownerid ] [ v ] [ E_OBJECT ] [ slotid ], g_vehicleData[ ownerid ] [ v ] [ E_VEHICLE_ID ], + tmpPosX, tmpPosY, tmpPosZ, + tmpRotX, tmpRotY, tmpRotZ + ); + } + return SetTimerEx( "OnUpdateVehicleComponents", TIMER_UPDATE_RATE, false, "d", playerid ); +} + /* ** Functions ** */ +stock EndPlayerEditComponent( playerid, vehicleid = -1, slotid = -1, bool: save = false ) +{ + if ( save ) + { + g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_RX ] [ slotid ] = GetPVarFloat( playerid, "component_rot_x" ); + g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_RY ] [ slotid ] = GetPVarFloat( playerid, "component_rot_y" ); + g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_RZ ] [ slotid ] = GetPVarFloat( playerid, "component_rot_z" ); + + g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_X ] [ slotid ] = GetPVarFloat( playerid, "component_pos_x" ); + g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_Y ] [ slotid ] = GetPVarFloat( playerid, "component_pos_y" ); + g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_Z ] [ slotid ] = GetPVarFloat( playerid, "component_pos_z" ); + + format( + szNormalString, sizeof( szNormalString ), + "UPDATE `COMPONENTS` SET `X`=%f,`Y`=%f,`Z`=%f,`RX`=%f,`RY`=%f,`RZ`=%f WHERE `ID`=%d", + g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_X ] [ slotid ], g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_Y ] [ slotid ], g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_Z ] [ slotid ], + g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_RX ] [ slotid ], g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_RY ] [ slotid ], g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_RZ ] [ slotid ], + g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_SQL_ID ] [ slotid ] + ); + mysql_single_query( szNormalString ); + } + + DeletePVar( playerid, "components_editing" ); + DeletePVar( playerid, "component_edit_type" ); + DeletePVar( playerid, "component_pos_x" ); + DeletePVar( playerid, "component_pos_y" ); + DeletePVar( playerid, "component_pos_z" ); + DeletePVar( playerid, "component_rot_x" ); + DeletePVar( playerid, "component_rot_y" ); + DeletePVar( playerid, "component_rot_z" ); + + if ( vehicleid != -1 && slotid != -1 ) + { + AttachDynamicObjectToVehicle( + g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_OBJECT ] [ slotid ], + g_vehicleData[ playerid ] [ vehicleid ] [ E_VEHICLE_ID ], + g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_X ] [ slotid ], + g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_Y ] [ slotid ], + g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_Z ] [ slotid ], + g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_RX ] [ slotid ], + g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_RY ] [ slotid ], + g_vehiclePimpData[ playerid ] [ vehicleid ] [ E_RZ ] [ slotid ] + ); + } + + HidePlayerHelpDialog( playerid ); + return 1; +} + stock GetVehicleComponentSlot( playerid, vehicleid ) { for( new id = 0; id < MAX_PIMPS; id++ ) { @@ -715,8 +782,9 @@ stock ReplaceVehicleCustomComponents( ownerid, v, bool: recreate_obj = false ) { g_vehiclePimpData[ ownerid ] [ v ] [ E_X ] [ slotid ], g_vehiclePimpData[ ownerid ] [ v ] [ E_Y ] [ slotid ], g_vehiclePimpData[ ownerid ] [ v ] [ E_Z ] [ slotid ], g_vehiclePimpData[ ownerid ] [ v ] [ E_RX ] [ slotid ], g_vehiclePimpData[ ownerid ] [ v ] [ E_RY ] [ slotid ], g_vehiclePimpData[ ownerid ] [ v ] [ E_RZ ] [ slotid ] ); - // Update virtual world - Streamer_SetIntData( STREAMER_TYPE_OBJECT, g_vehiclePimpData[ ownerid ] [ v ] [ E_OBJECT ] [ slotid ], E_STREAMER_WORLD_ID, GetVehicleVirtualWorld( g_vehicleData[ ownerid ] [ v ] [ E_VEHICLE_ID ] ) ); + // Update virtual world - There was an error appearing here, so make sure object is valid. + if ( IsValidDynamicObject( g_vehiclePimpData[ ownerid ] [ v ] [ E_OBJECT ] [ slotid ] ) ) + Streamer_SetIntData( STREAMER_TYPE_OBJECT, g_vehiclePimpData[ ownerid ] [ v ] [ E_OBJECT ] [ slotid ], E_STREAMER_WORLD_ID, GetVehicleVirtualWorld( g_vehicleData[ ownerid ] [ v ] [ E_VEHICLE_ID ] ) ); } } @@ -773,3 +841,56 @@ hook OnPlayerEndModelPreview( playerid, handleid ) } return 1; } + +/* ** Commands ** */ +CMD:px( playerid, params[ ] ) +{ + if ( ! IsPlayerEditingVehicle( playerid ) ) return SendError( playerid, "You're not editing a vehicle." ); + + SetPVarInt( playerid, "component_edit_type", COMPONENT_EDIT_TYPE_X ); + return SendClientMessageFormatted( playerid, -1, ""COL_GREY"[GARAGE]"COL_WHITE" You're now editing the X axis of the component." ); +} + +CMD:py( playerid, params[ ] ) +{ + if ( ! IsPlayerEditingVehicle( playerid ) ) return SendError( playerid, "You're not editing a vehicle." ); + + SetPVarInt( playerid, "component_edit_type", COMPONENT_EDIT_TYPE_Y ); + return SendClientMessageFormatted( playerid, -1, ""COL_GREY"[GARAGE]"COL_WHITE" You're now editing the Y axis of the component." ); +} + +CMD:pz( playerid, params[ ] ) +{ + if ( ! IsPlayerEditingVehicle( playerid ) ) return SendError( playerid, "You're not editing a vehicle." ); + + SetPVarInt( playerid, "component_edit_type", COMPONENT_EDIT_TYPE_Z ); + return SendClientMessageFormatted( playerid, -1, ""COL_GREY"[GARAGE]"COL_WHITE" You're now editing the Z axis of the component." ); +} + +CMD:rx( playerid, params[ ] ) +{ + if ( ! IsPlayerEditingVehicle( playerid ) ) return SendError( playerid, "You're not editing a vehicle." ); + + SetPVarInt( playerid, "component_edit_type", COMPONENT_EDIT_TYPE_RX ); + return SendClientMessageFormatted( playerid, -1, ""COL_GREY"[GARAGE]"COL_WHITE" You're now editing the X rotation of the component." ); +} + +CMD:ry( playerid, params[ ] ) +{ + if ( ! IsPlayerEditingVehicle( playerid ) ) return SendError( playerid, "You're not editing a vehicle." ); + + SetPVarInt( playerid, "component_edit_type", COMPONENT_EDIT_TYPE_RY ); + return SendClientMessageFormatted( playerid, -1, ""COL_GREY"[GARAGE]"COL_WHITE" You're now editing the Y rotation of the component." ); +} + +CMD:rz( playerid, params[ ] ) +{ + if ( ! IsPlayerEditingVehicle( playerid ) ) return SendError( playerid, "You're not editing a vehicle." ); + + SetPVarInt( playerid, "component_edit_type", COMPONENT_EDIT_TYPE_RZ ); + return SendClientMessageFormatted( playerid, -1, ""COL_GREY"[GARAGE]"COL_WHITE" You're now editing the Z rotation of the component." ); +} + +stock IsPlayerEditingVehicle( playerid ) { + return GetPVarType( playerid, "components_editing" ) != 0; +} \ No newline at end of file diff --git a/gamemodes/irresistible/cnr/features/visage/rewardspoints.pwn b/gamemodes/irresistible/cnr/features/visage/rewardspoints.pwn index 8ad61f6..3869303 100644 --- a/gamemodes/irresistible/cnr/features/visage/rewardspoints.pwn +++ b/gamemodes/irresistible/cnr/features/visage/rewardspoints.pwn @@ -13,6 +13,9 @@ #define CASINO_REWARDS_DIVISOR 10.0 // 1000 points becomes 1 point #define CASINO_REWARDS_COST_MP 1.0 // half of the price (since it costs (1/payout_percent) times more) +#define CASINO_POINTS_SELL_MINIMUM 10000 +#define CASINO_POINTS_SELL_VALUE 10.0 + /* ** Variables ** */ enum E_REWARDS_DATA { @@ -53,6 +56,11 @@ hook OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] ) if ( listitem >= sizeof( g_casinoRewardsShopItems ) ) { new rewards_item = listitem - sizeof( g_casinoRewardsShopItems ); + + if ( rewards_item >= sizeof( g_casinoRewardsItems ) ) { + return ShowPlayerSellMenu( playerid ); + } + new Float: rewards_points = g_casinoRewardsItems[ rewards_item ] [ E_POINTS ]; if ( p_CasinoRewardsPoints[ playerid ] < rewards_points ) @@ -142,6 +150,37 @@ hook OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] ) mysql_single_query( sprintf( "UPDATE `USERS` SET `CASINO_REWARDS` = %f WHERE `ID`=%d", p_CasinoRewardsPoints[ playerid ], p_AccountID[ playerid ] ) ); return 1; } + else if ( dialogid == DIALOG_CASINO_POINTS_MARKET ) + { + if ( ! response ) { + return ShowPlayerRewardsMenu( playerid ); + } + + new total_points = floatround( p_CasinoRewardsPoints[ playerid ], floatround_floor ); + new sell_amount = strval( inputtext ); + + if ( sell_amount < CASINO_POINTS_SELL_MINIMUM ) + { + SendError( playerid, "Minimum amount of Casino Points that you can sell is %s.", number_format( CASINO_POINTS_SELL_MINIMUM ) ); + return ShowPlayerSellMenu( playerid ); + } + else if ( sell_amount > total_points ) + { + SendError( playerid, "You do not have this much Casino Points." ); + return ShowPlayerSellMenu( playerid ); + } + else + { + new + credit = floatround( float( sell_amount ) * CASINO_POINTS_SELL_VALUE, floatround_floor ); + + GivePlayerCash( playerid, credit ); + p_CasinoRewardsPoints[ playerid ] -= float( sell_amount ); + SendGlobalMessage( -1, ""COL_GREY"[CASINO]{FFFFFF} %s(%d) has sold %s casino points for "COL_GOLD"%s"COL_WHITE"!", ReturnPlayerName( playerid ), playerid, points_format( sell_amount ), cash_format( credit ) ); + mysql_single_query( sprintf( "UPDATE `USERS` SET `CASINO_REWARDS` = %f WHERE `ID`=%d", p_CasinoRewardsPoints[ playerid ], p_AccountID[ playerid ] ) ); + } + return 1; + } return 1; } @@ -235,10 +274,27 @@ stock ShowPlayerRewardsMenu( playerid ) for ( new i = 0; i < sizeof( g_casinoRewardsItems ); i ++ ) { format( szString, sizeof( szString ), "%s%s\t \t"COL_GOLD"%s points\n", szString, g_casinoRewardsItems[ i ] [ E_NAME ], points_format( g_casinoRewardsItems[ i ] [ E_POINTS ] ) ); } + strcat( szString, ""COL_GREEN"Sell Your Points\t \t"COL_GREEN">>>" ); } return ShowPlayerDialog( playerid, DIALOG_CASINO_REWARDS, DIALOG_STYLE_TABLIST_HEADERS, "{FFFFFF}Casino Rewards Items", szString, "Buy", "Cancel" ); } +stock ShowPlayerSellMenu( playerid ) +{ + new value = floatround( p_CasinoRewardsPoints[ playerid ] * CASINO_POINTS_SELL_VALUE ); + + format( szBigString, sizeof( szBigString ), + ""COL_WHITE"Please input how much Casino Points you want to sell.\n\n"\ + "Exchange Rate is "COL_GOLD"1 "COL_WHITE"Casino Point for "COL_GOLD"%s\n\n"\ + ""COL_WHITE"You have "COL_GOLD"%s "COL_WHITE"Casino Points that can be sold for "COL_GOLD"%s", + cash_format( CASINO_POINTS_SELL_VALUE, .decimals = 0 ), + points_format( p_CasinoRewardsPoints[ playerid ] ), + cash_format( value, .decimals = 0 ) + ); + + return ShowPlayerDialog( playerid, DIALOG_CASINO_POINTS_MARKET, DIALOG_STYLE_INPUT, "{FFFFFF}Casino Points Market", szBigString, "Sell", "Back" ); +} + stock IsCasinoRewardsShopItem( E_SHOP_ITEMS: itemid ) { for ( new i = 0; i < sizeof( g_casinoRewardsShopItems ); i ++ ) if ( itemid == g_casinoRewardsShopItems[ i ] ) { return true; diff --git a/gamemodes/irresistible/cnr/features/visage/slot_machines.pwn b/gamemodes/irresistible/cnr/features/visage/slot_machines.pwn index adfe253..3f74d0d 100644 --- a/gamemodes/irresistible/cnr/features/visage/slot_machines.pwn +++ b/gamemodes/irresistible/cnr/features/visage/slot_machines.pwn @@ -248,6 +248,21 @@ hook OnPlayerDeath( playerid, killerid, reason ) return 1; } +/* ** Commands ** */ +CMD:jackpots( playerid, params[ ] ) +{ + format( szBigString, sizeof( szBigString ), "The Visage Casino\t"COL_GREEN"%s\n\ + 4 Dragons Casino\t"COL_GREEN"%s\n\ + Caligulas Casino\t"COL_GREEN"%s", + cash_format( g_casinoPoolData[ 2 ] [ E_POOL ] ), + cash_format( g_casinoPoolData[ 1 ] [ E_POOL ] ), + cash_format( g_casinoPoolData[ 0 ] [ E_POOL ] ) + ); + + ShowPlayerDialog( playerid, DIALOG_NULL, DIALOG_STYLE_TABLIST, ""COL_GOLD"Jackpots", szBigString, "Okay", "" ); + return 1; +} + /* ** Callbacks ** */ public OnPlayerUseSlotMachine( playerid, slotid, first_combo, second_combo, third_combo ) { diff --git a/gamemodes/irresistible/cnr/static/server_objects.pwn b/gamemodes/irresistible/cnr/static/server_objects.pwn index 9313de4..d85d80d 100644 --- a/gamemodes/irresistible/cnr/static/server_objects.pwn +++ b/gamemodes/irresistible/cnr/static/server_objects.pwn @@ -3672,9 +3672,9 @@ hook OnScriptInit( ) CreateDynamicObject( 19353, -1971.630371, 1345.444091, 4.487493, 0.000000, 0.000000, 132.000106 ); CreateDynamicObject( 19353, -1972.768188, 1342.837890, 4.487494, 0.000000, 0.000000, 0.300101 ); CreateDynamicObject( 19353, -1972.757202, 1340.717895, 4.487494, 0.000000, 0.000000, 0.300101 ); - SetDynamicObjectMaterialText( CreateDynamicObject( 3074, -1966.0687, 1345.0089, 3.1941, 0.0000, 0.0000, -78.5715 ), 0, "Solanum", 130, "Times New Roman", 18, 1, -1, 0, 1); + SetDynamicObjectMaterialText( CreateDynamicObject( 3074, -1966.0687, 1345.0089, 3.1941, 0.0000, 0.0000, -78.5715 ), 0, "Novic", 130, "Times New Roman", 18, 1, -1, 0, 1); SetDynamicObjectMaterialText( CreateDynamicObject( 3074, -1969.9720, 1341.4737, 3.1941, 0.0000, 0.0000, -16.3579 ), 0, "Hotel", 130, "Times New Roman", 18, 1, -1, 0, 1); - SetDynamicObjectMaterialText( CreateDynamicObject( 3074, -1968.2480, 1343.4796, 3.5041, 0.0000, 0.0000, -47.5979 ), 0, "de", 130, "Times New Roman", 24, 1, -1, 0, 1); + SetDynamicObjectMaterialText( CreateDynamicObject( 3074, -1968.2480, 1343.4796, 3.5041, 0.0000, 0.0000, -47.5979 ), 0, "da", 130, "Times New Roman", 24, 1, -1, 0, 1); // Freefall SetDynamicObjectMaterial( CreateDynamicObject( 19355, -1758.228759, 860.904357, 31.404382, 0.000000, 0.000000, 90.000000 ), 0, 9900, "pointysfe", "pointy_sfe", 0 ); diff --git a/gamemodes/sf-cnr.pwn b/gamemodes/sf-cnr.pwn index 3298fe4..5bc179d 100644 --- a/gamemodes/sf-cnr.pwn +++ b/gamemodes/sf-cnr.pwn @@ -538,6 +538,7 @@ public OnPlayerDisconnect( playerid, reason ) p_OwnedHouses [ playerid ] = 0; p_OwnedVehicles [ playerid ] = 0; p_ToggledViewPM { playerid } = false; + p_TogglePBChat { playerid } = false; p_VIPExpiretime [ playerid ] = 0; p_Kills [ playerid ] = 0; p_Deaths [ playerid ] = 0; @@ -727,19 +728,19 @@ public OnPlayerSpawn( playerid ) SpawnToPaintball( playerid, p_PaintBallArena{ playerid } ); return 1; } - + #if defined __cloudy_event_system else if ( IsPlayerInEvent( playerid ) ) { - if( ! EventSettingAllow( 0 ) && g_eventData[ EV_STARTED ] ) - { + if( ! EventSettingAllow( 0 ) && g_eventData[ EV_STARTED ] ) + { SetPlayerInEvent( playerid ); // respawns player in event. return 1; } else RemovePlayerFromEvent( playerid, true ); // changes the InEvent variable to false. } #endif - + if ( p_Class[ playerid ] == CLASS_CIVILIAN ) { if ( !p_JobSet{ playerid } ) @@ -850,7 +851,7 @@ public OnPlayerWeaponShot( playerid, weaponid, hittype, hitid, Float: fX, Float: #else if ( p_Class[ playerid ] == CLASS_POLICE && p_WantedLevel[ hitid ] > 2 ) #endif - { + { p_QuitToAvoidTimestamp[ hitid ] = g_iTime + 3; } @@ -1291,7 +1292,7 @@ public OnPlayerDeath( playerid, killerid, reason ) //DCC_SendChannelMessageFormatted( discordGeneralChan, "*%s(%d) has killed %s(%d) - %s!*", ReturnPlayerName( killerid ), killerid, ReturnPlayerName( playerid ), playerid, ReturnWeaponName( reason ) ); - if ( !IsPlayerAdminOnDuty( killerid ) ) + if ( !IsPlayerAdminOnDuty( killerid ) && ! IsPlayerInEvent( killerid ) ) { new killerGangId = p_GangID[ killerid ]; @@ -1439,7 +1440,7 @@ public OnPlayerDeath( playerid, killerid, reason ) DeletePVar( playerid, "used_cmd_kill" ); } - if ( ! IsPlayerInPaintBall( playerid ) && !p_LeftPaintball{ playerid } && !IsPlayerAdminOnDuty( playerid ) ) + if ( ! IsPlayerInPaintBall( playerid ) && !p_LeftPaintball{ playerid } && ! IsPlayerAdminOnDuty( playerid ) && ! IsPlayerInEvent( playerid ) ) { if ( playerGangId != INVALID_GANG_ID ) SaveGangData( playerGangId ), g_gangData[ playerGangId ] [ E_DEATHS ]++; @@ -5197,7 +5198,8 @@ public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] ) ""COL_GREY"/robstore{FFFFFF} - Displays the key to press in-order to rob a store.\n"\ ""COL_GREY"/pdjail{FFFFFF} - Displays the time until jail cells are available for raiding.\n"\ ""COL_GREY"/banks{FFFFFF} - Displays the time until certain banks are available for robbing.\n" ); - strcat( szCMDS, ""COL_GREY"/stoprob{FFFFFF} - Stops your current robbery.\n"\ + strcat( szCMDS, ""COL_GREY"/jackpots{FFFFFF} - Displays current jackpots in all casinos.\n"\ + ""COL_GREY"/stoprob{FFFFFF} - Stops your current robbery.\n"\ ""COL_GREY"/job{FFFFFF} - Shows your job.\n"\ ""COL_GREY"/911{FFFFFF} - Calls the emergency services.\n"\ ""COL_GREY"/placehit{FFFFFF} - Places a hit on a specified player.\n"\ @@ -5295,6 +5297,8 @@ public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] ) strcat( szCMDS, ""COL_GREY"/labelinfo{FFFFFF} - Displays your label text with the 32 character limit.\n"\ ""COL_GREY"/radio{FFFFFF} - Shows the list of radio stations you can listen to.\n"\ ""COL_GREY"/stopradio{FFFFFF} - Stops the radio from playing.\n"\ + ""COL_GREY"/boombox{FFFFFF} - Places a boombox at your position which plays music in small area.\n"\ + ""COL_GREY"/colors(/colours){FFFFFF} - Shows the list of all available colours in-game.\n"\ ""COL_GREY"/moviemode{FFFFFF} - Toggles movie mode so you can record without all the text on the screen." ); ShowPlayerDialog( playerid, DIALOG_CMDS_REDIRECT, DIALOG_STYLE_MSGBOX, "{FFFFFF}Miscellaneous Commands", szCMDS, "Okay", "Back" ); } @@ -5415,8 +5419,9 @@ public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] ) format( szLargeString, 750, "%s"COL_GREY"Weed Seeds:"COL_WHITE" %d\n"\ ""COL_GREY"Fireworks:{FFFFFF} %d\n"\ - ""COL_GREY"Explosive Bullets:{FFFFFF} %d\n", - szLargeString, GetPlayerShopItemAmount( playerid, SHOP_ITEM_WEED_SEED ), p_Fireworks[ pID ], p_ExplosiveBullets[ pID ] ); + ""COL_GREY"Explosive Bullets:{FFFFFF} %d\n"\ + ""COL_GREY"Boombox:{FFFFFF} %s\n", + szLargeString, GetPlayerShopItemAmount( playerid, SHOP_ITEM_WEED_SEED ), p_Fireworks[ pID ], p_ExplosiveBullets[ pID ], GetPlayerBoombox( pID ) ? ( "Yes" ) : ( "No" ) ); ShowPlayerDialog( playerid, DIALOG_STATS_REDIRECT, DIALOG_STYLE_MSGBOX, "{FFFFFF}Item Statistics", szLargeString, "Okay", "Back" ); } diff --git a/scriptfiles/changelogs/cnr/_changelogs.cfg b/scriptfiles/changelogs/cnr/_changelogs.cfg index 20b7bd5..6bb8154 100644 --- a/scriptfiles/changelogs/cnr/_changelogs.cfg +++ b/scriptfiles/changelogs/cnr/_changelogs.cfg @@ -1,3 +1,5 @@ +v11.68.210 +v11.66.204 v11.65.200 v11.60.190 v11.57.188 diff --git a/scriptfiles/changelogs/cnr/v11.65.200.txt b/scriptfiles/changelogs/cnr/v11.65.200.txt index 858ea50..1a50fa4 100644 --- a/scriptfiles/changelogs/cnr/v11.65.200.txt +++ b/scriptfiles/changelogs/cnr/v11.65.200.txt @@ -2,8 +2,11 @@ (+) Adds CAC mode and new locations for the duel system (Stev). (+) Adds /givearmour for level 5s (Nemesis). (+) Adds roleplay level. Get benefits to minijobs by levelling it up. E.g. higher success mining. +(+) Adds a boombox system. Buy one at Supa Save and play music locally with your friends. +(+) Hotel da Novic rooms come now prefurnished. (/) Inactive accounts will get removed now after 1 year. (/) Oldschool class selection has been restored. (/) "/vip" has been reformatted (Night). (*) Fix global message spam with slot machines. -(*) Fix issue with features being shown and unavoidable on register. \ No newline at end of file +(*) Fix issue with features being shown and unavoidable on register. +(*) Meth now pays roleplay experience. \ No newline at end of file diff --git a/scriptfiles/changelogs/cnr/v11.66.204.txt b/scriptfiles/changelogs/cnr/v11.66.204.txt new file mode 100644 index 0000000..d39652d --- /dev/null +++ b/scriptfiles/changelogs/cnr/v11.66.204.txt @@ -0,0 +1,6 @@ +(+) Typing "/boombox play" again while your boombox is active will update the stream. +(+) "/jackpots" added. Shows the current casino slot machine jackpots. +(+) "/colors" added for people curious about vehicle colors. +(+) You can now sell your casino points for in-game money. +(/) Vehicle component placement overhaul. Accurately and easily place vehicle components! +(*) Kill death ratio is unaffected now during events. \ No newline at end of file diff --git a/scriptfiles/changelogs/cnr/v11.68.210.txt b/scriptfiles/changelogs/cnr/v11.68.210.txt new file mode 100644 index 0000000..7880e87 --- /dev/null +++ b/scriptfiles/changelogs/cnr/v11.68.210.txt @@ -0,0 +1,8 @@ +(+) New players are given $5,000 when they register. +(+) Police level over 75 will half the number of seconds you spend in jail. +(+) Success rate of bobby pins doubles every 25th police level. +(+) Bail is reduced up to a maximum of 80% with every police level. +(/) Payout for robberies in LS and LV has been reduced. +(/) Fireman minimum pay increased, maximum set to $5,000 though per fire. +(*) Adds map loading/unloading functionality to event module. +(*) All fires are remade after an in-game day. \ No newline at end of file