diff --git a/README.md b/README.md index b068241..db60cef 100644 --- a/README.md +++ b/README.md @@ -66,8 +66,6 @@ features: - [GetPlayerClothes](#GetPlayerClothes) - [RemovePlayerClothes](#RemovePlayerClothes) - [ShowPlayerMarker](#ShowPlayerMarker) - - [GetVehicleVelocity](#GetVehicleVelocity) - - [SetVehicleVelocity](#SetVehicleVelocity) - [SetVehicleModel](#SetVehicleModel) - In addition to these new native functions, gamemodes run in *amx* @@ -324,23 +322,6 @@ native ShowPlayerMarker ( playerid, show ); Shows or hides the blip of one specific player. -### GetVehicleVelocity - -```pawn -native GetVehicleVelocity ( vehicleid, &Float:vx, &Float:vy, &Float:vz ); -``` - -Returns the velocity of a vehicle along the x, y and z axes. No more -manual speed calculation with timers. - -### SetVehicleVelocity - -```pawn -native SetVehicleVelocity ( vehicleid, Float:vx, Float:vy, Float:vz ); -``` - -Sets the velocity of a vehicle. Make it jump or suddenly come to a halt. - ### SetVehicleModel ```pawn diff --git a/amx-deps/a_amx.inc b/amx-deps/a_amx.inc index 8b4a35c..f45a97d 100644 --- a/amx-deps/a_amx.inc +++ b/amx-deps/a_amx.inc @@ -20,6 +20,7 @@ forward OnBotConnect(botid, name[]); forward OnBotEnterVehicle(botid, vehicleid, seatid); forward OnBotExitVehicle(botid, vehicleid); forward OnBotDeath(botid, killerid, weaponid, bodypart); +forward OnBotStateChange(botid, newstate, oldstate); forward OnVehicleDamage(vehicleid, Float:loss); forward OnPlayerShootingPlayer(playerid, attackerid, bodypart, Float:loss); forward OnPlayerWeaponSwitch(playerid, previousWeaponID, currentWeaponID); @@ -90,8 +91,6 @@ native IsPlayerInWater(playerid); native IsPlayerOnFire(playerid); native IsPlayerDucked(playerid); native IsPlayerOnGround(playerid); -native GetPlayerFightingStyle(playerid); -native SetPlayerFightingStyle(playerid, styleid); native SetPlayerOnFire(playerid, fire); native GetPlayerStat(playerid, statid); native SetPlayerStat(playerid, statid, Float:value); @@ -106,15 +105,10 @@ native SetPlayerBlurLevel(playerid, level); native GetPlayerAlpha(playerid); native SetPlayerAlpha(playerid, alpha); native FadePlayerCamera(playerid, fadeIn, Float:timeToFade = 1.0, red = 0, green = 0, blue = 0); -native GetPlayerVehicleSeat(playerid); -native GetPlayerVelocity(playerid, &Float:X, &Float:Y, &Float:Z); -native SetPlayerVelocity(playerid, Float:X, Float:Y, Float:Z); native SetPlayerControlState(playerid, control[], stateid); // Vehicles native GetVehicleMaxPassengers(vehicleid); -native GetVehicleVelocity(vehicleid, &Float:vx, &Float:vy, &Float:vz); -native SetVehicleVelocity(vehicleid, Float:vx, Float:vy, Float:vz); native SetVehicleModel(vehicleid, model); native GetVehicleEngineState(vehicleid); native SetVehicleEngineState(vehicleid, stateid); @@ -131,7 +125,6 @@ native SetVehiclePanelState(vehicleid, panelid, stateid); native GetVehicleAlpha(vehicleid); native SetVehicleAlpha(vehicleid, alpha); native GetVehiclePaintjob(vehicleid); -native GetVehicleComponentInSlot(vehicleid, slot); native GetVehicleSirensOn(vehicleid); native SetVehicleSirensOn(vehicleid, stateid); native IsTrainDerailable(vehicleid); diff --git a/amx-deps/img/lua.png b/amx-deps/img/lua.png deleted file mode 100644 index aff9138..0000000 Binary files a/amx-deps/img/lua.png and /dev/null differ diff --git a/amx-deps/img/pawn.png b/amx-deps/img/pawn.png deleted file mode 100644 index d6bf0b7..0000000 Binary files a/amx-deps/img/pawn.png and /dev/null differ diff --git a/amx-deps/img/screen.png b/amx-deps/img/screen.png deleted file mode 100644 index 5485a37..0000000 Binary files a/amx-deps/img/screen.png and /dev/null differ diff --git a/amx-deps/img/style.css b/amx-deps/img/style.css deleted file mode 100644 index 81cfa7e..0000000 --- a/amx-deps/img/style.css +++ /dev/null @@ -1,137 +0,0 @@ -* { margin: 0; padding: 0; } - -body, th, td { - font-family: Verdana, sans-serif; - font-size: 10pt; - line-height: 14pt; -} - -body { - padding: 20px 20px 20px 40px; -} - -h1 { - font-family: "Trebuchet MS", sans-serif; - font-size: 18pt; - font-weight: bold; - border-bottom: 2px #EEE solid; - margin: 1em 0 0.8em -20px; - padding-bottom: 0.3em; -} - -h2, h3, h4 { - font-family: "Trebuchet MS", sans-serif; - font-weight: bold; -} - -h2 { - font-size: 14pt; - margin: 1.8em 0 0.5em -20px; -} - -h3 { - font-size: 12pt; - margin: 1.5em 0 0.5em; -} - -h4 { - font-size: 10pt; - margin: 1.5em 0 0.5em; -} - -p { - margin-bottom: 0.8em; -} - -a { - color: #2F6FAB; - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - -a img { - border: none; -} - -ul { - margin: 0 0 0.8em 16px; -} - -em { - font-weight: normal; - font-style: italic; -} - -table { - border-collapse: collapse; - margin: 0 15px 0.8em; -} - -th, td { - border: 1px #888 solid; - padding: 0.2em 1.5em 0.2em 0.5em; -} - -th { - background-color: #F0F0F0; -} - -code.block { - display: block; - white-space: pre; - margin: 0.8em 0 0.8em; - padding: 0.5em; - background-color: #F9F9F9; - border: 1px #2F6FAB solid; -} - -code.block[lang="pawn"] { - background: #FFF9EA url(pawn.png) right center no-repeat; - border-color: #E4CA8B; -} - -code.block[lang="lua"] { - background: #F7F7FF url(lua.png) right center no-repeat; - border-color: #7979BE; -} - -code.block[lang="console"] { - background-color: #444; - border: 1px #111 solid; - color: #EEE; - font-weight: bold; -} - -.rightscreen { - float: right; - margin: 0 0 1em 1em; - border: 1px #EEE solid; -} - -.br { - color: #2700C2; - font-weight: bold; -} - -.comment { - color: #008000; -} - -.kw1 { - color: #00F; -} - -.str { - color: #F00; -} - -.type { - color: #008000; -} - -.xmltag, .xmlprop { - color: #CC33FF; -} diff --git a/amx-deps/install.html b/amx-deps/install.html deleted file mode 100644 index 7a8ef2a..0000000 --- a/amx-deps/install.html +++ /dev/null @@ -1,404 +0,0 @@ - - - - MTA AMX compatibility layer - - - - -

amx - MTA AMX compatibility layer

- - - -

Introduction

-

amx is a software package that allows the execution of unmodified San Andreas: MultiPlayer 0.2.2 gamemodes, filterscripts and plugins on Multi Theft Auto: San Andreas 1.0 servers. It is open source, and a prebuilt binary for Windows is available.

- - - -

Licence

-

amx is free and open source. You are allowed to use and modify it free of charge in any way you please.

-

You are allowed to redistribute (modified) versions of amx, provided that you:

- - -

Compatibility

-

Compatibility is quite high:

- -

See Limitations for a list of features that are currently missing.

- -

Extra features

-

Apart from being compatible, amx also offers a number of extra features:

- - -

Installation

-

amx consists of a binary server module (.dll/.so) and a Lua resource. It will only run on MTA:SA 1.0 and later. Installation steps are lined out below.

-

Extracting

-

Extract the "mods" folder into your MTA "server" directory.

- -

Configuration

- - -

Migrating gamemodes, filterscripts, plugins from an SA-MP server

-

If you have an SA-MP server with a number of modes and scripts that you would like to host on your MTA server, you can easily migrate these with an automated tool. For Windows, a graphical click-through wizard is provided: amxdeploy.exe (.NET Framework 2.0 required). For Linux there is an interactive Perl script: amxdeploy.pl. Simply run the tool appropriate for your operating system and follow the instructions. The tool will:

- - -

Special note for Linux users infamiliar with Perl

-

amxdeploy.pl uses some modules that are not part of a standard Perl installation. These are:

- -

If you don't have these yet, you need to install them before you can run the script. To do this, open a terminal, switch to root and start cpan. If this is the first time you start cpan, it will walk you through some configuration (selection of download mirrors etc.). After it's set up, type install <modname> for each module to download and install it, for example: install XML::Twig.

- -

Once the modules are installed you should be able to run the script without problems: perl amxdeploy.pl.

- -

Maintenance of your MTA server

-

The migration tool is mainly meant for moving over files from an SA-MP server to a fresh amx install. To add SA-MP content to your MTA server at a later point, you probably want to take the manual route. Information about this is lined out below.

- - -

Finishing up

- - -

Running gamemodes and filterscripts

-

Before you can run sa-mp modes or filterscripts, you need to start the amx resource. Type this command in the server console or as admin in the ingame console:

- start amx -

Alternatively you can add it to the autostart list of your server, in mtaserver.conf. Once amx is started you can use the following commands to start and stop gamemodes and filterscripts: - start amx-name -stop amx-name -start amx-fs-name -stop amx-fs-name -

Alternatively, you can use the SA-MP style changemode and (un)loadfs commands. At most one gamemode can be running at any time, the number of running filterscripts is unlimited.

- -

Go ahead and try starting the example gamemode (amx-test) and filterscript (amx-fs-test).

- -

New Pawn scripting functions

-

Here follows a quick reference for the new Pawn native functions amx introduces. To use them, #include <a_amx> in Pawno.

- -

AddPlayerClothes

- native AddPlayerClothes ( playerid, type, index ); -

Applies the specified clothing to a player. See the clothes page for a list of valid type and index ID's. Note: this function only has a visible effect on players with the CJ skin.

- -

GetPlayerClothes

- native GetPlayerClothes ( playerid, type ); -

Returns the clothes index of the specified type which the player is currently wearing. See the clothes page for a list of valid type and index ID's. Note: the returned value is only relevant for players with the CJ skin.

- -

RemovePlayerClothes

- native RemovePlayerClothes ( playerid, type ); -

Removes the specified clothing from a player. See the clothes page for a list of valid type ID's. Note: this function only has a visible effect on players with the CJ skin.

- -

ShowPlayerMarker

- native ShowPlayerMarker ( playerid, show ); -

Shows or hides the blip of one specific player.

- -

GetVehicleVelocity

- native GetVehicleVelocity ( vehicleid, &Float:vx, &Float:vy, &Float:vz ); -

Returns the velocity of a vehicle along the x, y and z axes. No more manual speed calculation with timers.

- -

SetVehicleVelocity

- native SetVehicleVelocity ( vehicleid, Float:vx, Float:vy, Float:vz ); -

Sets the velocity of a vehicle. Make it jump or suddenly come to a halt.

- -

SetVehicleModel

- native SetVehicleModel ( vehicleid, model ) -

Changes the model of a vehicle; more practical than destroying and recreating it.

- -

lua

- native lua ( const fnName[], {Float,_}:... ); -

Calls a Lua function. The function must be defined in a .lua file in the same resource as the calling .amx, and must have been registered earlier with amxRegisterLuaPrototypes. See also Pawn-Lua interaction.

- -

Example:

- new playerid = lua("luaTestfn1", 1.3, "Test string"); - -

amxRegisterPawnPrototypes

- native amxRegisterPawnPrototypes ( const prototype[][] ); -

Registers prototypes for public functions that can be subsequently called from Lua scripts with pawn. The prototype list must be terminated with an empty string. See also Pawn-Lua interaction.

- -

This example code registers two functions. The first one takes a float and a string argument and returns a player ID, the second takes a player ID and returns nothing:

- new prototypes[][] = { - "p:pawnTestfn1", { "f", "s" }, - "pawnTestfn2", { "p" }, - "" -}; -amxRegisterPawnPrototypes(prototypes); - -

amxVersion

- native amxVersion ( &Float:ver ); -

Retrieves the amx version as a floating point number, e.g. 1.3.

- -

amxVersionString

- native amxVersionString ( buffer[], size ); -

Retrieves the complete amx version string.

- - -

New Lua scripting functions

-

A number of new Lua functions were also introduced.

- -

pawn

- variant pawn ( string fnName, ... ) -

Calls a Pawn function. The function must be public, must be defined in an .amx file in the same resource as the calling .lua, and must have been registered earlier with amxRegisterPawnPrototypes.

- -

Example:

- local player = pawn('pawnTestfn1', 0.5, 'Test string') - -

amxIsPluginLoaded

- bool amxIsPluginLoaded ( string pluginName ) -

Checks if a specific SA-MP server plugin is currently loaded. pluginName is the name of the plugin without a file extension.

- -

amxRegisterLuaPrototypes

- bool amxRegisterLuaPrototypes ( table prototypes ) -

Registers prototypes of Lua functions that can subsequently be called from a Pawn script with lua. See also Pawn-Lua interaction.

- -

The following example code registers two functions - the first one takes a float and a string argument and returns a player element, the second takes a player element and returns nothing:

- amxRegisterLuaPrototypes( - { - ['p:luaTestfn1'] = { 'f', 's' }, - ['luaTestfn2'] = { 'p' } - } -) - -

amxVersion

- float amxVersion ( ) -

Returns the amx version as a floating point number, for example 1.3.

- -

amxVersionString

- string amxVersionString ( ) -

Returns the complete amx version string.

- - -

New MTA events

-

amx also provides events for detecting when .amx files are loaded and unloaded.

- -

onAMXStart

- onAMXStart ( resource res, string amxName ) -

Triggered when an .amx file has just finished loading and initializing. The source of this event is the root element of the resource containing the .amx file. res is the resource pointer to this resource. amxName is the name of the .amx file minus the extension.

- -

You should only call pawn after this event has triggered; if you call it in the main body of a Lua script, .amx files won't have registered their functions yet.

- -

onAMXStop

- onAMXStop ( resource res, string amxName ) -

Triggered when an .amx file was unloaded. The source of this event is the root element of the resource containing the .amx file. res is the resource pointer to this resource. amxName is the name of the .amx file minus the extension.

- - -

Pawn-Lua interaction

-

amx allows developers to enrich their gamemodes and other scripts with Lua code, which is easier and more efficient to write than Pawn. To make this possible, a new Pawn function, lua was added to call Lua functions, and a Lua function called pawn correspondingly calls public Pawn functions.

- -

A resource that uses the interaction functions will contain both one or more .amx files (<amx/> in meta.xml) and serverside MTA scripts (<script/>). Both Pawn and Lua scripts can only call other-language scripts that are in the same resource.

- -

Registering prototypes

-

Before you can call a function with lua or pawn you need to define its prototype, which consists of the types of its arguments and return value. Each type corresponds to a single letter:

- - - - - - - - - - - - - - - -
LetterType
bboolean
iinteger
ffloating point
sstring
pplayer
vvehicle
oobject
upickup
- -

Pawn functions are registered with amxRegisterPawnPrototypes, Lua functions with amxRegisterLuaPrototypes. Both functions associate a number of function names with their argument types and (optionally) return type. To specify a return type, prepend the function name with the type letter followed by a colon (:), for example: f:testfn. If you do not specify a return type (i.e. only specify the name, testfn), "i" will be assumed.

-

See the syntax sections of the two registration functions for the precise syntax to use.

- -

Calling other-language functions

-

Use lua to call a Lua function from Pawn, and pawn to call a Pawn function from Lua. The functions have the same syntax: a string containing the name of the function, followed by the arguments to the function. amx takes care of any necessary argument and return value conversions: for example an .amx vehicle ID passed to lua will arrive in the Lua function as an MTA vehicle element, and vice versa (provided the correct prototype was registered for the Lua function).

- -

Passing arguments by reference

-

It is possible to pass arguments by-reference from Pawn to Lua - however this is not possible in the opposite direction.

-

To make an argument be passed by reference, modifications in both the Lua function's prototype and body are necessary. In the prototype, prepend the type letter with a &. In the function's code, write _[argname] instead of argname for reading and writing the argument (argname holds the memory address in the .amx of the argument).

- -

Limitations

-

Some limitations apply to cross-language calling.

- - -

Example

-

This example code demonstrates registering prototypes and calling other-language functions, with arguments passed by value and by reference.

- #include <a_samp> -#include <a_amx> - -main() { - new prototypes[][] = { - "p:testfn", { "p", "f", "s" }, - "" - }; - amxRegisterPawnPrototypes(prototypes); -} - -public testfn(playerid, Float:f, str[]) { - printf("pawn> testfn: %d %.1f %s", playerid, f, str); - return playerid; -} - -public OnGameModeInit() { - new vehicleid = CreateVehicle(415, 0.0, 0.0, 3.0, -90.0, 0, 1, 5000); - new vehicletype = 0; - // vehicletype is passed by reference - new success = lua("getVehicleType", vehicleid, vehicletype, "Test text from Pawn"); - if(success) - printf("pawn> Vehicle type: %d", vehicletype); - - SetGameModeText("Blank Script"); - AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); - return 1; -} - -public OnPlayerRequestClass(playerid, classid) { - SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); - SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); - SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); - return 1; -} - - - function getVehicleType(vehicle, pVehicleType, str) - print('lua> ' .. str) - print('lua> ' .. _[pVehicleType]) - local model = getElementModel(vehicle) - if model then - _[pVehicleType] = model - return true - else - return false - end -end - -addEventHandler('onAMXStart', root, - function() - -- Note that we are calling pawn() from the onAMXStart event instead of - -- in the main script body. Calling it from the main body would fail as - -- the Pawn functions have not yet been registered at that point. - local player = pawn('testfn', getRandomPlayer(), 0.8, 'Test string from Lua') - if player then - print('lua> ' .. getClientName(player)) - else - print('lua> No random player') - end - end -) - -amxRegisterLuaPrototypes({ - ['b:getVehicleType'] = { 'v', '&i', 's' } -}) - -

Sample output of this code:

- lua> Test text from Pawn -lua> 0 -pawn> Vehicle type: 415 -pawn> testfn: 1 0.8 Test string from Lua -lua> arc_ - -

Limitations

-

Even though amx offers a high level of compatibility, not everything is perfect. Below is a list of limitations that may or may not be addressed in later versions of amx and Multi Theft Auto. -

- -

Author and thanks

-

amx was developed by arc_. Special thanks go out to:

- - - diff --git a/amx-fs-test/testfs.pwn b/amx-fs-test/testfs.pwn index 12dee5a..e47fe9c 100644 --- a/amx-fs-test/testfs.pwn +++ b/amx-fs-test/testfs.pwn @@ -1,5 +1,4 @@ #include -#include main() { @@ -18,4 +17,3 @@ public OnFilterScriptExit() return 1; } - diff --git a/amx-test/pawno/include/a_actor.inc b/amx-test/pawno/include/a_actor.inc new file mode 100644 index 0000000..eda5712 --- /dev/null +++ b/amx-test/pawno/include/a_actor.inc @@ -0,0 +1,34 @@ +/* SA-MP Actor Functions + * + * (c) Copyright 2015, SA-MP Team + * + */ + +#if defined _actor_included + #endinput +#endif +#define _actor_included +#pragma library actors + +native CreateActor(modelid, Float:X, Float:Y, Float:Z, Float:Rotation); +native DestroyActor(actorid); + +native IsActorStreamedIn(actorid, forplayerid); + +native SetActorVirtualWorld(actorid, vworld); +native GetActorVirtualWorld(actorid); + +native ApplyActorAnimation(actorid, animlib[], animname[], Float:fDelta, loop, lockx, locky, freeze, time); +native ClearActorAnimations(actorid); + +native SetActorPos(actorid, Float:X, Float:Y, Float:Z); +native GetActorPos(actorid, &Float:X, &Float:Y, &Float:Z); +native SetActorFacingAngle(actorid, Float:ang); +native GetActorFacingAngle(actorid, &Float:ang); + +native SetActorHealth(actorid, Float:health); +native GetActorHealth(actorid, &Float:health); +native SetActorInvulnerable(actorid, invulnerable = true); +native IsActorInvulnerable(actorid); + +native IsValidActor(actorid); \ No newline at end of file diff --git a/amx-test/pawno/include/a_amx.inc b/amx-test/pawno/include/a_amx.inc index 5643da0..f45a97d 100644 --- a/amx-test/pawno/include/a_amx.inc +++ b/amx-test/pawno/include/a_amx.inc @@ -20,6 +20,7 @@ forward OnBotConnect(botid, name[]); forward OnBotEnterVehicle(botid, vehicleid, seatid); forward OnBotExitVehicle(botid, vehicleid); forward OnBotDeath(botid, killerid, weaponid, bodypart); +forward OnBotStateChange(botid, newstate, oldstate); forward OnVehicleDamage(vehicleid, Float:loss); forward OnPlayerShootingPlayer(playerid, attackerid, bodypart, Float:loss); forward OnPlayerWeaponSwitch(playerid, previousWeaponID, currentWeaponID); diff --git a/amx-test/pawno/include/a_objects.inc b/amx-test/pawno/include/a_objects.inc index f83bda6..0d93064 100644 --- a/amx-test/pawno/include/a_objects.inc +++ b/amx-test/pawno/include/a_objects.inc @@ -1,6 +1,6 @@ /* SA-MP Object Functions * - * (c) Copyright 2005-2012, SA-MP Team + * (c) Copyright 2005-2015, SA-MP Team * */ @@ -20,6 +20,8 @@ native SetObjectPos(objectid, Float:X, Float:Y, Float:Z); native GetObjectPos(objectid, &Float:X, &Float:Y, &Float:Z); native SetObjectRot(objectid, Float:RotX, Float:RotY, Float:RotZ); native GetObjectRot(objectid, &Float:RotX, &Float:RotY, &Float:RotZ); +native GetObjectModel(objectid); +native SetObjectNoCameraCol(objectid); native IsValidObject(objectid); native DestroyObject(objectid); native MoveObject(objectid, Float:X, Float:Y, Float:Z, Float:Speed, Float:RotX = -1000.0, Float:RotY = -1000.0, Float:RotZ = -1000.0); @@ -35,6 +37,8 @@ native SetPlayerObjectPos(playerid, objectid, Float:X, Float:Y, Float:Z); native GetPlayerObjectPos(playerid, objectid, &Float:X, &Float:Y, &Float:Z); native SetPlayerObjectRot(playerid, objectid, Float:RotX, Float:RotY, Float:RotZ); native GetPlayerObjectRot(playerid, objectid, &Float:RotX, &Float:RotY, &Float:RotZ); +native GetPlayerObjectModel(playerid, objectid); +native SetPlayerObjectNoCameraCol(playerid, objectid); native IsValidPlayerObject(playerid, objectid); native DestroyPlayerObject(playerid, objectid); native MovePlayerObject(playerid, objectid, Float:X, Float:Y, Float:Z, Float:Speed, Float:RotX = -1000.0, Float:RotY = -1000.0, Float:RotZ = -1000.0); @@ -65,4 +69,6 @@ native SetObjectMaterial(objectid, materialindex, modelid, txdname[], texturenam native SetPlayerObjectMaterial(playerid, objectid, materialindex, modelid, txdname[], texturename[], materialcolor=0); native SetObjectMaterialText(objectid, text[], materialindex = 0, materialsize = OBJECT_MATERIAL_SIZE_256x128, fontface[] = "Arial", fontsize = 24, bold = 1, fontcolor = 0xFFFFFFFF, backcolor = 0, textalignment = 0); -native SetPlayerObjectMaterialText(playerid, objectid, text[], materialindex = 0, materialsize = OBJECT_MATERIAL_SIZE_256x128, fontface[] = "Arial", fontsize = 24, bold = 1, fontcolor = 0xFFFFFFFF, backcolor = 0, textalignment = 0); \ No newline at end of file +native SetPlayerObjectMaterialText(playerid, objectid, text[], materialindex = 0, materialsize = OBJECT_MATERIAL_SIZE_256x128, fontface[] = "Arial", fontsize = 24, bold = 1, fontcolor = 0xFFFFFFFF, backcolor = 0, textalignment = 0); + +native SetObjectsDefaultCameraCol(disable); \ No newline at end of file diff --git a/amx-test/pawno/include/a_players.inc b/amx-test/pawno/include/a_players.inc index 719a0b6..953dbdb 100644 --- a/amx-test/pawno/include/a_players.inc +++ b/amx-test/pawno/include/a_players.inc @@ -1,6 +1,6 @@ /* SA-MP Player Functions * - * (c) Copyright 2005-2012, SA-MP Team + * (c) Copyright 2005-2015, SA-MP Team * */ @@ -78,6 +78,7 @@ native SetPlayerAmmo(playerid, weaponslot, ammo); native GetPlayerAmmo(playerid); native GetPlayerWeaponState(playerid); native GetPlayerTargetPlayer(playerid); +native GetPlayerTargetActor(playerid); native SetPlayerTeam(playerid, teamid); native GetPlayerTeam(playerid); native SetPlayerScore(playerid,score); @@ -121,6 +122,7 @@ native SetPlayerSkillLevel(playerid, skill, level); native GetPlayerSurfingVehicleID(playerid); native GetPlayerSurfingObjectID(playerid); native RemoveBuildingForPlayer(playerid, modelid, Float:fX, Float:fY, Float:fZ, Float:fRadius); +native GetPlayerLastShotVectors(playerid, &Float:fOriginX, &Float:fOriginY, &Float:fOriginZ, &Float:fHitPosX, &Float:fHitPosY, &Float:fHitPosZ); // Attached to bone objects @@ -175,7 +177,7 @@ native GetPVarType(playerid, varname[]); #define MAX_CHATBUBBLE_LENGTH 144 native SetPlayerChatBubble(playerid, text[], color, Float:drawdistance, expiretime); -// Player controls +// Player control native PutPlayerInVehicle(playerid, vehicleid, seatid); native GetPlayerVehicleID(playerid); native GetPlayerVehicleSeat(playerid); @@ -188,6 +190,7 @@ native GetPlayerAnimationIndex(playerid); // return the index of any running app native GetAnimationName(index, animlib[], len1, animname[], len2); // get the animation lib/name for the index native GetPlayerSpecialAction(playerid); native SetPlayerSpecialAction(playerid,actionid); +native DisableRemoteVehicleCollisions(playerid, disable); // Player world/map related native SetPlayerCheckpoint(playerid, Float:x, Float:y, Float:z, Float:size); @@ -219,6 +222,13 @@ native SetCameraBehindPlayer(playerid); native GetPlayerCameraPos(playerid, &Float:x, &Float:y, &Float:z); native GetPlayerCameraFrontVector(playerid, &Float:x, &Float:y, &Float:z); native GetPlayerCameraMode(playerid); +native EnablePlayerCameraTarget(playerid, enable); +native GetPlayerCameraTargetObject(playerid); +native GetPlayerCameraTargetVehicle(playerid); +native GetPlayerCameraTargetPlayer(playerid); +native GetPlayerCameraTargetActor(playerid); +native Float:GetPlayerCameraAspectRatio(playerid); +native Float:GetPlayerCameraZoom(playerid); native AttachCameraToObject(playerid, objectid); native AttachCameraToPlayerObject(playerid, playerobjectid); native InterpolateCameraPos(playerid, Float:FromX, Float:FromY, Float:FromZ, Float:ToX, Float:ToY, Float:ToZ, time, cut = CAMERA_CUT); @@ -257,4 +267,7 @@ native StartRecordingPlayerData(playerid, recordtype, recordname[]); native StopRecordingPlayerData(playerid); native SelectTextDraw(playerid, hovercolor); // enables the mouse so the player can select a textdraw -native CancelSelectTextDraw(playerid); // cancel textdraw selection with the mouse \ No newline at end of file +native CancelSelectTextDraw(playerid); // cancel textdraw selection with the mouse + +// Explosion +native CreateExplosionForPlayer(playerid, Float:X, Float:Y, Float:Z, type, Float:Radius); \ No newline at end of file diff --git a/amx-test/pawno/include/a_samp.inc b/amx-test/pawno/include/a_samp.inc index d54373a..be183e5 100644 --- a/amx-test/pawno/include/a_samp.inc +++ b/amx-test/pawno/include/a_samp.inc @@ -1,6 +1,6 @@ /* SA-MP Functions * - * (c) Copyright 2005-2012, SA-MP Team + * (c) Copyright 2005-2015, SA-MP Team * */ @@ -23,14 +23,17 @@ #include #include #include +#include #include // Limits and internal constants #define MAX_PLAYER_NAME (24) -#define MAX_PLAYERS (500) +#define MAX_PLAYERS (1000) #define MAX_VEHICLES (2000) +#define MAX_ACTORS (1000) #define INVALID_PLAYER_ID (0xFFFF) #define INVALID_VEHICLE_ID (0xFFFF) +#define INVALID_ACTOR_ID (0xFFFF) #define NO_TEAM (255) #define MAX_OBJECTS (1000) #define INVALID_OBJECT_ID (0xFFFF) @@ -58,7 +61,8 @@ native SendClientMessage(playerid, color, const message[]); native SendClientMessageToAll(color, const message[]); native SendPlayerMessageToPlayer(playerid, senderid, const message[]); native SendPlayerMessageToAll(senderid, const message[]); -native SendDeathMessage(killer,killee,weapon); +native SendDeathMessage(killer, killee, weapon); +native SendDeathMessageToPlayer(playerid, killer, killee, weapon); native GameTextForAll(const string[],time,style); native GameTextForPlayer(playerid,const string[],time,style); native SetTimer(funcname[], interval, repeating); @@ -68,10 +72,36 @@ native GetTickCount(); native GetMaxPlayers(); native CallRemoteFunction(const function[], const format[], {Float,_}:...); native CallLocalFunction(const function[], const format[], {Float,_}:...); +native Float:VectorSize(Float:x, Float:y, Float:z); native Float:asin(Float:value); native Float:acos(Float:value); native Float:atan(Float:value); native Float:atan2(Float:x, Float:y); +native GetPlayerPoolSize(); +native GetVehiclePoolSize(); +native GetActorPoolSize(); + +// Hash +native SHA256_PassHash(password[], salt[], ret_hash[], ret_hash_len); // SHA256 for password hashing + +// Server wide persistent variable system (SVars) +native SetSVarInt(varname[], int_value); +native GetSVarInt(varname[]); +native SetSVarString(varname[], string_value[]); +native GetSVarString(varname[], string_return[], len); +native SetSVarFloat(varname[], Float:float_value); +native Float:GetSVarFloat(varname[]); +native DeleteSVar(varname[]); + +// SVar enumeration +#define SERVER_VARTYPE_NONE 0 +#define SERVER_VARTYPE_INT 1 +#define SERVER_VARTYPE_STRING 2 +#define SERVER_VARTYPE_FLOAT 3 + +native GetSVarsUpperIndex(); +native GetSVarNameAtIndex(index, ret_varname[], ret_len); +native GetSVarType(varname[]); // Game native SetGameModeText(const string[]); @@ -79,7 +109,7 @@ native SetTeamCount(count); native AddPlayerClass(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo); native AddPlayerClassEx(teamid, modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo); native AddStaticVehicle(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2); -native AddStaticVehicleEx(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2, respawn_delay); +native AddStaticVehicleEx(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2, respawn_delay, addsiren=0); native AddStaticPickup(model, type, Float:X, Float:Y, Float:Z, virtualworld = 0); native CreatePickup(model, type, Float:X, Float:Y, Float:Z, virtualworld = 0); native DestroyPickup(pickup); @@ -114,12 +144,32 @@ native Kick(playerid); native Ban(playerid); native BanEx(playerid, const reason[]); native SendRconCommand(command[]); -native GetServerVarAsString(const varname[], buffer[], len); -native GetServerVarAsInt(const varname[]); -native GetServerVarAsBool(const varname[]); native GetPlayerNetworkStats(playerid, retstr[], retstr_size); native GetNetworkStats(retstr[], retstr_size); native GetPlayerVersion(playerid, const version[], len); // Returns the SA-MP client revision as reported by the player +native BlockIpAddress(ip_address[], timems); +native UnBlockIpAddress(ip_address[]); + +// Deprecated: +native GetServerVarAsString(const varname[], buffer[], len); +native GetServerVarAsInt(const varname[]); +native GetServerVarAsBool(const varname[]); +// These are the same 3 functions as above although they avoid the name ambiguity/conflict with the SVar system. +native GetConsoleVarAsString(const varname[], buffer[], len); +native GetConsoleVarAsInt(const varname[]); +native GetConsoleVarAsBool(const varname[]); + +// Extended admin network stats +native GetServerTickRate(); +native NetStats_GetConnectedTime(playerid); +native NetStats_MessagesReceived(playerid); +native NetStats_BytesReceived(playerid); +native NetStats_MessagesSent(playerid); +native NetStats_BytesSent(playerid); +native NetStats_MessagesRecvPerSecond(playerid); +native Float:NetStats_PacketLossPercent(playerid); +native NetStats_ConnectionStatus(playerid); +native NetStats_GetIpPort(playerid, ip_port[], ip_port_len); // Menu native Menu:CreateMenu(const title[], columns, Float:x, Float:y, Float:col1width, Float:col2width = 0.0); @@ -185,10 +235,12 @@ native DeletePlayer3DTextLabel(playerid, PlayerText3D:id); native UpdatePlayer3DTextLabelText(playerid, PlayerText3D:id, color, text[]); // Player GUI Dialog -#define DIALOG_STYLE_MSGBOX 0 -#define DIALOG_STYLE_INPUT 1 -#define DIALOG_STYLE_LIST 2 -#define DIALOG_STYLE_PASSWORD 3 +#define DIALOG_STYLE_MSGBOX 0 +#define DIALOG_STYLE_INPUT 1 +#define DIALOG_STYLE_LIST 2 +#define DIALOG_STYLE_PASSWORD 3 +#define DIALOG_STYLE_TABLIST 4 +#define DIALOG_STYLE_TABLIST_HEADERS 5 native ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[]); @@ -319,7 +371,7 @@ forward OnEnterExitModShop(playerid, enterexit, interiorid); forward OnVehiclePaintjob(playerid, vehicleid, paintjobid); forward OnVehicleRespray(playerid, vehicleid, color1, color2); forward OnVehicleDamageStatusUpdate(vehicleid, playerid); -forward OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat); +forward OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z, Float:vel_x, Float:vel_y, Float:vel_z); forward OnPlayerSelectedMenuRow(playerid, row); forward OnPlayerExitedMenu(playerid); forward OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid); @@ -330,12 +382,18 @@ forward OnPlayerStreamIn(playerid, forplayerid); forward OnPlayerStreamOut(playerid, forplayerid); forward OnVehicleStreamIn(vehicleid, forplayerid); forward OnVehicleStreamOut(vehicleid, forplayerid); +forward OnActorStreamIn(actorid, forplayerid); +forward OnActorStreamOut(actorid, forplayerid); forward OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]); -forward OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid); -forward OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid); +forward OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart); +forward OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart); +forward OnPlayerGiveDamageActor(playerid, damaged_actorid, Float:amount, weaponid, bodypart); forward OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ); forward OnPlayerClickTextDraw(playerid, Text:clickedid); forward OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid); +forward OnIncomingConnection(playerid, ip_address[], port); +forward OnTrailerUpdate(playerid, vehicleid); +forward OnVehicleSirenStateChange(playerid, vehicleid, newstate); #define CLICK_SOURCE_SCOREBOARD 0 forward OnPlayerClickPlayer(playerid, clickedplayerid, source); @@ -357,4 +415,12 @@ Float:fScaleX, Float:fScaleY, Float:fScaleZ ); forward OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ); +#define BULLET_HIT_TYPE_NONE 0 +#define BULLET_HIT_TYPE_PLAYER 1 +#define BULLET_HIT_TYPE_VEHICLE 2 +#define BULLET_HIT_TYPE_OBJECT 3 +#define BULLET_HIT_TYPE_PLAYER_OBJECT 4 + +forward OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ); + // -------------------------------------------------- \ No newline at end of file diff --git a/amx-test/pawno/include/a_sampdb.inc b/amx-test/pawno/include/a_sampdb.inc index acb1e56..00f0366 100644 --- a/amx-test/pawno/include/a_sampdb.inc +++ b/amx-test/pawno/include/a_sampdb.inc @@ -1,8 +1,7 @@ - /* SA-MP Native SQLite Database Functions - * - * (c) Copyright 2007, SA-MP Team - * - */ +// SA-MP Native SQLite Database Functions +// +// (c) Copyright 2015, SA-MP Team +// #if defined _sampdb_included #endinput @@ -12,11 +11,20 @@ native DB:db_open(name[]); native db_close(DB:db); -native DBResult:db_query(DB:db,query[]); +native DBResult:db_query(DB:db, query[]); native db_free_result(DBResult:dbresult); native db_num_rows(DBResult:dbresult); native db_next_row(DBResult:dbresult); native db_num_fields(DBResult:dbresult); native db_field_name(DBResult:dbresult, field, result[], maxlength); native db_get_field(DBResult:dbresult, field, result[], maxlength); -native db_get_field_assoc(DBResult:dbresult, const field[], result[], maxlength); \ No newline at end of file +native db_get_field_int(DBResult:result, field = 0); +native Float:db_get_field_float(DBResult:result, field = 0); +native db_get_field_assoc(DBResult:dbresult, const field[], result[], maxlength); +native db_get_field_assoc_int(DBResult:result, const field[]); +native Float:db_get_field_assoc_float(DBResult:result, const field[]); +native db_get_mem_handle(DB:db); +native db_get_result_mem_handle(DBResult:result); + +native db_debug_openfiles(); +native db_debug_openresults(); \ No newline at end of file diff --git a/amx-test/pawno/include/a_vehicles.inc b/amx-test/pawno/include/a_vehicles.inc index ebac749..267ff45 100644 --- a/amx-test/pawno/include/a_vehicles.inc +++ b/amx-test/pawno/include/a_vehicles.inc @@ -30,7 +30,7 @@ #define VEHICLE_PARAMS_ON 1 // Vehicle -native CreateVehicle(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay); +native CreateVehicle(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay, addsiren=0); native DestroyVehicle(vehicleid); native IsVehicleStreamedIn(vehicleid, forplayerid); native GetVehiclePos(vehicleid, &Float:x, &Float:y, &Float:z); @@ -43,6 +43,11 @@ native SetVehicleParamsForPlayer(vehicleid,playerid,objective,doorslocked); native ManualVehicleEngineAndLights(); native SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); native GetVehicleParamsEx(vehicleid, &engine, &lights, &alarm, &doors, &bonnet, &boot, &objective); +native GetVehicleParamsSirenState(vehicleid); +native SetVehicleParamsCarDoors(vehicleid, driver, passenger, backleft, backright); +native GetVehicleParamsCarDoors(vehicleid, &driver, &passenger, &backleft, &backright); +native SetVehicleParamsCarWindows(vehicleid, driver, passenger, backleft, backright); +native GetVehicleParamsCarWindows(vehicleid, &driver, &passenger, &backleft, &backright); native SetVehicleToRespawn(vehicleid); native LinkVehicleToInterior(vehicleid, interiorid); native AddVehicleComponent(vehicleid, componentid); diff --git a/amx-test/pawno/include/streamer.inc b/amx-test/pawno/include/streamer.inc deleted file mode 100644 index ae6d87b..0000000 --- a/amx-test/pawno/include/streamer.inc +++ /dev/null @@ -1,512 +0,0 @@ -/* - * Copyright (C) 2012 Incognito - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -// Definitions - -#define STREAMER_TYPE_OBJECT (0) -#define STREAMER_TYPE_PICKUP (1) -#define STREAMER_TYPE_CP (2) -#define STREAMER_TYPE_RACE_CP (3) -#define STREAMER_TYPE_MAP_ICON (4) -#define STREAMER_TYPE_3D_TEXT_LABEL (5) -#define STREAMER_TYPE_AREA (6) - -#define STREAMER_AREA_TYPE_CIRCLE (0) -#define STREAMER_AREA_TYPE_RECTANGLE (1) -#define STREAMER_AREA_TYPE_SPHERE (2) -#define STREAMER_AREA_TYPE_CUBE (3) -#define STREAMER_AREA_TYPE_POLYGON (4) - -#define STREAMER_OBJECT_TYPE_GLOBAL (0) -#define STREAMER_OBJECT_TYPE_PLAYER (1) -#define STREAMER_OBJECT_TYPE_DYNAMIC (2) - -#if !defined FLOAT_INFINITY - #define FLOAT_INFINITY (Float:0x7F800000) -#endif - -// Include File Version - -public Streamer_IncludeFileVersion = 0x26105; - -#pragma unused Streamer_IncludeFileVersion - -// Enumerator - -enum -{ - E_STREAMER_ATTACHED_OBJECT, - E_STREAMER_ATTACHED_PLAYER, - E_STREAMER_ATTACHED_VEHICLE, - E_STREAMER_ATTACH_OFFSET_X, - E_STREAMER_ATTACH_OFFSET_Y, - E_STREAMER_ATTACH_OFFSET_Z, - E_STREAMER_ATTACH_R_X, - E_STREAMER_ATTACH_R_Y, - E_STREAMER_ATTACH_R_Z, - E_STREAMER_ATTACH_X, - E_STREAMER_ATTACH_Y, - E_STREAMER_ATTACH_Z, - E_STREAMER_COLOR, - E_STREAMER_DRAW_DISTANCE, - E_STREAMER_EXTRA_ID, - E_STREAMER_INTERIOR_ID, - E_STREAMER_MAX_X, - E_STREAMER_MAX_Y, - E_STREAMER_MAX_Z, - E_STREAMER_MIN_X, - E_STREAMER_MIN_Y, - E_STREAMER_MIN_Z, - E_STREAMER_MODEL_ID, - E_STREAMER_MOVE_R_X, - E_STREAMER_MOVE_R_Y, - E_STREAMER_MOVE_R_Z, - E_STREAMER_MOVE_SPEED, - E_STREAMER_MOVE_X, - E_STREAMER_MOVE_Y, - E_STREAMER_MOVE_Z, - E_STREAMER_NEXT_X, - E_STREAMER_NEXT_Y, - E_STREAMER_NEXT_Z, - E_STREAMER_PLAYER_ID, - E_STREAMER_R_X, - E_STREAMER_R_Y, - E_STREAMER_R_Z, - E_STREAMER_SIZE, - E_STREAMER_STREAM_DISTANCE, - E_STREAMER_STYLE, - E_STREAMER_TEST_LOS, - E_STREAMER_TYPE, - E_STREAMER_WORLD_ID, - E_STREAMER_X, - E_STREAMER_Y, - E_STREAMER_Z -} - -// Natives (Settings) - -native Streamer_TickRate(rate); -native Streamer_MaxItems(type, items); -native Streamer_VisibleItems(type, items); -native Streamer_CellDistance(Float:distance); -native Streamer_CellSize(Float:size); - -// Natives (Updates) - -native Streamer_ProcessActiveItems(); -native Streamer_ToggleIdleUpdate(playerid, toggle); -native Streamer_ToggleItemUpdate(playerid, type, toggle); -native Streamer_Update(playerid); -native Streamer_UpdateEx(playerid, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1); - -// Natives (Data Manipulation) - -native Streamer_GetFloatData(type, {Text3D,_}:id, data, &Float:result); -native Streamer_SetFloatData(type, {Text3D,_}:id, data, Float:value); -native Streamer_GetIntData(type, {Text3D,_}:id, data); -native Streamer_SetIntData(type, {Text3D,_}:id, data, value); -native Streamer_GetArrayData(type, {Text3D,_}:id, data, dest[], maxlength = sizeof dest); -native Streamer_SetArrayData(type, {Text3D,_}:id, data, const src[], maxlength = sizeof src); -native Streamer_IsInArrayData(type, {Text3D,_}:id, data, value); -native Streamer_AppendArrayData(type, {Text3D,_}:id, data, value); -native Streamer_RemoveArrayData(type, {Text3D,_}:id, data, value); -native Streamer_GetUpperBound(type); - -// Natives (Miscellaneous) - -native Streamer_GetDistanceToItem(Float:x, Float:y, Float:z, type, {Text3D,_}:id, &Float:distance); -native Streamer_IsItemVisible(playerid, type, {Text3D,_}:id); -native Streamer_DestroyAllVisibleItems(playerid, type); -native Streamer_CountVisibleItems(playerid, type); - -// Natives (Objects) - -native CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 300.0); -native DestroyDynamicObject(objectid); -native IsValidDynamicObject(objectid); -native SetDynamicObjectPos(objectid, Float:x, Float:y, Float:z); -native GetDynamicObjectPos(objectid, &Float:x, &Float:y, &Float:z); -native SetDynamicObjectRot(objectid, Float:rx, Float:ry, Float:rz); -native GetDynamicObjectRot(objectid, &Float:rx, &Float:ry, &Float:rz); -native MoveDynamicObject(objectid, Float:x, Float:y, Float:z, Float:speed, Float:rx = -1000.0, Float:ry = -1000.0, Float:rz = -1000.0); -native StopDynamicObject(objectid); -native IsDynamicObjectMoving(objectid); -native AttachCameraToDynamicObject(playerid, objectid); -native AttachDynamicObjectToVehicle(objectid, vehicleid, Float:offsetx, Float:offsety, Float:offsetz, Float:rx, Float:ry, Float:rz); -native EditDynamicObject(playerid, objectid); -native GetDynamicObjectMaterial(objectid, materialindex, &modelid, txdname[], texturename[], &materialcolor, maxtxdname = sizeof txdname, maxtexturename = sizeof texturename); -native SetDynamicObjectMaterial(objectid, materialindex, modelid, const txdname[], const texturename[], materialcolor = 0); -native GetDynamicObjectMaterialText(objectid, materialindex, text[], &materialsize, fontface[], &fontsize, &bold, &fontcolor, &backcolor, &textalignment, maxtext = sizeof text, maxfontface = sizeof fontface); -native SetDynamicObjectMaterialText(objectid, materialindex, const text[], materialsize = OBJECT_MATERIAL_SIZE_256x128, const fontface[] = "Arial", fontsize = 24, bold = 1, fontcolor = 0xFFFFFFFF, backcolor = 0, textalignment = 0); -native DestroyAllDynamicObjects(); -native CountDynamicObjects(); - -// Natives (Pickups) - -native CreateDynamicPickup(modelid, type, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0); -native DestroyDynamicPickup(pickupid); -native IsValidDynamicPickup(pickupid); -native DestroyAllDynamicPickups(); -native CountDynamicPickups(); - -// Natives (Checkpoints) - -native CreateDynamicCP(Float:x, Float:y, Float:z, Float:size, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0); -native DestroyDynamicCP(checkpointid); -native IsValidDynamicCP(checkpointid); -native TogglePlayerDynamicCP(playerid, checkpointid, toggle); -native TogglePlayerAllDynamicCPs(playerid, toggle); -native IsPlayerInDynamicCP(playerid, checkpointid); -native GetPlayerVisibleDynamicCP(playerid); -native DestroyAllDynamicCPs(); -native CountDynamicCPs(); - -// Natives (Race Checkpoints) - -native CreateDynamicRaceCP(type, Float:x, Float:y, Float:z, Float:nextx, Float:nexty, Float:nextz, Float:size, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0); -native DestroyDynamicRaceCP(checkpointid); -native IsValidDynamicRaceCP(checkpointid); -native TogglePlayerDynamicRaceCP(playerid, checkpointid, toggle); -native TogglePlayerAllDynamicRaceCPs(playerid, toggle); -native IsPlayerInDynamicRaceCP(playerid, checkpointid); -native GetPlayerVisibleDynamicRaceCP(playerid); -native DestroyAllDynamicRaceCPs(); -native CountDynamicRaceCPs(); - -// Natives (Map Icons) - -native CreateDynamicMapIcon(Float:x, Float:y, Float:z, type, color, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0); -native DestroyDynamicMapIcon(iconid); -native IsValidDynamicMapIcon(iconid); -native DestroyAllDynamicMapIcons(); -native CountDynamicMapIcons(); - -// Natives (3D Text Labels) - -native Text3D:CreateDynamic3DTextLabel(const text[], color, Float:x, Float:y, Float:z, Float:drawdistance, attachedplayer = INVALID_PLAYER_ID, attachedvehicle = INVALID_VEHICLE_ID, testlos = 0, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0); -native DestroyDynamic3DTextLabel(Text3D:id); -native IsValidDynamic3DTextLabel(Text3D:id); -native GetDynamic3DTextLabelText(Text3D:id, text[], maxlength = sizeof text); -native UpdateDynamic3DTextLabelText(Text3D:id, color, const text[]); -native DestroyAllDynamic3DTextLabels(); -native CountDynamic3DTextLabels(); - -// Natives (Areas) - -native CreateDynamicCircle(Float:x, Float:y, Float:size, worldid = -1, interiorid = -1, playerid = -1); -native CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1); -native CreateDynamicSphere(Float:x, Float:y, Float:z, Float:size, worldid = -1, interiorid = -1, playerid = -1); -native CreateDynamicCube(Float:minx, Float:miny, Float:minz, Float:maxx, Float:maxy, Float:maxz, worldid = -1, interiorid = -1, playerid = -1); -native CreateDynamicPolygon(Float:points[], Float:minz = -FLOAT_INFINITY, Float:maxz = FLOAT_INFINITY, maxpoints = sizeof points, worldid = -1, interiorid = -1, playerid = -1); -native DestroyDynamicArea(areaid); -native IsValidDynamicArea(areaid); -native TogglePlayerDynamicArea(playerid, areaid, toggle); -native TogglePlayerAllDynamicAreas(playerid, toggle); -native IsPlayerInDynamicArea(playerid, areaid); -native IsPlayerInAnyDynamicArea(playerid); -native IsPointInDynamicArea(areaid, Float:x, Float:y, Float:z); -native IsPointInAnyDynamicArea(Float:x, Float:y, Float:z); -native AttachDynamicAreaToObject(areaid, objectid, type = STREAMER_OBJECT_TYPE_DYNAMIC, playerid = INVALID_PLAYER_ID); -native AttachDynamicAreaToPlayer(areaid, playerid); -native AttachDynamicAreaToVehicle(areaid, vehicleid); -native DestroyAllDynamicAreas(); -native CountDynamicAreas(); - -// Natives (Extended) - -native CreateDynamicObjectEx(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, Float:drawdistance = 0.0, Float:streamdistance = 200.0, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players); -native CreateDynamicPickupEx(modelid, type, Float:x, Float:y, Float:z, Float:streamdistance = 100.0, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players); -native CreateDynamicCPEx(Float:x, Float:y, Float:z, Float:size, Float:streamdistance = 100.0, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players); -native CreateDynamicRaceCPEx(type, Float:x, Float:y, Float:z, Float:nextx, Float:nexty, Float:nextz, Float:size, Float:streamdistance = 100.0, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players); -native CreateDynamicMapIconEx(Float:x, Float:y, Float:z, type, color, style = MAPICON_LOCAL, Float:streamdistance = 100.0, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players); -native Text3D:CreateDynamic3DTextLabelEx(const text[], color, Float:x, Float:y, Float:z, Float:drawdistance, attachedplayer = INVALID_PLAYER_ID, attachedvehicle = INVALID_VEHICLE_ID, testlos = 0, Float:streamdistance = 100.0, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players); -native CreateDynamicCircleEx(Float:x, Float:y, Float:size, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players); -native CreateDynamicRectangleEx(Float:minx, Float:miny, Float:maxx, Float:maxy, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players); -native CreateDynamicSphereEx(Float:x, Float:y, Float:z, Float:size, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players); -native CreateDynamicCubeEx(Float:minx, Float:miny, Float:minz, Float:maxx, Float:maxy, Float:maxz, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players); -native CreateDynamicPolygonEx(Float:points[], Float:minz = -FLOAT_INFINITY, Float:maxz = FLOAT_INFINITY, maxpoints = sizeof points, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players); - -// Natives (Internal) - -native Streamer_CallbackHook(callback, {Float,_}:...); - -// Callbacks - -forward OnDynamicObjectMoved(objectid); -forward OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz); -forward OnPlayerSelectDynamicObject(playerid, objectid, modelid, Float:x, Float:y, Float:z); -forward OnPlayerPickUpDynamicPickup(playerid, pickupid); -forward OnPlayerEnterDynamicCP(playerid, checkpointid); -forward OnPlayerLeaveDynamicCP(playerid, checkpointid); -forward OnPlayerEnterDynamicRaceCP(playerid, checkpointid); -forward OnPlayerLeaveDynamicRaceCP(playerid, checkpointid); -forward OnPlayerEnterDynamicArea(playerid, areaid); -forward OnPlayerLeaveDynamicArea(playerid, areaid); - -// Callback Hook Section - -#define STREAMER_OPC (0) -#define STREAMER_OPDC (1) -#define STREAMER_OPEO (2) -#define STREAMER_OPSO (3) -#define STREAMER_OPPP (4) -#define STREAMER_OPEC (5) -#define STREAMER_OPLC (6) -#define STREAMER_OPERC (7) -#define STREAMER_OPLRC (8) - -static bool:Streamer_g_OPC = false; -static bool:Streamer_g_OPDC = false; -static bool:Streamer_g_OPEO = false; -static bool:Streamer_g_OPSO = false; -static bool:Streamer_g_OPPP = false; -static bool:Streamer_g_OPEC = false; -static bool:Streamer_g_OPLC = false; -static bool:Streamer_g_OPERC = false; -static bool:Streamer_g_OPLRC = false; - -public OnFilterScriptInit() -{ - Streamer_g_OPC = funcidx("Streamer_OnPlayerConnect") != -1; - Streamer_g_OPDC = funcidx("Streamer_OnPlayerDisconnect") != -1; - Streamer_g_OPEO = funcidx("Streamer_OnPlayerEditObject") != -1; - Streamer_g_OPSO = funcidx("Streamer_OnPlayerSelectObject") != -1; - Streamer_g_OPPP = funcidx("Streamer_OnPlayerPickUpPickup") != -1; - Streamer_g_OPEC = funcidx("Streamer_OnPlayerEnterCP") != -1; - Streamer_g_OPLC = funcidx("Streamer_OnPlayerLeaveCP") != -1; - Streamer_g_OPERC = funcidx("Streamer_OnPlayerEnterRaceCP") != -1; - Streamer_g_OPLRC = funcidx("Streamer_OnPlayerLeaveRaceCP") != -1; - if (funcidx("Streamer_OnFilterScriptInit") != -1) - { - return CallLocalFunction("Streamer_OnFilterScriptInit", ""); - } - return 1; -} - -#if defined _ALS_OnFilterScriptInit - #undef OnFilterScriptInit -#else - #define _ALS_OnFilterScriptInit -#endif -#define OnFilterScriptInit Streamer_OnFilterScriptInit - -forward Streamer_OnFilterScriptInit(); - -public OnGameModeInit() -{ - Streamer_g_OPC = funcidx("Streamer_OnPlayerConnect") != -1; - Streamer_g_OPDC = funcidx("Streamer_OnPlayerDisconnect") != -1; - Streamer_g_OPEO = funcidx("Streamer_OnPlayerEditObject") != -1; - Streamer_g_OPSO = funcidx("Streamer_OnPlayerSelectObject") != -1; - Streamer_g_OPPP = funcidx("Streamer_OnPlayerPickUpPickup") != -1; - Streamer_g_OPEC = funcidx("Streamer_OnPlayerEnterCP") != -1; - Streamer_g_OPLC = funcidx("Streamer_OnPlayerLeaveCP") != -1; - Streamer_g_OPERC = funcidx("Streamer_OnPlayerEnterRaceCP") != -1; - Streamer_g_OPLRC = funcidx("Streamer_OnPlayerLeaveRaceCP") != -1; - if (funcidx("Streamer_OnGameModeInit") != -1) - { - return CallLocalFunction("Streamer_OnGameModeInit", ""); - } - return 1; -} - -#if defined _ALS_OnGameModeInit - #undef OnGameModeInit -#else - #define _ALS_OnGameModeInit -#endif -#define OnGameModeInit Streamer_OnGameModeInit - -forward Streamer_OnGameModeInit(); - -public OnPlayerConnect(playerid) -{ - Streamer_CallbackHook(STREAMER_OPC, playerid); - if (Streamer_g_OPC) - { - return CallLocalFunction("Streamer_OnPlayerConnect", "d", playerid); - } - return 1; -} - -#if defined _ALS_OnPlayerConnect - #undef OnPlayerConnect -#else - #define _ALS_OnPlayerConnect -#endif -#define OnPlayerConnect Streamer_OnPlayerConnect - -forward Streamer_OnPlayerConnect(playerid); - -public OnPlayerDisconnect(playerid, reason) -{ - Streamer_CallbackHook(STREAMER_OPDC, playerid, reason); - if (Streamer_g_OPDC) - { - return CallLocalFunction("Streamer_OnPlayerDisconnect", "dd", playerid, reason); - } - return 1; -} - -#if defined _ALS_OnPlayerDisconnect - #undef OnPlayerDisconnect -#else - #define _ALS_OnPlayerDisconnect -#endif -#define OnPlayerDisconnect Streamer_OnPlayerDisconnect - -forward Streamer_OnPlayerDisconnect(playerid, reason); - -public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ) -{ - if (playerobject) - { - Streamer_CallbackHook(STREAMER_OPEO, playerid, playerobject, objectid, response, fX, fY, fZ, fRotX, fRotY, fRotZ); - } - if (Streamer_g_OPEO) - { - return CallLocalFunction("Streamer_OnPlayerEditObject", "ddddffffff", playerid, playerobject, objectid, response, fX, fY, fZ, fRotX, fRotY, fRotZ); - } - return 1; -} - -#if defined _ALS_OnPlayerEditObject - #undef OnPlayerEditObject -#else - #define _ALS_OnPlayerEditObject -#endif -#define OnPlayerEditObject Streamer_OnPlayerEditObject - -forward Streamer_OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ); - -public OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ) -{ - if (type == SELECT_OBJECT_PLAYER_OBJECT) - { - Streamer_CallbackHook(STREAMER_OPSO, playerid, type, objectid, modelid, fX, fY, fZ); - } - if (Streamer_g_OPSO) - { - return CallLocalFunction("Streamer_OnPlayerSelectObject", "ddddfff", playerid, type, objectid, modelid, fX, fY, fZ); - } - return 1; -} - -#if defined _ALS_OnPlayerSelectObject - #undef OnPlayerSelectObject -#else - #define _ALS_OnPlayerSelectObject -#endif -#define OnPlayerSelectObject Streamer_OnPlayerSelectObject - -forward Streamer_OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ); - -public OnPlayerPickUpPickup(playerid, pickupid) -{ - Streamer_CallbackHook(STREAMER_OPPP, playerid, pickupid); - if (Streamer_g_OPPP) - { - return CallLocalFunction("Streamer_OnPlayerPickUpPickup", "dd", playerid, pickupid); - } - return 1; -} - -#if defined _ALS_OnPlayerPickUpPickup - #undef OnPlayerPickUpPickup -#else - #define _ALS_OnPlayerPickUpPickup -#endif -#define OnPlayerPickUpPickup Streamer_OnPlayerPickUpPickup - -forward Streamer_OnPlayerPickUpPickup(playerid, pickupid); - -public OnPlayerEnterCheckpoint(playerid) -{ - Streamer_CallbackHook(STREAMER_OPEC, playerid); - if (Streamer_g_OPEC) - { - return CallLocalFunction("Streamer_OnPlayerEnterCP", "d", playerid); - } - return 1; -} - -#if defined _ALS_OnPlayerEnterCheckpoint - #undef OnPlayerEnterCheckpoint -#else - #define _ALS_OnPlayerEnterCheckpoint -#endif -#define OnPlayerEnterCheckpoint Streamer_OnPlayerEnterCP - -forward Streamer_OnPlayerEnterCP(playerid); - -public OnPlayerLeaveCheckpoint(playerid) -{ - Streamer_CallbackHook(STREAMER_OPLC, playerid); - if (Streamer_g_OPLC) - { - return CallLocalFunction("Streamer_OnPlayerLeaveCP", "d", playerid); - } - return 1; -} - -#if defined _ALS_OnPlayerLeaveCheckpoint - #undef OnPlayerLeaveCheckpoint -#else - #define _ALS_OnPlayerLeaveCheckpoint -#endif -#define OnPlayerLeaveCheckpoint Streamer_OnPlayerLeaveCP - -forward Streamer_OnPlayerLeaveCP(playerid); - -public OnPlayerEnterRaceCheckpoint(playerid) -{ - Streamer_CallbackHook(STREAMER_OPERC, playerid); - if (Streamer_g_OPERC) - { - return CallLocalFunction("Streamer_OnPlayerEnterRaceCP", "d", playerid); - } - return 1; -} - -#if defined _ALS_OnPlayerEnterRaceCP - #undef OnPlayerEnterRaceCheckpoint -#else - #define _ALS_OnPlayerEnterRaceCP -#endif -#define OnPlayerEnterRaceCheckpoint Streamer_OnPlayerEnterRaceCP - -forward Streamer_OnPlayerEnterRaceCP(playerid); - -public OnPlayerLeaveRaceCheckpoint(playerid) -{ - Streamer_CallbackHook(STREAMER_OPLRC, playerid); - if (Streamer_g_OPLRC) - { - return CallLocalFunction("Streamer_OnPlayerLeaveRaceCP", "d", playerid); - } - return 1; -} - -#if defined _ALS_OnPlayerLeaveRaceCP - #undef OnPlayerLeaveRaceCheckpoint -#else - #define _ALS_OnPlayerLeaveRaceCP -#endif -#define OnPlayerLeaveRaceCheckpoint Streamer_OnPlayerLeaveRaceCP - -forward Streamer_OnPlayerLeaveRaceCP(playerid); diff --git a/amx-test/pawno/settings.ini b/amx-test/pawno/settings.ini index 68cff08..44a7079 100644 --- a/amx-test/pawno/settings.ini +++ b/amx-test/pawno/settings.ini @@ -2,8 +2,8 @@ FileAssoc=1 [Display] WindowMax=1 -WindowX=557 -WindowY=268 +WindowX=556 +WindowY=261 WindowW=790 WindowH=485 Splitter=339 diff --git a/amx-test/testgm.pwn b/amx-test/testgm.pwn index f7926ec..793817b 100644 --- a/amx-test/testgm.pwn +++ b/amx-test/testgm.pwn @@ -1,9 +1,7 @@ #include -#include #include -new bot = 0; -new bots = 0; -new marker = 0; + +new bot, bots; main() { @@ -22,7 +20,7 @@ public OnGameModeInit() new File:f = fopen("file.txt", io_read); if (f == File:0) { - printf("There is a problem with openning the file."); + printf("There is a problem with opening the file."); } else { @@ -34,13 +32,16 @@ public OnGameModeInit() } AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); - SetRuleValue("nya", "test"); + new buf[64]; + SetRuleValue("nya", "test"); GetRuleValue("nya", buf, sizeof(buf)); printf("val: %s", buf); + bot = CreateBot(0, 0.5, 0.5, 0.5, "Nyashk"); GetBotName(bot, buf, sizeof(buf)); printf("bot: %s", buf); + printf("sss: %d", GetWaveHeight()); SetWaveHeight(15); printf("sss: %d", GetWaveHeight()); @@ -76,48 +77,51 @@ public OnPlayerConnect(playerid) CreateBot(0, 0.5, 0.5, 0.5); CreateBot(0, 0.5, 0.5, 0.5); bot = CreateBot(0, 0.5, 0.5, 0.5, "Nyashk"); + SetPlayerHealth(playerid, 50.0); SetPlayerBlurLevel(playerid, 0); + new listitems[] = "1\tDeagle\n2\tSawnoff\n3\tPistol\n4\tGrenade\n5\tParachute\n6\tLorikeet"; - ShowPlayerDialog(playerid,2,DIALOG_STYLE_LIST,"List of weapons:",listitems,"Select","Cancel"); + ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "List of weapons:", listitems, "Select", "Cancel"); //ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "testcapt", "info", "Okay", "Canceled"); return 1; } + forward OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]); public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 0) { // Our example msgbox if(response) { - SendClientMessage(playerid,0xFFFFFFFF,"You selected OK"); + SendClientMessage(playerid, 0xFFFFFFFF, "You selected OK"); } else { - SendClientMessage(playerid,0xFFFFFFFF,"You selected Cancel"); + SendClientMessage(playerid, 0xFFFFFFFF, "You selected Cancel"); } return 1; // we processed this. no need for other filterscripts to process it. } if(dialogid == 1) { // Our example inputbox if(response) { - new message[256+1]; - format(message, 256, "You replied: %s", inputtext); - SendClientMessage(playerid, 0xFFFFFFFF, message); + new message[256 + 1]; + format(message, sizeof(message), "You replied: %s", inputtext); + SendClientMessage(playerid, 0xFFFFFFFF, message); } else { - SendClientMessage(playerid, 0xFFFFFFFF, "You selected Cancel"); + SendClientMessage(playerid, 0xFFFFFFFF, "You selected Cancel"); } return 1; // we processed it. } if(dialogid == 2) { // Our example listbox if(response) { - new message[256+1]; + new message[256 + 1]; if(listitem != 5) { - format(message, 256, "You selected item %d:", listitem); - SendClientMessage(playerid, 0xFFFFFFFF, message); - SendClientMessage(playerid, 0xFFFFFFFF, inputtext); + format(message, sizeof(message), "You selected item %d:", listitem); + SendClientMessage(playerid, 0xFFFFFFFF, message); + SendClientMessage(playerid, 0xFFFFFFFF, inputtext); } else { - SendClientMessage(playerid, 0x5555FFFF, "A Lorikeet is NOT a weapon!"); + SendClientMessage(playerid, 0x5555FFFF, "A Lorikeet is NOT a weapon!"); } } else { - SendClientMessage(playerid, 0xFFFFFFFF, "You selected Cancel"); + SendClientMessage(playerid, 0xFFFFFFFF, "You selected Cancel"); } return 1; // we processed it. } @@ -134,18 +138,21 @@ public OnPlayerDisconnect(playerid, reason) public OnMarkerCreate(markerid) { printf("OnMarkerCreate(%d)", markerid); + return 1; } public OnPlayerSpawn(playerid) { new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); - marker = CreateMarker(x, y, z, "checkpoint", 3.0, 255, 0, 0, 250); + CreateMarker(x, y, z, "checkpoint", 3.0, 255, 0, 0, 250); + CreateBot(0, x, y, z); SetBotPos(bot, x, y, z); - SetPlayerHealth(playerid, 50.0); SetBotHealth(bot, 100.0); SetBotArmour(bot, 5.0); + + SetPlayerHealth(playerid, 50.0); GivePlayerWeapon(playerid, 32, 500); return 1; } @@ -156,39 +163,45 @@ public OnBotConnect(botid, name[]) printf("Bot connected: %d [%s]", botid, name); return 1; } + public OnMarkerHit(markerid, elemtype[], elemid, matchingDimension) { printf("OnMarkerHit(%d, %s, %d)", markerid, elemtype, elemid); + return 1; } public OnBotEnterVehicle(botid, vehicleid, seatid) { - + return 1; } public OnBotExitVehicle(botid, vehicleid) { - + return 1; } public OnBotDeath(botid, killerid, weaponid, bodypart) { printf("OnBotDeath(%d, %d, %d, %d)", botid, killerid, weaponid, bodypart); + return 1; } public OnPlayerWeaponSwitch(playerid, previousWeaponID, currentWeaponID) { - printf("OnPlayerWeaponSwitch(%d, %d, %d)",playerid, previousWeaponID, currentWeaponID); + printf("OnPlayerWeaponSwitch(%d, %d, %d)", playerid, previousWeaponID, currentWeaponID); + return 1; } public OnPlayerShoot(playerid, weapon, ammo, ammoInClip, Float:hitX, Float:hitY, Float:hitZ) { - printf("OnPlayerShoot(%d, %d, %d, %d, %f, %f, %f)",playerid, weapon, ammo, ammoInClip, hitX, hitY, hitZ); + printf("OnPlayerShoot(%d, %d, %d, %d, %f, %f, %f)", playerid, weapon, ammo, ammoInClip, hitX, hitY, hitZ); + return 1; } public OnVehicleDamage(vehicleid, Float:loss) { printf("OnVehicleDamage(%d, %f)", vehicleid, loss); + return 1; } public OnPlayerDeath(playerid, killerid, reason) @@ -211,10 +224,6 @@ public OnPlayerText(playerid, text[]) return 1; } -public OnPlayerPrivmsg(playerid, recieverid, text[]) -{ - return 1; -} strtok(const string[], &index) { new length = strlen(string); @@ -233,44 +242,39 @@ strtok(const string[], &index) result[index - offset] = EOS; return result; } + public OnPlayerCommandText(playerid, cmdtext[]) { - new cmd[256]; - new idx; + new cmd[256], idx; cmd = strtok(cmdtext, idx); + if(strcmp(cmd, "/testmsgbox", true) == 0) { - ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Welcome","Welcome to the SA-MP 0.3 server. This is test_cmds.pwn /testmsgbox\nHope it's useful to you.","OK","Cancel"); - return 1; + ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Welcome", "Welcome to the SA-MP 0.3 server. This is test_cmds.pwn /testmsgbox\nHope it's useful to you.", "OK", "Cancel"); + return 1; } if(strcmp(cmd, "/testmsgbox2", true) == 0) { - ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Welcome","Welcome:\tInfo\nTest:\t\tTabulated\nLine:\t\tHello","OK","Cancel"); - return 1; + ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Welcome", "Welcome:\tInfo\nTest:\t\tTabulated\nLine:\t\tHello", "OK", "Cancel"); + return 1; } if(strcmp(cmd, "/testinputbox", true) == 0) { - new loginmsg[256+1]; - new loginname[MAX_PLAYER_NAME+1]; - GetPlayerName(playerid,loginname,MAX_PLAYER_NAME); - format(loginmsg,256,"Welcome to the SA-MP 0.3 server.\n\nAccount:\t%s\n\nPlease enter your password below:",loginname); - ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login to SA-MP",loginmsg,"Login","Cancel"); - return 1; + new loginmsg[256 + 1], loginname[MAX_PLAYER_NAME + 1]; + GetPlayerName(playerid, loginname, MAX_PLAYER_NAME); + format(loginmsg, sizeof(loginmsg), "Welcome to the SA-MP 0.3 server.\n\nAccount:\t%s\n\nPlease enter your password below:", loginname); + ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Login to SA-MP", loginmsg, "Login", "Cancel"); + return 1; } if(strcmp(cmd, "/testlistbox", true) == 0) { - new listitems[] = "1\tDeagle\n2\tSawnoff\n3\tPistol\n4\tGrenade\n5\tParachute\n6\tLorikeet"; - ShowPlayerDialog(playerid,2,DIALOG_STYLE_LIST,"List of weapons:",listitems,"Select","Cancel"); - return 1; + new listitems[] = "1\tDeagle\n2\tSawnoff\n3\tPistol\n4\tGrenade\n5\tParachute\n6\tLorikeet"; + ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "List of weapons:", listitems, "Select", "Cancel"); + return 1; } return 0; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) -{ - -} - -public OnPlayerInfoChange(playerid) { return 1; } @@ -284,7 +288,7 @@ public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } -forward OnBotStateChange(botid, newstate, oldstate); + public OnBotStateChange(botid, newstate, oldstate) { return 1; diff --git a/amx/client/arial.ttf b/amx/client/arial.ttf deleted file mode 100644 index 8682d94..0000000 Binary files a/amx/client/arial.ttf and /dev/null differ diff --git a/amx/client/client.lua b/amx/client/client.lua index b87b26a..8f9c190 100644 --- a/amx/client/client.lua +++ b/amx/client/client.lua @@ -172,7 +172,7 @@ function renderClassSelText() drawShadowText('Use left and right arrow keys to select class.', 20, screenHeight - 150, tocolor(240, 240, 240)) drawShadowText('Press SHIFT when ready to spawn.', 20, screenHeight - 136, tocolor(240, 240, 240)) - if not g_ClassSelectionInfo or not g_ClassSelectionInfo.selectedclass then + if not g_ClassSelectionInfo[0] or not g_ClassSelectionInfo.selectedclass then return end drawShadowText('Class ' .. g_ClassSelectionInfo.selectedclass .. ' weapons:', 20, screenHeight - 110, tocolor(240, 240, 240)) @@ -333,6 +333,9 @@ function camAttachRender() local x1,y1,z1 = 0.0, 0.0, 0.0 if ca.objCamPos ~= nil then x1,y1,z1 = getElementPosition(ca.objCamPos) + if not x1 then x1 = 0.0 end + if not y1 then y1 = 0.0 end + if not z1 then z1 = 0.0 end end local camDist = ca.dist local cosZ = math.cos(ca.z) @@ -402,9 +405,15 @@ function camRender() local x1,y1,z1,x2,y2,z2 = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 if sm.objCamPos ~= nil then x1,y1,z1 = getElementPosition(sm.objCamPos) + if not x1 then x1 = 0.0 end + if not y1 then y1 = 0.0 end + if not z1 then z1 = 0.0 end end if sm.objLookAt ~= nil then x2,y2,z2 = getElementPosition(sm.objLookAt) + if not x2 then x2 = 0.0 end + if not y2 then y2 = 0.0 end + if not z2 then z2 = 0.0 end end --outputConsole(string.format("Current Camera Matrix is: CamPos: %f %f %f CamLookAt: %f %f %f", x1,y1,z1,x2,y2,z2)) setCameraMatrix(x1,y1,z1,x2,y2,z2) @@ -453,9 +462,10 @@ end function AttachPlayerObjectToPlayer(objID, attachPlayer, offsetX, offsetY, offsetZ, rX, rY, rZ) local obj = g_PlayerObjects[objID] if not obj then - return + return false end attachElements(obj, attachPlayer, offsetX, offsetY, offsetZ, rX, rY, rZ) + return true end function CreatePlayerObject(objID, model, x, y, z, rX, rY, rZ) @@ -483,25 +493,28 @@ end function SetPlayerObjectPos(objID, x, y, z) local obj = g_PlayerObjects[objID] if not obj then - return + return false end setElementPosition(obj, x, y, z) + return true end function SetPlayerObjectRot(objID, rX, rY, rZ) local obj = g_PlayerObjects[objID] if not obj then - return + return false end setElementRotation(obj, rX, rY, rZ) + return true end function StopPlayerObject(objID) local obj = g_PlayerObjects[objID] if not obj then - return + return false end stopObject(obj) + return true end --- Audio @@ -625,6 +638,7 @@ end function SetPlayerPosFindZ(x, y, z) setElementPosition(localPlayer, x, y, getGroundPosition(x, y, z) + 1) + return true end function SetVehicleParamsForPlayer(vehicle, isObjective, doorsLocked) @@ -1565,7 +1579,9 @@ function RemovePlayerMapIcon(blipID) if g_Blips[blipID] then destroyElement(g_Blips[blipID]) g_Blips[blipID] = nil + return true end + return false end function SetPlayerMapIcon(blipID, x, y, z, type, r, g, b, a) @@ -1574,6 +1590,7 @@ function SetPlayerMapIcon(blipID, x, y, z, type, r, g, b, a) g_Blips[blipID] = nil end g_Blips[blipID] = createBlip(x, y, z, type, 2, r, g, b, a) + return true end function SetPlayerWorldBounds(xMax, xMin, yMax, yMin) @@ -1658,6 +1675,7 @@ end function TogglePlayerClock(toggle) setMinuteDuration(toggle and 1000 or 2147483647) setPlayerHudComponentVisible('clock', toggle) + return true end function createListDialog(titleText, message, button1txt, button2txt) @@ -1706,8 +1724,8 @@ function createInputDialog(titleText, message, button1txt, button2txt) end inputDialog = nil inputWindow = guiCreateWindow(screenWidth/2 - 541/2,screenHeight/2 - 352/2,541,352, titleText, false) - guiWindowSetMovable(listWindow,false) - guiWindowSetSizable(listWindow,false) + guiWindowSetMovable(inputWindow,false) + guiWindowSetSizable(inputWindow,false) inputLabel = guiCreateColoredLabel(0.1, 0.1, 1.0, 0.8, message, inputWindow, true) inputEdit = guiCreateEdit(0.0, 0.7, 1.0, 0.1, "", true, inputWindow) @@ -1845,9 +1863,9 @@ function guiCreateColoredLabel(ax, ay, bx, by,str, parent, relative) --x, y, wid local scrollpane = guiCreateScrollPane(ax,ay,bx,by,relative,parent) --outputConsole('main string:' .. str) - local pat = "(.-)#(%x%x%x%x%x%x)" - local s, e, cap, col = str:find(pat, 1) - local last = 1 + local pat = "(.-)#(%x%x%x%x%x%x)" + local s, e, cap, col = str:find(pat, 1) + local last = 1 local labels = {} local incy = 0 local incx = 0 @@ -1859,10 +1877,10 @@ function guiCreateColoredLabel(ax, ay, bx, by,str, parent, relative) --x, y, wid lbl = guiCreateLabel(ax + incx, ay + incy, 1.0, by, cap, relative, scrollpane) guiLabelSetHorizontalAlign(lbl, "left") - table.insert(labels, lbl) - if (r == nil) then r = 255 end - if (g == nil) then g = 255 end - if (b == nil) then b = 255 end + table.insert(labels, lbl) + if (r == nil) then r = 255 end + if (g == nil) then g = 255 end + if (b == nil) then b = 255 end guiLabelSetColor(lbl,r,g,b) r,g,b = tonumber("0x"..col:sub(1, 2)), tonumber("0x"..col:sub(3, 4)), tonumber("0x"..col:sub(5, 6)) @@ -1891,6 +1909,9 @@ function guiCreateColoredLabel(ax, ay, bx, by,str, parent, relative) --x, y, wid cap = str:sub(last) lbl2 = guiCreateLabel(ax + incx, ay + incy, 1.0, by, cap, relative, scrollpane) table.insert(labels, lbl2) + if (r == nil) then r = 255 end + if (g == nil) then g = 255 end + if (b == nil) then b = 255 end guiLabelSetColor(lbl2,r,g,b) end return labels @@ -1934,7 +1955,7 @@ function ShowPlayerDialog(dialogid, dialogtype, caption, info, button1, button2) local row = guiGridListAddRow ( listGrid ) guiGridListSetItemText ( listGrid, row, listColumn, v, false, true) end - return + return true end --DIALOG_STYLE_TABLIST, DIALOG_STYLE_TABLIST_HEADER @@ -1943,7 +1964,7 @@ function ShowPlayerDialog(dialogid, dialogtype, caption, info, button1, button2) if #items < 1 then outputConsole('Error, your dialog either has no items, its format is wrong or you\'re missing a newline character in the string') outputConsole('The raw string was: ' .. info) - return --Abort if there's no items + return false --Abort if there's no items end --Create the header @@ -1967,6 +1988,7 @@ function ShowPlayerDialog(dialogid, dialogtype, caption, info, button1, button2) end end end + return true end addEvent("onPlayerClickPlayer") diff --git a/amx/client/samp_nametags.lua b/amx/client/samp_nametags.lua index 7fc880d..66341fd 100644 --- a/amx/client/samp_nametags.lua +++ b/amx/client/samp_nametags.lua @@ -1,5 +1,5 @@ -local font = dxCreateFont('client/arial.ttf', 10, true, 'default') or 'default' -- fallback to default +local font = 'arial' -- default font HealthBarBorderVertices = { diff --git a/amx/scriptfiles/properties/businesses.txt b/amx/scriptfiles/properties/businesses.txt index 4b404d7..58aab12 100644 --- a/amx/scriptfiles/properties/businesses.txt +++ b/amx/scriptfiles/properties/businesses.txt @@ -105,4 +105,4 @@ 1272, -314.774688, 829.901977, 14.242187, 95.132049, 122, 2 ; // ammu bone Kye 1272, 241.099655, -178.363815, 1.578125, 265.502624, 96, 2 ; // Ammu blueberry Kye 1272, 2334.055664, 61.541301, 26.484687, 177.983642, 122, 2 ; // Ammu Kye -1272, 1481.034667, -1770.273193, 18.795755, 174.243774, 14, 2 ; // LS City Dept (Kye) +1272, 1481.034667, -1770.273193, 18.795755, 174.243774, 14, 2 ; // LS City Dept (Kye) \ No newline at end of file diff --git a/amx/scriptfiles/properties/houses.txt b/amx/scriptfiles/properties/houses.txt index 1de4ad3..652ea3c 100644 --- a/amx/scriptfiles/properties/houses.txt +++ b/amx/scriptfiles/properties/houses.txt @@ -138,4 +138,4 @@ 1273, 699.908508, -1059.997314, 49.421691, 240.409179, 135, 1 ; // JaTochNietDan || LS Mansion Area 1273, 351.905242, -1197.254028, 76.515625, 221.045486, 101, 1 ; // ls mans area Kye 1273, 645.366394, -1117.179931, 44.207038, 244.135498, 68, 1 ; // LS mansion (LnX) -1273, 398.212097, -1271.106567, 50.019790, 26.977687, 135, 1 ; // JaTochNietDan || LS Mansion Area +1273, 398.212097, -1271.106567, 50.019790, 26.977687, 135, 1 ; // JaTochNietDan || LS Mansion Area \ No newline at end of file diff --git a/amx/scriptfiles/vehicles/flint.txt b/amx/scriptfiles/vehicles/flint.txt index 0b43e25..793e7ab 100644 --- a/amx/scriptfiles/vehicles/flint.txt +++ b/amx/scriptfiles/vehicles/flint.txt @@ -1,61 +1,61 @@ -599,-807.0116,-942.0936,104.6271,314.7196,0,1 ; -405,-589.3418,-1079.1355,23.3771,236.8904,24,1 ; -505,-569.3895,-1048.4032,24.0146,237.8018,14,123 ; -403,-349.3221,-1052.6652,59.4551,89.0788,14,123 ; -505,-388.6629,-1150.0758,69.5786,357.9839,14,123 ; -403,-76.0173,-1110.5597,1.0456,157.5384,36,2 ; -531,-41.9499,-1153.2262,1.0440,63.5908,36,2 ; -403,-39.6653,-1149.7799,1.0409,65.3597,36,2 ; -531,-82.1817,-1137.4266,1.0402,340.8923,36,2 ; -531,-85.4142,-1135.9938,1.0412,337.3026,36,2 ; -403,-184.4848,-1307.1466,5.7091,103.7043,36,2 ; -531,-367.7308,-1437.3649,25.6921,89.2236,36,2 ; -422,-587.1984,-1499.8407,10.1747,36.7555,97,25 ; -422,-657.5599,-1606.0066,25.1821,175.4014,97,25 ; -400,-495.5439,-1834.0343,17.7955,184.7055,101,1 ; -473,-512.5999,-1902.9431,5.0016,179.0171,56,53 ; -468,-655.3087,-1998.3328,26.7546,211.5583,46,46 ; -466,-841.4815,-2274.6650,20.8199,210.7536,68,76 ; -466,-714.6012,-2547.3081,50.9399,128.7565,68,76 ; -473,-485.8806,-2852.4319,-0.1373,248.4979,56,15 ; -473,-196.7365,-2925.3259,0.0006,269.7706,56,15 ; -473,-237.4600,-1794.3876,-0.1057,3.6694,56,15 ; -468,-271.2445,-1790.1851,10.9364,163.2745,3,3 ; -400,-379.1094,-2171.6399,46.6781,140.2350,62,1 ; -410,-1196.9539,-2364.4788,18.5773,236.2259,9,1 ; -532,-759.8405,-2458.4460,72.6366,319.4753,0,0 ; -400,-20.6879,-2498.1814,36.7408,122.2802,4,1 ; -400,-17.0690,-2520.2581,36.7478,213.8456,4,1 ; -410,-31.9095,-2493.5383,36.3036,194.0151,10,1 ; -599,-11.5140,-2512.1458,36.8428,121.2561,0,1 ; -489,20.0119,-2648.0332,40.6164,92.6500,112,120 ; -489,-186.1633,-2516.2021,31.3678,342.0027,112,120 ; -466,-384.6082,-2474.8984,102.4780,268.9366,25,76 ; -466,-485.5412,-2688.4248,152.3252,102.3787,25,76 ; -471,-765.0049,-2686.1196,83.7728,114.8461,120,112 ; -586,-1541.8571,-1342.7786,50.5056,14.3390,122,1 ; -586,-1029.8485,-638.6542,31.5280,93.4600,8,1 ; -586,-1006.8740,-674.1090,31.5279,275.2718,8,1 ; -400,-983.5594,-641.0239,32.1002,271.1476,101,1 ; -400,-1006.5243,-623.0823,32.1002,90.1122,101,1 ; -483,-1030.8571,-658.6420,32.0001,90.1086,1,31 ; -531,-940.2722,-498.2120,25.9274,256.5565,51,53 ; -531,-918.0818,-534.8812,25.9175,357.6102,51,53 ; -532,-1140.0840,-991.7651,130.1964,86.3863,0,0 ; -532,-1164.6876,-1057.4521,130.2022,277.3220,0,0 ; -466,-1407.8011,-1165.6597,103.0781,151.5499,78,76 ; -531,-1444.6823,-1496.3507,101.7242,183.6463,91,2 ; +599,-807.0116,-942.0936,104.6271,314.7196,0,1 ; +405,-589.3418,-1079.1355,23.3771,236.8904,24,1 ; +505,-569.3895,-1048.4032,24.0146,237.8018,14,123 ; +403,-349.3221,-1052.6652,59.4551,89.0788,14,123 ; +505,-388.6629,-1150.0758,69.5786,357.9839,14,123 ; +403,-76.0173,-1110.5597,1.0456,157.5384,36,2 ; +531,-41.9499,-1153.2262,1.0440,63.5908,36,2 ; +403,-39.6653,-1149.7799,1.0409,65.3597,36,2 ; +531,-82.1817,-1137.4266,1.0402,340.8923,36,2 ; +531,-85.4142,-1135.9938,1.0412,337.3026,36,2 ; +403,-184.4848,-1307.1466,5.7091,103.7043,36,2 ; +531,-367.7308,-1437.3649,25.6921,89.2236,36,2 ; +422,-587.1984,-1499.8407,10.1747,36.7555,97,25 ; +422,-657.5599,-1606.0066,25.1821,175.4014,97,25 ; +400,-495.5439,-1834.0343,17.7955,184.7055,101,1 ; +473,-512.5999,-1902.9431,5.0016,179.0171,56,53 ; +468,-655.3087,-1998.3328,26.7546,211.5583,46,46 ; +466,-841.4815,-2274.6650,20.8199,210.7536,68,76 ; +466,-714.6012,-2547.3081,50.9399,128.7565,68,76 ; +473,-485.8806,-2852.4319,-0.1373,248.4979,56,15 ; +473,-196.7365,-2925.3259,0.0006,269.7706,56,15 ; +473,-237.4600,-1794.3876,-0.1057,3.6694,56,15 ; +468,-271.2445,-1790.1851,10.9364,163.2745,3,3 ; +400,-379.1094,-2171.6399,46.6781,140.2350,62,1 ; +410,-1196.9539,-2364.4788,18.5773,236.2259,9,1 ; +532,-759.8405,-2458.4460,72.6366,319.4753,0,0 ; +400,-20.6879,-2498.1814,36.7408,122.2802,4,1 ; +400,-17.0690,-2520.2581,36.7478,213.8456,4,1 ; +410,-31.9095,-2493.5383,36.3036,194.0151,10,1 ; +599,-11.5140,-2512.1458,36.8428,121.2561,0,1 ; +489,20.0119,-2648.0332,40.6164,92.6500,112,120 ; +489,-186.1633,-2516.2021,31.3678,342.0027,112,120 ; +466,-384.6082,-2474.8984,102.4780,268.9366,25,76 ; +466,-485.5412,-2688.4248,152.3252,102.3787,25,76 ; +471,-765.0049,-2686.1196,83.7728,114.8461,120,112 ; +586,-1541.8571,-1342.7786,50.5056,14.3390,122,1 ; +586,-1029.8485,-638.6542,31.5280,93.4600,8,1 ; +586,-1006.8740,-674.1090,31.5279,275.2718,8,1 ; +400,-983.5594,-641.0239,32.1002,271.1476,101,1 ; +400,-1006.5243,-623.0823,32.1002,90.1122,101,1 ; +483,-1030.8571,-658.6420,32.0001,90.1086,1,31 ; +531,-940.2722,-498.2120,25.9274,256.5565,51,53 ; +531,-918.0818,-534.8812,25.9175,357.6102,51,53 ; +532,-1140.0840,-991.7651,130.1964,86.3863,0,0 ; +532,-1164.6876,-1057.4521,130.2022,277.3220,0,0 ; +466,-1407.8011,-1165.6597,103.0781,151.5499,78,76 ; +531,-1444.6823,-1496.3507,101.7242,183.6463,91,2 ; 531,-1417.1289,-1534.5874,101.7193,184.5565,91,2 ; -531,-1451.8495,-1456.9764,101.7236,175.8479,91,2 ; -468,-219.3871,-906.6091,40.6608,186.4501,46,46 ; -471,-504.2122,-1660.6406,10.6085,43.9901,103,111 ; -468,-916.9662,-1459.5214,122.9255,13.1392,46,46 ; -468,-1071.7697,-1296.8829,128.8868,278.9760,46,46 ; -468,-1112.6062,-1671.9421,76.0362,359.7007,46,46 ; -532,-1058.2371,-1612.5803,77.3616,174.8907,0,0 ; -471,-1040.5020,-1662.9651,77.5813,217.8248,74,91 ; -471,-925.3805,-1439.3502,125.5587,24.4562,74,83 ; -531,-85.5815,-1608.7993,2.7154,300.0013,36,2 ; -403,-47.9698,-1570.7786,3.2227,152.9310,37,1 ; -400,-93.0630,-1194.6671,2.3429,344.3191,123,1 ; +531,-1451.8495,-1456.9764,101.7236,175.8479,91,2 ; +468,-219.3871,-906.6091,40.6608,186.4501,46,46 ; +471,-504.2122,-1660.6406,10.6085,43.9901,103,111 ; +468,-916.9662,-1459.5214,122.9255,13.1392,46,46 ; +468,-1071.7697,-1296.8829,128.8868,278.9760,46,46 ; +468,-1112.6062,-1671.9421,76.0362,359.7007,46,46 ; +532,-1058.2371,-1612.5803,77.3616,174.8907,0,0 ; +471,-1040.5020,-1662.9651,77.5813,217.8248,74,91 ; +471,-925.3805,-1439.3502,125.5587,24.4562,74,83 ; +531,-85.5815,-1608.7993,2.7154,300.0013,36,2 ; +403,-47.9698,-1570.7786,3.2227,152.9310,37,1 ; +400,-93.0630,-1194.6671,2.3429,344.3191,123,1 ; 422,-81.0025,-1198.4222,2.2849,345.3639,97,25 ; diff --git a/amx/scriptfiles/vehicles/ls_airport.txt b/amx/scriptfiles/vehicles/ls_airport.txt index a5d8b03..420fc44 100644 --- a/amx/scriptfiles/vehicles/ls_airport.txt +++ b/amx/scriptfiles/vehicles/ls_airport.txt @@ -1,37 +1,37 @@ -519,1806.1066,-2406.8108,14.4731,220.1901,1,1 ; -519,1851.0873,-2397.0818,14.4738,221.0776,1,1 ; -519,1881.2903,-2364.6726,14.4760,231.6925,1,1 ; -593,1990.4940,-2400.4700,14.0069,126.8314,58,8 ; -593,1991.9357,-2377.5691,14.0096,111.9823,19,33 ; -593,1994.2283,-2329.9182,14.0074,123.6920,68,8 ; -593,1993.0359,-2307.1487,14.0073,121.4826,2,1 ; -485,2005.4028,-2340.4004,13.2026,353.8798,1,74 ; -485,1944.1885,-2234.3225,13.2017,358.4947,1,75 ; -485,1893.2838,-2320.5076,13.2070,285.2385,1,76 ; -485,1882.2479,-2390.3965,13.2133,266.7464,1,77 ; -485,1915.2466,-2643.3474,13.2050,2.2446,1,78 ; -553,1944.5242,-2639.1465,14.8823,28.0299,55,23 ; -553,1984.2778,-2637.7561,14.8831,9.0602,94,116 ; -553,2019.7615,-2642.5803,14.8759,318.3256,128,7 ; -476,2124.7380,-2418.2964,14.2641,205.4615,7,6 ; -476,2142.8672,-2434.3076,14.2587,144.2144,1,6 ; -476,2107.1399,-2417.1648,14.2647,150.9743,135,14 ; -476,2083.0217,-2429.4854,14.2543,182.9969,119,117 ; -510,2081.9866,-2359.7229,13.1551,64.1485,39,39 ; -510,1866.6115,-2660.4602,13.1552,18.6151,6,6 ; -513,1881.0273,-2632.3281,14.0996,40.9586,21,36 ; -513,1891.9824,-2632.7056,14.1085,332.5663,138,122 ; -593,1840.4315,-2631.8525,14.0080,319.2033,22,1 ; -593,1822.1689,-2629.8713,14.0076,35.6965,36,8 ; -593,1806.7133,-2630.3167,14.0037,32.0461,51,1 ; -476,1752.8643,-2632.2061,14.2631,1.4834,103,102 ; -481,1698.6532,-2692.0225,13.0592,256.1956,26,1 ; -485,1707.5415,-2646.3325,13.2052,359.6846,1,73 ; -487,1716.0422,-2437.5767,13.7316,148.7897,18,108 ; -487,1737.4827,-2432.7019,13.7340,192.0326,24,78 ; -487,1752.5586,-2452.2275,13.7322,147.2027,54,29 ; -417,1636.0142,-2409.7209,13.6266,193.2301,0,0 ; -417,1655.8718,-2410.4551,13.6350,156.9428,0,0 ; -510,1600.9696,-2395.0103,13.2262,298.2056,28,28 ; +519,1806.1066,-2406.8108,14.4731,220.1901,1,1 ; +519,1851.0873,-2397.0818,14.4738,221.0776,1,1 ; +519,1881.2903,-2364.6726,14.4760,231.6925,1,1 ; +593,1990.4940,-2400.4700,14.0069,126.8314,58,8 ; +593,1991.9357,-2377.5691,14.0096,111.9823,19,33 ; +593,1994.2283,-2329.9182,14.0074,123.6920,68,8 ; +593,1993.0359,-2307.1487,14.0073,121.4826,2,1 ; +485,2005.4028,-2340.4004,13.2026,353.8798,1,74 ; +485,1944.1885,-2234.3225,13.2017,358.4947,1,75 ; +485,1893.2838,-2320.5076,13.2070,285.2385,1,76 ; +485,1882.2479,-2390.3965,13.2133,266.7464,1,77 ; +485,1915.2466,-2643.3474,13.2050,2.2446,1,78 ; +553,1944.5242,-2639.1465,14.8823,28.0299,55,23 ; +553,1984.2778,-2637.7561,14.8831,9.0602,94,116 ; +553,2019.7615,-2642.5803,14.8759,318.3256,128,7 ; +476,2124.7380,-2418.2964,14.2641,205.4615,7,6 ; +476,2142.8672,-2434.3076,14.2587,144.2144,1,6 ; +476,2107.1399,-2417.1648,14.2647,150.9743,135,14 ; +476,2083.0217,-2429.4854,14.2543,182.9969,119,117 ; +510,2081.9866,-2359.7229,13.1551,64.1485,39,39 ; +510,1866.6115,-2660.4602,13.1552,18.6151,6,6 ; +513,1881.0273,-2632.3281,14.0996,40.9586,21,36 ; +513,1891.9824,-2632.7056,14.1085,332.5663,138,122 ; +593,1840.4315,-2631.8525,14.0080,319.2033,22,1 ; +593,1822.1689,-2629.8713,14.0076,35.6965,36,8 ; +593,1806.7133,-2630.3167,14.0037,32.0461,51,1 ; +476,1752.8643,-2632.2061,14.2631,1.4834,103,102 ; +481,1698.6532,-2692.0225,13.0592,256.1956,26,1 ; +485,1707.5415,-2646.3325,13.2052,359.6846,1,73 ; +487,1716.0422,-2437.5767,13.7316,148.7897,18,108 ; +487,1737.4827,-2432.7019,13.7340,192.0326,24,78 ; +487,1752.5586,-2452.2275,13.7322,147.2027,54,29 ; +417,1636.0142,-2409.7209,13.6266,193.2301,0,0 ; +417,1655.8718,-2410.4551,13.6350,156.9428,0,0 ; +510,1600.9696,-2395.0103,13.2262,298.2056,28,28 ; 497,1575.9307,-2408.7253,13.7347,153.2041,0,1 ; Police Maverick -497,1554.8207,-2406.4417,13.7308,190.6669,0,1 ; Police Maverick 2 +497,1554.8207,-2406.4417,13.7308,190.6669,0,1 ; Police Maverick 2 \ No newline at end of file diff --git a/amx/scriptfiles/vehicles/ls_gen_inner.txt b/amx/scriptfiles/vehicles/ls_gen_inner.txt index 004180a..99ab364 100644 --- a/amx/scriptfiles/vehicles/ls_gen_inner.txt +++ b/amx/scriptfiles/vehicles/ls_gen_inner.txt @@ -1,98 +1,98 @@ -446,728.1595,-1495.2687,-0.4906,179.7909,1,5 ; -454,720.7040,-1633.3224,0.1487,177.6009,26,26 ; -454,720.5267,-1699.9827,0.1866,358.9251,26,26 ; -429,764.7679,-1660.5485,4.2160,94.0819,12,12 ; -541,688.0235,-1600.1552,13.7216,359.7577,58,8 ; -466,594.6932,-1519.6713,14.8586,178.9838,68,76 ; -458,601.2115,-1519.8091,14.8971,359.8546,101,1 ; -496,648.1077,-1507.8370,14.7836,88.3481,35,35 ; -429,729.7592,-1433.3433,13.2151,90.2927,13,13 ; -506,665.4387,-1421.5520,14.3497,1.6522,7,7 ; -506,587.3435,-1499.5959,15.0621,273.6347,6,6 ; -413,691.4462,-1570.2456,14.3358,179.2636,91,1 ; -451,489.1148,-1514.9581,20.0516,186.2239,46,46 ; -541,494.3372,-1604.7161,18.2000,275.6070,60,1 ; -603,259.4689,-1597.9203,33.1167,299.1694,69,1 ; -429,262.3868,-1603.2013,33.0642,323.2319,2,2 ; -518,258.0661,-1591.6113,33.1217,275.3944,36,36 ; -409,867.4957,-1285.9368,13.8859,357.4155,1,1 ; -457,844.4999,-1197.9865,16.6038,0.3980,2,1 ; -457,880.8410,-1199.7491,16.6031,357.7022,21,108 ; -457,914.7440,-1199.8364,16.6032,359.8655,106,56 ; -463,920.4453,-1290.5063,13.3508,118.6505,121,14 ; -542,863.2733,-1375.0151,13.3187,85.7265,32,92 ; -561,903.8953,-1454.9287,12.8651,270.7864,8,17 ; -429,881.5562,-1453.8588,13.3618,271.8305,99,93 ; -507,809.9615,-1448.9109,12.9680,87.2106,35,54 ; -589,810.5452,-1464.3678,12.7191,85.7123,134,97 ; -496,821.6033,-1473.7249,12.5756,357.5008,54,120 ; -461,1031.1113,-1446.3105,13.1411,59.0580,67,86 ; -418,1005.0084,-1461.3424,13.6427,183.0261,119,119 ; -463,990.1287,-1354.9878,12.9125,285.7227,65,6 ; -479,991.3929,-1345.2102,13.1759,271.1148,123,108 ; -489,990.5985,-1306.8129,13.5204,179.0488,24,6 ; -475,1002.5063,-1306.5654,13.1866,359.6424,37,0 ; -518,981.5054,-1306.6899,13.1630,181.0135,71,18 ; -414,979.2278,-1258.1351,16.8071,182.5786,24,1 ; -506,955.9268,-1184.0712,16.6498,269.9031,30,31 ; -549,955.8333,-1190.2795,16.6425,270.2728,75,39 ; -482,956.0022,-1199.3633,17.1270,268.5538,20,20 ; -468,956.3898,-1193.4253,16.6297,89.6432,46,46 ; -567,1085.8342,-1199.3883,17.7945,90.5839,93,64 ; -542,1097.0354,-1218.1705,17.5471,356.6483,45,92 ; -461,1084.2866,-1232.2461,15.3945,243.6654,61,1 ; -461,1083.9337,-1235.0449,15.4088,243.8919,75,1 ; -461,1083.7941,-1238.1573,15.4110,243.1097,79,1 ; -405,1109.0310,-1225.8809,15.6987,181.5343,75,1 ; -458,1000.3081,-1084.5488,23.7069,179.6207,30,1 ; -542,1015.8254,-1083.9113,23.5711,0.6381,119,113 ; -461,1032.2993,-1082.4255,23.4136,166.6669,35,27 ; -475,1003.6659,-1054.6088,30.6946,3.0438,122,102 ; -560,1070.9109,-1102.3247,24.4439,270.7971,41,81 ; -496,1137.6492,-1025.5586,31.5121,177.9917,67,6 ; -558,1131.7341,-1010.0580,29.4899,95.0937,40,1 ; -581,1205.2384,-977.0176,43.0742,179.7537,58,1 ; -536,1227.2596,-974.1713,43.2139,180.2966,30,96 ; -414,1110.5709,-1331.4204,13.1385,0.6026,43,1 ; -581,989.3703,-1589.3812,13.0903,21.5606,66,1 ; -542,1061.2451,-1665.2649,13.4966,91.9120,32,92 ; -405,1136.5767,-1695.5199,13.6956,88.9354,75,1 ; -463,1137.1466,-1700.1902,13.3869,87.9396,132,112 ; -518,1280.4908,-1816.1259,13.0556,270.4623,133,56 ; -482,1250.2468,-1835.0884,13.5047,180.4024,85,85 ; -527,1196.9360,-1829.6980,13.1197,269.7545,90,9 ; -589,1280.9364,-1833.0607,13.0418,90.8050,46,126 ; -562,1267.0612,-1795.2074,13.0702,0.6533,102,24 ; -463,1281.6627,-1805.1254,12.9241,62.4969,53,53 ; -545,1238.0167,-1835.2385,13.2008,177.5310,40,96 ; -400,1423.8417,-1845.0616,13.4772,270.4685,109,109 ; -546,1536.6632,-1846.7765,13.2712,0.8185,3,87 ; -475,1614.0917,-1893.9027,13.3521,357.9483,102,80 ; -546,1796.2775,-1933.2837,13.1180,180.4499,113,78 ; -545,1776.1965,-1917.6884,13.1976,90.7850,39,1 ; -400,1776.1498,-1907.3949,13.4788,271.3831,101,1 ; -400,1804.1429,-1909.4020,13.3328,269.6684,10,10 ; -474,1804.4889,-1919.3353,13.1556,269.8831,110,1 ; -496,1785.9353,-1933.2903,13.1750,0.8605,52,69 ; -496,1776.2777,-1894.0770,12.9741,272.6132,15,15 ; -482,1776.5122,-1899.9752,13.5071,87.3522,10,10 ; -482,1791.3899,-1933.2008,13.5101,180.1195,118,118 ; -461,1775.7963,-1912.6582,12.9720,269.4815,61,1 ; -461,1775.7340,-1914.1243,12.9716,262.3925,75,1 ; -536,1834.7808,-1871.9734,13.0925,179.2434,30,96 ; -496,1836.6301,-1853.6381,13.1059,179.9886,20,20 ; -414,1858.8854,-1875.5944,13.5724,180.1933,95,1 ; -468,1900.5659,-1849.8379,13.2277,44.6102,94,63 ; -589,1251.2297,-2042.1305,59.4474,180.0659,40,1 ; -521,1244.8016,-2023.3499,59.4330,292.8341,92,3 ; -506,1256.9205,-2009.4756,59.2126,0.8008,7,7 ; -522,1277.8240,-2011.9354,58.4634,268.7320,7,79 ; -463,1097.5217,-1763.8896,12.8933,267.4286,36,36 ; -475,892.6356,-1668.8604,13.3544,179.2466,37,0 ; -506,874.8234,-1658.4843,13.2514,181.7123,1,15 ; -521,870.1176,-1676.6573,13.1183,186.2732,115,118 ; +446,728.1595,-1495.2687,-0.4906,179.7909,1,5 ; +454,720.7040,-1633.3224,0.1487,177.6009,26,26 ; +454,720.5267,-1699.9827,0.1866,358.9251,26,26 ; +429,764.7679,-1660.5485,4.2160,94.0819,12,12 ; +541,688.0235,-1600.1552,13.7216,359.7577,58,8 ; +466,594.6932,-1519.6713,14.8586,178.9838,68,76 ; +458,601.2115,-1519.8091,14.8971,359.8546,101,1 ; +496,648.1077,-1507.8370,14.7836,88.3481,35,35 ; +429,729.7592,-1433.3433,13.2151,90.2927,13,13 ; +506,665.4387,-1421.5520,14.3497,1.6522,7,7 ; +506,587.3435,-1499.5959,15.0621,273.6347,6,6 ; +413,691.4462,-1570.2456,14.3358,179.2636,91,1 ; +451,489.1148,-1514.9581,20.0516,186.2239,46,46 ; +541,494.3372,-1604.7161,18.2000,275.6070,60,1 ; +603,259.4689,-1597.9203,33.1167,299.1694,69,1 ; +429,262.3868,-1603.2013,33.0642,323.2319,2,2 ; +518,258.0661,-1591.6113,33.1217,275.3944,36,36 ; +409,867.4957,-1285.9368,13.8859,357.4155,1,1 ; +457,844.4999,-1197.9865,16.6038,0.3980,2,1 ; +457,880.8410,-1199.7491,16.6031,357.7022,21,108 ; +457,914.7440,-1199.8364,16.6032,359.8655,106,56 ; +463,920.4453,-1290.5063,13.3508,118.6505,121,14 ; +542,863.2733,-1375.0151,13.3187,85.7265,32,92 ; +561,903.8953,-1454.9287,12.8651,270.7864,8,17 ; +429,881.5562,-1453.8588,13.3618,271.8305,99,93 ; +507,809.9615,-1448.9109,12.9680,87.2106,35,54 ; +589,810.5452,-1464.3678,12.7191,85.7123,134,97 ; +496,821.6033,-1473.7249,12.5756,357.5008,54,120 ; +461,1031.1113,-1446.3105,13.1411,59.0580,67,86 ; +418,1005.0084,-1461.3424,13.6427,183.0261,119,119 ; +463,990.1287,-1354.9878,12.9125,285.7227,65,6 ; +479,991.3929,-1345.2102,13.1759,271.1148,123,108 ; +489,990.5985,-1306.8129,13.5204,179.0488,24,6 ; +475,1002.5063,-1306.5654,13.1866,359.6424,37,0 ; +518,981.5054,-1306.6899,13.1630,181.0135,71,18 ; +414,979.2278,-1258.1351,16.8071,182.5786,24,1 ; +506,955.9268,-1184.0712,16.6498,269.9031,30,31 ; +549,955.8333,-1190.2795,16.6425,270.2728,75,39 ; +482,956.0022,-1199.3633,17.1270,268.5538,20,20 ; +468,956.3898,-1193.4253,16.6297,89.6432,46,46 ; +567,1085.8342,-1199.3883,17.7945,90.5839,93,64 ; +542,1097.0354,-1218.1705,17.5471,356.6483,45,92 ; +461,1084.2866,-1232.2461,15.3945,243.6654,61,1 ; +461,1083.9337,-1235.0449,15.4088,243.8919,75,1 ; +461,1083.7941,-1238.1573,15.4110,243.1097,79,1 ; +405,1109.0310,-1225.8809,15.6987,181.5343,75,1 ; +458,1000.3081,-1084.5488,23.7069,179.6207,30,1 ; +542,1015.8254,-1083.9113,23.5711,0.6381,119,113 ; +461,1032.2993,-1082.4255,23.4136,166.6669,35,27 ; +475,1003.6659,-1054.6088,30.6946,3.0438,122,102 ; +560,1070.9109,-1102.3247,24.4439,270.7971,41,81 ; +496,1137.6492,-1025.5586,31.5121,177.9917,67,6 ; +558,1131.7341,-1010.0580,29.4899,95.0937,40,1 ; +581,1205.2384,-977.0176,43.0742,179.7537,58,1 ; +536,1227.2596,-974.1713,43.2139,180.2966,30,96 ; +414,1110.5709,-1331.4204,13.1385,0.6026,43,1 ; +581,989.3703,-1589.3812,13.0903,21.5606,66,1 ; +542,1061.2451,-1665.2649,13.4966,91.9120,32,92 ; +405,1136.5767,-1695.5199,13.6956,88.9354,75,1 ; +463,1137.1466,-1700.1902,13.3869,87.9396,132,112 ; +518,1280.4908,-1816.1259,13.0556,270.4623,133,56 ; +482,1250.2468,-1835.0884,13.5047,180.4024,85,85 ; +527,1196.9360,-1829.6980,13.1197,269.7545,90,9 ; +589,1280.9364,-1833.0607,13.0418,90.8050,46,126 ; +562,1267.0612,-1795.2074,13.0702,0.6533,102,24 ; +463,1281.6627,-1805.1254,12.9241,62.4969,53,53 ; +545,1238.0167,-1835.2385,13.2008,177.5310,40,96 ; +400,1423.8417,-1845.0616,13.4772,270.4685,109,109 ; +546,1536.6632,-1846.7765,13.2712,0.8185,3,87 ; +475,1614.0917,-1893.9027,13.3521,357.9483,102,80 ; +546,1796.2775,-1933.2837,13.1180,180.4499,113,78 ; +545,1776.1965,-1917.6884,13.1976,90.7850,39,1 ; +400,1776.1498,-1907.3949,13.4788,271.3831,101,1 ; +400,1804.1429,-1909.4020,13.3328,269.6684,10,10 ; +474,1804.4889,-1919.3353,13.1556,269.8831,110,1 ; +496,1785.9353,-1933.2903,13.1750,0.8605,52,69 ; +496,1776.2777,-1894.0770,12.9741,272.6132,15,15 ; +482,1776.5122,-1899.9752,13.5071,87.3522,10,10 ; +482,1791.3899,-1933.2008,13.5101,180.1195,118,118 ; +461,1775.7963,-1912.6582,12.9720,269.4815,61,1 ; +461,1775.7340,-1914.1243,12.9716,262.3925,75,1 ; +536,1834.7808,-1871.9734,13.0925,179.2434,30,96 ; +496,1836.6301,-1853.6381,13.1059,179.9886,20,20 ; +414,1858.8854,-1875.5944,13.5724,180.1933,95,1 ; +468,1900.5659,-1849.8379,13.2277,44.6102,94,63 ; +589,1251.2297,-2042.1305,59.4474,180.0659,40,1 ; +521,1244.8016,-2023.3499,59.4330,292.8341,92,3 ; +506,1256.9205,-2009.4756,59.2126,0.8008,7,7 ; +522,1277.8240,-2011.9354,58.4634,268.7320,7,79 ; +463,1097.5217,-1763.8896,12.8933,267.4286,36,36 ; +475,892.6356,-1668.8604,13.3544,179.2466,37,0 ; +506,874.8234,-1658.4843,13.2514,181.7123,1,15 ; +521,870.1176,-1676.6573,13.1183,186.2732,115,118 ; 496,888.5651,-1679.1317,13.2628,357.5185,102,135 ; -411,1671.5546,-1719.5422,20.2115,269.5804,132,108 ; -415,1656.9489,-1695.5144,20.2285,358.9435,131,53 ; -496,1671.9685,-1704.4779,20.2006,270.8929,66,72 ; -461,1673.9683,-1713.0564,20.0617,67.1318,43,1 ; +411,1671.5546,-1719.5422,20.2115,269.5804,132,108 ; +415,1656.9489,-1695.5144,20.2285,358.9435,131,53 ; +496,1671.9685,-1704.4779,20.2006,270.8929,66,72 ; +461,1673.9683,-1713.0564,20.0617,67.1318,43,1 ; diff --git a/amx/scriptfiles/vehicles/ls_gen_outer.txt b/amx/scriptfiles/vehicles/ls_gen_outer.txt index f683c8b..78d19b1 100644 --- a/amx/scriptfiles/vehicles/ls_gen_outer.txt +++ b/amx/scriptfiles/vehicles/ls_gen_outer.txt @@ -1,389 +1,389 @@ -413,327.8443,-1809.2729,4.5733,359.3342,91,1 ; -439,311.7234,-1809.8577,4.3552,179.9755,54,38 ; -496,334.3875,-1788.6018,4.7803,358.1175,41,41 ; -414,383.4589,-1740.6958,8.8571,358.6929,28,1 ; -467,740.4370,-1793.5476,12.9180,349.2087,58,8 ; -473,823.7594,-2066.2686,-0.1017,112.6381,56,53 ; -467,892.0507,-1797.3351,13.4070,175.4098,60,1 ; -467,944.9136,-1813.5590,13.0146,350.0614,68,8 ; -491,1096.8945,-1878.8030,13.3031,178.1535,71,72 ; -496,1206.2454,-1879.0792,13.3341,88.5190,77,26 ; -541,288.7144,-1158.0404,80.5349,221.9677,0,6 ; -589,346.9617,-1197.2283,76.2875,25.8040,70,100 ; -411,407.0925,-1151.5203,76.6354,148.1414,130,130 ; -562,481.5187,-1089.5427,82.1051,359.1924,0,3 ; -426,565.9165,-1067.1946,73.1332,35.3833,42,42 ; -451,228.7167,-1398.7766,51.2917,51.4378,131,74 ; -429,133.9096,-1492.1663,18.5958,57.1215,119,1 ; -562,150.7156,-1473.8826,24.9243,5.9389,111,118 ; -411,166.3856,-1340.8578,69.4391,190.4770,128,51 ; -603,172.0262,-1341.3418,69.5661,168.2207,44,40 ; -429,248.8978,-1355.4116,52.8828,279.1667,53,53 ; -451,251.6047,-1359.8792,52.7134,300.5452,17,117 ; -562,299.8025,-1331.8171,53.2744,72.7622,44,80 ; -405,406.4772,-1264.2565,50.2499,24.0160,24,1 ; -535,423.6223,-1266.3209,51.3450,21.9438,54,77 ; -477,261.5547,-1220.3823,74.6478,183.4546,99,100 ; -535,276.9328,-1267.3054,73.7098,302.5802,6,4 ; -496,280.3806,-1255.7952,73.6166,281.7693,46,66 ; -411,282.9343,-1160.4200,80.6401,223.5830,42,42 ; -589,569.3154,-1131.7330,50.2950,243.4572,42,39 ; -411,617.2254,-1102.6525,46.5131,126.8061,64,1 ; -562,687.5812,-1072.8162,49.1274,62.7814,76,45 ; -496,724.4913,-995.4954,52.3857,89.4483,79,110 ; -545,795.9840,-840.3973,60.4526,174.5740,31,96 ; -522,846.9828,-905.6497,68.3458,342.5805,138,94 ; -534,831.9914,-858.8560,69.6527,199.3811,65,44 ; -535,839.4457,-893.5928,68.5340,21.2260,3,1 ; -477,912.5916,-832.0980,92.1407,218.1897,108,127 ; -429,942.3409,-842.2905,93.9553,49.3921,107,69 ; -429,934.4840,-856.8366,93.1734,204.4157,135,30 ; -562,966.6584,-842.2115,95.4213,208.6852,103,88 ; -451,979.1476,-831.5278,95.3282,27.7639,22,108 ; -589,1024.2820,-777.6995,102.7277,142.3072,128,91 ; -429,1028.9191,-810.0178,101.6239,200.6103,20,71 ; -522,1099.2415,-818.4706,86.5177,153.5570,135,31 ; -522,1256.5295,-804.6979,83.7138,117.1748,116,130 ; -541,1248.1569,-804.1443,83.7656,167.9414,24,3 ; -487,1291.7155,-786.8652,96.6376,1.5839,29,42 ; -589,1352.0870,-622.1930,108.8587,24.2312,125,64 ; -477,1460.3851,-633.6793,95.5530,179.4419,0,1 ; -411,1108.8185,-732.7200,100.2283,87.5487,116,1 ; -429,1515.2770,-695.3987,94.4297,99.0699,3,1 ; -522,1518.6567,-688.1443,94.3202,127.6349,134,60 ; -535,1516.9452,-765.4361,79.7405,142.5422,66,1 ; -458,1530.6602,-814.2603,71.8145,269.5966,125,32 ; -560,1536.7003,-841.9440,64.3992,91.2450,101,95 ; -506,1515.6777,-879.8586,61.2318,73.2864,106,83 ; -451,1464.4681,-902.8252,54.5429,174.4412,27,31 ; -429,1429.4169,-883.6697,50.4307,45.8139,103,37 ; -589,1088.9662,-644.2655,113.1492,338.4004,20,50 ; -424,1113.3992,-657.0714,113.2539,1.8936,24,53 ; -411,1048.4277,-639.6287,119.8443,62.9709,81,124 ; -550,1038.2852,-640.5812,119.9407,3.9959,18,96 ; -558,1011.0540,-659.9860,120.7726,34.0075,131,53 ; -562,1006.7906,-663.9238,120.8018,212.6702,68,8 ; -560,946.7752,-705.8109,121.9154,208.3881,17,1 ; -535,912.4982,-665.0076,116.7563,234.0564,136,91 ; -477,866.9702,-712.0836,105.4297,301.5712,75,1 ; -518,851.5046,-741.6164,94.8512,223.7018,13,1 ; -603,887.4414,-782.3810,101.1163,325.3539,58,1 ; -534,834.7188,-754.2109,85.0352,221.3681,120,0 ; -545,856.4266,-825.8338,89.3121,35.0684,23,94 ; -545,812.7324,-768.6061,76.6226,240.9842,12,12 ; -562,792.6622,-824.7413,69.7717,10.8903,101,4 ; -405,211.8928,-1419.0681,13.1531,135.6236,24,1 ; -461,203.5655,-1441.0552,12.6881,319.3540,43,1 ; -482,216.6308,-1431.9065,13.3691,313.9951,48,48 ; -462,338.6057,-1340.7114,14.1075,116.4867,53,61 ; -439,343.3987,-1353.3427,14.4033,299.2459,43,21 ; -542,412.7446,-1318.5144,14.6645,210.7711,112,131 ; -521,411.1232,-1311.2087,14.5024,140.9818,36,0 ; -562,500.5935,-1304.4486,16.8673,309.5460,19,113 ; -521,531.3096,-1315.9927,16.8135,188.1211,74,74 ; -589,534.3378,-1291.4104,17.0133,1.2697,127,47 ; -463,542.3274,-1292.8159,16.7824,341.9847,79,3 ; -496,556.2568,-1291.2498,17.0149,180.9516,61,21 ; -461,587.8506,-1279.8562,15.9628,75.5049,57,94 ; -463,588.5497,-1282.7085,15.7110,71.1037,20,60 ; -589,569.1940,-1264.3147,16.4483,105.7125,75,1 ; -474,580.0232,-1310.1290,13.6310,190.1793,54,114 ; -429,760.3118,-1026.9938,23.8337,171.0469,25,78 ; -411,825.8176,-1006.6130,27.4827,38.8900,123,1 ; -429,973.4509,-930.9051,42.1739,91.9582,71,134 ; -463,892.2068,-944.0689,41.3930,346.6371,46,55 ; -496,1039.0024,-925.8621,42.0801,3.8901,95,87 ; -496,1028.1858,-887.8458,41.8743,18.1745,76,26 ; -534,1091.6672,-934.4342,42.7434,181.8923,53,53 ; -496,1196.4460,-887.2950,42.7778,4.9401,13,118 ; -461,1184.3699,-898.7025,42.8468,50.8006,26,5 ; -479,1307.0081,-871.5775,39.3723,88.4695,20,119 ; -482,1307.4617,-865.4689,39.6982,269.2831,52,52 ; -543,1307.4490,-856.3735,39.3962,86.8428,32,8 ; -463,1305.3447,-860.6293,39.1185,240.4489,102,77 ; -567,1327.1772,-856.8694,39.4427,355.0141,96,74 ; -458,1422.6184,-915.6990,35.9254,173.6657,76,95 ; -439,1455.1505,-920.9677,37.4997,5.5316,137,65 ; -550,1025.4679,-981.0638,42.4947,275.3589,109,23 ; -576,929.9745,-996.4139,37.8311,274.6470,68,96 ; -404,863.1107,-1056.6387,24.8362,216.7097,119,50 ; -463,868.9804,-1068.5559,24.6418,26.0884,90,87 ; -439,783.3749,-1356.8221,13.4354,272.4747,0,119 ; -463,733.6376,-1347.5618,13.0519,258.9138,22,22 ; -429,783.3834,-1347.7704,13.3739,90.3087,52,94 ; -536,1696.6791,-2097.0415,13.2841,179.3459,30,96 ; -542,1662.7777,-2110.7148,13.2900,90.3870,45,92 ; -400,1707.4287,-2142.6919,13.6471,229.0505,40,110 ; -567,1725.0461,-2130.4683,13.4259,180.7540,88,64 ; -412,1724.0801,-2092.9343,13.3837,178.9921,91,31 ; -536,1747.4430,-2097.3616,13.2870,179.0798,32,1 ; -576,1793.3020,-2149.7551,13.2392,180.6801,72,1 ; -536,1772.7323,-2096.0732,13.2853,181.7548,37,1 ; -549,1948.6121,-2114.0183,13.2416,90.8657,79,39 ; -496,1948.0044,-2126.9031,13.2611,269.0660,37,19 ; -463,1941.4159,-2139.8730,13.0970,153.7429,53,53 ; -414,1924.2328,-2123.9316,13.6772,359.7333,95,1 ; -576,1938.4186,-2089.9116,13.1725,87.9823,74,8 ; -518,1979.0964,-2065.5842,13.1683,1.5510,95,1 ; -482,1998.8810,-2095.2688,13.6603,182.4098,110,110 ; -482,2079.6143,-2007.4128,13.6618,267.6052,66,66 ; -543,2070.6382,-1995.7777,13.3738,177.5505,32,8 ; -463,2064.7144,-1998.2357,13.0870,323.5498,19,19 ; -475,1981.1689,-1985.4224,13.3487,0.0153,33,0 ; -443,2002.9520,-1940.1552,13.9832,90.4363,20,1 ; -413,2062.2634,-1904.0969,13.6286,358.4263,91,1 ; -426,2065.5415,-1920.3318,13.2901,179.3121,53,53 ; -468,2120.8396,-1874.5211,13.2159,331.0408,6,6 ; -448,2125.2058,-1817.1385,13.1554,304.3319,3,6 ; -448,2124.9956,-1814.4016,13.1552,307.8773,3,6 ; -448,2124.6506,-1811.7200,13.1522,308.4132,3,6 ; -489,2121.7656,-1783.0730,13.5319,181.4553,112,120 ; -600,2106.7954,-1783.6602,13.0983,178.3882,32,8 ; -400,2114.6040,-1783.4563,13.4944,359.1006,28,119 ; -546,2095.9749,-1800.3145,13.1088,268.3826,78,38 ; -400,2096.2324,-1819.9232,13.4752,269.6763,75,1 ; -554,1928.4520,-1795.0306,13.4708,269.1664,15,32 ; -475,1976.6083,-1727.6584,15.7685,270.5382,33,0 ; -400,2014.2510,-1737.9341,13.6451,89.6673,40,1 ; -546,2017.8608,-1707.7689,13.2712,91.0950,3,87 ; -496,1967.9211,-1658.8986,15.7506,88.9660,52,69 ; -474,2026.2841,-1649.0118,13.3172,268.3413,105,1 ; -429,1990.6079,-1579.2163,13.2836,74.1057,14,14 ; -475,2014.0079,-1597.3103,13.3757,134.4442,37,0 ; -466,2057.4875,-1636.5558,13.2887,269.2682,2,76 ; -496,2062.4905,-1694.4796,13.3308,89.8789,71,107 ; -533,2062.6511,-1738.6663,13.2560,90.7603,74,1 ; -412,2238.7908,-1630.9789,15.5684,339.3786,29,8 ; -534,2284.0630,-1681.7241,13.8912,0.3629,53,53 ; -475,2271.4482,-1634.8553,15.1246,1.4485,9,39 ; -463,2289.7493,-1685.7275,13.2727,338.6942,36,36 ; -496,2296.9233,-1644.5267,14.5451,178.7794,17,1 ; -474,2328.1565,-1677.1449,14.1746,268.4948,74,1 ; -545,2319.2271,-1712.0625,13.3579,179.0224,44,96 ; -475,2416.0103,-1707.7166,13.5772,180.6127,17,1 ; -400,2443.6687,-1637.1934,13.3619,180.6244,10,10 ; -404,2516.5413,-1672.2059,13.6568,247.4270,123,92 ; -600,2501.3005,-1685.7114,13.2052,54.2230,43,8 ; -482,2473.6335,-1688.4501,13.6213,1.3507,34,34 ; -426,2500.2908,-1755.7277,13.1737,179.5942,53,53 ; -414,2445.8567,-1762.6874,13.6820,179.0055,9,1 ; -479,2452.3486,-1784.1185,13.3435,358.6820,60,35 ; -475,2498.7920,-1953.6908,13.2268,180.0759,33,0 ; -482,2482.8601,-1953.4886,13.5429,359.9536,32,32 ; -475,2731.4260,-1937.1626,13.3474,270.9490,37,0 ; -489,2685.5461,-1986.3003,13.6939,358.8623,120,123 ; -536,2685.3967,-2021.3516,13.2650,179.1453,57,96 ; -475,2644.9438,-1989.3313,13.3576,178.5030,56,29 ; -547,2787.8420,-1876.2371,9.5681,179.4587,123,1 ; -426,2757.7773,-1847.0181,9.4532,21.0801,37,37 ; -479,2732.6860,-1875.2740,9.3877,359.7763,45,32 ; -567,2706.5757,-1843.5668,9.3669,339.9568,97,96 ; -458,2679.1792,-1826.0692,9.2646,129.6775,113,1 ; -439,2657.7949,-1812.8765,9.1989,98.6444,67,8 ; -461,2697.0117,-1836.8411,9.0454,131.7257,61,1 ; -463,2757.8318,-1878.8939,9.2421,331.1535,7,122 ; -521,2813.1143,-1822.5189,9.5068,56.5744,87,118 ; -521,2808.0325,-1669.0962,9.5088,168.8724,92,3 ; -466,2829.7585,-1699.7444,9.7443,256.3983,16,76 ; -545,2825.0059,-1718.6702,9.8159,77.5273,30,1 ; -588,2686.6833,-1672.3564,9.3456,1.2872,1,1 ; -546,2657.6079,-1701.7725,9.0416,92.9747,113,78 ; -521,2654.6636,-1692.5939,8.8779,251.8571,36,0 ; -463,2696.4189,-1669.2604,9.0249,152.7104,11,11 ; -474,2813.8862,-1429.2637,16.0126,357.9624,83,1 ; -546,2792.6982,-1432.1294,19.9428,95.9562,119,62 ; -521,2819.5498,-1427.8861,27.7283,97.0200,75,13 ; -429,2796.6160,-1428.0923,35.7734,355.7729,1,2 ; -400,2794.7859,-1464.7653,40.1536,180.1253,75,84 ; -418,2816.5820,-1431.5497,40.1556,268.4159,114,114 ; -521,2794.0625,-1576.2109,10.4993,252.9832,118,118 ; -600,2796.4966,-1562.6956,10.6452,89.5535,83,13 ; -426,2822.3193,-1553.4038,10.6672,89.8755,42,42 ; -533,2807.4377,-1540.4016,10.6310,180.0459,73,1 ; -414,2772.3438,-1614.6322,11.0090,270.6050,43,1 ; -589,2855.3896,-1354.9142,10.8385,271.7889,40,1 ; -521,2850.3010,-1323.3470,10.8710,43.7938,92,3 ; -562,2845.5762,-1287.0035,18.8725,276.4800,62,62 ; -463,2802.9653,-1174.3158,25.0878,148.6355,22,22 ; -589,2814.8518,-1186.5088,24.9740,125.2599,43,1 ; -496,2827.8259,-1165.8298,24.8425,74.4954,41,29 ; -419,2828.4297,-1193.2813,24.7035,319.2678,47,76 ; -521,2686.6938,-1102.2723,68.9335,36.2440,25,118 ; -536,2570.6431,-1101.5728,65.9616,224.2815,30,96 ; -461,2589.6411,-967.6470,80.9740,54.8113,88,1 ; -543,2561.0659,-955.9353,82.5712,189.2468,32,8 ; -543,2499.9092,-961.6536,82.0865,177.1486,43,8 ; -478,2492.5671,-951.8682,82.2364,268.9169,66,1 ; -463,2450.5344,-957.0054,79.5994,88.6032,79,79 ; -521,2359.4319,-648.6396,127.7032,321.5916,36,0 ; -478,2368.4819,-651.1127,127.6424,221.5063,59,1 ; -529,2497.5225,-1063.2612,69.7644,180.0623,42,42 ; -412,2503.8013,-1024.9954,69.9222,354.6204,37,8 ; -536,2485.7839,-1015.6508,65.0513,332.0788,57,96 ; -475,2453.7122,-1011.7231,59.5763,354.2991,37,0 ; -549,2432.1267,-1056.5386,54.0339,182.6494,91,35 ; -521,2366.8833,-1052.4576,53.7198,162.4203,118,118 ; -463,2334.8330,-1052.5548,51.8916,205.8942,7,7 ; -400,2328.0398,-1052.3500,52.4471,178.7152,40,1 ; -468,2368.9734,-1029.3669,53.9112,303.9771,53,53 ; -521,2222.1743,-1043.8972,57.4453,287.0623,92,3 ; -475,2200.8208,-1000.4743,62.1100,337.4120,41,29 ; -536,2073.8337,-972.3666,48.8145,121.6684,9,1 ; -461,2057.1284,-987.3378,45.8448,41.0353,37,1 ; -549,2032.1614,-966.3978,40.8893,144.2881,74,39 ; -521,1994.0328,-1089.3951,24.1790,265.7199,115,118 ; -536,1910.2012,-1117.5193,25.4453,359.7224,12,1 ; -576,1934.3488,-1118.8567,26.0909,167.6531,84,96 ; -540,1991.7618,-1119.2262,26.6329,88.5620,42,42 ; -549,2090.1191,-1141.0527,25.2550,91.9199,83,36 ; -536,2116.0889,-1059.6656,25.4645,1.6788,30,96 ; -549,2161.8665,-1148.1637,24.0918,268.7138,84,36 ; -576,2162.5032,-1162.9884,23.4278,270.5314,67,1 ; -540,2147.6460,-1180.4316,23.6805,271.2742,53,53 ; -554,2161.5271,-1192.5657,23.9013,270.6950,14,32 ; -521,2164.0178,-1178.0918,23.3890,68.9158,74,74 ; -463,2145.5957,-1162.0776,23.3554,273.2266,57,55 ; -475,2148.7520,-1242.4739,24.4964,2.1731,9,39 ; -536,2105.4612,-1242.9531,24.7791,1.3025,71,96 ; -475,2033.9213,-1285.0781,20.7583,269.6826,17,1 ; -479,2033.2328,-1294.9094,20.7262,90.1861,116,34 ; -536,2095.4097,-1365.6405,23.7217,359.4201,26,96 ; -567,2136.8682,-1366.1549,24.9118,181.6538,97,96 ; -554,2156.6670,-1408.6438,25.6234,89.8769,15,32 ; -529,2150.2095,-1423.7836,25.1728,270.8055,53,53 ; -412,2157.4702,-1454.6027,25.3766,272.0728,9,1 ; -482,2168.9004,-1503.8928,24.0567,264.3123,66,66 ; -554,2191.4373,-1465.7140,25.6253,90.8413,45,32 ; -489,2185.0557,-1434.4803,25.6846,93.1798,13,118 ; -529,2229.7317,-1367.4005,23.6257,273.8516,62,62 ; -405,2229.4822,-1348.8889,23.8603,87.4558,75,1 ; -600,2230.1382,-1359.4955,23.7003,269.3415,104,72 ; -536,2196.1318,-1278.5265,24.2447,358.3134,32,1 ; -479,2426.9795,-1241.6071,24.0514,176.5720,40,29 ; -603,2414.5007,-1223.4979,24.7468,354.3562,69,1 ; -475,2431.3196,-1241.5726,24.1538,177.5767,2,39 ; -463,2430.6926,-1220.7517,24.9012,142.6704,19,19 ; -467,2556.9187,-1211.2632,54.2710,92.0357,68,8 ; -475,2559.0198,-1194.6180,61.2624,177.0269,17,1 ; -412,2491.1543,-1299.4158,32.1578,276.4995,37,8 ; -554,2489.9026,-1292.7750,32.0910,246.3011,45,32 ; -400,2493.6797,-1276.2856,33.0028,268.8489,40,110 ; -475,2390.2915,-1487.7120,23.6330,90.8244,41,29 ; -400,2390.6387,-1503.7330,23.9272,270.7136,62,1 ; -463,2389.4578,-1497.8422,23.3752,243.2236,79,79 ; -545,2396.8088,-1536.9807,23.8111,0.1546,50,1 ; -479,2407.3284,-1538.0587,23.7968,0.6749,59,36 ; -466,2412.8625,-1537.3831,23.7432,357.6566,78,76 ; -475,2449.7637,-1556.8450,23.8046,1.3418,17,1 ; -529,2454.6299,-1557.0045,23.6327,180.1560,16,40 ; -496,2477.5659,-1557.4111,23.7818,358.5618,41,29 ; -463,2491.4055,-1535.6182,23.5519,59.4337,11,11 ; -461,2491.1179,-1529.3501,23.5688,56.2088,75,1 ; -521,2491.4360,-1532.5398,23.5717,55.7102,25,118 ; -496,2489.5791,-1518.4509,23.7588,269.8171,2,39 ; -562,2482.6208,-1557.3427,23.6524,2.3099,10,10 ; -468,2499.0034,-1538.0708,23.6439,335.4962,3,3 ; -536,2520.1445,-1480.9065,23.7363,1.3232,37,1 ; -533,2573.5979,-1489.6091,23.7162,87.7542,77,1 ; -521,2554.3159,-1367.9281,31.7872,241.1393,36,0 ; -536,2411.6626,-1390.6456,24.0787,268.8195,26,96 ; -533,1819.8600,-1403.5051,13.1363,89.9457,73,1 ; -496,1809.4696,-1432.1268,13.0139,274.7705,42,42 ; -542,1676.1560,-1106.9868,23.6493,268.6964,113,92 ; -589,1649.5083,-1102.5532,23.5644,270.0267,31,31 ; -589,1658.4116,-1088.9274,23.6777,89.2744,75,1 ; -482,1620.9778,-1089.5054,24.0216,89.9049,48,48 ; -518,1629.4741,-1103.3231,23.5760,268.5257,9,39 ; -518,1640.7035,-1046.7117,23.5692,359.8533,17,1 ; -482,1660.7136,-1016.1744,23.9634,11.4114,20,117 ; -496,1689.9340,-1035.6692,23.6231,178.1297,20,20 ; -429,1712.4379,-1005.7189,23.5937,351.9539,13,13 ; -542,1731.1282,-1009.0837,23.6852,348.1700,119,113 ; -496,1757.4509,-1037.7462,23.8359,180.9093,39,39 ; -475,1770.8777,-1061.7106,23.7646,179.4640,26,104 ; -496,1780.0526,-1069.8851,23.6770,359.9332,9,14 ; -536,1762.5533,-1085.8549,23.6983,180.7030,57,96 ; -518,1740.1122,-1085.8320,23.6318,181.0830,74,59 ; -542,1726.2168,-1085.2207,23.6669,182.7872,122,113 ; -549,1699.9979,-1068.8979,23.6031,357.9710,75,39 ; -400,1713.3634,-1061.1498,23.9985,181.1158,36,1 ; -496,1640.7484,-1038.1542,23.6150,358.3014,0,0 ; -542,1594.9391,-1009.9454,23.6493,185.8625,13,118 ; -482,1577.2344,-1040.1863,24.0271,141.0052,52,52 ; -536,1562.9835,-1011.3809,23.6439,359.5882,12,1 ; -496,1546.6223,-1026.6492,23.6228,162.1279,74,72 ; -463,1577.0701,-1008.9494,23.4464,165.1993,7,7 ; -521,1592.5432,-1057.9313,23.4784,297.7319,118,118 ; -461,1651.4000,-1015.1333,23.4877,216.5875,88,1 ; -463,1694.4098,-1003.8555,23.4463,216.3939,11,11 ; -521,1748.7355,-1039.5499,23.5323,15.0375,134,95 ; -542,1657.5460,-1137.0397,23.6497,178.3330,24,118 ; -589,1616.6453,-1128.1941,23.5644,92.6623,23,23 ; -484,2947.8057,-2052.6362,0.4738,359.4145,50,32 ; -456,2313.5281,-2310.5837,13.7196,133.0174,91,63 ; -455,2264.7073,-2335.1189,13.9838,314.5604,84,58 ; -455,2612.2107,-2198.1665,13.9835,180.4830,84,31 ; -525,2572.6416,-2240.2261,13.4192,93.6711,17,20 ; -453,2505.7712,-2269.1885,-0.3120,268.6544,56,56 ; -453,2307.9446,-2414.1733,-0.2071,314.9561,56,56 ; -455,2189.0393,-2649.3572,13.9833,266.7652,1,31 ; -525,2226.0032,-2677.0149,13.4329,4.2993,18,20 ; -552,2200.3921,-2638.4026,13.2521,357.1788,56,56 ; -422,2203.6013,-2595.3611,13.5221,87.9727,83,57 ; -422,2206.7747,-2527.8098,13.5299,94.0067,67,59 ; -525,2510.2681,-2629.5205,13.5251,88.6646,22,30 ; -456,2491.5276,-2671.4338,13.8094,180.9983,110,93 ; -455,2498.7861,-2572.7219,14.0866,357.5439,84,15 ; -422,2516.4746,-2452.8889,13.6216,44.3283,96,25 ; -470,2764.3169,-2383.4829,13.6235,181.4826,43,0 ; -470,2779.5730,-2440.3181,13.6296,267.8545,43,0 ; -470,2737.3740,-2485.6760,13.6431,87.2884,43,0 ; -400,2744.2754,-2447.5588,13.7433,179.2557,40,84 ; -400,2765.2122,-2531.8735,13.7407,359.5258,40,84 ; -400,2784.2922,-2387.0547,13.7279,89.7828,40,84 ; -400,2753.1467,-2387.5439,13.7358,1.3794,40,84 ; -552,2656.9172,-2451.1821,13.3204,93.4499,49,49 ; -422,2428.1499,-2492.5559,13.6317,45.6813,111,31 ; -530,2435.3372,-2434.5278,13.3911,41.7356,112,1 ; -530,2418.4021,-2506.5557,13.4131,273.4680,114,1 ; -530,2205.8362,-2571.1787,13.3094,85.7644,119,1 ; +413,327.8443,-1809.2729,4.5733,359.3342,91,1 ; +439,311.7234,-1809.8577,4.3552,179.9755,54,38 ; +496,334.3875,-1788.6018,4.7803,358.1175,41,41 ; +414,383.4589,-1740.6958,8.8571,358.6929,28,1 ; +467,740.4370,-1793.5476,12.9180,349.2087,58,8 ; +473,823.7594,-2066.2686,-0.1017,112.6381,56,53 ; +467,892.0507,-1797.3351,13.4070,175.4098,60,1 ; +467,944.9136,-1813.5590,13.0146,350.0614,68,8 ; +491,1096.8945,-1878.8030,13.3031,178.1535,71,72 ; +496,1206.2454,-1879.0792,13.3341,88.5190,77,26 ; +541,288.7144,-1158.0404,80.5349,221.9677,0,6 ; +589,346.9617,-1197.2283,76.2875,25.8040,70,100 ; +411,407.0925,-1151.5203,76.6354,148.1414,130,130 ; +562,481.5187,-1089.5427,82.1051,359.1924,0,3 ; +426,565.9165,-1067.1946,73.1332,35.3833,42,42 ; +451,228.7167,-1398.7766,51.2917,51.4378,131,74 ; +429,133.9096,-1492.1663,18.5958,57.1215,119,1 ; +562,150.7156,-1473.8826,24.9243,5.9389,111,118 ; +411,166.3856,-1340.8578,69.4391,190.4770,128,51 ; +603,172.0262,-1341.3418,69.5661,168.2207,44,40 ; +429,248.8978,-1355.4116,52.8828,279.1667,53,53 ; +451,251.6047,-1359.8792,52.7134,300.5452,17,117 ; +562,299.8025,-1331.8171,53.2744,72.7622,44,80 ; +405,406.4772,-1264.2565,50.2499,24.0160,24,1 ; +535,423.6223,-1266.3209,51.3450,21.9438,54,77 ; +477,261.5547,-1220.3823,74.6478,183.4546,99,100 ; +535,276.9328,-1267.3054,73.7098,302.5802,6,4 ; +496,280.3806,-1255.7952,73.6166,281.7693,46,66 ; +411,282.9343,-1160.4200,80.6401,223.5830,42,42 ; +589,569.3154,-1131.7330,50.2950,243.4572,42,39 ; +411,617.2254,-1102.6525,46.5131,126.8061,64,1 ; +562,687.5812,-1072.8162,49.1274,62.7814,76,45 ; +496,724.4913,-995.4954,52.3857,89.4483,79,110 ; +545,795.9840,-840.3973,60.4526,174.5740,31,96 ; +522,846.9828,-905.6497,68.3458,342.5805,138,94 ; +534,831.9914,-858.8560,69.6527,199.3811,65,44 ; +535,839.4457,-893.5928,68.5340,21.2260,3,1 ; +477,912.5916,-832.0980,92.1407,218.1897,108,127 ; +429,942.3409,-842.2905,93.9553,49.3921,107,69 ; +429,934.4840,-856.8366,93.1734,204.4157,135,30 ; +562,966.6584,-842.2115,95.4213,208.6852,103,88 ; +451,979.1476,-831.5278,95.3282,27.7639,22,108 ; +589,1024.2820,-777.6995,102.7277,142.3072,128,91 ; +429,1028.9191,-810.0178,101.6239,200.6103,20,71 ; +522,1099.2415,-818.4706,86.5177,153.5570,135,31 ; +522,1256.5295,-804.6979,83.7138,117.1748,116,130 ; +541,1248.1569,-804.1443,83.7656,167.9414,24,3 ; +487,1291.7155,-786.8652,96.6376,1.5839,29,42 ; +589,1352.0870,-622.1930,108.8587,24.2312,125,64 ; +477,1460.3851,-633.6793,95.5530,179.4419,0,1 ; +411,1108.8185,-732.7200,100.2283,87.5487,116,1 ; +429,1515.2770,-695.3987,94.4297,99.0699,3,1 ; +522,1518.6567,-688.1443,94.3202,127.6349,134,60 ; +535,1516.9452,-765.4361,79.7405,142.5422,66,1 ; +458,1530.6602,-814.2603,71.8145,269.5966,125,32 ; +560,1536.7003,-841.9440,64.3992,91.2450,101,95 ; +506,1515.6777,-879.8586,61.2318,73.2864,106,83 ; +451,1464.4681,-902.8252,54.5429,174.4412,27,31 ; +429,1429.4169,-883.6697,50.4307,45.8139,103,37 ; +589,1088.9662,-644.2655,113.1492,338.4004,20,50 ; +424,1113.3992,-657.0714,113.2539,1.8936,24,53 ; +411,1048.4277,-639.6287,119.8443,62.9709,81,124 ; +550,1038.2852,-640.5812,119.9407,3.9959,18,96 ; +558,1011.0540,-659.9860,120.7726,34.0075,131,53 ; +562,1006.7906,-663.9238,120.8018,212.6702,68,8 ; +560,946.7752,-705.8109,121.9154,208.3881,17,1 ; +535,912.4982,-665.0076,116.7563,234.0564,136,91 ; +477,866.9702,-712.0836,105.4297,301.5712,75,1 ; +518,851.5046,-741.6164,94.8512,223.7018,13,1 ; +603,887.4414,-782.3810,101.1163,325.3539,58,1 ; +534,834.7188,-754.2109,85.0352,221.3681,120,0 ; +545,856.4266,-825.8338,89.3121,35.0684,23,94 ; +545,812.7324,-768.6061,76.6226,240.9842,12,12 ; +562,792.6622,-824.7413,69.7717,10.8903,101,4 ; +405,211.8928,-1419.0681,13.1531,135.6236,24,1 ; +461,203.5655,-1441.0552,12.6881,319.3540,43,1 ; +482,216.6308,-1431.9065,13.3691,313.9951,48,48 ; +462,338.6057,-1340.7114,14.1075,116.4867,53,61 ; +439,343.3987,-1353.3427,14.4033,299.2459,43,21 ; +542,412.7446,-1318.5144,14.6645,210.7711,112,131 ; +521,411.1232,-1311.2087,14.5024,140.9818,36,0 ; +562,500.5935,-1304.4486,16.8673,309.5460,19,113 ; +521,531.3096,-1315.9927,16.8135,188.1211,74,74 ; +589,534.3378,-1291.4104,17.0133,1.2697,127,47 ; +463,542.3274,-1292.8159,16.7824,341.9847,79,3 ; +496,556.2568,-1291.2498,17.0149,180.9516,61,21 ; +461,587.8506,-1279.8562,15.9628,75.5049,57,94 ; +463,588.5497,-1282.7085,15.7110,71.1037,20,60 ; +589,569.1940,-1264.3147,16.4483,105.7125,75,1 ; +474,580.0232,-1310.1290,13.6310,190.1793,54,114 ; +429,760.3118,-1026.9938,23.8337,171.0469,25,78 ; +411,825.8176,-1006.6130,27.4827,38.8900,123,1 ; +429,973.4509,-930.9051,42.1739,91.9582,71,134 ; +463,892.2068,-944.0689,41.3930,346.6371,46,55 ; +496,1039.0024,-925.8621,42.0801,3.8901,95,87 ; +496,1028.1858,-887.8458,41.8743,18.1745,76,26 ; +534,1091.6672,-934.4342,42.7434,181.8923,53,53 ; +496,1196.4460,-887.2950,42.7778,4.9401,13,118 ; +461,1184.3699,-898.7025,42.8468,50.8006,26,5 ; +479,1307.0081,-871.5775,39.3723,88.4695,20,119 ; +482,1307.4617,-865.4689,39.6982,269.2831,52,52 ; +543,1307.4490,-856.3735,39.3962,86.8428,32,8 ; +463,1305.3447,-860.6293,39.1185,240.4489,102,77 ; +567,1327.1772,-856.8694,39.4427,355.0141,96,74 ; +458,1422.6184,-915.6990,35.9254,173.6657,76,95 ; +439,1455.1505,-920.9677,37.4997,5.5316,137,65 ; +550,1025.4679,-981.0638,42.4947,275.3589,109,23 ; +576,929.9745,-996.4139,37.8311,274.6470,68,96 ; +404,863.1107,-1056.6387,24.8362,216.7097,119,50 ; +463,868.9804,-1068.5559,24.6418,26.0884,90,87 ; +439,783.3749,-1356.8221,13.4354,272.4747,0,119 ; +463,733.6376,-1347.5618,13.0519,258.9138,22,22 ; +429,783.3834,-1347.7704,13.3739,90.3087,52,94 ; +536,1696.6791,-2097.0415,13.2841,179.3459,30,96 ; +542,1662.7777,-2110.7148,13.2900,90.3870,45,92 ; +400,1707.4287,-2142.6919,13.6471,229.0505,40,110 ; +567,1725.0461,-2130.4683,13.4259,180.7540,88,64 ; +412,1724.0801,-2092.9343,13.3837,178.9921,91,31 ; +536,1747.4430,-2097.3616,13.2870,179.0798,32,1 ; +576,1793.3020,-2149.7551,13.2392,180.6801,72,1 ; +536,1772.7323,-2096.0732,13.2853,181.7548,37,1 ; +549,1948.6121,-2114.0183,13.2416,90.8657,79,39 ; +496,1948.0044,-2126.9031,13.2611,269.0660,37,19 ; +463,1941.4159,-2139.8730,13.0970,153.7429,53,53 ; +414,1924.2328,-2123.9316,13.6772,359.7333,95,1 ; +576,1938.4186,-2089.9116,13.1725,87.9823,74,8 ; +518,1979.0964,-2065.5842,13.1683,1.5510,95,1 ; +482,1998.8810,-2095.2688,13.6603,182.4098,110,110 ; +482,2079.6143,-2007.4128,13.6618,267.6052,66,66 ; +543,2070.6382,-1995.7777,13.3738,177.5505,32,8 ; +463,2064.7144,-1998.2357,13.0870,323.5498,19,19 ; +475,1981.1689,-1985.4224,13.3487,0.0153,33,0 ; +443,2002.9520,-1940.1552,13.9832,90.4363,20,1 ; +413,2062.2634,-1904.0969,13.6286,358.4263,91,1 ; +426,2065.5415,-1920.3318,13.2901,179.3121,53,53 ; +468,2120.8396,-1874.5211,13.2159,331.0408,6,6 ; +448,2125.2058,-1817.1385,13.1554,304.3319,3,6 ; +448,2124.9956,-1814.4016,13.1552,307.8773,3,6 ; +448,2124.6506,-1811.7200,13.1522,308.4132,3,6 ; +489,2121.7656,-1783.0730,13.5319,181.4553,112,120 ; +600,2106.7954,-1783.6602,13.0983,178.3882,32,8 ; +400,2114.6040,-1783.4563,13.4944,359.1006,28,119 ; +546,2095.9749,-1800.3145,13.1088,268.3826,78,38 ; +400,2096.2324,-1819.9232,13.4752,269.6763,75,1 ; +554,1928.4520,-1795.0306,13.4708,269.1664,15,32 ; +475,1976.6083,-1727.6584,15.7685,270.5382,33,0 ; +400,2014.2510,-1737.9341,13.6451,89.6673,40,1 ; +546,2017.8608,-1707.7689,13.2712,91.0950,3,87 ; +496,1967.9211,-1658.8986,15.7506,88.9660,52,69 ; +474,2026.2841,-1649.0118,13.3172,268.3413,105,1 ; +429,1990.6079,-1579.2163,13.2836,74.1057,14,14 ; +475,2014.0079,-1597.3103,13.3757,134.4442,37,0 ; +466,2057.4875,-1636.5558,13.2887,269.2682,2,76 ; +496,2062.4905,-1694.4796,13.3308,89.8789,71,107 ; +533,2062.6511,-1738.6663,13.2560,90.7603,74,1 ; +412,2238.7908,-1630.9789,15.5684,339.3786,29,8 ; +534,2284.0630,-1681.7241,13.8912,0.3629,53,53 ; +475,2271.4482,-1634.8553,15.1246,1.4485,9,39 ; +463,2289.7493,-1685.7275,13.2727,338.6942,36,36 ; +496,2296.9233,-1644.5267,14.5451,178.7794,17,1 ; +474,2328.1565,-1677.1449,14.1746,268.4948,74,1 ; +545,2319.2271,-1712.0625,13.3579,179.0224,44,96 ; +475,2416.0103,-1707.7166,13.5772,180.6127,17,1 ; +400,2443.6687,-1637.1934,13.3619,180.6244,10,10 ; +404,2516.5413,-1672.2059,13.6568,247.4270,123,92 ; +600,2501.3005,-1685.7114,13.2052,54.2230,43,8 ; +482,2473.6335,-1688.4501,13.6213,1.3507,34,34 ; +426,2500.2908,-1755.7277,13.1737,179.5942,53,53 ; +414,2445.8567,-1762.6874,13.6820,179.0055,9,1 ; +479,2452.3486,-1784.1185,13.3435,358.6820,60,35 ; +475,2498.7920,-1953.6908,13.2268,180.0759,33,0 ; +482,2482.8601,-1953.4886,13.5429,359.9536,32,32 ; +475,2731.4260,-1937.1626,13.3474,270.9490,37,0 ; +489,2685.5461,-1986.3003,13.6939,358.8623,120,123 ; +536,2685.3967,-2021.3516,13.2650,179.1453,57,96 ; +475,2644.9438,-1989.3313,13.3576,178.5030,56,29 ; +547,2787.8420,-1876.2371,9.5681,179.4587,123,1 ; +426,2757.7773,-1847.0181,9.4532,21.0801,37,37 ; +479,2732.6860,-1875.2740,9.3877,359.7763,45,32 ; +567,2706.5757,-1843.5668,9.3669,339.9568,97,96 ; +458,2679.1792,-1826.0692,9.2646,129.6775,113,1 ; +439,2657.7949,-1812.8765,9.1989,98.6444,67,8 ; +461,2697.0117,-1836.8411,9.0454,131.7257,61,1 ; +463,2757.8318,-1878.8939,9.2421,331.1535,7,122 ; +521,2813.1143,-1822.5189,9.5068,56.5744,87,118 ; +521,2808.0325,-1669.0962,9.5088,168.8724,92,3 ; +466,2829.7585,-1699.7444,9.7443,256.3983,16,76 ; +545,2825.0059,-1718.6702,9.8159,77.5273,30,1 ; +588,2686.6833,-1672.3564,9.3456,1.2872,1,1 ; +546,2657.6079,-1701.7725,9.0416,92.9747,113,78 ; +521,2654.6636,-1692.5939,8.8779,251.8571,36,0 ; +463,2696.4189,-1669.2604,9.0249,152.7104,11,11 ; +474,2813.8862,-1429.2637,16.0126,357.9624,83,1 ; +546,2792.6982,-1432.1294,19.9428,95.9562,119,62 ; +521,2819.5498,-1427.8861,27.7283,97.0200,75,13 ; +429,2796.6160,-1428.0923,35.7734,355.7729,1,2 ; +400,2794.7859,-1464.7653,40.1536,180.1253,75,84 ; +418,2816.5820,-1431.5497,40.1556,268.4159,114,114 ; +521,2794.0625,-1576.2109,10.4993,252.9832,118,118 ; +600,2796.4966,-1562.6956,10.6452,89.5535,83,13 ; +426,2822.3193,-1553.4038,10.6672,89.8755,42,42 ; +533,2807.4377,-1540.4016,10.6310,180.0459,73,1 ; +414,2772.3438,-1614.6322,11.0090,270.6050,43,1 ; +589,2855.3896,-1354.9142,10.8385,271.7889,40,1 ; +521,2850.3010,-1323.3470,10.8710,43.7938,92,3 ; +562,2845.5762,-1287.0035,18.8725,276.4800,62,62 ; +463,2802.9653,-1174.3158,25.0878,148.6355,22,22 ; +589,2814.8518,-1186.5088,24.9740,125.2599,43,1 ; +496,2827.8259,-1165.8298,24.8425,74.4954,41,29 ; +419,2828.4297,-1193.2813,24.7035,319.2678,47,76 ; +521,2686.6938,-1102.2723,68.9335,36.2440,25,118 ; +536,2570.6431,-1101.5728,65.9616,224.2815,30,96 ; +461,2589.6411,-967.6470,80.9740,54.8113,88,1 ; +543,2561.0659,-955.9353,82.5712,189.2468,32,8 ; +543,2499.9092,-961.6536,82.0865,177.1486,43,8 ; +478,2492.5671,-951.8682,82.2364,268.9169,66,1 ; +463,2450.5344,-957.0054,79.5994,88.6032,79,79 ; +521,2359.4319,-648.6396,127.7032,321.5916,36,0 ; +478,2368.4819,-651.1127,127.6424,221.5063,59,1 ; +529,2497.5225,-1063.2612,69.7644,180.0623,42,42 ; +412,2503.8013,-1024.9954,69.9222,354.6204,37,8 ; +536,2485.7839,-1015.6508,65.0513,332.0788,57,96 ; +475,2453.7122,-1011.7231,59.5763,354.2991,37,0 ; +549,2432.1267,-1056.5386,54.0339,182.6494,91,35 ; +521,2366.8833,-1052.4576,53.7198,162.4203,118,118 ; +463,2334.8330,-1052.5548,51.8916,205.8942,7,7 ; +400,2328.0398,-1052.3500,52.4471,178.7152,40,1 ; +468,2368.9734,-1029.3669,53.9112,303.9771,53,53 ; +521,2222.1743,-1043.8972,57.4453,287.0623,92,3 ; +475,2200.8208,-1000.4743,62.1100,337.4120,41,29 ; +536,2073.8337,-972.3666,48.8145,121.6684,9,1 ; +461,2057.1284,-987.3378,45.8448,41.0353,37,1 ; +549,2032.1614,-966.3978,40.8893,144.2881,74,39 ; +521,1994.0328,-1089.3951,24.1790,265.7199,115,118 ; +536,1910.2012,-1117.5193,25.4453,359.7224,12,1 ; +576,1934.3488,-1118.8567,26.0909,167.6531,84,96 ; +540,1991.7618,-1119.2262,26.6329,88.5620,42,42 ; +549,2090.1191,-1141.0527,25.2550,91.9199,83,36 ; +536,2116.0889,-1059.6656,25.4645,1.6788,30,96 ; +549,2161.8665,-1148.1637,24.0918,268.7138,84,36 ; +576,2162.5032,-1162.9884,23.4278,270.5314,67,1 ; +540,2147.6460,-1180.4316,23.6805,271.2742,53,53 ; +554,2161.5271,-1192.5657,23.9013,270.6950,14,32 ; +521,2164.0178,-1178.0918,23.3890,68.9158,74,74 ; +463,2145.5957,-1162.0776,23.3554,273.2266,57,55 ; +475,2148.7520,-1242.4739,24.4964,2.1731,9,39 ; +536,2105.4612,-1242.9531,24.7791,1.3025,71,96 ; +475,2033.9213,-1285.0781,20.7583,269.6826,17,1 ; +479,2033.2328,-1294.9094,20.7262,90.1861,116,34 ; +536,2095.4097,-1365.6405,23.7217,359.4201,26,96 ; +567,2136.8682,-1366.1549,24.9118,181.6538,97,96 ; +554,2156.6670,-1408.6438,25.6234,89.8769,15,32 ; +529,2150.2095,-1423.7836,25.1728,270.8055,53,53 ; +412,2157.4702,-1454.6027,25.3766,272.0728,9,1 ; +482,2168.9004,-1503.8928,24.0567,264.3123,66,66 ; +554,2191.4373,-1465.7140,25.6253,90.8413,45,32 ; +489,2185.0557,-1434.4803,25.6846,93.1798,13,118 ; +529,2229.7317,-1367.4005,23.6257,273.8516,62,62 ; +405,2229.4822,-1348.8889,23.8603,87.4558,75,1 ; +600,2230.1382,-1359.4955,23.7003,269.3415,104,72 ; +536,2196.1318,-1278.5265,24.2447,358.3134,32,1 ; +479,2426.9795,-1241.6071,24.0514,176.5720,40,29 ; +603,2414.5007,-1223.4979,24.7468,354.3562,69,1 ; +475,2431.3196,-1241.5726,24.1538,177.5767,2,39 ; +463,2430.6926,-1220.7517,24.9012,142.6704,19,19 ; +467,2556.9187,-1211.2632,54.2710,92.0357,68,8 ; +475,2559.0198,-1194.6180,61.2624,177.0269,17,1 ; +412,2491.1543,-1299.4158,32.1578,276.4995,37,8 ; +554,2489.9026,-1292.7750,32.0910,246.3011,45,32 ; +400,2493.6797,-1276.2856,33.0028,268.8489,40,110 ; +475,2390.2915,-1487.7120,23.6330,90.8244,41,29 ; +400,2390.6387,-1503.7330,23.9272,270.7136,62,1 ; +463,2389.4578,-1497.8422,23.3752,243.2236,79,79 ; +545,2396.8088,-1536.9807,23.8111,0.1546,50,1 ; +479,2407.3284,-1538.0587,23.7968,0.6749,59,36 ; +466,2412.8625,-1537.3831,23.7432,357.6566,78,76 ; +475,2449.7637,-1556.8450,23.8046,1.3418,17,1 ; +529,2454.6299,-1557.0045,23.6327,180.1560,16,40 ; +496,2477.5659,-1557.4111,23.7818,358.5618,41,29 ; +463,2491.4055,-1535.6182,23.5519,59.4337,11,11 ; +461,2491.1179,-1529.3501,23.5688,56.2088,75,1 ; +521,2491.4360,-1532.5398,23.5717,55.7102,25,118 ; +496,2489.5791,-1518.4509,23.7588,269.8171,2,39 ; +562,2482.6208,-1557.3427,23.6524,2.3099,10,10 ; +468,2499.0034,-1538.0708,23.6439,335.4962,3,3 ; +536,2520.1445,-1480.9065,23.7363,1.3232,37,1 ; +533,2573.5979,-1489.6091,23.7162,87.7542,77,1 ; +521,2554.3159,-1367.9281,31.7872,241.1393,36,0 ; +536,2411.6626,-1390.6456,24.0787,268.8195,26,96 ; +533,1819.8600,-1403.5051,13.1363,89.9457,73,1 ; +496,1809.4696,-1432.1268,13.0139,274.7705,42,42 ; +542,1676.1560,-1106.9868,23.6493,268.6964,113,92 ; +589,1649.5083,-1102.5532,23.5644,270.0267,31,31 ; +589,1658.4116,-1088.9274,23.6777,89.2744,75,1 ; +482,1620.9778,-1089.5054,24.0216,89.9049,48,48 ; +518,1629.4741,-1103.3231,23.5760,268.5257,9,39 ; +518,1640.7035,-1046.7117,23.5692,359.8533,17,1 ; +482,1660.7136,-1016.1744,23.9634,11.4114,20,117 ; +496,1689.9340,-1035.6692,23.6231,178.1297,20,20 ; +429,1712.4379,-1005.7189,23.5937,351.9539,13,13 ; +542,1731.1282,-1009.0837,23.6852,348.1700,119,113 ; +496,1757.4509,-1037.7462,23.8359,180.9093,39,39 ; +475,1770.8777,-1061.7106,23.7646,179.4640,26,104 ; +496,1780.0526,-1069.8851,23.6770,359.9332,9,14 ; +536,1762.5533,-1085.8549,23.6983,180.7030,57,96 ; +518,1740.1122,-1085.8320,23.6318,181.0830,74,59 ; +542,1726.2168,-1085.2207,23.6669,182.7872,122,113 ; +549,1699.9979,-1068.8979,23.6031,357.9710,75,39 ; +400,1713.3634,-1061.1498,23.9985,181.1158,36,1 ; +496,1640.7484,-1038.1542,23.6150,358.3014,0,0 ; +542,1594.9391,-1009.9454,23.6493,185.8625,13,118 ; +482,1577.2344,-1040.1863,24.0271,141.0052,52,52 ; +536,1562.9835,-1011.3809,23.6439,359.5882,12,1 ; +496,1546.6223,-1026.6492,23.6228,162.1279,74,72 ; +463,1577.0701,-1008.9494,23.4464,165.1993,7,7 ; +521,1592.5432,-1057.9313,23.4784,297.7319,118,118 ; +461,1651.4000,-1015.1333,23.4877,216.5875,88,1 ; +463,1694.4098,-1003.8555,23.4463,216.3939,11,11 ; +521,1748.7355,-1039.5499,23.5323,15.0375,134,95 ; +542,1657.5460,-1137.0397,23.6497,178.3330,24,118 ; +589,1616.6453,-1128.1941,23.5644,92.6623,23,23 ; +484,2947.8057,-2052.6362,0.4738,359.4145,50,32 ; +456,2313.5281,-2310.5837,13.7196,133.0174,91,63 ; +455,2264.7073,-2335.1189,13.9838,314.5604,84,58 ; +455,2612.2107,-2198.1665,13.9835,180.4830,84,31 ; +525,2572.6416,-2240.2261,13.4192,93.6711,17,20 ; +453,2505.7712,-2269.1885,-0.3120,268.6544,56,56 ; +453,2307.9446,-2414.1733,-0.2071,314.9561,56,56 ; +455,2189.0393,-2649.3572,13.9833,266.7652,1,31 ; +525,2226.0032,-2677.0149,13.4329,4.2993,18,20 ; +552,2200.3921,-2638.4026,13.2521,357.1788,56,56 ; +422,2203.6013,-2595.3611,13.5221,87.9727,83,57 ; +422,2206.7747,-2527.8098,13.5299,94.0067,67,59 ; +525,2510.2681,-2629.5205,13.5251,88.6646,22,30 ; +456,2491.5276,-2671.4338,13.8094,180.9983,110,93 ; +455,2498.7861,-2572.7219,14.0866,357.5439,84,15 ; +422,2516.4746,-2452.8889,13.6216,44.3283,96,25 ; +470,2764.3169,-2383.4829,13.6235,181.4826,43,0 ; +470,2779.5730,-2440.3181,13.6296,267.8545,43,0 ; +470,2737.3740,-2485.6760,13.6431,87.2884,43,0 ; +400,2744.2754,-2447.5588,13.7433,179.2557,40,84 ; +400,2765.2122,-2531.8735,13.7407,359.5258,40,84 ; +400,2784.2922,-2387.0547,13.7279,89.7828,40,84 ; +400,2753.1467,-2387.5439,13.7358,1.3794,40,84 ; +552,2656.9172,-2451.1821,13.3204,93.4499,49,49 ; +422,2428.1499,-2492.5559,13.6317,45.6813,111,31 ; +530,2435.3372,-2434.5278,13.3911,41.7356,112,1 ; +530,2418.4021,-2506.5557,13.4131,273.4680,114,1 ; +530,2205.8362,-2571.1787,13.3094,85.7644,119,1 ; 455,2152.5361,-2148.2825,13.9860,310.8004,1,31 ; -439,1373.6738,-1634.1741,13.2790,271.5004,8,17 ; -542,1362.9803,-1659.5125,13.1263,270.4668,32,92 ; -475,1359.6680,-1749.6177,13.1843,0.0962,21,1 ; -439,1401.3602,-1507.1211,13.4834,163.4146,67,8 ; -475,1500.1357,-1487.4355,13.3556,91.3002,2,39 ; -542,1797.1293,-1701.1102,13.2757,179.5340,31,93 ; -521,1807.9387,-1688.3774,13.1068,105.3693,75,13 ; -414,1781.8600,-1701.3483,13.5957,3.8341,25,1 ; -475,306.7730,-1438.4087,27.7341,120.6372,33,0 ; -475,1277.5547,-1610.1168,13.3511,90.3928,2,39 ; -439,1670.6208,-1886.9011,13.4429,2.8833,65,79 ; -414,1653.4976,-1837.6439,13.6400,1.1054,72,1 ; -475,1145.1482,-1366.7389,13.5456,184.4175,2,39 ; -418,2090.4797,-1556.7979,13.2113,181.8175,114,114 ; -554,2224.8198,-2211.0693,13.6286,314.5282,45,32 ; -403,2201.2490,-2241.3311,14.1532,135.1536,30,1 ; -403,2196.7461,-2236.3652,14.1486,134.2909,28,1 ; -403,2208.1824,-2296.9404,15.3708,136.0373,25,1 ; -439,2393.2522,-1927.3457,13.2782,179.4218,65,79 ; -475,2383.3689,-1928.1165,13.1844,179.4976,56,29 ; -521,2376.8760,-1929.3613,12.9563,341.1395,87,118 ; -439,2349.1824,-2000.2684,13.2666,267.0585,25,78 ; -420,1775.6141,-1860.0100,13.2745,269.2006,6,1 ; -420,1763.0121,-1860.0037,13.2723,271.2998,6,1 ; -420,1748.9358,-1859.9502,13.2721,270.3943,6,1 ; -420,1734.6754,-1859.9305,13.2740,270.5646,6,1 ; -542,1512.3342,-2211.7639,13.2940,359.3842,45,92 ; -518,1546.2539,-2211.5557,13.2254,178.7042,37,0 ; -521,1560.0939,-2243.5127,13.1179,94.0584,118,118 ; -429,1441.7079,-2225.1514,13.2265,1.5921,13,13 ; -518,1454.6436,-2224.9185,13.2177,0.2168,41,29 ; -496,1408.1469,-2242.1521,13.2630,359.3946,9,14 ; -439,1398.1570,-2225.4885,13.4427,179.6260,37,78 ; -475,1391.6555,-2241.8704,13.3495,180.5889,33,0 ; -542,1364.5348,-2242.7036,13.2899,270.7713,119,113 ; -542,1404.6641,-2314.1211,13.2898,180.5298,122,113 ; -518,1411.2491,-2347.3430,13.2101,180.0483,9,39 ; -496,1391.5173,-2364.2131,13.2633,179.7053,0,0 ; +439,1373.6738,-1634.1741,13.2790,271.5004,8,17 ; +542,1362.9803,-1659.5125,13.1263,270.4668,32,92 ; +475,1359.6680,-1749.6177,13.1843,0.0962,21,1 ; +439,1401.3602,-1507.1211,13.4834,163.4146,67,8 ; +475,1500.1357,-1487.4355,13.3556,91.3002,2,39 ; +542,1797.1293,-1701.1102,13.2757,179.5340,31,93 ; +521,1807.9387,-1688.3774,13.1068,105.3693,75,13 ; +414,1781.8600,-1701.3483,13.5957,3.8341,25,1 ; +475,306.7730,-1438.4087,27.7341,120.6372,33,0 ; +475,1277.5547,-1610.1168,13.3511,90.3928,2,39 ; +439,1670.6208,-1886.9011,13.4429,2.8833,65,79 ; +414,1653.4976,-1837.6439,13.6400,1.1054,72,1 ; +475,1145.1482,-1366.7389,13.5456,184.4175,2,39 ; +418,2090.4797,-1556.7979,13.2113,181.8175,114,114 ; +554,2224.8198,-2211.0693,13.6286,314.5282,45,32 ; +403,2201.2490,-2241.3311,14.1532,135.1536,30,1 ; +403,2196.7461,-2236.3652,14.1486,134.2909,28,1 ; +403,2208.1824,-2296.9404,15.3708,136.0373,25,1 ; +439,2393.2522,-1927.3457,13.2782,179.4218,65,79 ; +475,2383.3689,-1928.1165,13.1844,179.4976,56,29 ; +521,2376.8760,-1929.3613,12.9563,341.1395,87,118 ; +439,2349.1824,-2000.2684,13.2666,267.0585,25,78 ; +420,1775.6141,-1860.0100,13.2745,269.2006,6,1 ; +420,1763.0121,-1860.0037,13.2723,271.2998,6,1 ; +420,1748.9358,-1859.9502,13.2721,270.3943,6,1 ; +420,1734.6754,-1859.9305,13.2740,270.5646,6,1 ; +542,1512.3342,-2211.7639,13.2940,359.3842,45,92 ; +518,1546.2539,-2211.5557,13.2254,178.7042,37,0 ; +521,1560.0939,-2243.5127,13.1179,94.0584,118,118 ; +429,1441.7079,-2225.1514,13.2265,1.5921,13,13 ; +518,1454.6436,-2224.9185,13.2177,0.2168,41,29 ; +496,1408.1469,-2242.1521,13.2630,359.3946,9,14 ; +439,1398.1570,-2225.4885,13.4427,179.6260,37,78 ; +475,1391.6555,-2241.8704,13.3495,180.5889,33,0 ; +542,1364.5348,-2242.7036,13.2899,270.7713,119,113 ; +542,1404.6641,-2314.1211,13.2898,180.5298,122,113 ; +518,1411.2491,-2347.3430,13.2101,180.0483,9,39 ; +496,1391.5173,-2364.2131,13.2633,179.7053,0,0 ; 521,1365.7269,-2351.5515,13.1069,87.0619,92,3 ; diff --git a/amx/scriptfiles/vehicles/ls_law.txt b/amx/scriptfiles/vehicles/ls_law.txt index 1a54fe1..63cc85f 100644 --- a/amx/scriptfiles/vehicles/ls_law.txt +++ b/amx/scriptfiles/vehicles/ls_law.txt @@ -1,24 +1,24 @@ -596,1554.5928,-1615.0944,13.1075,143.0,0,1 ; -596,1560.2781,-1614.7255,13.1065,143.0,0,1 ; -596,1565.3577,-1615.1208,13.1006,143.0,0,1 ; -596,1570.3990,-1615.1421,13.1035,143.0,0,1 ; -596,1575.5455,-1615.0767,13.1051,143.0,0,1 ; -427,1600.4679,-1607.5685,13.6005,88.3196,0,1 ; -427,1599.9907,-1613.6184,13.5959,89.1377,0,1 ; -427,1600.0579,-1619.9817,13.5981,89.7130,0,1 ; -427,1599.8956,-1626.2255,13.5964,89.2148,0,1 ; -596,1602.4196,-1683.8865,5.6119,269.8652,0,1 ; -596,1591.4985,-1711.0421,5.6128,0.0437,0,1 ; -596,1602.2015,-1687.9944,5.6107,89.8454,0,1 ; -596,1602.0392,-1692.0045,5.6110,89.1947,0,1 ; -596,1595.4047,-1711.5936,5.6116,180.3378,0,1 ; -523,1582.1798,-1667.0845,5.4650,240.5349,0,0 ; -523,1582.3419,-1669.2539,5.4650,239.3729,0,0 ; -523,1582.1704,-1671.2072,5.4657,237.9856,0,0 ; -523,1582.1514,-1673.4630,5.4652,238.0086,0,0 ; -574,1526.7522,-1655.7896,5.6158,270.8942,26,26 ; -574,1526.7056,-1652.4664,5.6158,270.6263,26,26 ; -574,1526.5553,-1642.8456,5.6158,180.3993,26,26 ; -574,1530.7841,-1642.8046,5.6158,179.2186,26,26 ; +596,1554.5928,-1615.0944,13.1075,143.0,0,1 ; +596,1560.2781,-1614.7255,13.1065,143.0,0,1 ; +596,1565.3577,-1615.1208,13.1006,143.0,0,1 ; +596,1570.3990,-1615.1421,13.1035,143.0,0,1 ; +596,1575.5455,-1615.0767,13.1051,143.0,0,1 ; +427,1600.4679,-1607.5685,13.6005,88.3196,0,1 ; +427,1599.9907,-1613.6184,13.5959,89.1377,0,1 ; +427,1600.0579,-1619.9817,13.5981,89.7130,0,1 ; +427,1599.8956,-1626.2255,13.5964,89.2148,0,1 ; +596,1602.4196,-1683.8865,5.6119,269.8652,0,1 ; +596,1591.4985,-1711.0421,5.6128,0.0437,0,1 ; +596,1602.2015,-1687.9944,5.6107,89.8454,0,1 ; +596,1602.0392,-1692.0045,5.6110,89.1947,0,1 ; +596,1595.4047,-1711.5936,5.6116,180.3378,0,1 ; +523,1582.1798,-1667.0845,5.4650,240.5349,0,0 ; +523,1582.3419,-1669.2539,5.4650,239.3729,0,0 ; +523,1582.1704,-1671.2072,5.4657,237.9856,0,0 ; +523,1582.1514,-1673.4630,5.4652,238.0086,0,0 ; +574,1526.7522,-1655.7896,5.6158,270.8942,26,26 ; +574,1526.7056,-1652.4664,5.6158,270.6263,26,26 ; +574,1526.5553,-1642.8456,5.6158,180.3993,26,26 ; +574,1530.7841,-1642.8046,5.6158,179.2186,26,26 ; 416,2033.1270,-1432.2743,17.2845,180.0169,1,3 ; -416,2016.3477,-1414.9769,17.1412,86.7151,1,3 ; +416,2016.3477,-1414.9769,17.1412,86.7151,1,3 ; \ No newline at end of file diff --git a/amx/scriptfiles/vehicles/lv_airport.txt b/amx/scriptfiles/vehicles/lv_airport.txt index 5143449..cbcccce 100644 --- a/amx/scriptfiles/vehicles/lv_airport.txt +++ b/amx/scriptfiles/vehicles/lv_airport.txt @@ -36,4 +36,4 @@ 422,1325.3158,1278.7190,10.8037,180.6936,101,25 ; bobcat 505,1282.6981,1304.3754,10.9647,82.8840,76,102 ; rancher 407,1282.0891,1477.3781,11.0577,244.1416,3,1 ; fire 1 -407,1312.9038,1580.9365,11.0562,272.9746,3,1 ; fire 2 +407,1312.9038,1580.9365,11.0562,272.9746,3,1 ; fire 2 \ No newline at end of file diff --git a/amx/scriptfiles/vehicles/lv_gen.txt b/amx/scriptfiles/vehicles/lv_gen.txt index a8a996f..c10bd9a 100644 --- a/amx/scriptfiles/vehicles/lv_gen.txt +++ b/amx/scriptfiles/vehicles/lv_gen.txt @@ -5,251 +5,251 @@ 409,2176.3467,1676.1738,10.6203,179.9265,1,1 ; Limo 409,2035.1099,1917.6454,11.9762,180.5781,1,1 ; Limo 587,2075.4963,1490.6589,10.3973,0.9207,10,10 ; Euros -451,2148.8706,1398.3688,10.5208,359.6848,78,78 ; Turismo +451,2148.8706,1398.3688,10.5208,359.6848,78,78 ; Turismo 558,2132.6252,1409.2678,10.4506,180.3099,36,1 ; Uranus 420,2039.7207,1335.4227,10.4504,178.9215,-1,-1 ; Taxi 420,2159.9783,1687.9427,10.5331,15.7070,-1,-1 ; Taxi 420,2217.6040,1838.1331,10.5980,180.3272,-1,-1 ; Taxi 420,2040.1990,1344.9268,10.4492,178.6027,-1,-1 ; Taxi 562,2039.9257,1019.8728,10.3308,179.7790,33,33 ; Elegy -562,1881.7867,964.0424,10.4797,89.3165,33,33 ; -562,1881.5303,991.9349,10.4789,88.5594,33,33 ; -562,1881.8263,1035.1031,10.4788,90.5642,33,33 ; -562,1882.0393,1054.4159,10.4798,90.3892,33,33 ; -543,1665.9182,900.6049,10.6179,154.1468,66,84 ; -561,1655.6388,999.3278,10.6343,1.6394,112,112 ; -516,1677.3665,988.1376,10.6021,359.7391,16,16 ; -411,1889.2765,1934.0405,13.5119,180.0616,4,4 ; -422,2791.8364,1997.4441,10.8079,358.2167,8,10 ; -402,2812.9854,2026.3202,10.5870,181.2861,46,46 ; -401,2822.0801,2169.3892,10.5975,270.8597,59,59 ; -402,2582.8459,2271.9075,10.6526,89.7938,58,58 ; -561,2764.5786,1281.6991,10.4819,91.0993,72,72 ; -405,2782.1956,1295.4828,10.6250,179.4644,65,65 ; -414,2624.3726,1104.1190,10.8045,269.3916,101,101 ; -463,2437.9824,2060.0774,10.3605,321.5250,66,66 ; -463,2439.4592,2059.3762,10.3573,317.0827,125,125 ; -463,2436.2813,2060.5950,10.3597,324.4647,70,70 ; -533,2444.2742,1990.9354,10.5294,359.2699,83,83 ; -480,2458.2346,1992.2141,10.5043,180.6471,92,92 ; -482,2170.9219,1981.6818,10.8809,90.0917,52,52 ; -402,2231.9128,1277.3851,10.5745,1.2022,22,22 ; -451,2182.8376,1287.8752,10.4708,180.3702,123,1 ; -415,2171.9434,1118.7880,12.3942,333.4859,36,1 ; -429,2141.7615,1022.6919,10.5000,90.9348,13,13 ; -436,2150.9563,987.4216,10.5865,180.8703,87,1 ; -439,2133.0083,1006.8494,10.7160,89.0048,43,21 ; -561,2163.0320,1006.4872,10.6988,270.5458,101,1 ; -461,2132.7266,899.1528,10.4046,270.7793,61,1 ; -462,2132.7463,906.0122,10.4196,268.0389,2,1 ; -463,2475.0217,992.2781,10.3602,206.1178,7,7 ; -474,2197.8374,936.0216,10.5829,185.2772,105,1 ; -442,2485.1379,936.2085,10.6624,0.1062,25,109 ; -587,2460.3796,918.7192,10.5355,90.4611,53,1 ; -535,2455.4519,1275.5571,10.5843,270.0745,28,1 ; -603,2389.2190,1658.2742,10.4453,358.7758,60,1 ; -560,2039.5767,1560.1608,10.3773,179.5952,9,39 ; -545,2075.7207,1482.4139,10.4829,359.4229,44,96 ; -579,2168.6729,1412.4142,10.7456,179.3802,53,53 ; -581,2353.1150,1405.4800,10.4148,272.0892,66,1 ; -477,2352.6646,1436.9703,10.5496,269.3466,75,1 ; -603,2300.3599,1466.0364,10.4462,90.1237,53,53 ; -558,2300.8755,1458.6439,10.4778,90.3777,92,1 ; -480,2292.5034,1454.7678,13.8155,270.6444,68,1 ; -558,2285.8660,1518.0089,16.9278,0.2348,77,1 ; -521,2351.9590,1487.6743,17.7851,268.5520,92,3 ; -516,2322.5889,1423.0115,22.1984,89.6001,122,1 ; -579,2352.2910,1472.8545,32.0779,268.4590,28,119 ; -418,2332.3298,1387.9061,36.5387,179.0473,64,64 ; -477,2293.1245,1455.2216,39.5112,270.0951,22,1 ; -461,2279.1494,1387.7222,42.4054,181.3635,61,1 ; -451,2351.6416,1415.7268,42.5269,269.3744,123,123 ; -448,2631.0559,1845.8617,10.4164,264.5009,3,6 ; -561,2632.0137,1858.2656,10.6989,270.9765,113,1 ; -477,2602.6128,1846.6437,10.5729,90.5212,121,1 ; -479,2631.2253,1794.8120,10.6166,270.0366,60,35 ; -581,2600.0813,1691.2465,10.4108,89.1784,36,1 ; +562,1881.7867,964.0424,10.4797,89.3165,33,33 ; +562,1881.5303,991.9349,10.4789,88.5594,33,33 ; +562,1881.8263,1035.1031,10.4788,90.5642,33,33 ; +562,1882.0393,1054.4159,10.4798,90.3892,33,33 ; +543,1665.9182,900.6049,10.6179,154.1468,66,84 ; +561,1655.6388,999.3278,10.6343,1.6394,112,112 ; +516,1677.3665,988.1376,10.6021,359.7391,16,16 ; +411,1889.2765,1934.0405,13.5119,180.0616,4,4 ; +422,2791.8364,1997.4441,10.8079,358.2167,8,10 ; +402,2812.9854,2026.3202,10.5870,181.2861,46,46 ; +401,2822.0801,2169.3892,10.5975,270.8597,59,59 ; +402,2582.8459,2271.9075,10.6526,89.7938,58,58 ; +561,2764.5786,1281.6991,10.4819,91.0993,72,72 ; +405,2782.1956,1295.4828,10.6250,179.4644,65,65 ; +414,2624.3726,1104.1190,10.8045,269.3916,101,101 ; +463,2437.9824,2060.0774,10.3605,321.5250,66,66 ; +463,2439.4592,2059.3762,10.3573,317.0827,125,125 ; +463,2436.2813,2060.5950,10.3597,324.4647,70,70 ; +533,2444.2742,1990.9354,10.5294,359.2699,83,83 ; +480,2458.2346,1992.2141,10.5043,180.6471,92,92 ; +482,2170.9219,1981.6818,10.8809,90.0917,52,52 ; +402,2231.9128,1277.3851,10.5745,1.2022,22,22 ; +451,2182.8376,1287.8752,10.4708,180.3702,123,1 ; +415,2171.9434,1118.7880,12.3942,333.4859,36,1 ; +429,2141.7615,1022.6919,10.5000,90.9348,13,13 ; +436,2150.9563,987.4216,10.5865,180.8703,87,1 ; +439,2133.0083,1006.8494,10.7160,89.0048,43,21 ; +561,2163.0320,1006.4872,10.6988,270.5458,101,1 ; +461,2132.7266,899.1528,10.4046,270.7793,61,1 ; +462,2132.7463,906.0122,10.4196,268.0389,2,1 ; +463,2475.0217,992.2781,10.3602,206.1178,7,7 ; +474,2197.8374,936.0216,10.5829,185.2772,105,1 ; +442,2485.1379,936.2085,10.6624,0.1062,25,109 ; +587,2460.3796,918.7192,10.5355,90.4611,53,1 ; +535,2455.4519,1275.5571,10.5843,270.0745,28,1 ; +603,2389.2190,1658.2742,10.4453,358.7758,60,1 ; +560,2039.5767,1560.1608,10.3773,179.5952,9,39 ; +545,2075.7207,1482.4139,10.4829,359.4229,44,96 ; +579,2168.6729,1412.4142,10.7456,179.3802,53,53 ; +581,2353.1150,1405.4800,10.4148,272.0892,66,1 ; +477,2352.6646,1436.9703,10.5496,269.3466,75,1 ; +603,2300.3599,1466.0364,10.4462,90.1237,53,53 ; +558,2300.8755,1458.6439,10.4778,90.3777,92,1 ; +480,2292.5034,1454.7678,13.8155,270.6444,68,1 ; +558,2285.8660,1518.0089,16.9278,0.2348,77,1 ; +521,2351.9590,1487.6743,17.7851,268.5520,92,3 ; +516,2322.5889,1423.0115,22.1984,89.6001,122,1 ; +579,2352.2910,1472.8545,32.0779,268.4590,28,119 ; +418,2332.3298,1387.9061,36.5387,179.0473,64,64 ; +477,2293.1245,1455.2216,39.5112,270.0951,22,1 ; +461,2279.1494,1387.7222,42.4054,181.3635,61,1 ; +451,2351.6416,1415.7268,42.5269,269.3744,123,123 ; +448,2631.0559,1845.8617,10.4164,264.5009,3,6 ; +561,2632.0137,1858.2656,10.6989,270.9765,113,1 ; +477,2602.6128,1846.6437,10.5729,90.5212,121,1 ; +479,2631.2253,1794.8120,10.6166,270.0366,60,35 ; +581,2600.0813,1691.2465,10.4108,89.1784,36,1 ; 496,2631.7998,1681.1658,10.4784,271.2010,31,31 ; -402,2214.7441,1512.2836,10.6519,269.6815,39,39 ; -410,2038.7775,1588.8407,10.3258,179.6040,10,1 ; -418,1742.2191,1906.1680,10.9136,90.2075,117,227 ; -420,1731.2715,1974.9578,10.5994,273.0416,6,1 ; -437,1736.9500,1878.4280,10.9183,269.9015,47,74 ; -429,1702.7047,1804.3766,10.5000,359.9712,1,2 ; -421,1602.3925,1839.9454,10.7028,178.4762,36,1 ; -402,1471.5049,1928.6152,11.1104,91.6437,22,22 ; -482,1450.1931,2017.9884,10.9038,90.8726,91,1 ; -426,1453.9977,1957.7761,10.9630,179.0628,62,62 ; -436,1368.7289,2020.8182,11.2117,88.9614,92,1 ; -483,1117.3785,2112.5374,10.8094,0.4216,1,31 ; -498,1049.3367,2135.9788,10.8916,87.9624,20,117 ; -530,980.7039,2060.1577,10.5856,159.6553,114,1 ; -542,1023.1682,2019.7904,10.9840,272.4500,31,93 ; -554,991.6675,1886.8708,11.3290,270.6092,15,32 ; -558,984.5507,1719.9063,8.2853,270.4343,24,1 ; -522,949.3912,1662.1198,8.4159,269.5886,6,25 ; -541,1113.0669,1726.9880,10.4451,179.9989,22,1 ; -521,1024.1970,1724.4652,10.3911,93.4605,92,3 ; -506,1041.7158,1357.1357,10.5246,85.3610,7,7 ; -500,1042.7311,1346.4717,10.9230,81.1408,28,119 ; -496,979.9923,1080.0503,10.5293,91.2658,53,56 ; -482,979.7035,1104.7273,10.9448,90.7615,71,71 ; -414,1425.6675,1039.2936,10.4327,90.1854,102,65 ; -414,1451.7877,976.0687,10.4987,0.3869,67,1 ; -410,2004.4067,735.3056,11.0296,180.8574,9,1 ; -418,2168.8989,695.7342,11.4583,182.7091,117,227 ; -429,2362.0627,731.0701,11.0945,0.1727,1,3 ; -439,2362.4011,648.3926,11.2058,358.5358,43,21 ; -460,2358.0769,519.0576,1.7602,270.6638,17,23 ; -493,2292.9006,518.9941,-0.2127,269.6579,36,13 ; -496,2086.2354,658.9543,10.8917,180.3410,66,72 ; -506,1916.4235,698.4152,10.5369,359.5925,52,52 ; -516,1852.8835,698.9276,11.0089,92.2719,119,1 ; -521,1413.7998,772.0428,10.3920,92.6899,87,118 ; -533,1484.0516,787.6008,10.5294,359.4022,74,1 ; -545,1535.0472,787.3861,10.6314,0.8390,44,96 ; -578,1645.1521,740.4365,11.4446,357.8964,1,1 ; -484,1628.1273,571.8071,0.1587,269.3263,66,36 ; -477,1544.6929,2132.2334,11.1514,269.0969,101,1 ; -480,1613.6011,2207.0527,10.5919,271.9736,4,4 ; -479,1519.2012,2291.0112,10.6331,0.9600,49,23 ; -419,1340.8719,2246.3386,10.6215,92.0409,21,1 ; -462,1431.4543,2237.3440,10.6230,267.7669,3,1 ; -401,1508.7909,2091.1387,10.6953,271.2132,39,39 ; -439,1068.4608,2185.2996,16.6151,91.1135,25,78 ; -426,1126.5607,2323.6711,16.4615,90.0850,7,7 ; -421,1135.4622,2253.0496,16.6012,270.1440,30,1 ; -419,1115.4999,2310.4092,10.6371,267.7344,33,75 ; -561,990.2859,2307.3047,11.1294,89.9585,101,101 ; -400,1108.1198,1903.8445,10.9125,269.1945,113,1 ; -403,1059.6801,1916.6881,11.4272,0.6038,101,1 ; -402,2039.0864,1160.6543,10.5033,179.5146,22,22 ; -411,1844.4286,1209.7379,10.5596,91.1955,116,1 ; -522,1843.6981,1255.3601,10.3902,89.6382,3,8 ; -439,1866.8518,1179.2153,10.7348,0.1707,37,78 ; -587,1552.6906,1025.6267,10.5356,267.4064,66,1 ; -543,1332.6006,1159.0437,10.6290,270.0148,8,90 ; -545,1281.1134,2545.5876,10.6315,90.4074,30,1 ; -420,1433.6541,2608.7395,10.6772,89.2627,6,76 ; -508,1374.0249,2644.2893,11.1956,179.4467,1,1 ; -437,1352.3561,2647.1230,10.9443,180.4328,105,20 ; -451,1319.5608,2697.6628,10.5268,0.7027,61,61 ; -437,1296.4653,2646.8472,10.9536,1.1869,54,7 ; -506,1464.4520,2773.0771,10.3764,181.1781,3,3 ; -546,1475.3710,2839.5518,10.6444,181.0346,11,11 ; -541,1455.9503,2878.8362,10.4449,0.1368,51,1 ; -545,1529.5756,2867.6501,10.6314,268.0443,39,1 ; -421,1529.6301,2835.7375,10.6409,269.9234,62,62 ; -457,1422.7972,2830.8291,10.4472,91.4126,13,1 ; -457,1369.0237,2784.1589,10.4470,94.3731,34,1 ; -457,1423.0651,2835.1399,10.4471,92.8884,58,1 ; -572,1420.3008,2802.6375,10.4002,179.9108,30,1 ; -561,1618.5776,2834.7361,10.6343,359.5821,25,78 ; -581,1737.6124,2780.0356,10.6454,100.8438,54,1 ; -579,1673.0441,2696.7334,10.7646,2.8550,37,37 ; -522,1927.4393,2729.9841,10.3924,182.5768,6,25 ; -562,1998.1213,2758.4885,10.4822,0.3794,116,1 ; -542,2260.1184,2737.8931,10.5638,271.1407,24,118 ; -498,2311.9609,2763.3215,10.8880,272.1044,13,120 ; -421,2143.1143,2807.1777,10.5765,92.5022,30,72 ; -480,2167.2463,2750.6987,10.5948,271.0785,12,12 ; -419,2349.0527,2578.4849,10.6135,0.1656,2,39 ; -448,2363.0669,2531.9736,10.4173,267.6790,3,6 ; -541,2417.8662,2529.0085,10.4450,178.9855,36,8 ; -415,2455.1401,2531.6060,21.6458,179.4472,0,1 ; -418,2530.6252,2535.9524,21.9679,268.5749,81,81 ; -436,2506.2002,2515.6663,21.6411,88.9685,11,1 ; -429,2537.9023,2397.2529,3.8906,0.5158,10,10 ; -474,2511.0984,2394.3940,10.5828,269.3660,97,1 ; -477,2501.1006,2131.0410,10.4987,269.4453,92,1 ; -518,2589.0198,2166.3142,10.4839,1.1502,17,1 ; -533,2620.0979,2086.9114,10.5281,180.6504,79,1 ; -535,2567.6167,2059.1948,10.5846,0.8758,28,1 ; -541,2075.6462,1312.3136,10.2966,359.4287,2,1 ; -546,2183.6970,1878.7114,10.5448,359.9918,78,38 ; -410,2192.2410,1856.6902,10.6209,181.3348,75,1 ; -480,2203.4363,1787.9412,10.5034,179.6947,60,1 ; -541,2181.5310,1821.7205,10.4451,0.6193,51,1 ; -533,2129.1848,1810.2720,10.3810,332.9410,74,1 ; -477,2118.6621,1892.0770,10.3763,181.2668,6,6 ; -410,2118.6233,1910.1948,10.7688,180.4238,40,110 ; -496,2102.4214,2066.0054,10.5366,270.8547,66,72 ; -477,2103.5483,2089.0322,10.5741,269.2954,101,1 ; -516,2028.6848,2155.9724,10.6248,264.3126,2,39 ; -522,1995.4116,2185.7837,10.3813,183.3891,36,105 ; -508,2010.5963,2137.1594,11.1969,270.0610,1,1 ; -414,2005.9337,2059.6008,10.9941,181.8287,110,93 ; -414,2060.3394,2237.0127,10.5447,89.3482,121,93 ; -448,2077.0784,2226.7166,10.4142,3.1701,3,6 ; -420,2107.7361,2206.7979,10.8238,178.2615,6,76 ; -516,2094.5530,2206.6326,10.5904,178.8517,119,45 ; -477,2156.2788,2188.8767,10.3516,358.4281,14,14 ; -415,2339.1323,2114.0562,10.4512,177.1576,20,1 ; -409,2361.3320,2170.0618,10.5251,359.3094,1,1 ; -461,2380.3523,2018.2645,10.3403,272.1906,13,1 ; -587,2338.7590,1943.9525,10.4102,182.1740,40,1 ; +402,2214.7441,1512.2836,10.6519,269.6815,39,39 ; +410,2038.7775,1588.8407,10.3258,179.6040,10,1 ; +418,1742.2191,1906.1680,10.9136,90.2075,117,227 ; +420,1731.2715,1974.9578,10.5994,273.0416,6,1 ; +437,1736.9500,1878.4280,10.9183,269.9015,47,74 ; +429,1702.7047,1804.3766,10.5000,359.9712,1,2 ; +421,1602.3925,1839.9454,10.7028,178.4762,36,1 ; +402,1471.5049,1928.6152,11.1104,91.6437,22,22 ; +482,1450.1931,2017.9884,10.9038,90.8726,91,1 ; +426,1453.9977,1957.7761,10.9630,179.0628,62,62 ; +436,1368.7289,2020.8182,11.2117,88.9614,92,1 ; +483,1117.3785,2112.5374,10.8094,0.4216,1,31 ; +498,1049.3367,2135.9788,10.8916,87.9624,20,117 ; +530,980.7039,2060.1577,10.5856,159.6553,114,1 ; +542,1023.1682,2019.7904,10.9840,272.4500,31,93 ; +554,991.6675,1886.8708,11.3290,270.6092,15,32 ; +558,984.5507,1719.9063,8.2853,270.4343,24,1 ; +522,949.3912,1662.1198,8.4159,269.5886,6,25 ; +541,1113.0669,1726.9880,10.4451,179.9989,22,1 ; +521,1024.1970,1724.4652,10.3911,93.4605,92,3 ; +506,1041.7158,1357.1357,10.5246,85.3610,7,7 ; +500,1042.7311,1346.4717,10.9230,81.1408,28,119 ; +496,979.9923,1080.0503,10.5293,91.2658,53,56 ; +482,979.7035,1104.7273,10.9448,90.7615,71,71 ; +414,1425.6675,1039.2936,10.4327,90.1854,102,65 ; +414,1451.7877,976.0687,10.4987,0.3869,67,1 ; +410,2004.4067,735.3056,11.0296,180.8574,9,1 ; +418,2168.8989,695.7342,11.4583,182.7091,117,227 ; +429,2362.0627,731.0701,11.0945,0.1727,1,3 ; +439,2362.4011,648.3926,11.2058,358.5358,43,21 ; +460,2358.0769,519.0576,1.7602,270.6638,17,23 ; +493,2292.9006,518.9941,-0.2127,269.6579,36,13 ; +496,2086.2354,658.9543,10.8917,180.3410,66,72 ; +506,1916.4235,698.4152,10.5369,359.5925,52,52 ; +516,1852.8835,698.9276,11.0089,92.2719,119,1 ; +521,1413.7998,772.0428,10.3920,92.6899,87,118 ; +533,1484.0516,787.6008,10.5294,359.4022,74,1 ; +545,1535.0472,787.3861,10.6314,0.8390,44,96 ; +578,1645.1521,740.4365,11.4446,357.8964,1,1 ; +484,1628.1273,571.8071,0.1587,269.3263,66,36 ; +477,1544.6929,2132.2334,11.1514,269.0969,101,1 ; +480,1613.6011,2207.0527,10.5919,271.9736,4,4 ; +479,1519.2012,2291.0112,10.6331,0.9600,49,23 ; +419,1340.8719,2246.3386,10.6215,92.0409,21,1 ; +462,1431.4543,2237.3440,10.6230,267.7669,3,1 ; +401,1508.7909,2091.1387,10.6953,271.2132,39,39 ; +439,1068.4608,2185.2996,16.6151,91.1135,25,78 ; +426,1126.5607,2323.6711,16.4615,90.0850,7,7 ; +421,1135.4622,2253.0496,16.6012,270.1440,30,1 ; +419,1115.4999,2310.4092,10.6371,267.7344,33,75 ; +561,990.2859,2307.3047,11.1294,89.9585,101,101 ; +400,1108.1198,1903.8445,10.9125,269.1945,113,1 ; +403,1059.6801,1916.6881,11.4272,0.6038,101,1 ; +402,2039.0864,1160.6543,10.5033,179.5146,22,22 ; +411,1844.4286,1209.7379,10.5596,91.1955,116,1 ; +522,1843.6981,1255.3601,10.3902,89.6382,3,8 ; +439,1866.8518,1179.2153,10.7348,0.1707,37,78 ; +587,1552.6906,1025.6267,10.5356,267.4064,66,1 ; +543,1332.6006,1159.0437,10.6290,270.0148,8,90 ; +545,1281.1134,2545.5876,10.6315,90.4074,30,1 ; +420,1433.6541,2608.7395,10.6772,89.2627,6,76 ; +508,1374.0249,2644.2893,11.1956,179.4467,1,1 ; +437,1352.3561,2647.1230,10.9443,180.4328,105,20 ; +451,1319.5608,2697.6628,10.5268,0.7027,61,61 ; +437,1296.4653,2646.8472,10.9536,1.1869,54,7 ; +506,1464.4520,2773.0771,10.3764,181.1781,3,3 ; +546,1475.3710,2839.5518,10.6444,181.0346,11,11 ; +541,1455.9503,2878.8362,10.4449,0.1368,51,1 ; +545,1529.5756,2867.6501,10.6314,268.0443,39,1 ; +421,1529.6301,2835.7375,10.6409,269.9234,62,62 ; +457,1422.7972,2830.8291,10.4472,91.4126,13,1 ; +457,1369.0237,2784.1589,10.4470,94.3731,34,1 ; +457,1423.0651,2835.1399,10.4471,92.8884,58,1 ; +572,1420.3008,2802.6375,10.4002,179.9108,30,1 ; +561,1618.5776,2834.7361,10.6343,359.5821,25,78 ; +581,1737.6124,2780.0356,10.6454,100.8438,54,1 ; +579,1673.0441,2696.7334,10.7646,2.8550,37,37 ; +522,1927.4393,2729.9841,10.3924,182.5768,6,25 ; +562,1998.1213,2758.4885,10.4822,0.3794,116,1 ; +542,2260.1184,2737.8931,10.5638,271.1407,24,118 ; +498,2311.9609,2763.3215,10.8880,272.1044,13,120 ; +421,2143.1143,2807.1777,10.5765,92.5022,30,72 ; +480,2167.2463,2750.6987,10.5948,271.0785,12,12 ; +419,2349.0527,2578.4849,10.6135,0.1656,2,39 ; +448,2363.0669,2531.9736,10.4173,267.6790,3,6 ; +541,2417.8662,2529.0085,10.4450,178.9855,36,8 ; +415,2455.1401,2531.6060,21.6458,179.4472,0,1 ; +418,2530.6252,2535.9524,21.9679,268.5749,81,81 ; +436,2506.2002,2515.6663,21.6411,88.9685,11,1 ; +429,2537.9023,2397.2529,3.8906,0.5158,10,10 ; +474,2511.0984,2394.3940,10.5828,269.3660,97,1 ; +477,2501.1006,2131.0410,10.4987,269.4453,92,1 ; +518,2589.0198,2166.3142,10.4839,1.1502,17,1 ; +533,2620.0979,2086.9114,10.5281,180.6504,79,1 ; +535,2567.6167,2059.1948,10.5846,0.8758,28,1 ; +541,2075.6462,1312.3136,10.2966,359.4287,2,1 ; +546,2183.6970,1878.7114,10.5448,359.9918,78,38 ; +410,2192.2410,1856.6902,10.6209,181.3348,75,1 ; +480,2203.4363,1787.9412,10.5034,179.6947,60,1 ; +541,2181.5310,1821.7205,10.4451,0.6193,51,1 ; +533,2129.1848,1810.2720,10.3810,332.9410,74,1 ; +477,2118.6621,1892.0770,10.3763,181.2668,6,6 ; +410,2118.6233,1910.1948,10.7688,180.4238,40,110 ; +496,2102.4214,2066.0054,10.5366,270.8547,66,72 ; +477,2103.5483,2089.0322,10.5741,269.2954,101,1 ; +516,2028.6848,2155.9724,10.6248,264.3126,2,39 ; +522,1995.4116,2185.7837,10.3813,183.3891,36,105 ; +508,2010.5963,2137.1594,11.1969,270.0610,1,1 ; +414,2005.9337,2059.6008,10.9941,181.8287,110,93 ; +414,2060.3394,2237.0127,10.5447,89.3482,121,93 ; +448,2077.0784,2226.7166,10.4142,3.1701,3,6 ; +420,2107.7361,2206.7979,10.8238,178.2615,6,76 ; +516,2094.5530,2206.6326,10.5904,178.8517,119,45 ; +477,2156.2788,2188.8767,10.3516,358.4281,14,14 ; +415,2339.1323,2114.0562,10.4512,177.1576,20,1 ; +409,2361.3320,2170.0618,10.5251,359.3094,1,1 ; +461,2380.3523,2018.2645,10.3403,272.1906,13,1 ; +587,2338.7590,1943.9525,10.4102,182.1740,40,1 ; 482,2221.3479,1944.5293,9.7951,87.2554,37,37 ; -479,2272.5029,1953.1041,9.4899,179.0292,7,7 ; -541,2244.7246,1997.9194,15.4282,0.8475,12,32 ; +479,2272.5029,1953.1041,9.4899,179.0292,7,7 ; +541,2244.7246,1997.9194,15.4282,0.8475,12,32 ; 541,2222.4797,1936.1879,25.9241,88.7210,68,8 ; 415,2294.6262,1952.2435,26.0251,268.4258,7,7 ; 436,2246.8062,1939.5153,31.5463,179.6696,33,0 ; 461,2283.6470,1975.2380,28.4011,180.9682,62,62 ; -482,2217.0320,2048.4802,10.9456,89.9095,85,85 ; -479,2296.6074,2046.1454,10.6169,271.5167,49,23 ; -461,2259.0544,2065.4905,10.3873,2.1430,61,1 ; -477,2272.6033,2326.2434,10.5272,88.5973,61,61 ; -401,2464.2083,2236.9705,10.5507,88.6525,39,39 ; -428,2242.5024,2231.3748,10.9010,270.8860,4,75 ; -516,2007.5071,2263.2092,17.6074,2.4052,13,76 ; -522,2014.7938,2244.9580,23.4848,269.4012,8,82 ; -436,1907.2633,2290.8406,11.0000,180.4904,84,1 ; -480,1705.0334,2242.9836,10.5941,179.6409,12,12 ; -436,1691.1774,2131.1426,11.0800,91.2325,87,1 ; -414,1842.6188,2090.4556,10.8907,176.3065,36,36 ; -436,1908.1819,2078.6570,10.5695,270.3529,53,1 ; -516,1912.8295,2158.5737,10.6165,271.8315,47,47 ; -525,1963.4600,2171.0208,10.6913,257.1353,1,1 ; -496,1993.2476,2058.3521,10.5367,357.2019,53,56 ; -535,2075.9631,1677.7250,10.4351,0.1849,118,1 ; -418,2452.3093,1357.8304,10.9134,359.7694,61,61 ; -415,2447.5730,1327.1135,10.5908,179.6456,0,1 ; -414,2612.0542,1429.5336,10.9140,183.7790,24,1 ; -420,2488.5161,1534.1761,10.5240,231.4538,6,1 ; -409,2481.3877,1544.0386,10.5123,202.9677,1,1 ; -579,2498.4194,1676.3019,10.5524,1.3521,101,101 ; -474,2463.0220,1676.7267,10.5831,359.3129,97,1 ; -518,2788.6519,2431.3220,10.4912,314.8943,2,39 ; -516,2815.1465,2406.8418,10.6541,315.8335,119,1 ; -506,2833.4592,2309.8750,10.5247,179.7437,76,76 ; -516,2891.3560,2379.1252,10.6230,270.9466,41,29 ; -417,2093.3755,2415.1582,74.7678,94.3180,2,29 ; -402,2095.8645,2410.8191,45.0503,267.7614,110,110 ; -516,2104.4490,2396.0525,40.6341,271.3880,119,62 ; -402,2095.8438,2398.7417,27.8898,268.8989,99,81 ; -477,2086.5784,2416.6394,23.4231,90.8221,3,3 ; -516,2103.9829,2419.3713,14.8978,270.8129,24,55 ; -561,2065.8535,2479.7612,10.6989,359.7305,4,1 ; -414,2130.8403,2514.2134,10.9140,193.6682,24,1 ; -410,1900.4618,2437.4229,10.4740,92.5165,45,1 ; -408,1730.6010,2336.2703,11.3685,2.6346,26,26 ; -486,2707.1851,822.1658,10.7179,2.5507,1,1 ; -486,2707.0010,908.6336,10.8980,176.3525,1,1 ; -482,2697.6646,885.6911,10.3113,271.4880,71,71 ; -554,2701.6409,828.3740,10.1758,359.8369,15,32 ; -524,2635.2407,848.0072,6.7986,311.1720,61,27 ; -524,2630.1240,851.0532,6.9725,315.8478,65,31 ; -530,2687.1553,909.9475,10.4912,199.4376,111,1 ; -530,2683.3469,908.7888,10.4567,197.7386,112,1 ; -455,2685.8137,864.3542,10.3588,358.5818,84,58 ; -560,2705.9065,788.8524,10.6037,359.2399,33,0 ; -403,2873.0920,920.3176,11.3572,94.3495,28,1 ; -403,2873.2283,913.3622,11.7676,85.7952,24,77 ; +482,2217.0320,2048.4802,10.9456,89.9095,85,85 ; +479,2296.6074,2046.1454,10.6169,271.5167,49,23 ; +461,2259.0544,2065.4905,10.3873,2.1430,61,1 ; +477,2272.6033,2326.2434,10.5272,88.5973,61,61 ; +401,2464.2083,2236.9705,10.5507,88.6525,39,39 ; +428,2242.5024,2231.3748,10.9010,270.8860,4,75 ; +516,2007.5071,2263.2092,17.6074,2.4052,13,76 ; +522,2014.7938,2244.9580,23.4848,269.4012,8,82 ; +436,1907.2633,2290.8406,11.0000,180.4904,84,1 ; +480,1705.0334,2242.9836,10.5941,179.6409,12,12 ; +436,1691.1774,2131.1426,11.0800,91.2325,87,1 ; +414,1842.6188,2090.4556,10.8907,176.3065,36,36 ; +436,1908.1819,2078.6570,10.5695,270.3529,53,1 ; +516,1912.8295,2158.5737,10.6165,271.8315,47,47 ; +525,1963.4600,2171.0208,10.6913,257.1353,1,1 ; +496,1993.2476,2058.3521,10.5367,357.2019,53,56 ; +535,2075.9631,1677.7250,10.4351,0.1849,118,1 ; +418,2452.3093,1357.8304,10.9134,359.7694,61,61 ; +415,2447.5730,1327.1135,10.5908,179.6456,0,1 ; +414,2612.0542,1429.5336,10.9140,183.7790,24,1 ; +420,2488.5161,1534.1761,10.5240,231.4538,6,1 ; +409,2481.3877,1544.0386,10.5123,202.9677,1,1 ; +579,2498.4194,1676.3019,10.5524,1.3521,101,101 ; +474,2463.0220,1676.7267,10.5831,359.3129,97,1 ; +518,2788.6519,2431.3220,10.4912,314.8943,2,39 ; +516,2815.1465,2406.8418,10.6541,315.8335,119,1 ; +506,2833.4592,2309.8750,10.5247,179.7437,76,76 ; +516,2891.3560,2379.1252,10.6230,270.9466,41,29 ; +417,2093.3755,2415.1582,74.7678,94.3180,2,29 ; +402,2095.8645,2410.8191,45.0503,267.7614,110,110 ; +516,2104.4490,2396.0525,40.6341,271.3880,119,62 ; +402,2095.8438,2398.7417,27.8898,268.8989,99,81 ; +477,2086.5784,2416.6394,23.4231,90.8221,3,3 ; +516,2103.9829,2419.3713,14.8978,270.8129,24,55 ; +561,2065.8535,2479.7612,10.6989,359.7305,4,1 ; +414,2130.8403,2514.2134,10.9140,193.6682,24,1 ; +410,1900.4618,2437.4229,10.4740,92.5165,45,1 ; +408,1730.6010,2336.2703,11.3685,2.6346,26,26 ; +486,2707.1851,822.1658,10.7179,2.5507,1,1 ; +486,2707.0010,908.6336,10.8980,176.3525,1,1 ; +482,2697.6646,885.6911,10.3113,271.4880,71,71 ; +554,2701.6409,828.3740,10.1758,359.8369,15,32 ; +524,2635.2407,848.0072,6.7986,311.1720,61,27 ; +524,2630.1240,851.0532,6.9725,315.8478,65,31 ; +530,2687.1553,909.9475,10.4912,199.4376,111,1 ; +530,2683.3469,908.7888,10.4567,197.7386,112,1 ; +455,2685.8137,864.3542,10.3588,358.5818,84,58 ; +560,2705.9065,788.8524,10.6037,359.2399,33,0 ; +403,2873.0920,920.3176,11.3572,94.3495,28,1 ; +403,2873.2283,913.3622,11.7676,85.7952,24,77 ; 435,2855.4207,896.0324,11.1716,359.7548,24,77 ; trailer 435,2818.0835,897.6704,11.3012,359.2285,24,77 ; trailer 435,2827.5466,897.5560,11.2943,0.9414,24,77 ; trailer -530,2884.7034,941.7674,10.5161,90.4367,112,1 ; -530,2833.1492,996.5211,10.5144,173.6816,13,1 ; -482,2805.1533,968.8243,10.8708,178.9079,48,48 ; -560,2817.4512,941.4572,10.4556,0.9883,9,39 ; +530,2884.7034,941.7674,10.5161,90.4367,112,1 ; +530,2833.1492,996.5211,10.5144,173.6816,13,1 ; +482,2805.1533,968.8243,10.8708,178.9079,48,48 ; +560,2817.4512,941.4572,10.4556,0.9883,9,39 ; 578,2840.3525,994.4778,11.3743,176.8262,1,1 ; diff --git a/amx/scriptfiles/vehicles/lv_law.txt b/amx/scriptfiles/vehicles/lv_law.txt index ccd5253..dbeb602 100644 --- a/amx/scriptfiles/vehicles/lv_law.txt +++ b/amx/scriptfiles/vehicles/lv_law.txt @@ -1,15 +1,15 @@ -598,2269.0366,2460.2317,8.2674,181.9338,-1,-1 ; +598,2269.0366,2460.2317,8.2674,181.9338,-1,-1 ; 490,2278.0327,2459.1831,8.9495,1.6668,0,0 ; rancher 2 -490,2255.8301,2443.1006,8.2475,179.7459,-1,-1 ; -490,2239.7317,2456.6294,1.4036,88.4757,-1,-1 ; -598,2276.6790,2473.7705,1.0201,184.7489,-1,-1 ; -598,2315.3213,2464.7903,1.0219,270.0937,-1,-1 ; -523,2297.4980,2464.5881,1.0,88.5560,-1,-1 ; -490,2314.2158,2484.8979,3.3994,92.8849,0,0 ; -490,2240.0923,2436.7124,3.4017,91.8532,0,0 ; -598,2299.4771,2451.7512,3.0199,270.3331,0,1 ; +490,2255.8301,2443.1006,8.2475,179.7459,-1,-1 ; +490,2239.7317,2456.6294,1.4036,88.4757,-1,-1 ; +598,2276.6790,2473.7705,1.0201,184.7489,-1,-1 ; +598,2315.3213,2464.7903,1.0219,270.0937,-1,-1 ; +523,2297.4980,2464.5881,1.0,88.5560,-1,-1 ; +490,2314.2158,2484.8979,3.3994,92.8849,0,0 ; +490,2240.0923,2436.7124,3.4017,91.8532,0,0 ; +598,2299.4771,2451.7512,3.0199,270.3331,0,1 ; 416,1590.5470,1849.9900,10.9690,359.8599,1,3 ; Ambulance 544,1769.6177,2075.1941,11.0567,179.5683,3,1 ; firetruck 544,1750.6584,2077.1130,11.0558,180.0440,3,1 ; firetruck LA 544,1763.4852,2076.7075,11.0525,179.6720,3,1 ; firetruck LA -544,1757.0782,2075.0398,11.0568,177.5558,3,1 ; firetruck +544,1757.0782,2075.0398,11.0568,177.5558,3,1 ; firetruck \ No newline at end of file diff --git a/amx/scriptfiles/vehicles/pilots.txt b/amx/scriptfiles/vehicles/pilots.txt index c928200..9078f38 100644 --- a/amx/scriptfiles/vehicles/pilots.txt +++ b/amx/scriptfiles/vehicles/pilots.txt @@ -1,3 +1,3 @@ 577,1477.4631,1647.4589,10.7281,180.2741,8,7 ; at400 LV rwy 577,-1513.0963,-21.4589,14.0641,314.4915,8,7 ; at400 SF rwy -577,2014.6605,-2493.9668,13.4887,89.6533,8,7 ; at400 LS rwy +577,2014.6605,-2493.9668,13.4887,89.6533,8,7 ; at400 LS rwy \ No newline at end of file diff --git a/amx/scriptfiles/vehicles/red_county.txt b/amx/scriptfiles/vehicles/red_county.txt index f2603d7..a5fc98c 100644 --- a/amx/scriptfiles/vehicles/red_county.txt +++ b/amx/scriptfiles/vehicles/red_county.txt @@ -41,56 +41,56 @@ 445,1396.5654,395.3847,19.6327,66.5844,47,47 ; 559,1404.2180,411.9715,19.4141,67.1748,58,8 ; 580,768.8481,348.3186,19.7428,190.0995,81,81 ; -473,2103.2500,-98.4897,-0.2214,122.9253,56,53 ; -473,2108.5276,-106.2102,-0.2394,122.9441,56,15 ; -448,2323.3232,63.0302,26.0883,265.2746,3,6 ; -439,2358.1836,-62.4556,27.3646,179.8344,37,78 ; -436,2443.9980,-47.9166,26.9963,179.6730,87,1 ; -436,2503.7507,125.9338,26.2435,1.0102,92,1 ; -419,2493.9170,95.9780,26.2806,179.8299,47,76 ; -412,2549.9116,81.1802,26.3143,270.4565,10,8 ; -410,2551.1191,9.4253,26.6691,270.6199,9,1 ; -508,2502.7742,6.0906,27.5812,2.9588,1,1 ; -505,2380.9570,37.7925,27.1163,89.9017,120,123 ; -500,2211.6929,-88.3423,26.9028,88.7287,13,119 ; -496,2263.8970,-82.7569,26.2452,1.1014,66,72 ; -492,2257.5105,-83.1763,26.3074,359.2125,30,26 ; -405,2290.2622,155.5207,26.9788,0.1090,24,1 ; -532,1996.7520,175.8992,31.3614,79.7076,0,0 ; -532,1914.0114,192.1063,36.0155,358.2132,0,0 ; -478,1905.3486,174.1229,37.1748,341.5607,66,1 ; +473,2103.2500,-98.4897,-0.2214,122.9253,56,53 ; +473,2108.5276,-106.2102,-0.2394,122.9441,56,15 ; +448,2323.3232,63.0302,26.0883,265.2746,3,6 ; +439,2358.1836,-62.4556,27.3646,179.8344,37,78 ; +436,2443.9980,-47.9166,26.9963,179.6730,87,1 ; +436,2503.7507,125.9338,26.2435,1.0102,92,1 ; +419,2493.9170,95.9780,26.2806,179.8299,47,76 ; +412,2549.9116,81.1802,26.3143,270.4565,10,8 ; +410,2551.1191,9.4253,26.6691,270.6199,9,1 ; +508,2502.7742,6.0906,27.5812,2.9588,1,1 ; +505,2380.9570,37.7925,27.1163,89.9017,120,123 ; +500,2211.6929,-88.3423,26.9028,88.7287,13,119 ; +496,2263.8970,-82.7569,26.2452,1.1014,66,72 ; +492,2257.5105,-83.1763,26.3074,359.2125,30,26 ; +405,2290.2622,155.5207,26.9788,0.1090,24,1 ; +532,1996.7520,175.8992,31.3614,79.7076,0,0 ; +532,1914.0114,192.1063,36.0155,358.2132,0,0 ; +478,1905.3486,174.1229,37.1748,341.5607,66,1 ; 549,1240.2759,214.9924,19.2519,243.7370,79,39 ; -550,1367.7468,365.9338,20.3661,246.2637,15,15 ; -547,1289.3826,339.9178,19.2903,247.1900,123,1 ; -536,1231.7341,295.6075,19.2922,336.8393,57,96 ; -455,-580.8631,-64.8466,65.3632,3.7867,84,31 ; -468,-543.4543,-180.5744,78.0750,4.1580,53,53 ; -468,-541.5284,-180.6667,78.0747,0.2240,53,53 ; -471,-774.8654,-115.3844,64.6716,24.2185,120,112 ; -471,-771.7146,-113.4644,64.8308,26.8406,120,112 ; -532,-273.9301,-41.3983,3.4405,339.6638,0,0 ; -532,-127.1731,55.7261,4.0943,158.3291,0,0 ; -478,-137.3239,-48.9942,3.1078,342.2244,35,1 ; -475,1368.2947,476.2750,19.9363,335.9672,37,0 ; -475,2331.3064,133.1183,26.7203,270.6836,17,1 ; -482,2308.6682,-74.7184,26.5995,89.9092,48,48 ; -468,2208.6223,110.5543,27.0101,275.3439,53,53 ; -471,1923.8339,147.8248,36.7282,93.4718,103,111 ; -415,1586.3274,38.5556,24.6067,272.3959,25,1 ; -468,1547.5862,10.6921,23.7739,265.3787,3,3 ; -402,889.0992,-21.7845,63.1125,152.4678,13,13 ; -403,1207.5240,189.3297,20.9522,334.8106,37,1 ; -416,1249.8207,338.2164,19.6291,66.7975,1,3 ; -482,1335.0803,284.7404,19.6860,243.0011,52,52 ; -468,1414.2616,248.6772,19.2239,65.7798,6,6 ; -475,751.2299,277.2577,27.1364,199.6289,56,29 ; -468,747.8585,346.7843,20.1559,209.1134,6,6 ; -403,221.6420,30.1998,3.1849,186.4463,28,1 ; -525,157.2517,-166.2276,1.4527,90.9328,17,20 ; -532,20.7659,24.6322,4.0942,340.4432,0,0 ; -532,-6.4192,-11.1534,4.0939,163.1182,0,0 ; -460,-332.7806,-467.6667,1.6828,228.5235,1,9 ; -403,-564.8430,-473.1027,26.1267,178.3205,113,1 ; -415,-535.2667,-488.2196,25.2958,358.2053,40,1 ; -479,-499.9452,-472.3691,25.3184,178.8490,59,36 ; +550,1367.7468,365.9338,20.3661,246.2637,15,15 ; +547,1289.3826,339.9178,19.2903,247.1900,123,1 ; +536,1231.7341,295.6075,19.2922,336.8393,57,96 ; +455,-580.8631,-64.8466,65.3632,3.7867,84,31 ; +468,-543.4543,-180.5744,78.0750,4.1580,53,53 ; +468,-541.5284,-180.6667,78.0747,0.2240,53,53 ; +471,-774.8654,-115.3844,64.6716,24.2185,120,112 ; +471,-771.7146,-113.4644,64.8308,26.8406,120,112 ; +532,-273.9301,-41.3983,3.4405,339.6638,0,0 ; +532,-127.1731,55.7261,4.0943,158.3291,0,0 ; +478,-137.3239,-48.9942,3.1078,342.2244,35,1 ; +475,1368.2947,476.2750,19.9363,335.9672,37,0 ; +475,2331.3064,133.1183,26.7203,270.6836,17,1 ; +482,2308.6682,-74.7184,26.5995,89.9092,48,48 ; +468,2208.6223,110.5543,27.0101,275.3439,53,53 ; +471,1923.8339,147.8248,36.7282,93.4718,103,111 ; +415,1586.3274,38.5556,24.6067,272.3959,25,1 ; +468,1547.5862,10.6921,23.7739,265.3787,3,3 ; +402,889.0992,-21.7845,63.1125,152.4678,13,13 ; +403,1207.5240,189.3297,20.9522,334.8106,37,1 ; +416,1249.8207,338.2164,19.6291,66.7975,1,3 ; +482,1335.0803,284.7404,19.6860,243.0011,52,52 ; +468,1414.2616,248.6772,19.2239,65.7798,6,6 ; +475,751.2299,277.2577,27.1364,199.6289,56,29 ; +468,747.8585,346.7843,20.1559,209.1134,6,6 ; +403,221.6420,30.1998,3.1849,186.4463,28,1 ; +525,157.2517,-166.2276,1.4527,90.9328,17,20 ; +532,20.7659,24.6322,4.0942,340.4432,0,0 ; +532,-6.4192,-11.1534,4.0939,163.1182,0,0 ; +460,-332.7806,-467.6667,1.6828,228.5235,1,9 ; +403,-564.8430,-473.1027,26.1267,178.3205,113,1 ; +415,-535.2667,-488.2196,25.2958,358.2053,40,1 ; +479,-499.9452,-472.3691,25.3184,178.8490,59,36 ; 482,-480.4370,-486.2536,25.6331,177.1059,64,64 ; diff --git a/amx/scriptfiles/vehicles/sf_airport.txt b/amx/scriptfiles/vehicles/sf_airport.txt index 6364f57..a245dbf 100644 --- a/amx/scriptfiles/vehicles/sf_airport.txt +++ b/amx/scriptfiles/vehicles/sf_airport.txt @@ -1,35 +1,35 @@ -485,-1644.8495,-593.8191,13.8045,244.2475,1,74 ; -485,-1433.6989,-639.9345,13.8059,351.8341,1,74 ; -485,-1354.3955,-426.7434,13.8022,293.6214,1,74 ; -485,-1284.1956,60.9789,13.8074,96.5168,1,74 ; +485,-1644.8495,-593.8191,13.8045,244.2475,1,74 ; +485,-1433.6989,-639.9345,13.8059,351.8341,1,74 ; +485,-1354.3955,-426.7434,13.8022,293.6214,1,74 ; +485,-1284.1956,60.9789,13.8074,96.5168,1,74 ; 485,-1556.3772,-156.9351,13.8067,135.6197,1,74 ; 592,-1562.6097,-191.8931,15.3402,135.3354,1,1 ; -583,-1467.6941,-68.7159,13.6890,135.9720,1,1 ; -583,-1438.1007,-178.1787,13.6843,333.7912,1,1 ; -583,-1396.8986,-226.8979,13.6890,329.7987,1,1 ; -583,-1634.3322,-377.9814,13.6890,335.1347,1,1 ; +583,-1467.6941,-68.7159,13.6890,135.9720,1,1 ; +583,-1438.1007,-178.1787,13.6843,333.7912,1,1 ; +583,-1396.8986,-226.8979,13.6890,329.7987,1,1 ; +583,-1634.3322,-377.9814,13.6890,335.1347,1,1 ; 583,-1299.0438,-286.9009,13.6891,341.6255,1,1 ; -525,-1354.0233,-375.1031,14.0255,263.6050,18,20 ; -513,-1285.7555,24.0493,14.6993,121.8480,21,36 ; -513,-1260.6040,7.5347,14.7070,118.6241,21,36 ; +525,-1354.0233,-375.1031,14.0255,263.6050,18,20 ; +513,-1285.7555,24.0493,14.6993,121.8480,21,36 ; +513,-1260.6040,7.5347,14.7070,118.6241,21,36 ; 511,-1704.6077,-239.2016,15.5222,314.2837,4,90 ; -476,-1367.2609,-485.4558,14.8787,209.5813,7,6 ; +476,-1367.2609,-485.4558,14.8787,209.5813,7,6 ; 476,-1440.4191,-526.5578,14.8939,207.2082,1,6 ; -519,-1371.1775,-232.3967,15.0767,315.6230,1,1 ; -519,-1341.1079,-254.3787,15.0773,321.6316,1,1 ; -420,-1472.3452,-272.3332,13.7749,78.9964,6,1 ; -420,-1459.8147,-275.6010,13.8146,65.6229,6,1 ; -420,-1439.7112,-284.8562,13.8131,58.6121,6,1 ; +519,-1371.1775,-232.3967,15.0767,315.6230,1,1 ; +519,-1341.1079,-254.3787,15.0773,321.6316,1,1 ; +420,-1472.3452,-272.3332,13.7749,78.9964,6,1 ; +420,-1459.8147,-275.6010,13.8146,65.6229,6,1 ; +420,-1439.7112,-284.8562,13.8131,58.6121,6,1 ; 420,-1421.4268,-298.8921,13.7817,46.1681,6,1 ; -519,-1331.5316,-618.3227,15.0629,325.7105,1,1 ; -593,-1384.5905,-625.2684,14.6115,321.7572,58,8 ; -511,-1449.8151,-617.1895,15.5199,329.7999,12,60 ; -593,-1325.9851,-276.6170,14.6107,296.5465,60,1 ; +519,-1331.5316,-618.3227,15.0629,325.7105,1,1 ; +593,-1384.5905,-625.2684,14.6115,321.7572,58,8 ; +511,-1449.8151,-617.1895,15.5199,329.7999,12,60 ; +593,-1325.9851,-276.6170,14.6107,296.5465,60,1 ; 563,-1598.6353,-615.8722,14.8537,276.2098,1,6 ; 476,-1426.4314,-518.3584,14.8958,180.5740,119,117 ; 513,-1281.6588,-627.3807,14.6996,356.9070,21,36 ; -519,-1299.0974,-353.5505,15.0716,278.4124,1,1 ; +519,-1299.0974,-353.5505,15.0716,278.4124,1,1 ; 487,-1182.6599,22.4607,14.3251,45.0604,29,42 ; 417,-1222.6132,-11.1500,14.2353,42.9828,0,0 ; -544,-1258.5739,68.2615,14.3863,43.9776,3,1 ; -544,-1262.4766,64.5995,14.3817,43.9013,3,1 ; +544,-1258.5739,68.2615,14.3863,43.9776,3,1 ; +544,-1262.4766,64.5995,14.3817,43.9013,3,1 ; \ No newline at end of file diff --git a/amx/scriptfiles/vehicles/sf_gen.txt b/amx/scriptfiles/vehicles/sf_gen.txt index 000f2e4..876e5dc 100644 --- a/amx/scriptfiles/vehicles/sf_gen.txt +++ b/amx/scriptfiles/vehicles/sf_gen.txt @@ -1,11 +1,11 @@ -415,-2089.7454,-85.3183,34.9356,0.0900,36,1 ; +415,-2089.7454,-85.3183,34.9356,0.0900,36,1 ; 415,-2076.7393,-84.4259,34.8911,357.8584,116,1 ; 504,-2091.6350,-106.7603,35.1125,179.5832,45,29 ; 560,-2396.2222,-594.7454,132.3533,123.1677,33,0 ; -411,-2414.5781,-586.8558,132.3755,215.3865,112,1 ; +411,-2414.5781,-586.8558,132.3755,215.3865,112,1 ; 482,-2527.9175,-602.6952,132.6175,179.0378,41,20 ; -451,-2517.0481,-601.8521,132.2690,179.6375,36,36 ; -522,-2494.2900,-601.8505,132.1326,178.4421,3,8 ; +451,-2517.0481,-601.8521,132.2690,179.6375,36,36 ; +522,-2494.2900,-601.8505,132.1326,178.4421,3,8 ; 522,-2622.9067,-509.6570,70.9034,284.9871,3,8 ; 405,-2747.2739,-306.4048,6.9132,50.7011,24,1 ; 505,-2774.2708,-281.9049,6.7476,178.6849,37,0 ; @@ -13,111 +13,111 @@ 457,-2657.9009,-290.8440,7.1044,313.4402,25,25 ; 457,-2652.5388,-295.5096,7.1101,312.4090,86,86 ; 457,-2644.5061,-290.4049,7.1283,139.4791,8,8 ; -457,-2650.2507,-284.7023,7.1297,137.3287,2,1 ; +457,-2650.2507,-284.7023,7.1297,137.3287,2,1 ; 475,-2718.7566,-181.6171,3.9922,269.6131,68,8 ; 411,-2692.3340,-83.6105,4.7104,90.7628,1,1 ; 560,-2682.6699,-22.7128,4.3281,178.6174,1,31 ; -560,-2627.3579,-34.8250,4.0417,181.9431,41,29 ; -482,-2729.5671,76.7876,4.4511,87.5421,32,32 ; +560,-2627.3579,-34.8250,4.0417,181.9431,41,29 ; +482,-2729.5671,76.7876,4.4511,87.5421,32,32 ; 579,-2484.3000,5.7674,25.5544,91.3108,42,42 ; -567,-2528.8882,-5.5797,25.4875,271.5341,90,96 ; -429,-2592.7732,-110.8420,3.9306,89.9971,2,1 ; -415,-2615.9045,-178.3203,4.1076,269.3111,40,1 ; +567,-2528.8882,-5.5797,25.4875,271.5341,90,96 ; +429,-2592.7732,-110.8420,3.9306,89.9971,2,1 ; +415,-2615.9045,-178.3203,4.1076,269.3111,40,1 ; 480,-2352.2312,-124.4615,34.9708,179.3509,17,1 ; -448,-2319.5144,-150.8684,35.1509,176.9124,3,6 ; +448,-2319.5144,-150.8684,35.1509,176.9124,3,6 ; 535,-2099.2341,-36.4293,35.1021,357.3710,77,26 ; 535,-2021.4100,-47.6897,35.1866,184.1009,69,1 ; 535,-2085.3667,61.6716,34.2269,88.7158,28,1 ; 567,-2357.8167,-43.2394,35.1865,90.6814,97,96 ; 403,-1855.5707,-176.4486,9.9250,270.1853,25,1 ; -492,-1821.1146,-161.7525,9.1874,164.9686,28,56 ; -530,-1694.7194,8.6605,3.3137,348.2751,111,1 ; -530,-1712.0934,10.8106,3.3879,303.1499,112,1 ; -530,-1716.6062,19.1024,3.3437,273.4997,119,1 ; -530,-1700.6174,6.2953,3.3148,352.1077,114,1 ; -522,-1697.8990,63.3702,3.1263,301.0493,39,106 ; -522,-1682.4491,41.4261,3.1198,338.2361,51,118 ; -522,-1694.0885,48.6863,3.1207,317.3058,3,3 ; -493,-1760.9098,-193.8202,-0.1219,266.3580,36,13 ; -426,-1669.5262,-33.8696,3.3108,314.1520,42,42 ; +492,-1821.1146,-161.7525,9.1874,164.9686,28,56 ; +530,-1694.7194,8.6605,3.3137,348.2751,111,1 ; +530,-1712.0934,10.8106,3.3879,303.1499,112,1 ; +530,-1716.6062,19.1024,3.3437,273.4997,119,1 ; +530,-1700.6174,6.2953,3.3148,352.1077,114,1 ; +522,-1697.8990,63.3702,3.1263,301.0493,39,106 ; +522,-1682.4491,41.4261,3.1198,338.2361,51,118 ; +522,-1694.0885,48.6863,3.1207,317.3058,3,3 ; +493,-1760.9098,-193.8202,-0.1219,266.3580,36,13 ; +426,-1669.5262,-33.8696,3.3108,314.1520,42,42 ; 403,-1837.5128,-15.2423,15.6987,271.1784,54,1 ; -426,-1839.7010,-21.5651,14.8602,265.8797,42,42 ; +426,-1839.7010,-21.5651,14.8602,265.8797,42,42 ; 421,-1885.3856,-161.3161,11.6546,355.7335,71,72 ; 482,-1861.0438,-140.4725,12.0201,87.6606,66,66 ; -567,-2124.6743,-242.8083,35.1864,18.3731,99,81 ; +567,-2124.6743,-242.8083,35.1864,18.3731,99,81 ; 545,-2485.9868,97.9314,34.9680,268.0125,81,81 ; -533,-2484.7358,65.7313,25.3992,358.7399,79,1 ; -462,-2694.2021,68.7381,3.9321,85.6921,2,1 ; +533,-2484.7358,65.7313,25.3992,358.7399,79,1 ; +462,-2694.2021,68.7381,3.9321,85.6921,2,1 ; 424,-2941.3359,-794.7429,6.8570,340.8897,2,2 ; -424,-2938.8164,-818.2305,7.0451,13.5219,2,2 ; -473,-2987.2434,-861.8030,-0.8947,144.9324,56,15 ; -473,-2967.3806,-684.3901,0.0677,351.0859,56,15 ; -473,-2954.7388,-498.1349,0.0155,5.6709,56,15 ; -493,-2947.7612,-364.1319,-0.5123,78.4238,36,13 ; +424,-2938.8164,-818.2305,7.0451,13.5219,2,2 ; +473,-2987.2434,-861.8030,-0.8947,144.9324,56,15 ; +473,-2967.3806,-684.3901,0.0677,351.0859,56,15 ; +473,-2954.7388,-498.1349,0.0155,5.6709,56,15 ; +493,-2947.7612,-364.1319,-0.5123,78.4238,36,13 ; 461,-2068.5420,-503.7956,35.0035,182.6852,46,46 ; -483,-1906.4901,-611.7231,24.5863,319.5491,17,0 ; +483,-1906.4901,-611.7231,24.5863,319.5491,17,0 ; 411,-2148.7424,-922.7524,31.7505,267.8838,106,1 ; 411,-2125.3806,-885.7675,31.7505,270.2341,104,1 ; 482,-1871.7642,-874.4785,32.1329,90.1095,118,118 ; -411,-1872.5656,-957.2282,31.7505,88.9793,80,1 ; -400,-1821.8348,-886.4156,42.0592,175.1724,123,1 ; -512,-1431.6896,-954.0375,201.2352,273.5343,15,123 ; -512,-1432.9872,-942.3373,201.3756,274.4437,32,112 ; -461,-2205.1782,-310.5668,35.2394,330.2716,46,46 ; -482,-2216.4529,-85.7872,35.4346,1.2615,64,64 ; -498,-2115.4626,-3.3854,35.3872,269.2903,13,120 ; -437,-2092.6289,-381.4249,35.4662,89.8969,79,7 ; -437,-2201.6951,-406.7657,35.4694,228.5155,79,7 ; -437,-2047.2311,-528.4994,35.4647,286.8040,79,7 ; +411,-1872.5656,-957.2282,31.7505,88.9793,80,1 ; +400,-1821.8348,-886.4156,42.0592,175.1724,123,1 ; +512,-1431.6896,-954.0375,201.2352,273.5343,15,123 ; +512,-1432.9872,-942.3373,201.3756,274.4437,32,112 ; +461,-2205.1782,-310.5668,35.2394,330.2716,46,46 ; +482,-2216.4529,-85.7872,35.4346,1.2615,64,64 ; +498,-2115.4626,-3.3854,35.3872,269.2903,13,120 ; +437,-2092.6289,-381.4249,35.4662,89.8969,79,7 ; +437,-2201.6951,-406.7657,35.4694,228.5155,79,7 ; +437,-2047.2311,-528.4994,35.4647,286.8040,79,7 ; 455,-1578.2035,97.3175,4.1610,135.9403,37,1 ; -443,-1747.0641,-164.1042,4.1860,39.5812,20,1 ; +443,-1747.0641,-164.1042,4.1860,39.5812,20,1 ; 545,-2267.1362,85.5752,34.9679,269.1610,67,67 ; -496,-2264.8977,200.3980,34.8805,89.9701,66,72 ; +496,-2264.8977,200.3980,34.8805,89.9701,66,72 ; 536,-2216.8618,113.6911,35.0595,88.9417,12,1 ; -409,-2414.7739,331.6805,34.7672,331.1144,1,1 ; -405,-2452.8604,138.2975,34.8354,46.6420,24,1 ; +409,-2414.7739,331.6805,34.7672,331.1144,1,1 ; +405,-2452.8604,138.2975,34.8354,46.6420,24,1 ; 461,-2523.0012,338.5651,34.6932,250.6181,61,1 ; -439,-2502.7300,382.2403,35.0181,235.8174,54,38 ; -400,-2470.8625,407.1818,27.8697,139.4656,123,1 ; -496,-2522.4219,310.7949,27.4816,70.6665,20,20 ; +439,-2502.7300,382.2403,35.0181,235.8174,54,38 ; +400,-2470.8625,407.1818,27.8697,139.4656,123,1 ; +496,-2522.4219,310.7949,27.4816,70.6665,20,20 ; 428,-2440.9980,509.6792,30.0563,206.6596,4,75 ; 428,-2437.7600,510.8553,30.0507,202.1894,4,75 ; 560,-2425.6440,518.4800,29.6348,216.9742,9,39 ; 463,-2473.4978,743.3479,34.5559,179.9892,84,84 ; -561,-2412.3730,741.7964,34.8297,179.4121,8,17 ; +561,-2412.3730,741.7964,34.8297,179.4121,8,17 ; 463,-2451.2593,740.6838,34.7129,180.6275,79,39 ; -467,-2248.2617,692.7663,49.1081,179.2399,58,8 ; -405,-2151.4058,637.0890,52.1898,182.3598,75,1 ; +467,-2248.2617,692.7663,49.1081,179.2399,58,8 ; +405,-2151.4058,637.0890,52.1898,182.3598,75,1 ; 405,-2134.6875,686.8921,63.7561,178.3476,123,1 ; -409,-1951.6525,724.5811,45.1672,270.0913,1,1 ; -429,-1941.2656,585.4785,34.7953,359.2309,3,1 ; +409,-1951.6525,724.5811,45.1672,270.0913,1,1 ; +429,-1941.2656,585.4785,34.7953,359.2309,3,1 ; 439,-1922.0646,303.6587,40.9425,177.2474,25,78 ; 461,-1974.6830,170.9425,27.3574,271.5703,46,46 ; 420,-1987.9830,104.7278,27.3169,0.4059,6,1 ; 420,-1988.1044,147.8747,27.3177,0.2008,6,1 ; -467,-2922.5259,428.7520,4.6539,276.2402,2,1 ; -493,-2981.0247,496.3422,-0.6554,1.5943,36,13 ; +467,-2922.5259,428.7520,4.6539,276.2402,2,1 ; +493,-2981.0247,496.3422,-0.6554,1.5943,36,13 ; 549,-2578.6179,626.5599,27.4438,359.1449,117,1 ; 575,-2610.8423,1405.6122,6.7507,270.0862,19,96 ; 411,-1663.4688,1211.4713,6.9794,276.9535,12,1 ; 558,-1656.2698,1208.2489,20.7792,268.6007,42,42 ; -558,-1660.5311,1215.1492,20.7869,315.8402,24,1 ; -451,-1650.9478,1208.6367,13.3797,247.0129,18,18 ; +558,-1660.5311,1215.1492,20.7869,315.8402,24,1 ; +451,-1650.9478,1208.6367,13.3797,247.0129,18,18 ; 451,-1656.4871,1215.6764,13.4254,259.0972,101,1 ; -560,-2047.9236,901.2451,53.3068,356.4079,21,1 ; +560,-2047.9236,901.2451,53.3068,356.4079,21,1 ; 560,-2105.8264,901.4780,76.3014,4.8684,36,1 ; 500,-2927.3159,500.5060,5.0168,268.8409,28,119 ; -409,-2752.1567,374.9532,3.9412,179.1495,1,1 ; +409,-2752.1567,374.9532,3.9412,179.1495,1,1 ; 405,-2657.6785,374.4564,4.1077,1.3494,75,1 ; -426,-2664.9829,267.9181,4.0801,0.0174,7,7 ; -439,-2681.6306,267.9998,4.2312,358.7699,65,79 ; -462,-2636.0247,247.4894,3.9279,163.5248,2,1 ; -559,-2691.8088,204.5243,3.9923,359.4068,68,8 ; -496,-2793.0317,229.3433,6.8049,89.8252,53,56 ; +426,-2664.9829,267.9181,4.0801,0.0174,7,7 ; +439,-2681.6306,267.9998,4.2312,358.7699,65,79 ; +462,-2636.0247,247.4894,3.9279,163.5248,2,1 ; +559,-2691.8088,204.5243,3.9923,359.4068,68,8 ; +496,-2793.0317,229.3433,6.8049,89.8252,53,56 ; 560,-2710.5635,128.6468,3.9600,177.1886,37,0 ; -533,-2613.7000,205.8831,4.6949,1.1401,74,1 ; -526,-2616.9363,71.5616,4.1026,268.8823,17,1 ; -436,-2546.9377,-142.7184,13.8009,0.8366,109,1 ; +533,-2613.7000,205.8831,4.6949,1.1401,74,1 ; +526,-2616.9363,71.5616,4.1026,268.8823,17,1 ; +436,-2546.9377,-142.7184,13.8009,0.8366,109,1 ; 517,-2459.4773,-150.5229,25.7609,1.8047,36,36 ; 496,-2592.9810,-191.1821,3.9750,91.0989,31,31 ; 475,-2694.0012,-147.6346,4.0512,90.9210,76,1 ; @@ -125,99 +125,99 @@ 566,-2796.3052,-39.5262,7.0876,89.8012,8,17 ; 467,-2878.8960,734.5536,29.3162,280.5990,60,1 ; 482,-2462.1184,793.0873,35.2270,93.7908,28,28 ; -439,-2380.2781,1269.3492,25.1014,277.3688,37,78 ; -522,-1821.9445,1310.5370,59.3070,186.3879,3,8 ; +439,-2380.2781,1269.3492,25.1014,277.3688,37,78 ; +522,-1821.9445,1310.5370,59.3070,186.3879,3,8 ; 475,-1829.7480,1289.9834,59.8258,21.8999,61,61 ; -475,-1842.0276,1304.4764,59.5341,198.8919,37,0 ; +475,-1842.0276,1304.4764,59.5341,198.8919,37,0 ; 405,-1755.8068,953.2106,24.6171,84.9867,75,1 ; 480,-1686.7346,1007.9662,17.3024,92.5730,66,72 ; -405,-1587.0150,859.0454,7.4098,90.4344,75,1 ; -439,-1629.2559,870.3282,8.1322,177.2777,43,21 ; -533,-1707.0554,795.3817,24.5184,2.4475,77,1 ; -453,-1463.8043,1023.7324,-0.2395,269.1420,56,56 ; -473,-1509.0499,1385.6211,-0.2875,114.2092,56,15 ; -417,-1468.1395,1490.9220,8.3433,92.3864,0,0 ; -417,-2311.2693,1544.9398,18.8852,183.6456,0,0 ; -469,-2514.7388,1545.1013,17.3351,349.7112,1,3 ; -473,-2432.8538,1568.3925,-0.0528,353.0695,56,53 ; -473,-2434.4873,1571.9756,-0.1826,348.1105,56,15 ; +405,-1587.0150,859.0454,7.4098,90.4344,75,1 ; +439,-1629.2559,870.3282,8.1322,177.2777,43,21 ; +533,-1707.0554,795.3817,24.5184,2.4475,77,1 ; +453,-1463.8043,1023.7324,-0.2395,269.1420,56,56 ; +473,-1509.0499,1385.6211,-0.2875,114.2092,56,15 ; +417,-1468.1395,1490.9220,8.3433,92.3864,0,0 ; +417,-2311.2693,1544.9398,18.8852,183.6456,0,0 ; +469,-2514.7388,1545.1013,17.3351,349.7112,1,3 ; +473,-2432.8538,1568.3925,-0.0528,353.0695,56,53 ; +473,-2434.4873,1571.9756,-0.1826,348.1105,56,15 ; 521,-2501.2534,1222.1891,36.9992,139.5936,87,118 ; -496,-2867.3279,695.7776,23.2883,296.3333,22,22 ; +496,-2867.3279,695.7776,23.2883,296.3333,22,22 ; 496,-2857.4624,830.0972,39.8342,238.8571,42,42 ; 401,-2836.6306,870.4559,43.7638,267.2119,83,1 ; -401,-2839.8884,925.7379,43.8342,274.0428,47,47 ; -410,-2855.1917,962.1486,43.6477,294.1936,9,1 ; +401,-2839.8884,925.7379,43.8342,274.0428,47,47 ; +410,-2855.1917,962.1486,43.6477,294.1936,9,1 ; 516,-2900.1345,1104.5038,26.8936,272.1553,9,1 ; -418,-2898.4971,1161.4402,13.5039,272.4668,95,95 ; +418,-2898.4971,1161.4402,13.5039,272.4668,95,95 ; 415,-2722.1973,980.1292,54.2327,9.4435,25,1 ; -411,-2728.2146,910.1182,67.3208,153.1185,112,1 ; +411,-2728.2146,910.1182,67.3208,153.1185,112,1 ; 421,-2634.7214,929.3314,71.3155,214.6021,30,1 ; -405,-2680.4905,869.2202,76.4498,23.7850,91,1 ; -558,-2650.5452,856.2390,63.6388,312.0352,117,1 ; +405,-2680.4905,869.2202,76.4498,23.7850,91,1 ; +558,-2650.5452,856.2390,63.6388,312.0352,117,1 ; 418,-2205.7361,293.8083,35.2104,359.0113,119,119 ; 400,-2231.1545,293.4678,35.2612,1.3597,14,123 ; 426,-2792.9805,785.0926,49.5488,17.1913,7,7 ; 533,-1997.0570,708.1403,45.0732,359.8203,52,39 ; -536,-2098.6619,653.4818,52.1045,178.5289,57,96 ; +536,-2098.6619,653.4818,52.1045,178.5289,57,96 ; 475,-1772.8362,1205.1267,24.9264,128.7472,21,1 ; 482,-1698.9235,1029.1211,45.2640,163.2027,28,28 ; 421,-1915.2972,792.2175,39.5330,271.2570,42,42 ; -482,-1830.3928,636.3265,30.5508,181.9362,62,62 ; +482,-1830.3928,636.3265,30.5508,181.9362,62,62 ; 551,-1767.2255,857.6757,24.6063,90.7746,72,1 ; -533,-1996.7197,780.7192,45.0773,0.8333,74,1 ; +533,-1996.7197,780.7192,45.0773,0.8333,74,1 ; 480,-2156.5957,781.6992,69.2316,271.9981,58,1 ; 561,-2206.7849,718.1914,49.4181,359.8657,101,1 ; 482,-2287.0796,581.4111,34.9593,270.0385,59,36 ; 482,-2586.3882,311.3461,4.9411,90.7013,88,1 ; -439,-2586.3213,325.2354,4.7471,270.4281,65,79 ; -521,-2590.9128,484.1599,14.1862,58.1234,75,13 ; +439,-2586.3213,325.2354,4.7471,270.4281,65,79 ; +521,-2590.9128,484.1599,14.1862,58.1234,75,13 ; 463,-2454.1155,638.9645,32.6119,266.5039,74,1 ; -475,-2588.4861,632.4481,14.2561,269.3260,9,39 ; +475,-2588.4861,632.4481,14.2561,269.3260,9,39 ; 479,-2546.5293,647.5505,14.1927,90.1881,109,100 ; -405,-2566.9233,556.1500,14.3396,294.3413,36,1 ; -461,-2621.0337,137.8928,4.0045,266.5985,46,46 ; -408,-2655.6912,-194.1583,4.7043,359.8855,26,26 ; -479,-2274.9456,-119.1158,35.1114,266.5583,54,31 ; -496,-2263.0579,18.8142,34.8656,354.0030,42,42 ; -475,-2167.6179,86.2425,35.0484,172.0044,21,1 ; +405,-2566.9233,556.1500,14.3396,294.3413,36,1 ; +461,-2621.0337,137.8928,4.0045,266.5985,46,46 ; +408,-2655.6912,-194.1583,4.7043,359.8855,26,26 ; +479,-2274.9456,-119.1158,35.1114,266.5583,54,31 ; +496,-2263.0579,18.8142,34.8656,354.0030,42,42 ; +475,-2167.6179,86.2425,35.0484,172.0044,21,1 ; 579,-2265.7461,452.6116,34.9076,250.2149,95,105 ; 405,-2379.3401,625.8353,33.0000,1.2157,36,1 ; -579,-2213.2063,416.5867,35.0997,357.7801,7,7 ; +579,-2213.2063,416.5867,35.0997,357.7801,7,7 ; 582,-2123.9011,428.0708,34.6792,356.2318,14,1 ; -482,-2123.8403,380.5338,35.2907,87.8615,64,64 ; -582,-2044.8904,460.4015,35.2268,304.5739,56,123 ; +482,-2123.8403,380.5338,35.2907,87.8615,64,64 ; +582,-2044.8904,460.4015,35.2268,304.5739,56,123 ; 405,-2308.2900,673.6360,44.3038,90.5505,65,79 ; -480,-2175.9424,654.7142,49.2104,181.1464,12,12 ; +480,-2175.9424,654.7142,49.2104,181.1464,12,12 ; 405,-2650.2134,703.3293,27.7206,270.0416,11,1 ; 496,-2694.9968,719.9131,34.2360,176.1588,42,42 ; 482,-1612.3462,1284.5171,7.3010,90.9943,85,85 ; 445,-1630.5129,1289.7798,6.9140,135.4144,37,37 ; 482,-1834.8303,1425.0577,7.2412,179.1661,57,57 ; -411,-1975.7601,1224.7452,31.4079,272.5271,106,1 ; -560,-1971.0621,1185.6659,45.0734,89.7986,37,0 ; -480,-1847.4036,1165.1617,39.5751,356.2450,73,45 ; -428,-1833.1833,1096.2388,45.4880,89.0391,4,75 ; -439,-1730.7964,1089.0475,45.3416,271.8883,57,8 ; -455,-1944.7908,1001.1067,35.6111,269.5481,32,74 ; +411,-1975.7601,1224.7452,31.4079,272.5271,106,1 ; +560,-1971.0621,1185.6659,45.0734,89.7986,37,0 ; +480,-1847.4036,1165.1617,39.5751,356.2450,73,45 ; +428,-1833.1833,1096.2388,45.4880,89.0391,4,75 ; +439,-1730.7964,1089.0475,45.3416,271.8883,57,8 ; +455,-1944.7908,1001.1067,35.6111,269.5481,32,74 ; 482,-1673.3295,1090.5961,8.0443,269.4953,10,10 ; -400,-2124.6316,-935.2519,32.1158,268.5499,62,1 ; +400,-2124.6316,-935.2519,32.1158,268.5499,62,1 ; 506,-2150.3098,-772.5972,31.6486,270.1075,37,37 ; -506,-2134.1143,-760.7621,31.7280,90.9188,7,7 ; -421,-2124.5564,-847.0036,31.9059,270.5157,95,1 ; -405,-1736.9055,1053.4701,17.4609,267.5370,40,1 ; -439,-1696.8990,977.2657,17.4815,359.7377,67,8 ; -496,-1474.2157,-137.3864,5.6264,270.1316,62,62 ; -400,-1337.5870,-128.9230,6.0923,88.6881,62,1 ; +506,-2134.1143,-760.7621,31.7280,90.9188,7,7 ; +421,-2124.5564,-847.0036,31.9059,270.5157,95,1 ; +405,-1736.9055,1053.4701,17.4609,267.5370,40,1 ; +439,-1696.8990,977.2657,17.4815,359.7377,67,8 ; +496,-1474.2157,-137.3864,5.6264,270.1316,62,62 ; +400,-1337.5870,-128.9230,6.0923,88.6881,62,1 ; 482,-1426.0374,-212.6052,6.0536,88.9253,57,57 ; -516,-1369.8975,-216.2965,5.8337,88.8366,122,1 ; +516,-1369.8975,-216.2965,5.8337,88.8366,122,1 ; 517,-1337.3739,-37.7222,5.8549,87.8366,36,36 ; -480,-2645.6714,1375.8912,6.9395,268.6650,12,12 ; +480,-2645.6714,1375.8912,6.9395,268.6650,12,12 ; 411,-2618.2075,1349.1384,6.9411,0.7610,81,1 ; -477,-2617.5005,1376.3701,6.8800,180.0679,94,1 ; -411,-2646.4983,1334.4966,6.9009,0.6167,106,1 ; -487,-1637.0043,1381.6923,18.5907,137.6304,29,42 ; -487,-2632.1711,1417.5526,24.9424,235.3438,29,42 ; -480,-1623.0930,817.0657,6.5923,2.0322,6,6 ; +477,-2617.5005,1376.3701,6.8800,180.0679,94,1 ; +411,-2646.4983,1334.4966,6.9009,0.6167,106,1 ; +487,-1637.0043,1381.6923,18.5907,137.6304,29,42 ; +487,-2632.1711,1417.5526,24.9424,235.3438,29,42 ; +480,-1623.0930,817.0657,6.5923,2.0322,6,6 ; 493,-1409.9961,917.3229,-0.3734,301.5048,1,5 ; 493,-1403.3783,888.8575,-0.1041,328.1305,36,13 ; 480,-1488.3904,666.5170,6.9579,92.0792,2,2 ; @@ -225,129 +225,129 @@ 482,-1487.4949,758.5935,7.5513,89.3724,32,53 ; 403,-1654.6354,452.5728,8.2105,212.2164,24,77 ; 455,-1701.2188,407.8390,7.6164,221.8163,84,58 ; -461,-1673.6534,399.1507,6.7568,311.2735,37,1 ; +461,-1673.6534,399.1507,6.7568,311.2735,37,1 ; 421,-1665.1743,351.3592,6.8215,345.8147,42,42 ; 455,-1622.2393,84.3414,3.9898,147.7921,1,31 ; 453,-1632.5704,161.8541,-0.2770,315.6891,56,56 ; -460,-1446.9373,96.2603,1.8018,313.8602,1,30 ; -421,-1319.0929,-337.8624,14.0309,260.0551,25,1 ; -553,-1622.4431,-311.8704,15.4839,27.5372,55,23 ; -417,-1712.1791,-456.0522,14.2207,1.9482,0,0 ; -447,-1756.1366,-444.6548,0.7483,5.0545,75,2 ; -507,-1236.8948,33.3595,13.9733,221.5421,7,7 ; -411,-1426.3220,-13.7968,5.7271,90.1829,116,1 ; +460,-1446.9373,96.2603,1.8018,313.8602,1,30 ; +421,-1319.0929,-337.8624,14.0309,260.0551,25,1 ; +553,-1622.4431,-311.8704,15.4839,27.5372,55,23 ; +417,-1712.1791,-456.0522,14.2207,1.9482,0,0 ; +447,-1756.1366,-444.6548,0.7483,5.0545,75,2 ; +507,-1236.8948,33.3595,13.9733,221.5421,7,7 ; +411,-1426.3220,-13.7968,5.7271,90.1829,116,1 ; 411,-1459.3002,-5.4454,5.7914,271.8837,45,32 ; 424,-2906.0566,58.3788,4.3926,5.7181,119,122 ; -568,-2897.8433,330.0730,4.6656,170.8635,9,39 ; -444,-2930.2214,711.2976,6.4082,7.0339,32,53 ; -579,-2885.2395,1243.7937,7.0338,261.2170,7,7 ; -462,-2810.1172,1325.5194,6.7011,143.9079,3,1 ; -446,-2747.4805,1399.5426,-0.7690,32.7627,3,3 ; -447,-2676.2593,1897.6268,0.9115,93.0397,75,2 ; -508,-2065.7258,1423.1896,7.4764,145.1099,1,1 ; +568,-2897.8433,330.0730,4.6656,170.8635,9,39 ; +444,-2930.2214,711.2976,6.4082,7.0339,32,53 ; +579,-2885.2395,1243.7937,7.0338,261.2170,7,7 ; +462,-2810.1172,1325.5194,6.7011,143.9079,3,1 ; +446,-2747.4805,1399.5426,-0.7690,32.7627,3,3 ; +447,-2676.2593,1897.6268,0.9115,93.0397,75,2 ; +508,-2065.7258,1423.1896,7.4764,145.1099,1,1 ; 461,-2092.5718,1432.6520,6.6750,193.9025,87,118 ; -536,-2091.5598,1392.6028,6.8385,217.0096,30,96 ; -452,-1902.7883,1400.2579,-0.2510,76.7538,1,5 ; -461,-1794.8903,1405.5066,6.7728,203.9249,61,1 ; -472,-1720.9418,1436.0170,0.3172,356.6591,56,53 ; -454,-1467.0510,1503.8058,0.1585,110.2544,26,26 ; -473,-1570.9440,1263.8746,-0.0779,276.0413,56,15 ; -506,-1554.5819,1068.4961,6.8919,359.0276,52,52 ; +536,-2091.5598,1392.6028,6.8385,217.0096,30,96 ; +452,-1902.7883,1400.2579,-0.2510,76.7538,1,5 ; +461,-1794.8903,1405.5066,6.7728,203.9249,61,1 ; +472,-1720.9418,1436.0170,0.3172,356.6591,56,53 ; +454,-1467.0510,1503.8058,0.1585,110.2544,26,26 ; +473,-1570.9440,1263.8746,-0.0779,276.0413,56,15 ; +506,-1554.5819,1068.4961,6.8919,359.0276,52,52 ; 562,-1614.6351,1007.8853,6.8478,250.5691,17,1 ; 553,-1566.2198,-255.4555,15.4835,41.4339,61,74 ; -586,-1871.2375,-893.5937,31.5430,91.2748,122,1 ; +586,-1871.2375,-893.5937,31.5430,91.2748,122,1 ; 586,-1912.6022,-918.9386,31.7413,353.5594,46,46 ; 541,-1897.6475,-823.9932,31.8346,272.8453,44,96 ; 541,-1886.8457,-759.9957,31.6483,270.8408,60,1 ; 533,-1761.6075,613.7797,26.9520,89.3371,79,1 ; -429,-2019.1703,1029.0781,55.1885,272.6768,13,13 ; +429,-2019.1703,1029.0781,55.1885,272.6768,13,13 ; 442,-2041.7661,1116.0492,53.1165,175.0672,11,105 ; -421,-2052.5154,1112.8059,53.1715,181.2767,13,1 ; -560,-2557.4421,1143.5118,55.4319,165.8663,9,39 ; +421,-2052.5154,1112.8059,53.1715,181.2767,13,1 ; +560,-2557.4421,1143.5118,55.4319,165.8663,9,39 ; 402,-2541.8601,1141.0548,55.3862,170.3531,35,1 ; 496,-2499.5383,1137.9291,55.4432,180.4333,53,56 ; -536,-2485.8357,1137.9993,55.4642,180.9101,12,1 ; -541,-2458.5952,1138.3412,55.3516,178.5045,58,8 ; +536,-2485.8357,1137.9993,55.4642,180.9101,12,1 ; +541,-2458.5952,1138.3412,55.3516,178.5045,58,8 ; 541,-2431.1118,1136.0994,55.5330,175.6763,69,1 ; 541,-2377.0164,1122.4816,55.3515,340.0099,60,1 ; 508,-2413.5251,1026.2301,50.7658,0.0956,1,1 ; 575,-2408.1653,974.7092,44.9025,182.2524,19,96 ; 575,-2406.2703,944.5644,44.9790,266.8056,72,1 ; -559,-2352.3479,981.5965,50.3515,5.7404,58,8 ; -437,-2366.8171,1023.6387,50.8246,181.9107,79,7 ; +559,-2352.3479,981.5965,50.3515,5.7404,58,8 ; +437,-2366.8171,1023.6387,50.8246,181.9107,79,7 ; 405,-2239.0337,893.4630,66.5312,89.8170,24,1 ; -426,-2233.8440,930.8287,66.3919,180.1113,10,10 ; +426,-2233.8440,930.8287,66.3919,180.1113,10,10 ; 587,-2220.6704,813.1365,49.0857,90.0399,53,1 ; 500,-2292.3335,812.4420,49.0650,88.5746,9,39 ; -466,-2273.5481,1038.3989,83.5060,179.7762,68,76 ; -436,-2135.5122,1036.8539,79.6184,0.2546,87,1 ; -547,-2285.7629,1101.4392,79.8592,268.6749,123,1 ; -480,-2238.0720,1184.7144,55.3492,91.5899,2,2 ; +466,-2273.5481,1038.3989,83.5060,179.7762,68,76 ; +436,-2135.5122,1036.8539,79.6184,0.2546,87,1 ; +547,-2285.7629,1101.4392,79.8592,268.6749,123,1 ; +480,-2238.0720,1184.7144,55.3492,91.5899,2,2 ; 561,-2233.6113,1104.8516,79.8828,180.3517,101,1 ; 521,-2034.3132,167.2029,28.4100,276.3217,75,13 ; 549,-2033.3455,177.7978,28.7383,266.0410,57,8 ; -486,-2122.9641,176.7403,35.5823,269.0041,1,1 ; -486,-2128.7603,292.7856,35.0132,268.8581,1,1 ; +486,-2122.9641,176.7403,35.5823,269.0041,1,1 ; +486,-2128.7603,292.7856,35.0132,268.8581,1,1 ; 486,-2066.6992,295.1810,35.3575,185.6239,18,20 ; 482,-2126.2490,202.0597,35.4645,271.6610,102,65 ; 493,-2941.2458,500.9425,1.9118,356.2562,1,9 ; 421,-2151.0249,835.4579,69.2326,181.8154,71,72 ; -516,-1892.3840,823.9651,34.9240,1.1847,119,1 ; -500,-1983.7811,896.3951,45.3164,161.2541,28,119 ; +516,-1892.3840,823.9651,34.9240,1.1847,119,1 ; +500,-1983.7811,896.3951,45.3164,161.2541,28,119 ; 482,-1878.1260,1073.6155,45.3833,1.0803,88,1 ; -518,-2027.1711,1228.7698,31.3190,268.9391,9,39 ; -424,-2051.5183,1160.1519,45.2263,15.6148,2,2 ; -558,-2143.7021,1221.0677,46.9019,92.5564,24,1 ; -496,-2354.3687,1323.6498,14.6058,77.0716,42,42 ; +518,-2027.1711,1228.7698,31.3190,268.9391,9,39 ; +424,-2051.5183,1160.1519,45.2263,15.6148,2,2 ; +558,-2143.7021,1221.0677,46.9019,92.5564,24,1 ; +496,-2354.3687,1323.6498,14.6058,77.0716,42,42 ; 603,-2697.6223,783.2014,49.8749,267.5988,87,74 ; 603,-2637.6653,802.7455,49.7702,1.1551,34,1 ; -522,-2594.9675,841.6440,49.9161,84.3496,51,118 ; -463,-2464.2109,919.5464,62.5336,160.6213,7,7 ; -428,-1893.1501,878.8957,35.1399,0.5215,4,75 ; +522,-2594.9675,841.6440,49.9161,84.3496,51,118 ; +463,-2464.2109,919.5464,62.5336,160.6213,7,7 ; +428,-1893.1501,878.8957,35.1399,0.5215,4,75 ; 500,-1920.9349,900.0209,35.5579,206.1858,14,123 ; -409,-1736.3384,947.9546,24.5472,65.3048,1,1 ; -540,-1502.9904,938.4938,7.0463,124.6396,62,62 ; -550,-1788.1842,802.8976,24.7103,359.7563,42,42 ; -561,-1784.4341,692.7875,34.9859,182.2400,57,8 ; +409,-1736.3384,947.9546,24.5472,65.3048,1,1 ; +540,-1502.9904,938.4938,7.0463,124.6396,62,62 ; +550,-1788.1842,802.8976,24.7103,359.7563,42,42 ; +561,-1784.4341,692.7875,34.9859,182.2400,57,8 ; 443,-1851.9319,116.8267,15.7521,284.3587,20,1 ; 482,-1855.5973,146.2494,15.2417,277.9544,85,85 ; 549,-2048.1506,124.8951,28.6802,182.0321,47,76 ; -600,-2160.9421,515.2612,34.8894,119.1082,32,8 ; +600,-2160.9421,515.2612,34.8894,119.1082,32,8 ; 582,-2089.2358,479.1807,35.1022,78.0878,62,62 ; -461,-1962.3229,466.2146,34.8407,64.7884,53,53 ; +461,-1962.3229,466.2146,34.8407,64.7884,53,53 ; 401,-1905.3840,710.6555,45.0761,179.5601,47,47 ; -401,-2539.3262,939.0101,64.2301,90.3424,47,47 ; +401,-2539.3262,939.0101,64.2301,90.3424,47,47 ; 401,-2569.1545,981.8585,78.1545,358.0872,25,1 ; 541,-2692.8362,455.8668,3.9608,87.0999,13,8 ; -400,-2279.4724,-247.3415,42.5332,18.4825,40,1 ; -444,-2354.2649,-371.5601,69.0405,313.2816,32,42 ; +400,-2279.4724,-247.3415,42.5332,18.4825,40,1 ; +444,-2354.2649,-371.5601,69.0405,313.2816,32,42 ; 461,-1704.8201,1339.3179,6.7801,93.7506,3,6 ; -405,-1696.4670,1348.2159,7.0546,99.7830,4,1 ; +405,-1696.4670,1348.2159,7.0546,99.7830,4,1 ; 461,-1648.1644,1307.4525,6.6986,130.5739,3,3 ; 479,-1915.3132,1256.0265,19.2396,89.3746,95,105 ; -402,-2178.9719,1227.6172,33.7613,358.4316,22,22 ; +402,-2178.9719,1227.6172,33.7613,358.4316,22,22 ; 482,-1987.7301,1338.3241,7.2635,176.6010,105,1 ; 405,-1977.9648,-1020.8948,32.0504,332.2476,36,1 ; -487,-1970.8481,-829.0056,39.7330,1.5030,26,3 ; +487,-1970.8481,-829.0056,39.7330,1.5030,26,3 ; 421,-2148.8938,-879.1363,31.9059,269.8967,24,118 ; 461,-1720.9136,1007.3600,17.1706,91.6206,37,1 ; 439,-1703.6799,1028.5684,17.2701,271.2751,68,1 ; 516,-1385.4271,-207.9932,5.6252,269.5264,60,1 ; 400,-1370.5370,-108.5120,5.7368,90.5826,30,96 ; -410,-1427.6842,-71.5402,5.6544,92.1527,9,1 ; +410,-1427.6842,-71.5402,5.6544,92.1527,9,1 ; 516,-1338.1565,-175.1089,5.7248,267.4071,2,62 ; 496,-2436.2021,1257.5581,30.2190,90.0063,11,11 ; -579,-1643.6743,-1049.7825,102.4422,184.7762,62,62 ; -468,-1539.1002,-988.9670,159.2563,171.1934,46,46 ; +579,-1643.6743,-1049.7825,102.4422,184.7762,62,62 ; +468,-1539.1002,-988.9670,159.2563,171.1934,46,46 ; 457,-2477.0815,-310.3790,41.1381,313.3356,10,1 ; -560,-2486.6094,262.4621,34.8724,271.1458,17,1 ; -549,-2585.9888,712.8341,27.5820,89.5528,84,36 ; +560,-2486.6094,262.4621,34.8724,271.1458,17,1 ; +549,-2585.9888,712.8341,27.5820,89.5528,84,36 ; 466,-1837.0461,339.5637,16.9045,331.3646,78,76 ; 558,-1956.2533,297.6264,35.0939,64.6876,116,1 ; 560,-1957.6255,276.9994,35.1773,132.1875,9,39 ; 561,-1950.4956,259.6261,35.2702,53.4263,8,17 ; -562,-1952.4977,265.6259,40.7239,292.5037,35,1 ; +562,-1952.4977,265.6259,40.7239,292.5037,35,1 ; 567,-1952.7600,258.7500,40.9200,258.7441,88,64 ; -490,-1588.4078,673.0458,7.3151,176.8283,0,0 ; -490,-1574.3214,718.2319,-5.1140,89.8176,0,0 ; +490,-1588.4078,673.0458,7.3151,176.8283,0,0 ; +490,-1574.3214,718.2319,-5.1140,89.8176,0,0 ; 472,-1076.0149,-207.4982,0.0197,201.3848,56,53 ; diff --git a/amx/scriptfiles/vehicles/sf_law.txt b/amx/scriptfiles/vehicles/sf_law.txt index 3151f9e..69b5840 100644 --- a/amx/scriptfiles/vehicles/sf_law.txt +++ b/amx/scriptfiles/vehicles/sf_law.txt @@ -1,24 +1,24 @@ -470,-1493.2729,466.8754,7.1792,359.6406,43,0 ; -470,-1456.7275,456.4803,7.1827,1.8612,43,0 ; -470,-1433.3401,455.8417,7.1754,359.2850,43,0 ; -433,-1424.8402,457.6088,7.6209,359.6164,43,0 ; -433,-1402.0039,460.9283,7.6209,0.1365,43,0 ; -470,-1387.7540,457.1161,7.1786,356.7607,43,0 ; +470,-1493.2729,466.8754,7.1792,359.6406,43,0 ; +470,-1456.7275,456.4803,7.1827,1.8612,43,0 ; +470,-1433.3401,455.8417,7.1754,359.2850,43,0 ; +433,-1424.8402,457.6088,7.6209,359.6164,43,0 ; +433,-1402.0039,460.9283,7.6209,0.1365,43,0 ; +470,-1387.7540,457.1161,7.1786,356.7607,43,0 ; 548,-1269.9818,501.5400,18.8272,88.8878,43,0 ; 548,-1415.5240,517.8834,19.8976,270.0524,1,1 ; 497,-1679.7035,706.0008,30.7781,89.8724,0,1 ; -523,-1576.0360,673.7034,6.7563,174.5967,0,0 ; -523,-1575.9231,650.4584,6.7582,0.9076,0,0 ; -597,-1593.6233,651.7213,6.9566,1.3899,0,1 ; -597,-1622.5198,651.7484,6.9555,359.8126,0,1 ; -427,-1634.3652,653.2300,7.3195,359.8379,0,1 ; -597,-1573.9720,726.4003,-5.4722,91.1968,0,1 ; -523,-1612.2233,674.1516,6.7545,184.0847,0,0 ; -427,-1600.1411,678.0489,-5.1103,1.1345,0,1 ; -597,-1596.5836,749.3448,-5.4725,178.5932,0,1 ; -416,-2643.2285,630.0392,14.6034,87.3837,1,3 ; -416,-2683.8833,628.2059,14.6035,272.5255,1,3 ; -416,-2668.5364,610.7019,14.6043,179.8035,1,3 ; +523,-1576.0360,673.7034,6.7563,174.5967,0,0 ; +523,-1575.9231,650.4584,6.7582,0.9076,0,0 ; +597,-1593.6233,651.7213,6.9566,1.3899,0,1 ; +597,-1622.5198,651.7484,6.9555,359.8126,0,1 ; +427,-1634.3652,653.2300,7.3195,359.8379,0,1 ; +597,-1573.9720,726.4003,-5.4722,91.1968,0,1 ; +523,-1612.2233,674.1516,6.7545,184.0847,0,0 ; +427,-1600.1411,678.0489,-5.1103,1.1345,0,1 ; +597,-1596.5836,749.3448,-5.4725,178.5932,0,1 ; +416,-2643.2285,630.0392,14.6034,87.3837,1,3 ; +416,-2683.8833,628.2059,14.6035,272.5255,1,3 ; +416,-2668.5364,610.7019,14.6043,179.8035,1,3 ; 416,-2639.3809,609.7971,14.6020,180.4547,1,3 ; 544,-2053.1836,75.5582,28.6258,91.8533,3,1 ; 544,-2020.6779,75.7322,28.2849,270.8804,3,1 ; @@ -26,13 +26,13 @@ 472,-1165.9481,376.5309,0.1491,315.1259,56,53 ; 472,-1421.6274,285.5732,-0.2879,265.8000,46,26 ; 472,-1653.0968,254.7862,0.2592,268.0484,112,20 ; -597,-1606.3083,673.1804,6.9553,179.1846,0,1 ; +597,-1606.3083,673.1804,6.9553,179.1846,0,1 ; 427,-1582.2726,672.2101,7.3207,180.9814,0,1 ; 470,-1383.2446,457.2296,7.1794,359.1241,43,0 ; -597,-1610.8358,651.5052,6.9564,359.9975,0,1 ; -597,-1622.9977,653.4961,-5.4742,89.9343,0,1 ; -597,-1639.4895,677.9890,-5.4743,269.9376,0,1 ; -548,-1415.3323,492.7466,19.8676,271.5521,1,1 ; -548,-1304.2273,507.9386,19.8769,269.1332,1,1 ; -433,-1362.9229,458.9281,7.6241,357.4277,43,0 ; -433,-1529.5907,457.3813,7.6238,358.3718,43,0 ; +597,-1610.8358,651.5052,6.9564,359.9975,0,1 ; +597,-1622.9977,653.4961,-5.4742,89.9343,0,1 ; +597,-1639.4895,677.9890,-5.4743,269.9376,0,1 ; +548,-1415.3323,492.7466,19.8676,271.5521,1,1 ; +548,-1304.2273,507.9386,19.8769,269.1332,1,1 ; +433,-1362.9229,458.9281,7.6241,357.4277,43,0 ; +433,-1529.5907,457.3813,7.6238,358.3718,43,0 ; \ No newline at end of file diff --git a/amx/scriptfiles/vehicles/sf_train.txt b/amx/scriptfiles/vehicles/sf_train.txt index 71937f5..6f03cf1 100644 --- a/amx/scriptfiles/vehicles/sf_train.txt +++ b/amx/scriptfiles/vehicles/sf_train.txt @@ -1,2 +1,2 @@ 538,-1948.4922,121.7808,25.7186,0.0,121,1 -537,-1943.3127,158.0254,27.0006,200.0,0,0 +537,-1943.3127,158.0254,27.0006,200.0,0,0 \ No newline at end of file diff --git a/amx/scriptfiles/vehicles/tierra.txt b/amx/scriptfiles/vehicles/tierra.txt index 7106eac..e44a84c 100644 --- a/amx/scriptfiles/vehicles/tierra.txt +++ b/amx/scriptfiles/vehicles/tierra.txt @@ -5,92 +5,92 @@ 587,-2272.0286,2300.4329,4.5463,89.7395,53,1 ; 581,-2184.2810,2418.5032,4.6261,225.5440,36,1 ; 484,-2227.5676,2446.2383,0.2238,229.2436,40,26 ; -454,-2323.5996,2492.2419,-0.0163,230.2643,26,26 ; -454,-2238.8279,2533.3970,0.0677,228.0608,26,26 ; -454,-2235.0234,2394.8408,0.2049,225.3403,26,26 ; -484,-2222.4343,2399.7363,0.3907,47.6966,50,32 ; -484,-2211.9019,2412.5371,0.3222,45.0241,66,36 ; -484,-2035.5737,2337.9326,0.3638,93.8940,66,36 ; -460,-2044.7676,2348.1140,1.5708,85.2721,46,23 ; -492,-2351.7927,2438.0439,7.5216,326.6075,81,27 ; -484,-2319.6973,2297.0566,0.1447,177.2915,66,36 ; -524,-2380.8870,2370.3657,4.4518,109.2159,83,66 ; -525,-2451.8999,2302.0273,4.8566,90.9255,1,1 ; -541,-2621.1914,2250.5889,8.0296,183.8325,123,1 ; -541,-2616.7476,2250.0974,7.8063,184.5472,22,1 ; -554,-2609.3669,2251.1685,8.2939,182.2681,12,32 ; -446,-2597.6831,2231.7883,-0.5205,262.0586,1,22 ; -581,-2632.2297,2299.0674,8.0274,266.4473,54,1 ; -587,-2500.2227,2326.0215,4.6304,267.2316,95,1 ; -409,-2492.2183,2410.7954,16.2328,29.6430,1,1 ; -581,-2635.7234,2423.7803,13.5265,165.2141,36,1 ; +454,-2323.5996,2492.2419,-0.0163,230.2643,26,26 ; +454,-2238.8279,2533.3970,0.0677,228.0608,26,26 ; +454,-2235.0234,2394.8408,0.2049,225.3403,26,26 ; +484,-2222.4343,2399.7363,0.3907,47.6966,50,32 ; +484,-2211.9019,2412.5371,0.3222,45.0241,66,36 ; +484,-2035.5737,2337.9326,0.3638,93.8940,66,36 ; +460,-2044.7676,2348.1140,1.5708,85.2721,46,23 ; +492,-2351.7927,2438.0439,7.5216,326.6075,81,27 ; +484,-2319.6973,2297.0566,0.1447,177.2915,66,36 ; +524,-2380.8870,2370.3657,4.4518,109.2159,83,66 ; +525,-2451.8999,2302.0273,4.8566,90.9255,1,1 ; +541,-2621.1914,2250.5889,8.0296,183.8325,123,1 ; +541,-2616.7476,2250.0974,7.8063,184.5472,22,1 ; +554,-2609.3669,2251.1685,8.2939,182.2681,12,32 ; +446,-2597.6831,2231.7883,-0.5205,262.0586,1,22 ; +581,-2632.2297,2299.0674,8.0274,266.4473,54,1 ; +587,-2500.2227,2326.0215,4.6304,267.2316,95,1 ; +409,-2492.2183,2410.7954,16.2328,29.6430,1,1 ; +581,-2635.7234,2423.7803,13.5265,165.2141,36,1 ; 419,-2472.6233,2490.2595,17.5856,1.8418,69,76 ; -419,-2455.7502,2489.7153,16.0495,2.9791,87,76 ; -400,-2471.6484,2511.5083,17.8420,178.3649,84,110 ; +419,-2455.7502,2489.7153,16.0495,2.9791,87,76 ; +400,-2471.6484,2511.5083,17.8420,178.3649,84,110 ; 421,-2377.9495,2410.4937,8.1698,324.3596,52,66 ; -493,-2417.5188,2297.3801,-0.1381,265.4497,36,13 ; -493,-2417.7244,2291.5913,-0.2166,266.5734,36,13 ; -493,-2418.0994,2286.5984,0.1419,268.6934,36,13 ; -587,-2426.7017,2346.5630,5.0736,282.6106,40,84 ; -587,-2446.9214,2224.6204,4.6071,179.3380,118,1 ; -496,-2440.6040,2224.3320,4.5603,179.5986,0,0 ; -480,-2470.7988,2224.3967,4.6180,180.6733,53,53 ; -477,-2482.4893,2224.7783,4.5955,179.0414,75,1 ; -530,-2509.7058,2369.0825,4.7508,179.0875,110,1 ; -473,-1374.8508,2116.4690,40.4058,319.3678,56,53 ; -473,-1366.9723,2106.8796,40.2918,315.0820,56,53 ; -573,-1804.4702,2045.1581,9.6246,294.1870,91,38 ; -468,-1824.8999,2035.1219,8.3037,212.8331,46,46 ; -453,-1854.5022,2098.8430,-0.2039,102.5433,56,56 ; -453,-1860.6494,2115.2981,-0.3292,107.9941,56,56 ; -453,-1869.9406,2128.6624,-0.2785,113.4106,56,56 ; -444,-1871.3125,2166.4583,4.9119,130.7896,32,42 ; -444,-1877.4138,2173.9583,4.4635,128.7793,32,66 ; -445,-1940.1118,2393.2588,49.3672,291.4925,39,39 ; +493,-2417.5188,2297.3801,-0.1381,265.4497,36,13 ; +493,-2417.7244,2291.5913,-0.2166,266.5734,36,13 ; +493,-2418.0994,2286.5984,0.1419,268.6934,36,13 ; +587,-2426.7017,2346.5630,5.0736,282.6106,40,84 ; +587,-2446.9214,2224.6204,4.6071,179.3380,118,1 ; +496,-2440.6040,2224.3320,4.5603,179.5986,0,0 ; +480,-2470.7988,2224.3967,4.6180,180.6733,53,53 ; +477,-2482.4893,2224.7783,4.5955,179.0414,75,1 ; +530,-2509.7058,2369.0825,4.7508,179.0875,110,1 ; +473,-1374.8508,2116.4690,40.4058,319.3678,56,53 ; +473,-1366.9723,2106.8796,40.2918,315.0820,56,53 ; +573,-1804.4702,2045.1581,9.6246,294.1870,91,38 ; +468,-1824.8999,2035.1219,8.3037,212.8331,46,46 ; +453,-1854.5022,2098.8430,-0.2039,102.5433,56,56 ; +453,-1860.6494,2115.2981,-0.3292,107.9941,56,56 ; +453,-1869.9406,2128.6624,-0.2785,113.4106,56,56 ; +444,-1871.3125,2166.4583,4.9119,130.7896,32,42 ; +444,-1877.4138,2173.9583,4.4635,128.7793,32,66 ; +445,-1940.1118,2393.2588,49.3672,291.4925,39,39 ; 482,-1934.0543,2377.3718,49.6189,290.8993,34,34 ; 482,-865.7496,1541.4736,22.7941,89.7060,109,1 ; -602,-865.9515,1547.8240,23.0657,268.7399,75,77 ; -602,-866.0584,1563.5151,24.3648,269.9845,32,1 ; -420,-866.0000,1557.1432,23.8370,269.2511,6,1 ; -400,-904.0693,1546.9365,26.0011,270.6434,36,1 ; -400,-880.8666,1518.9015,26.0064,84.4363,113,1 ; -552,-837.0482,1528.4155,21.4272,356.9085,56,56 ; -428,-836.9631,1518.5033,20.9587,356.9585,4,75 ; -522,-855.4826,1529.1183,22.1490,175.2427,7,79 ; -522,-854.3849,1528.8517,21.8310,177.4948,36,105 ; -508,-763.8517,1643.9420,27.8381,359.3427,1,1 ; -508,-759.1082,1643.9677,27.7561,357.9965,1,1 ; -508,-753.8820,1643.4702,27.6587,357.3247,1,1 ; -508,-779.0374,1557.9280,27.1835,359.2580,20,117 ; -495,-771.3682,1431.5581,14.1421,91.6766,116,115 ; -495,-771.4456,1436.7625,14.1395,89.8264,5,6 ; -554,-772.0689,1443.1458,13.8807,91.3204,12,32 ; -554,-771.5674,1486.2036,24.4291,89.6569,45,32 ; -508,-720.9415,1438.1919,18.8516,358.8137,1,1 ; -483,-685.9806,1444.2805,17.2557,358.8250,1,5 ; -452,-859.7170,1383.5663,-0.4432,255.0147,1,35 ; -525,-967.3431,1322.6412,39.9578,290.9068,52,54 ; -525,-1202.8787,1677.6721,20.1641,63.4200,52,54 ; -525,-1492.0199,1877.8156,32.5073,3.4296,52,54 ; -554,-1485.6687,1877.9529,32.7206,2.7033,53,32 ; -522,-1460.4990,1871.0664,32.2060,3.0444,36,105 ; -522,-1459.1002,1871.1023,32.1946,6.0306,51,118 ; -522,-1457.7523,1871.1093,32.1942,8.4307,3,8 ; -420,-1450.4545,1870.4369,32.4111,2.9921,6,1 ; -525,-1766.5353,1882.8726,17.5407,198.3129,1,1 ; -525,-837.5615,813.0668,18.5289,199.0021,1,1 ; -421,-680.4999,948.1251,12.0152,36.5625,36,1 ; -444,-669.6081,945.8578,12.5041,89.2779,32,36 ; -444,-669.8880,950.3906,12.5041,92.0677,32,53 ; -444,-669.9730,955.0541,12.5041,91.0209,32,14 ; +602,-865.9515,1547.8240,23.0657,268.7399,75,77 ; +602,-866.0584,1563.5151,24.3648,269.9845,32,1 ; +420,-866.0000,1557.1432,23.8370,269.2511,6,1 ; +400,-904.0693,1546.9365,26.0011,270.6434,36,1 ; +400,-880.8666,1518.9015,26.0064,84.4363,113,1 ; +552,-837.0482,1528.4155,21.4272,356.9085,56,56 ; +428,-836.9631,1518.5033,20.9587,356.9585,4,75 ; +522,-855.4826,1529.1183,22.1490,175.2427,7,79 ; +522,-854.3849,1528.8517,21.8310,177.4948,36,105 ; +508,-763.8517,1643.9420,27.8381,359.3427,1,1 ; +508,-759.1082,1643.9677,27.7561,357.9965,1,1 ; +508,-753.8820,1643.4702,27.6587,357.3247,1,1 ; +508,-779.0374,1557.9280,27.1835,359.2580,20,117 ; +495,-771.3682,1431.5581,14.1421,91.6766,116,115 ; +495,-771.4456,1436.7625,14.1395,89.8264,5,6 ; +554,-772.0689,1443.1458,13.8807,91.3204,12,32 ; +554,-771.5674,1486.2036,24.4291,89.6569,45,32 ; +508,-720.9415,1438.1919,18.8516,358.8137,1,1 ; +483,-685.9806,1444.2805,17.2557,358.8250,1,5 ; +452,-859.7170,1383.5663,-0.4432,255.0147,1,35 ; +525,-967.3431,1322.6412,39.9578,290.9068,52,54 ; +525,-1202.8787,1677.6721,20.1641,63.4200,52,54 ; +525,-1492.0199,1877.8156,32.5073,3.4296,52,54 ; +554,-1485.6687,1877.9529,32.7206,2.7033,53,32 ; +522,-1460.4990,1871.0664,32.2060,3.0444,36,105 ; +522,-1459.1002,1871.1023,32.1946,6.0306,51,118 ; +522,-1457.7523,1871.1093,32.1942,8.4307,3,8 ; +420,-1450.4545,1870.4369,32.4111,2.9921,6,1 ; +525,-1766.5353,1882.8726,17.5407,198.3129,1,1 ; +525,-837.5615,813.0668,18.5289,199.0021,1,1 ; +421,-680.4999,948.1251,12.0152,36.5625,36,1 ; +444,-669.6081,945.8578,12.5041,89.2779,32,36 ; +444,-669.8880,950.3906,12.5041,92.0677,32,53 ; +444,-669.9730,955.0541,12.5041,91.0209,32,14 ; 545,-710.5756,939.2571,12.2113,182.5872,53,53 ; -572,-666.9449,962.4420,11.7128,180.1996,116,1 ; -473,-792.8611,937.9167,0.1685,121.3300,56,15 ; -472,-615.6752,1807.6965,0.1010,81.7140,56,53 ; +572,-666.9449,962.4420,11.7128,180.1996,116,1 ; +473,-792.8611,937.9167,0.1685,121.3300,56,15 ; +472,-615.6752,1807.6965,0.1010,81.7140,56,53 ; 473,-527.8143,1634.6472,-0.2518,232.0554,56,15 ; -468,-1044.5811,1559.1265,32.8485,222.2500,3,3 ; -462,-1214.5260,1841.3584,41.3185,264.4565,13,13 ; +468,-1044.5811,1559.1265,32.8485,222.2500,3,3 ; +462,-1214.5260,1841.3584,41.3185,264.4565,13,13 ; 482,-1203.9337,1813.2631,41.8329,44.3244,62,62 ; 568,-1295.9022,2496.5747,86.8474,198.8607,9,39 ; -568,-1506.3029,1966.6509,48.2421,293.1870,9,39 ; -510,-767.7841,1103.9338,44.4799,321.7752,39,39 ; +568,-1506.3029,1966.6509,48.2421,293.1870,9,39 ; +510,-767.7841,1103.9338,44.4799,321.7752,39,39 ; \ No newline at end of file diff --git a/amx/scriptfiles/vehicles/trains.txt b/amx/scriptfiles/vehicles/trains.txt index 3fdba23..10a289e 100644 --- a/amx/scriptfiles/vehicles/trains.txt +++ b/amx/scriptfiles/vehicles/trains.txt @@ -1,3 +1,3 @@ 538,1462.0745,2630.8787,10.8203,200.0,-1,-1 ; LV passenger 538,-1942.7950,168.4164,27.0006,200.0,-1,-1 ; SF passenger -538,1700.7551,-1953.6531,14.8756,200.0,-1,-1 ; LS passenger +538,1700.7551,-1953.6531,14.8756,200.0,-1,-1 ; LS passenger \ No newline at end of file diff --git a/amx/scriptfiles/vehicles/trains_platform.txt b/amx/scriptfiles/vehicles/trains_platform.txt index fd270ad..8961a30 100644 --- a/amx/scriptfiles/vehicles/trains_platform.txt +++ b/amx/scriptfiles/vehicles/trains_platform.txt @@ -1,3 +1,3 @@ 537,1462.0745,2630.8787,10.8203,200.0,-1,-1 ; LV passenger 537,-1942.7950,168.4164,27.0006,200.0,-1,-1 ; SF passenger -537,1700.7551,-1953.6531,14.8756,200.0,-1,-1 ; LS passenger +537,1700.7551,-1953.6531,14.8756,200.0,-1,-1 ; LS passenger \ No newline at end of file diff --git a/amx/server/events.lua b/amx/server/events.lua index e2ecdd6..69a2999 100644 --- a/amx/server/events.lua +++ b/amx/server/events.lua @@ -14,6 +14,7 @@ function gameModeInit(player) takeAllWeapons(player) setElementInterior(player, 0) setElementDimension(player, 0) + for i=69,79 do setPedStat(player, i, 999) end local r, g, b = math.random(50, 255), math.random(50, 255), math.random(50, 255) ShowPlayerMarker(false, player, g_ShowPlayerMarkers) setPlayerHudComponentVisible(player, 'area_name', g_ShowZoneNames) @@ -28,43 +29,24 @@ function gameModeInit(player) g_Players[playerID].streamedVehicles = {} g_Players[playerID].streamedPlayers = {} g_Players[playerID].attachedObjects = {} - if g_PlayerClasses[0] then - g_Players[playerID].viewingintro = true - fadeCamera(player, true) - setTimer( - function() - if not isElement(player) or getElementType(player) ~= 'player' then - return - end - g_Players[playerID].doingclasssel = true - killPed(player) - if procCallOnAll('OnPlayerRequestClass', playerID, 0) then - putPlayerInClassSelection(player) - else - outputDebugString('Not allowed to select a class', 1) - end - end, - 5000, - 1 - ) - else - setTimer( - function() - if not isElement(player) or getElementType(player) ~= 'player' then - return - end - repeat until onPlayerInitSpawnPlayer(player, math.random(-20, 20), math.random(-20, 20), 3, math.random(0, 359), math.random(9, 288)) - end, - 5000, - 1 - ) - end -end - -function onPlayerInitSpawnPlayer(player, x, y, z, rotation, skinid) - local playerID = getElemID(player) - g_Players[playerID].spawnedfromgamemodeinit = true - return spawnPlayer(player, x, y, z, rotation, skinid) + g_Players[playerID].viewingintro = true + fadeCamera(player, true) + setTimer( + function() + if not isElement(player) or getElementType(player) ~= 'player' then + return + end + g_Players[playerID].doingclasssel = true + killPed(player) + if procCallOnAll('OnPlayerRequestClass', playerID, 0) then + putPlayerInClassSelection(player) + else + outputDebugString('Not allowed to select a class', 1) + end + end, + 5000, + 1 + ) end function joinHandler(player) @@ -94,7 +76,6 @@ function joinHandler(player) for k,v in ipairs(g_Keys) do bindKey(player, v, 'both', mtaKeyStateChange) end - g_Players[playerID].updatetimer = setTimer(procCallOnAll, 100, 0, 'OnPlayerUpdate', playerID) if playerJoined then if getRunningGameMode() then @@ -119,13 +100,7 @@ function joinHandler(player) clientCall(player, 'Create3DTextLabel', i, label) end - table.each( - g_LoadedAMXs, - function(amx) - procCallInternal(amx, 'OnPlayerConnect', playerID) - - end - ) + procCallOnAll('OnPlayerConnect', playerID) end setPlayerNametagShowing(player, false) end @@ -191,6 +166,10 @@ function putPlayerInClassSelection(player) if g_Players[playerID].blip then setElementVisibleTo(g_Players[playerID].blip, root, false) end + if g_Players[playerID].updatetimer then + killTimer( g_Players[playerID].updatetimer ) + g_Players[playerID].updatetimer = nil + end clientCall(player, 'startClassSelection', g_PlayerClasses) bindKey(player, 'arrow_l', 'down', requestClass, -1) bindKey(player, 'arrow_r', 'down', requestClass, 1) @@ -200,6 +179,9 @@ function putPlayerInClassSelection(player) end function requestClass(player, btn, state, dir) + if not isElement(player) then + return + end local playerID = getElemID(player) local data = g_Players[playerID] data.selectedclass = data.selectedclass + dir @@ -208,11 +190,15 @@ function requestClass(player, btn, state, dir) elseif data.selectedclass < 0 then data.selectedclass = #g_PlayerClasses end + local skin = 0 local x, y, z = getElementPosition(player) + if g_PlayerClasses[0] then + skin = g_PlayerClasses[data.selectedclass][5] + end if isPedDead(player) then - spawnPlayer(player, x, y, z, getPedRotation(player), g_PlayerClasses[data.selectedclass][5], getElementInterior(player), playerID) + spawnPlayer(player, x, y, z, getPedRotation(player), skin, getElementInterior(player), playerID) else - setElementModel(player, g_PlayerClasses[data.selectedclass][5]) + setElementModel(player, skin) end clientCall(player, 'selectClass', data.selectedclass) procCallOnAll('OnPlayerRequestClass', playerID, data.selectedclass) @@ -230,18 +216,29 @@ function requestSpawn(player, btn, state) end function spawnPlayerBySelectedClass(player, x, y, z, r) + if not isElement(player) then + return + end local playerID = getElemID(player) local playerdata = g_Players[playerID] playerdata.viewingintro = nil playerdata.doingclasssel = nil local spawninfo = playerdata.spawninfo or (g_PlayerClasses and g_PlayerClasses[playerdata.selectedclass]) if not spawninfo then - return + if not g_PlayerClasses[0] then + spawninfo = { + 0, 0, 3, 0, 0, 0, 0, false, + weapons={ {-1, 0}, {-1, 0}, {-1, 0} } + } + else + spawninfo = g_PlayerClasses[0] + end end if x then spawninfo = table.shallowcopy(spawninfo) spawninfo[1], spawninfo[2], spawninfo[3], spawninfo[4] = x, y, z, r or spawninfo[4] end + setPlayerState(player, PLAYER_STATE_SPAWNED) spawnPlayer(player, unpack(spawninfo)) for i,weapon in ipairs(spawninfo.weapons) do if weapon[1] ~= -1 then @@ -258,15 +255,18 @@ addEventHandler('onPlayerSpawn', root, function() local playerID = getElemID(source) local playerdata = g_Players[playerID] - if playerdata.doingclasssel or playerdata.spawnedfromgamemodeinit then - if playerdata.spawnedfromgamemodeinit ~= nil then - playerdata.spawnedfromgamemodeinit = nil - end + if playerdata.doingclasssel then return end toggleAllControls(source, true) procCallOnAll('OnPlayerSpawn', playerID) setPlayerState(source, PLAYER_STATE_ONFOOT) + + if g_Players[playerID].updatetimer then + killTimer( g_Players[playerID].updatetimer ) + end + g_Players[playerID].updatetimer = setTimer(procCallOnAll, 100, 0, 'OnPlayerUpdate', playerID) + playerdata.vehicle = nil playerdata.specialaction = SPECIAL_ACTION_NONE end @@ -322,12 +322,16 @@ addEventHandler('onPlayerWasted', root, if g_Players[playerID].doingclasssel then return end - local killerID = killer and killer ~= source and getElemID(killer) or 255 + local killerID = INVALID_PLAYER_ID + if isElement(killer) and getElementType(killer) == 'player' and killer ~= source then + killerID = getElemID(killer) + end setPlayerState(source, PLAYER_STATE_WASTED) procCallOnAll('OnPlayerDeath', playerID, killerID, weapon) if g_Players[playerID].returntoclasssel then g_Players[playerID].returntoclasssel = nil --setTimer(putPlayerInClassSelection, 3000, 1, source) + local player = source setTimer( function() g_Players[playerID].spawninfo = nil @@ -335,12 +339,20 @@ addEventHandler('onPlayerWasted', root, if procCallOnAll('OnPlayerRequestClass', playerID, 0) then putPlayerInClassSelection(player) + else + outputDebugString('Not allowed to select a class', 1) end - end, 3000, 1, source + end, 3000, 1 ) else setTimer(spawnPlayerBySelectedClass, 3000, 1, source, false) end + + if g_Players[playerID].updatetimer then + killTimer( g_Players[playerID].updatetimer ) + g_Players[playerID].updatetimer = nil + end + g_Players[playerID].vehicle = nil g_Players[playerID].specialaction = SPECIAL_ACTION_NONE end @@ -400,20 +412,32 @@ end function respawnStaticVehicle(vehicle) if not isElement(vehicle) then - return + return false end local vehID = getElemID(vehicle) if not g_Vehicles[vehID] then - return + return false end if isTimer(g_Vehicles[vehID].respawntimer) then killTimer(g_Vehicles[vehID].respawntimer) end + local numPassengers = tonumber(getVehicleMaxPassengers(vehicle)) or 0; + for seat=0,numPassengers do + local player = getVehicleOccupant(vehicle, seat) + if player then + removePedFromVehicle(player) + end + end g_Vehicles[vehID].respawntimer = nil g_Vehicles[vehID].vehicleIsAlive = true local spawninfo = g_Vehicles[vehID].spawninfo - spawnVehicle(vehicle, spawninfo.x, spawninfo.y, spawninfo.z, 0, 0, spawninfo.angle) - procCallInternal(amx, 'OnVehicleSpawn', vehID) + setTimer( + function() + spawnVehicle(vehicle, spawninfo.x, spawninfo.y, spawninfo.z, 0, 0, spawninfo.angle) + procCallOnAll('OnVehicleSpawn', vehID) + end, 500, 1 + ) + return true end addEventHandler('onVehicleEnter', root, @@ -471,7 +495,8 @@ addEventHandler('onVehicleExit', root, g_Players[playerID].vehicle = nil setPlayerState(player, PLAYER_STATE_ONFOOT) - for i=0,getVehicleMaxPassengers(source) do + local numPassengers = tonumber(getVehicleMaxPassengers(source)) or 0; + for i=0,numPassengers do if getVehicleOccupant(source, i) then return end @@ -521,7 +546,7 @@ addEventHandler('onVehicleExplode', root, end g_Vehicles[vehID].vehicleIsAlive = false - g_Vehicles[vehID].respawntimer = setTimer(respawnStaticVehicle, g_Vehicles[vehID].respawndelay, 1, source) + g_Vehicles[vehID].respawntimer = setTimer(respawnStaticVehicle, 10000, 1, source) end end ) @@ -548,11 +573,21 @@ function removePedFromVehicle(player) if not playerdata.vehicle then return false end - procCallOnAll('OnPlayerExitVehicle', getElemID(player), getElemID(playerdata.vehicle)) + --procCallOnAll('OnPlayerExitVehicle', getElemID(player), getElemID(playerdata.vehicle)) playerdata.vehicle = nil setTimer(_removePedFromVehicle, 500, 1, player) return true end + +function removePedFromVehicleEx(player) + local playerdata = g_Players[getElemID(player)] + if not playerdata.vehicle then + return false + end + playerdata.vehicle = nil + setControlState(player, "enter_exit", true) + return true +end ------------------------------- -- Markers addEventHandler('onMarkerHit', root, @@ -587,13 +622,14 @@ addEventHandler('onPedWasted', root, addEvent('OnPlayerPickUpPickup_Ev', true) addEventHandler('OnPlayerPickUpPickup_Ev', root, function(pickup) + local player = root local model = getElementModel(pickup) procCallOnAll('OnPlayerPickUpPickup', getElemID(player), getElemID(pickup)) if model == 370 then -- Jetpack pickup - givePedJetPack(player) + setPedWearingJetpack(player, true) end end ) diff --git a/amx/server/natives/a_actors.lua b/amx/server/natives/a_actors.lua index 68b781f..92ff007 100644 --- a/amx/server/natives/a_actors.lua +++ b/amx/server/natives/a_actors.lua @@ -13,6 +13,7 @@ function DestroyActor(amx, actor) removeElem(g_Actors, actor) destroyElement(actor) + return true end function IsActorStreamedIn(amx, actorId, player) @@ -22,27 +23,36 @@ end function ApplyActorAnimation(amx, actor, animlib, animname, fDelta, loop, lockx, locky, freeze, time) setPedAnimation(actor, animlib, animname, time, loop, lockx or locky, false, freeze) setPedAnimationSpeed(actor, animname, fDelta) + return true end function ClearActorAnimations(amx, actor) - setPedAnimation(actor, false) + return setPedAnimation(actor, false) end function SetActorFacingAngle(amx, actor, ang) local rotX, rotY, rotZ = getElementRotation(actor) -- get the local players's rotation - setElementRotation(actor, rotX, rotY, ang, "default", true) -- turn the player 10 degrees clockwise + return setElementRotation(actor, rotX, rotY, ang, "default", true) -- turn the player 10 degrees clockwise end function GetActorFacingAngle(amx, actor, refAng) + if not actor then + return false + end local rX, rY, rZ = getElementRotation(actor) writeMemFloat(amx, refAng, rZ) + return true end function GetActorPos(amx, actor, refX, refY, refZ) + if not actor then + return false + end local x, y, z = getElementPosition(actor) writeMemFloat(amx, refX, x) writeMemFloat(amx, refY, y) writeMemFloat(amx, refZ, z) + return true end -- stub @@ -75,8 +85,8 @@ function GetActorPoolSize(amx) end SetActorHealth = SetPlayerHealth -SetActorPos = SetPlayerPos SetActorVirtualWorld = SetPlayerVirtualWorld +SetActorPos = SetObjectPos -- stub function GetPlayerCameraTargetActor(amx) diff --git a/amx/server/natives/a_mta.lua b/amx/server/natives/a_mta.lua index 7acd6c3..ec1895d 100644 --- a/amx/server/natives/a_mta.lua +++ b/amx/server/natives/a_mta.lua @@ -1,6 +1,6 @@ function AddPlayerClothes(amx, player, type, index) local texture, model = getClothesByTypeIndex(type, index) - addPedClothes(player, texture, model, type) + return addPedClothes(player, texture, model, type) end function GetPlayerClothes(amx, player, type) @@ -13,7 +13,7 @@ function GetPlayerClothes(amx, player, type) end function RemovePlayerClothes(amx, player, type) - removePedClothes(player, type) + return removePedClothes(player, type) end ----------------------------------------------------- @@ -40,7 +40,7 @@ function IsPlayerInWater(amx, player) end function IsPlayerOnFire(amx, player) - return isPedOnFire(player) + return isElementOnFire(player) end function IsPlayerDucked(amx, player) @@ -52,7 +52,7 @@ function IsPlayerOnGround(amx, player) end function SetPlayerOnFire(amx, player, state) - return setPedOnFire(player, state) + return setElementOnFire(player, state) end function GetPlayerStat(amx, player, stat) @@ -69,8 +69,7 @@ end function SetPlayerDoingDriveBy(amx, ped, state) clientCall(root, 'setPedDoingGangDriveby', ped, state) - setElementData(ped, 'DoingDriveBy', state) - return true + return setElementData(ped, 'DoingDriveBy', state) end function GetPlayerCanBeKnockedOffBike(amx, ped) @@ -79,7 +78,7 @@ end function SetPlayerCanBeKnockedOffBike(amx, ped, state) clientCall(root, 'setPedCanBeKnockedOffBike', ped, state) - setElementData(ped, 'CanBeKnockedOffBike', state) + return setElementData(ped, 'CanBeKnockedOffBike', state) end function SetPlayerWeaponSlot(amx, ped, slot) @@ -141,6 +140,7 @@ end function DestroyBot(amx, bot) removeElem(g_Bots, bot) destroyElement(bot) + return true end function GetBotState(amx, bot) @@ -148,7 +148,7 @@ function GetBotState(amx, bot) end function PutBotInVehicle(amx, bot, vehicle, seat) - return oldwarpPedIntoVehicle(bot, vehicle, seat) + return warpPedIntoVehicle(bot, vehicle, seat) end function RemoveBotFromVehicle(amx, bot) @@ -177,20 +177,25 @@ function KillBot(amx, bot) end function GetBotRot(amx, ped, refX, refY, refZ) + if not ped then + return false + end local rX, rX, rZ = getPedRotation(ped) writeMemFloat(amx, refX, rX) writeMemFloat(amx, refY, rY) writeMemFloat(amx, refZ, rZ) + return true end function SetBotRot(amx, Ped, rX, rY, rY) - setPedRotation(ped, rX, rY, rZ) + return setPedRotation(ped, rX, rY, rZ) end function GetBotName(amx, bot, nameBuf, bufSize) local name = getElementData(bot, 'BotName') if #name <= bufSize then writeMemString(amx, nameBuf, name) + return string.len(name) end end @@ -580,7 +585,7 @@ end ----------------------------------------------------- function ShowCursor(amx, player, show, controls) - showCursor(player, show, controls) + return showCursor(player, show, controls) end function AddEventHandler(amx, event, func) diff --git a/amx/server/natives/a_objects.lua b/amx/server/natives/a_objects.lua index c255baf..bbcfea4 100644 --- a/amx/server/natives/a_objects.lua +++ b/amx/server/natives/a_objects.lua @@ -19,39 +19,40 @@ function AttachObjectToObject(amx) end function AttachObjectToPlayer(amx, object, player, offsetX, offsetY, offsetZ, rX, rY, rZ) - attachElements(object, player, offsetX, offsetY, offsetZ, rX, rY, rZ) + return attachElements(object, player, offsetX, offsetY, offsetZ, rX, rY, rZ) end function SetObjectPos(amx, object, x, y, z) - if(getElementType(object) == 'vehicle') then - setElementFrozen(object, true) - end - - setElementPosition(object, x, y, z) - - if getElementType(object) == 'vehicle' then - setElementAngularVelocity(object, 0, 0, 0) - setElementVelocity(object, 0, 0, 0) - setTimer(setElementFrozen, 500, 1, object, false) - end + return setElementPosition(object, x, y, z) end function GetObjectPos(amx, object, refX, refY, refZ) + if not object then + return false + end local x, y, z = getElementPosition(object) writeMemFloat(amx, refX, x) writeMemFloat(amx, refY, y) writeMemFloat(amx, refZ, z) + return true end function GetObjectRot(amx, object, refX, refY, refZ) + if not object then + return false + end local rX, rX, rZ = getObjectRotation(object) writeMemFloat(amx, refX, rX) writeMemFloat(amx, refY, rY) writeMemFloat(amx, refZ, rZ) + return true end -function SetObjectRot(amx, object, rX, rY, rY) - setObjectRotation(object, rX, rY, rZ) +function SetObjectRot(amx, object, rX, rY, rZ) + if object then + setObjectRotation(object, rX, rY, rZ) + end + return true end function GetObjectModel(amx, objID) @@ -70,19 +71,26 @@ function IsValidObject(amx, objID) end function DestroyObject(amx, object) - removeElem(g_Objects, object) - destroyElement(object) + if object then + removeElem(g_Objects, object) + destroyElement(object) + end + return true end function MoveObject(amx, object, x, y, z, speed) + if not object then + return 0 + end local distance = getDistanceBetweenPoints3D(x, y, z, getElementPosition(object)) local time = distance/speed*1000 moveObject(object, time, x, y, z, 0, 0, 0) setTimer(procCallOnAll, time, 1, 'OnObjectMoved', getElemID(object)) + return math.floor(time) end function StopObject(amx, object) - stopObject(object) + return stopObject(object) end function IsObjectMoving(amx) @@ -101,7 +109,7 @@ end function SetPlayerObjectPos(amx, player, objID, x, y, z) local obj = g_PlayerObjects[player] and g_PlayerObjects[player][objID] if not obj then - return + return false end if obj.moving then if isTimer(obj.moving.timer) then @@ -111,15 +119,17 @@ function SetPlayerObjectPos(amx, player, objID, x, y, z) end obj.x, obj.y, obj.z = x, y, z clientCall(player, 'SetPlayerObjectPos', objID, x, y, z) + return true end function SetPlayerObjectRot(amx, player, objID, rX, rY, rZ) local obj = g_PlayerObjects[player] and g_PlayerObjects[player][objID] if not obj then - return + return false end obj.rx, obj.ry, obj.rz = rX, rY, rZ clientCall(player, 'SetPlayerObjectRot', objID, rX, rY, rZ) + return true end local function getPlayerObjectPos(amx, player, objID) @@ -149,21 +159,23 @@ end function GetPlayerObjectPos(amx, player, objID, refX, refY, refZ) local x, y, z = getPlayerObjectPos(amx, player, objID) if not x then - return + return false end writeMemFloat(amx, refX, x) writeMemFloat(amx, refY, y) writeMemFloat(amx, refZ, z) + return true end function GetPlayerObjectRot(amx, player, objID, refX, refY, refZ) local obj = g_PlayerObjects[player] and g_PlayerObjects[player][objID] if not obj then - return + return false end writeMemFloat(amx, refX, obj.rx) writeMemFloat(amx, refY, obj.ry) writeMemFloat(amx, refZ, obj.rz) + return true end function GetPlayerObjectModel(amx, player, object) @@ -176,14 +188,17 @@ function IsValidPlayerObject(amx, player, objID) end function DestroyPlayerObject(amx, player, objID) - g_PlayerObjects[player][objID] = nil - clientCall(player, 'DestroyPlayerObject', objID) + if g_PlayerObjects[player] and g_PlayerObjects[player][objID] then + g_PlayerObjects[player][objID] = nil + clientCall(player, 'DestroyPlayerObject', objID) + end + return true end function MovePlayerObject(amx, player, objID, x, y, z, speed) local obj = g_PlayerObjects[player] and g_PlayerObjects[player][objID] if not obj then - return + return 0 end local distance = getDistanceBetweenPoints3D(x, y, z, getPlayerObjectPos(amx, player, objID)) local duration = distance/speed*1000 @@ -193,12 +208,13 @@ function MovePlayerObject(amx, player, objID, x, y, z, speed) local timer = setTimer(procCallOnAll, duration, 1, 'OnPlayerObjectMoved', getElemID(player), objID) obj.moving = { x = x, y = y, z = z, starttick = getTickCount(), duration = duration, timer = timer } clientCall(player, 'MovePlayerObject', objID, x, y, z, speed) + return math.floor(duration) end function StopPlayerObject(amx, player, objID) local obj = g_PlayerObjects[player] and g_PlayerObjects[player][objID] if not obj then - return + return false end if obj.moving then obj.x, obj.y, obj.z = getPlayerObjectPos(amx, player, objID) @@ -208,6 +224,7 @@ function StopPlayerObject(amx, player, objID) obj.moving = nil end clientCall(player, 'StopPlayerObject', objID) + return true end diff --git a/amx/server/natives/a_players.lua b/amx/server/natives/a_players.lua index baee5e2..1766dc0 100644 --- a/amx/server/natives/a_players.lua +++ b/amx/server/natives/a_players.lua @@ -1,12 +1,35 @@ function SetPlayerPos(amx, player, x, y, z) - setElementPosition(player, x, y, z) + local vehicle = getPedOccupiedVehicle(player) + if vehicle then + removePedFromVehicle(player) + setTimer(setElementPosition, 500, 1, player, x, y, z) + else + return setElementPosition(player, x, y, z) + end + return true +end + +function SetPlayerPosFindZ(amx, player, x, y, z) + local vehicle = getPedOccupiedVehicle(player) + if vehicle then + removePedFromVehicle(player) + setTimer(clientCall, 500, 1, player, 'SetPlayerPosFindZ', x, y, z) + else + clientCall(player, 'SetPlayerPosFindZ', x, y, z) + end + return true end + GetPlayerPos = GetObjectPos function SetPlayerFacingAngle(amx, player, angle) - setPedRotation(player, angle) + return setPedRotation(player, angle) end function GetPlayerFacingAngle(amx, player, refRot) + if not player then + return false + end writeMemFloat(amx, refRot, getPedRotation(player)) + return true end function IsPlayerInRangeOfPoint(amx, player, range, pX, pY, pZ) return getDistanceBetweenPoints3D(pX, pY, pZ, getElementPosition(player)) <= range @@ -23,12 +46,15 @@ end function SetPlayerInterior(amx, player, interior) local playerId = getElemID(player) if g_Players[playerId].viewingintro then - return + return false end local oldInt = getElementInterior(player) - setElementInterior(player, interior) - procCallOnAll('OnPlayerInteriorChange', playerId, interior, oldInt) - clientCall(player, 'AMX_OnPlayerInteriorChange', interior, oldInt) + if interior ~= oldInt then + setElementInterior(player, interior) + procCallOnAll('OnPlayerInteriorChange', playerId, interior, oldInt) + clientCall(player, 'AMX_OnPlayerInteriorChange', interior, oldInt) + end + return true end function GetPlayerInterior(amx, player) @@ -36,23 +62,31 @@ function GetPlayerInterior(amx, player) end function SetPlayerHealth(amx, player, health) - setElementHealth(player, health) + return setElementHealth(player, health) end function GetPlayerHealth(amx, player, refHealth) + if not player then + return false + end writeMemFloat(amx, refHealth, getElementHealth(player)) + return true end function SetPlayerArmour(amx, player, armor) - setPedArmor(player, armor) + return setPedArmor(player, armor) end function GetPlayerArmour(amx, player, refArmor) + if not player then + return false + end writeMemFloat(amx, refArmor, getPedArmor(player)) + return true end function SetPlayerAmmo(amx, player, slot, ammo) - setWeaponAmmo(player, slot, ammo) + return setWeaponAmmo(player, slot, ammo) end function GetPlayerAmmo(amx, player) @@ -94,7 +128,7 @@ function GetPlayerTargetActor(amx, player) end function SetPlayerTeam(amx, player, team) - setPlayerTeam(player, team) + return setPlayerTeam(player, team) end function GetPlayerTeam(amx, player) @@ -102,7 +136,7 @@ function GetPlayerTeam(amx, player) end function SetPlayerScore(amx, player, score) - setElementData(player, 'Score', score) + return setElementData(player, 'Score', score) end function GetPlayerScore(amx, player) @@ -124,6 +158,7 @@ function SetPlayerColor(amx, player, r, g, b) if g_ShowPlayerMarkers then setBlipColor(g_Players[getElemID(player)].blip, r, g, b, 255) end + return true end function GetPlayerColor(amx, player) @@ -132,7 +167,7 @@ function GetPlayerColor(amx, player) end function SetPlayerSkin(amx, player, skin) - setElementModel(player, skinReplace[skin] or skin) + return setElementModel(player, skinReplace[skin] or skin) end function GetPlayerSkin(amx, player) @@ -140,11 +175,11 @@ function GetPlayerSkin(amx, player) end function GivePlayerWeapon(amx, player, weaponID, ammo) - giveWeapon(player, weaponID, ammo, true) + return giveWeapon(player, weaponID, ammo, true) end function ResetPlayerWeapons(amx, player) - takeAllWeapons(player) + return takeAllWeapons(player) end function SetPlayerArmedWeapon(amx, player, weapon) @@ -157,14 +192,15 @@ function GetPlayerWeaponData(amx, player, slot, refWeapon, refAmmo) if weapon then amx.memDAT[refWeapon], amx.memDAT[refAmmo] = weapon.id, weapon.ammo end + return true end function GivePlayerMoney(amx, player, amount) - givePlayerMoney(player, amount) + return givePlayerMoney(player, amount) end function ResetPlayerMoney(amx, player) - setPlayerMoney(player, 0) + return setPlayerMoney(player, 0) end function SetPlayerName(amx, player, name) @@ -180,9 +216,13 @@ function GetPlayerState(amx, player) end function GetPlayerIp(amx, player, refName, len) + if not player then + return -1 + end local ip = getPlayerIP(player) if #ip < len then writeMemString(amx, refName, ip) + return string.len(ip) end end @@ -198,39 +238,45 @@ function GetPlayerKeys(amx, player, refKeys, refUpDown, refLeftRight) amx.memDAT[refKeys] = buildKeyState(player, g_KeyMapping) amx.memDAT[refUpDown] = buildKeyState(player, g_UpDownMapping) amx.memDAT[refLeftRight] = buildKeyState(player, g_LeftRightMapping) + return true end function GetPlayerName(amx, player, nameBuf, bufSize) local name = getPlayerName(player) if #name <= bufSize then writeMemString(amx, nameBuf, name) + return string.len(name) end end function SetPlayerTime(amx, player, hours, minutes) clientCall(player, 'setTime', hours, minutes) + return true end function GetPlayerTime(amx, player, refHour, refMinute) amx.memDAT[refHour], amx.memDAT[refMinute] = getTime() + return true end --- TODO: TogglePlayerClock client +-- TogglePlayerClock client function SetPlayerWeather(amx, player, weatherID) clientCall(player, 'setWeather', weatherID % 256) + return true end function ForceClassSelection(amx, playerID) if not g_Players[playerID] then - return + return false end g_Players[playerID].returntoclasssel = true + return true end function SetPlayerWantedLevel(amx, player, level) - setPlayerWantedLevel(player, level) + return setPlayerWantedLevel(player, level) end function GetPlayerWantedLevel(amx, player) @@ -246,14 +292,18 @@ function SetPlayerFightingStyle(amx, player, style) end function SetPlayerVelocity(amx, player, vx, vy, vz) - setElementVelocity(player, vx, vy, vz) + return setElementVelocity(player, vx, vy, vz) end function GetPlayerVelocity(amx, player, refVX, refVY, refVZ) + if not player then + return false + end local vx, vy, vz = getElementVelocity(player) writeMemFloat(amx, refVX, vx) writeMemFloat(amx, refVY, vy) writeMemFloat(amx, refVZ, vz) + return true end -- dummy @@ -264,10 +314,12 @@ end function PlayAudioStreamForPlayer(amx, player, url, posX, posY, posZ, distance, usepos) clientCall(player, 'PlayAudioStreamForPlayer', url, posX, posY, posZ, distance, usepos) + return true end function StopAudioStreamForPlayer(amx, player) clientCall(player, 'StopAudioStreamForPlayer') + return true end function SetPlayerShopName(amx) @@ -280,15 +332,18 @@ function SetPlayerSkillLevel(amx, player, skill, level) end function GetPlayerSurfingVehicleID(amx, player) - return -1 + notImplemented('GetPlayerSurfingVehicleID') + return INVALID_VEHICLE_ID end function GetPlayerSurfingObjectID(amx) notImplemented('GetPlayerSurfingObjectID') + return INVALID_OBJECT_ID end function RemoveBuildingForPlayer(amx, player, model, x, y, z, radius) clientCall(player, 'RemoveBuildingForPlayer', model, x, y, z, radius) + return true end function GetPlayerLastShotVectors(amx) @@ -310,9 +365,9 @@ function SetPlayerAttachedObject(amx, player, index, modelid, bone, fOffsetX, fO --Todo: Implement material colors else outputDebugString('SetPlayerAttachedObject: Cannot attach object since the model is invalid. Model id was ' .. modelid) - return 0 + return false end - return 1 + return true end function RemovePlayerAttachedObject(amx, player, index) @@ -322,9 +377,9 @@ function RemovePlayerAttachedObject(amx, player, index) detachElementFromBone( obj ) destroyElement( obj ) g_Players[playerID].attachedObjects[index] = nil - return 1 + return true end - return 0 + return false end function IsPlayerAttachedObjectSlotUsed(amx) @@ -386,12 +441,13 @@ function CreatePlayerTextDraw(amx, player, x, y, text) end function PlayerTextDrawDestroy(amx, player, textdrawID) - if not IsPlayerTextDrawValid(player, textdrawID) then + if not IsPlayerTextDrawValid(player, textdrawID) then return false end outputDebugString('Sending textdraw id s->' .. g_PlayerTextDraws[player][textdrawID].serverTDId .. ' c->' .. g_PlayerTextDraws[player][textdrawID].clientTDId .. ' for destruction') clientCall(player, 'TextDrawDestroy', g_PlayerTextDraws[player][textdrawID].clientTDId) g_PlayerTextDraws[player][textdrawID] = nil + return true end function PlayerTextDrawLetterSize(amx, player, textdrawID, x, y) @@ -420,7 +476,7 @@ function PlayerTextDrawAlignment(amx, player, textdrawID, align) end function PlayerTextDrawColor(amx, player, textdrawID, r, g, b, a) - if not IsPlayerTextDrawValid(player, textdrawID) then + if not IsPlayerTextDrawValid(player, textdrawID) then return false end g_PlayerTextDraws[player][textdrawID].color = { r, g, b } @@ -441,10 +497,11 @@ function PlayerTextDrawBoxColor(amx, player, textdrawID, r, g, b, a) return false end g_PlayerTextDraws[player][textdrawID].boxcolor = { r, g, b, a } + return true end function PlayerTextDrawSetShadow(amx, player, textdrawID, size) - if not IsPlayerTextDrawValid(player, textdrawID) then + if not IsPlayerTextDrawValid(player, textdrawID) then return false end g_PlayerTextDraws[player][textdrawID].shade = size @@ -460,7 +517,7 @@ function PlayerTextDrawSetOutline(amx, player, textdrawID, size) end function PlayerTextDrawSetProportional(amx, player, textdrawID, proportional) notImplemented('PlayerTextDrawSetProportional') - --TextDrawSetProportional(amx, textdraw, proportional) + --TextDrawSetProportional(amx, textdraw, proportional) end function PlayerTextDrawBackgroundColor(amx, player, textdrawID, r, g, b, a) @@ -497,7 +554,7 @@ function PlayerTextDrawShow(amx, player, textdrawID) return true end function PlayerTextDrawHide(amx, player, textdrawID) - if not IsPlayerTextDrawValid(player, textdrawID) then + if not IsPlayerTextDrawValid(player, textdrawID) then return false end --if g_PlayerTextDraws[player][textdrawID].visible == 0 then @@ -506,10 +563,11 @@ function PlayerTextDrawHide(amx, player, textdrawID) g_PlayerTextDraws[player][textdrawID].visible = false clientCall(player, 'TextDrawHideForPlayer', g_PlayerTextDraws[player][textdrawID].clientTDId) --outputDebugString('PlayerTextDrawHide: proccessed for ' .. textdrawID .. ' with ' .. g_PlayerTextDraws[player][textdrawID].text) + return true end function PlayerTextDrawSetString(amx, player, textdrawID, str) - if not IsPlayerTextDrawValid(player, textdrawID) then + if not IsPlayerTextDrawValid(player, textdrawID) then return false end g_PlayerTextDraws[player][textdrawID].text = str @@ -611,6 +669,7 @@ function PutPlayerInVehicle(amx, player, vehicle, seat) end --setPlayerState(player, seat == 0 and PLAYER_STATE_DRIVER or PLAYER_STATE_PASSENGER) --No need to do this since the vehicle event gets called when we enter a vehicle + return true end function GetPlayerVehicleID(amx, player) @@ -632,16 +691,20 @@ end function RemovePlayerFromVehicle(amx, player) local vehicle = getPedOccupiedVehicle(player) if vehicle then - removePedFromVehicle(player) if g_RCVehicles[getElementModel(vehicle)] then + removePedFromVehicle(player) clientCall(root, 'setElementAlpha', player, 255) + else + removePedFromVehicleEx(player) end end - setPlayerState(player, PLAYER_STATE_ONFOOT) + --setPlayerState(player, PLAYER_STATE_ONFOOT) + --No need to do this since the vehicle event gets called when we exit a vehicle + return true end function TogglePlayerControllable(amx, player, enable) - toggleAllControls(player, enable, true, false) + return toggleAllControls(player, enable, true, false) end function PlayerPlaySound(amx, player, soundID, x, y, z) @@ -655,11 +718,14 @@ function ApplyAnimation(amx, player, animlib, animname, fDelta, loop, lockx, loc end setPedAnimation(player, animlib, animname, time, loop, lockx or locky, false, freeze) setPedAnimationSpeed(player, animname, fDelta) + return true end function ClearAnimations(amx, player) + removePedFromVehicle(player) setPedAnimation(player, false) g_Players[getElemID(player)].specialaction = SPECIAL_ACTION_NONE + return true end function GetPlayerAnimationIndex(player) @@ -673,7 +739,9 @@ function GetAnimationName(amx) end function GetPlayerSpecialAction(amx, player) - if doesPedHaveJetPack(player) then + if not player then + return SPECIAL_ACTION_NONE + elseif isPedWearingJetpack(player) then return SPECIAL_ACTION_USEJETPACK else return g_Players[getElemID(player)].specialaction or SPECIAL_ACTION_NONE @@ -681,15 +749,18 @@ function GetPlayerSpecialAction(amx, player) end function SetPlayerSpecialAction(amx, player, actionID) - if actionID == SPECIAL_ACTION_NONE then - removePedJetPack(player) + if not player then + return false + elseif actionID == SPECIAL_ACTION_NONE then + setPedWearingJetpack(player, false) setPedAnimation(player, false) elseif actionID == SPECIAL_ACTION_USEJETPACK then - givePedJetPack(player) + setPedWearingJetpack(player, true) elseif g_SpecialActions[actionID] then setPedAnimation(player, unpack(g_SpecialActions[actionID])) end g_Players[getElemID(player)].specialaction = actionID + return true end function DisableRemoteVehicleCollisions(amx) @@ -700,21 +771,25 @@ end function SetPlayerCheckpoint(amx, player, x, y, z, size) g_Players[getElemID(player)].checkpoint = { x = x, y = y, z = z, radius = size } clientCall(player, 'SetPlayerCheckpoint', x, y, z, size) + return true end function DisablePlayerCheckpoint(amx, player) g_Players[getElemID(player)].checkpoint = nil clientCall(player, 'DisablePlayerCheckpoint') + return true end function SetPlayerRaceCheckpoint(amx, player, type, x, y, z, nextX, nextY, nextZ, size) g_Players[getElemID(player)].racecheckpoint = { type = type, x = x, y = y, z = z, radius = size } clientCall(player, 'SetPlayerRaceCheckpoint', type, x, y, z, nextX, nextY, nextZ, size) + return true end function DisablePlayerRaceCheckpoint(amx, player) g_Players[getElemID(player)].racecheckpoint = nil clientCall(player, 'DisablePlayerRaceCheckpoint') + return true end -- SetPlayerWorldBounds client @@ -723,6 +798,7 @@ end function ShowPlayerNameTagForPlayer(amx, player, playerToShow, show) clientCall(player, 'setPlayerNametagShowing', playerToShow, show) + return true end -- SetPlayerMapIcon client @@ -733,38 +809,55 @@ function AllowPlayerTeleport(amx, player, allow) end function SetPlayerCameraPos(amx, player, x, y, z) + if not player then + return false + end fadeCamera(player, true) setCameraMatrix(player, x, y, z) + return true end function SetPlayerCameraLookAt(amx, player, lx, ly, lz) + if not player then + return false + end fadeCamera(player, true) local x, y, z = getCameraMatrix(player) setCameraMatrix(player, x, y, z, lx, ly, lz) + return true end function SetCameraBehindPlayer(amx, player) --In samp calling SetCameraBehindPlayer also unsets camera interpolation clientCall(player, 'removeCamHandlers') - setCameraTarget(player, player) + return setCameraTarget(player, player) end function GetPlayerCameraPos(amx, player, refX, refY, refZ) + if not player then + return false + end local x, y, z = getCameraMatrix(player) writeMemFloat(amx, refX, x) writeMemFloat(amx, refY, y) writeMemFloat(amx, refZ, z) + return true end function GetPlayerCameraFrontVector(amx, player, refX, refY, refZ) + if not player then + return false + end local x, y, z, lx, ly, lz = getCameraMatrix(player) writeMemFloat(amx, refX, lx) writeMemFloat(amx, refY, ly) writeMemFloat(amx, refZ, lz) + return true end function GetPlayerCameraMode(amx) notImplemented('GetPlayerCameraMode') + return -1 end function EnablePlayerCameraTarget(amx) @@ -774,36 +867,37 @@ end function GetPlayerCameraTargetObject(amx) notImplemented('GetPlayerCameraTargetObject') - return false + return INVALID_OBJECT_ID end function GetPlayerCameraTargetVehicle(amx) notImplemented('GetPlayerCameraTargetVehicle') - return false + return INVALID_VEHICLE_ID end function GetPlayerCameraTargetPlayer(amx) notImplemented('GetPlayerCameraTargetPlayer') - return false + return INVALID_PLAYER_ID end function GetPlayerCameraTargetActor(amx) notImplemented('GetPlayerCameraTargetActor') - return false + return INVALID_ACTOR_ID end function GetPlayerCameraAspectRatio(amx) notImplemented('GetPlayerCameraAspectRatio') - return false + return float2cell(0) end function GetPlayerCameraZoom(amx) notImplemented('GetPlayerCameraZoom') - return false + return float2cell(0) end function AttachCameraToObject(amx, player, object) clientCall(player, 'AttachCameraToObject', object) + return true end function AttachCameraToPlayerObject(amx) @@ -814,9 +908,11 @@ end --playerid, Float:FromX, Float:FromY, Float:FromZ, Float:ToX, Float:ToY, Float:ToZ, time, cut = CAMERA_CUT function InterpolateCameraPos(amx, player, FromX, FromY, FromZ, ToX, ToY, ToZ, time, cut) clientCall(player, 'InterpolateCameraPos', FromX, FromY, FromZ, ToX, ToY, ToZ, time, cut) + return true end function InterpolateCameraLookAt(amx, player, FromX, FromY, FromZ, ToX, ToY, ToZ, time, cut) clientCall(player, 'InterpolateCameraLookAt', FromX, FromY, FromZ, ToX, ToY, ToZ, time, cut) + return true end function IsPlayerAdmin(amx, player) @@ -854,7 +950,7 @@ function IsPlayerInVehicle(amx, player, vehicle) end function SetPlayerVirtualWorld(amx, player, dimension) - setElementDimension(player, dimension) + return setElementDimension(player, dimension) end function EnableStuntBonusForAll(amx, enable) @@ -874,31 +970,31 @@ function TogglePlayerSpectating(amx, player, enable) else local playerdata = g_Players[getElemID(player)] local spawninfo = playerdata.spawninfo or (g_PlayerClasses and g_PlayerClasses[playerdata.selectedclass]) - if not spawninfo then + if not spawninfo or playerdata.returntoclasssel then + playerdata.returntoclasssel = nil putPlayerInClassSelection(player) - return - end - if isPedDead(player) then - spawnPlayerBySelectedClass(player) + return true end + spawnPlayerBySelectedClass(player) --In samp calling TogglePlayerSpectating also unsets camera interpolation clientCall(player, 'removeCamHandlers') setCameraTarget(player, player) clientCall(player, 'setCameraTarget', player) --Clear the one on the client as well, otherwise we can't go back to normal camera after spectating vehicles setPlayerHudComponentVisible(player, 'radar', true) - setPlayerState(player, PLAYER_STATE_ONFOOT) end + return true end function PlayerSpectatePlayer(amx, player, playerToSpectate, mode) - setCameraTarget(player, playerToSpectate) + return setCameraTarget(player, playerToSpectate) end function PlayerSpectateVehicle(amx, player, vehicleToSpectate, mode) if getVehicleController(vehicleToSpectate) then - setCameraTarget(player, getVehicleController(vehicleToSpectate)) + return setCameraTarget(player, getVehicleController(vehicleToSpectate)) else clientCall(player, 'setCameraTarget', vehicleToSpectate) + return true end end @@ -925,5 +1021,5 @@ end -- Explosion function CreateExplosionForPlayer(amx, player, x, y, z, type, radius) clientCall(player, 'createExplosion', x, y, z, type, true, -1.0, false) - return 1 + return true end \ No newline at end of file diff --git a/amx/server/natives/a_samp.lua b/amx/server/natives/a_samp.lua index 2c188ed..abc48a7 100644 --- a/amx/server/natives/a_samp.lua +++ b/amx/server/natives/a_samp.lua @@ -44,12 +44,12 @@ function SendClientMessage(amx, player, r, g, b, a, message) end --replace colors - outputChatBox(colorizeString(message), player, r, g, b, true) + return outputChatBox(colorizeString(message), player, r, g, b, true) end function SendClientMessageToAll(amx, r, g, b, a, message) if (amx.proc == 'OnPlayerConnect' and message:match('joined')) or (amx.proc == 'OnPlayerDisconnect' and message:match('left')) then - return + return false end --replace colors @@ -58,14 +58,15 @@ function SendClientMessageToAll(amx, r, g, b, a, message) for i,data in pairs(g_Players) do SendClientMessage(amx, data.elem, r, g, b, a, message) end + return true end function SendPlayerMessageToAll(amx, sender, message) - outputChatBox(getPlayerName(sender) .. ' ' .. message, root, 255, 255, 255, true) + return outputChatBox(getPlayerName(sender) .. ' ' .. message, root, 255, 255, 255, true) end function SendPlayerMessageToPlayer(amx, playerTo, playerFrom, message) - outputChatBox(getPlayerName(playerFrom) .. ' ' .. message, playerTo, 255, 255, 255, true) + return outputChatBox(getPlayerName(playerFrom) .. ' ' .. message, playerTo, 255, 255, 255, true) end function SendDeathMessage(amx, killer, victim, reason) @@ -80,6 +81,7 @@ function GameTextForAll(amx, str, time, style) for i,player in pairs(g_Players) do GameTextForPlayer(amx, player.elem, str, time, style) end + return true end function GameTextForPlayer(amx, player, str, time, style) @@ -88,6 +90,7 @@ function GameTextForPlayer(amx, player, str, time, style) str = str:gsub('/' .. samp, '/' .. mta) end clientCall(player, 'GameTextForPlayer', str, time, style) + return true end function SetTimerEx(amx, fnName, interval, repeating, fmt, ...) @@ -261,7 +264,7 @@ end function SetGameModeText(amx, gamemodeName) - setGameType(gamemodeName) + return setGameType(gamemodeName) end function SetTeamCount(amx, count) @@ -295,7 +298,7 @@ end function AddStaticVehicleEx(amx, model, x, y, z, angle, color1, color2, respawnDelay) local vehicle = createVehicle(model, x, y, z, 0, 0, angle) if(vehicle == false) then - return false + return INVALID_VEHICLE_ID end if not g_PoliceVehicles[model] then @@ -362,10 +365,12 @@ CreatePickup = AddStaticPickup function DestroyPickup(amx, pickup) removeElem(g_Pickups, pickup) destroyElement(pickup) + return true end function ShowNameTags(amx, show) table.each(g_Players, 'elem', setPlayerNametagShowing, show) + return true end function ShowPlayerMarkers(amx, show) @@ -373,6 +378,7 @@ function ShowPlayerMarkers(amx, show) for i,data in pairs(g_Players) do ShowPlayerMarker(amx, data.elem, show) end + return true end function GameModeExit(amx) @@ -381,10 +387,11 @@ function GameModeExit(amx) else exports.votemanager:voteMap(getThisResource()) end + return true end function SetWorldTime(amx, hours) - setTime(hours, 0) + return setTime(hours, 0) end @@ -406,7 +413,7 @@ end function EnableVehicleFriendlyFire(amx) notImplemented('EnableVehicleFriendlyFire') - return 1; + return true end function AllowInteriorWeapons(amx, allow) @@ -414,13 +421,14 @@ function AllowInteriorWeapons(amx, allow) end function SetWeather(amx, weatherID) - setWeather(weatherID % 256) + return setWeather(weatherID % 256) end function SetGravity(amx, gravity) setGravity(gravity) table.each(g_Players, 'elem', setPedGravity, gravity) + return true end function AllowAdminTeleport(amx, allow) @@ -432,7 +440,7 @@ function SetDeathDropAmount(amx, amount) end function CreateExplosion(amx, x, y, z, type, radius) - createExplosion(x, y, z, type) + return createExplosion(x, y, z, type) end function ShowPlayerMarker(amx, player, show) @@ -486,23 +494,34 @@ end function Kick(amx, player) kickPlayer(player) + return true end function Ban(amx, player) banPlayer(player) + return true end function BanEx(amx, player, reason) banPlayer(player, nil, reason) + return true end function SendRconCommand(amx, command) print(doRCON(command)) + return true end ---Call requestSpawn instead so we clear up any binds (since there's a workaround in SA-MP to skip the spawn selection screen, and I use this workaround) function SpawnPlayer(amx, player) - requestSpawn(player, false, false) + local playerdata = g_Players[getElemID(player)] + if playerdata.doingclasssel then + --Call requestSpawn instead so we clear up any binds + --since there's a workaround in SA-MP to skip the spawn selection screen + requestSpawn(player, false, false) + else + spawnPlayerBySelectedClass(player) + end + return true end -- GetPlayerNetworkStats @@ -558,26 +577,31 @@ function DestroyMenu(amx, menu) end clientCall(root, 'DestroyMenu', menu.id) g_Menus[menu.id] = nil + return true end function AddMenuItem(amx, menu, column, caption) table.insert(menu.items[column], caption) clientCall(root, 'AddMenuItem', menu.id, column, caption) + return true end function SetMenuColumnHeader(amx, menu, column, text) menu.items[column][13] = text clientCall(root, 'SetMenuColumnHeader', menu.id, column, text) + return true end function ShowMenuForPlayer(amx, menu, player) clientCall(player, 'ShowMenuForPlayer', menu.id) g_Players[getElemID(player)].menu = menu + return true end function HideMenuForPlayer(amx, menu, player) clientCall(player, 'HideMenuForPlayer', menu.id) g_Players[getElemID(player)].menu = nil + return true end function IsValidMenu(amx, menuID) @@ -587,7 +611,7 @@ end function DisableMenu(amx, menuID) local menu = g_Menus[menuID] if not menu then - return + return false end menu.disabled = true for id,player in pairs(g_Players) do @@ -595,14 +619,16 @@ function DisableMenu(amx, menuID) clientCall(player.elem, 'HideMenuForPlayer', menuID) end end + return true end function DisableMenuRow(amx, menuID, rowID) local menu = g_Menus[menuID] if not menu then - return + return false end clientCall(root, 'DisableMenuRow', menuID, rowID) + return true end function GetPlayerMenu(amx, player) @@ -665,54 +691,65 @@ end function TextDrawUseBox(amx, textdraw, usebox) textdraw.usebox = usebox + return true end --End of player textdraws function TextDrawDestroy(amx, textdrawID) if not g_TextDraws[textdrawID] then - return + return false end clientCall(root, 'TextDrawDestroy', g_TextDraws[textdrawID].clientTDId) g_TextDraws[textdrawID] = nil + return true end function TextDrawLetterSize(amx, textdraw, width, height) textdraw.lwidth = width textdraw.lheight = height + return true end function TextDrawTextSize(amx, textdraw, x, y) textdraw.boxsize = { x, y } --Game does 448 not 480 + return true end function TextDrawAlignment(amx, textdraw, align) textdraw.align = (align == 0 and 1 or align) + return true end function TextDrawColor(amx, textdraw, r, g, b, a) textdraw.color = { r, g, b } + return true end function TextDrawBoxColor(amx, textdraw, r, g, b, a) textdraw.boxcolor = { r, g, b, a } + return true end function TextDrawSetShadow(amx, textdraw, size) textdraw.shade = size + return true end function TextDrawSetOutline(amx, textdraw, size) textdraw.outlinesize = size + return true end function TextDrawBackgroundColor(amx, textdraw, r, g, b, a) textdraw.outlinecolor = { r, g, b, a } + return true end function TextDrawFont(amx, textdraw, font) textdraw.font = font + return true end function TextDrawSetProportional(amx, textdraw, proportional) @@ -726,23 +763,26 @@ end function TextDrawShowForPlayer(amx, player, textdrawID) local textdraw = g_TextDraws[textdrawID] if not textdraw then - return + return false end clientCall(player, 'TextDrawShowForPlayer', textdraw.clientTDId) + return true end function TextDrawHideForPlayer(amx, player, textdrawID) local textdraw = g_TextDraws[textdrawID] if not textdraw then - return + return false end clientCall(player, 'TextDrawHideForPlayer', textdraw.clientTDId) + return true end function TextDrawShowForAll(amx, textdrawID) for id,player in pairs(g_Players) do TextDrawShowForPlayer(amx, player.elem, textdrawID) end + return true end @@ -750,10 +790,12 @@ function TextDrawHideForAll(amx, textdrawID) for id,player in pairs(g_Players) do TextDrawHideForPlayer(amx, player.elem, textdrawID) end + return true end function TextDrawSetString(amx, textdraw, str) textdraw.text = str + return true end function TextDrawSetPreviewModel(amx) @@ -774,6 +816,7 @@ end function GangZoneDestroy(amx, zone) removeElem(g_GangZones, zone) destroyElement(zone) + return true end function GangZoneShowForPlayer(amx, player, zone, r, g, b, a) @@ -783,6 +826,7 @@ function GangZoneShowForPlayer(amx, player, zone, r, g, b, a) if a < 1 then a = 1 end setRadarAreaColor(zone, r, g, b, a) setElementVisibleTo(zone, player, true) + return true end function GangZoneShowForAll(amx, zone, r, g, b, a) @@ -792,30 +836,33 @@ function GangZoneShowForAll(amx, zone, r, g, b, a) if a < 1 then a = 1 end setRadarAreaColor(zone, r, g, b, a) setElementVisibleTo(zone, root, true) + return true end function GangZoneHideForPlayer(amx, player, zone) - setElementVisibleTo(zone, player, false) + return setElementVisibleTo(zone, player, false) end function GangZoneHideForAll(amx, zone) - setElementVisibleTo(zone, root, false) + return setElementVisibleTo(zone, root, false) end function GangZoneFlashForPlayer(amx, player, zone, r, g, b, a) clientCall(player, 'setRadarAreaFlashing', zone, true) + return true end function GangZoneFlashForAll(amx, zone, r, g, b, a) - setRadarAreaFlashing(zone, true) + return setRadarAreaFlashing(zone, true) end function GangZoneStopFlashForPlayer(amx, player, zone) clientCall(player, 'setRadarAreaFlashing', zone, false) + return true end function GangZoneStopFlashForAll(amx, zone) - setRadarAreaFlashing(zone, false) + return setRadarAreaFlashing(zone, false) end function Create3DTextLabel(amx, text, r, g, b, a, x, y, z, dist, vw, los) @@ -945,6 +992,7 @@ function gpci(amx, player, nameBuf, bufSize) local serial = getPlayerSerial(player) if #serial <= bufSize then writeMemString(amx, nameBuf, serial) + return string.len(serial) end end @@ -953,6 +1001,7 @@ function SetSpawnInfo(amx, player, team, skin, x, y, z, angle, weap1, weap1_ammo x, y, z, angle, skinReplace[skin] or skin, 0, 0, team, weapons={ {weap1, weap1_ammo}, {weap2, weap2_ammo}, {weap3, weap3_ammo} } } + return true end function NetStats_BytesReceived(amx, player) @@ -978,7 +1027,7 @@ function NetStats_GetIpPort(amx, player, ip_port, ip_port_len) local port = 0 -- We haven't a solution for getting a client port local ipandport = tostring(ip).. ":".. tostring(port) writeMemString(amx, ip_port, ipandport) - return string.len(tostring(ip).. ":".. tostring(port)); + return string.len(ipandport); end function NetStats_MessagesReceived(amx, player) diff --git a/amx/server/natives/a_vehicles.lua b/amx/server/natives/a_vehicles.lua index 7282acf..c21220d 100644 --- a/amx/server/natives/a_vehicles.lua +++ b/amx/server/natives/a_vehicles.lua @@ -1,13 +1,16 @@ CreateVehicle = AddStaticVehicleEx function DestroyVehicle(amx, vehicle) - local vehicleID = getElemID(vehicle) - clientCall(root, 'DestroyVehicle', vehicleID) - for i,playerdata in pairs(g_Players) do - playerdata.streamedVehicles[vehicleID] = nil + if vehicle then + local vehicleID = getElemID(vehicle) + clientCall(root, 'DestroyVehicle', vehicleID) + for i,playerdata in pairs(g_Players) do + playerdata.streamedVehicles[vehicleID] = nil + end + removeElem(g_Vehicles, vehicle) + destroyElement(vehicle) end - removeElem(g_Vehicles, vehicle) - destroyElement(vehicle) + return true end function IsVehicleStreamedIn(amx, vehicle, player) @@ -16,22 +19,36 @@ end GetVehiclePos = GetObjectPos -SetVehiclePos = SetObjectPos +function SetVehiclePos(amx, vehicle, x, y, z) + setElementFrozen(vehicle, true) + + setElementPosition(vehicle, x, y, z) + setElementAngularVelocity(vehicle, 0, 0, 0) + setElementVelocity(vehicle, 0, 0, 0) + + setTimer(setElementFrozen, 500, 1, vehicle, false) + return true +end function GetVehicleZAngle(amx, vehicle, refZ) + if not vehicle then + return false + end local rX, rY, rZ = getVehicleRotation(vehicle) writeMemFloat(amx, refZ, rZ) + return true end GetVehicleDistanceFromPoint = GetPlayerDistanceFromPoint function SetVehicleZAngle(amx, vehicle, rZ) local rX, rY = getVehicleRotation(vehicle) - setVehicleRotation(vehicle, 0, 0, rZ) + return setVehicleRotation(vehicle, 0, 0, rZ) end function SetVehicleParamsForPlayer(amx, vehicle, player, isObjective, doorsLocked) clientCall(player, 'SetVehicleParamsForPlayer', vehicle, isObjective, doorsLocked) + return true end @@ -101,6 +118,7 @@ function SetVehicleParamsCarDoors(amx, vehicle, driver, passenger, backleft, bac setVehicleDoorOpenRatio(vehicle, 3, passenger and 1 or 0) -- bonnet setVehicleDoorOpenRatio(vehicle, 4, backleft and 1 or 0) -- bonnet setVehicleDoorOpenRatio(vehicle, 5, backright and 1 or 0) -- bonnet + return true end function GetVehicleParamsCarWindows(amx, vehicle, int1, int2, int3, int4) @@ -108,58 +126,53 @@ function GetVehicleParamsCarWindows(amx, vehicle, int1, int2, int3, int4) end function SetVehicleToRespawn(amx, vehicle) - for seat=0,getVehicleMaxPassengers(vehicle) do - local player = getVehicleOccupant(vehicle, seat) - if player then - removePedFromVehicle(player) - end - end - respawnStaticVehicle(vehicle) + return respawnStaticVehicle(vehicle) end function LinkVehicleToInterior(amx, vehicle, interior) - setElementInterior(vehicle, interior) + return setElementInterior(vehicle, interior) end function AddVehicleComponent(amx, vehicle, upgradeID) - addVehicleUpgrade(vehicle, upgradeID) + return addVehicleUpgrade(vehicle, upgradeID) end function RemoveVehicleComponent(amx, vehicle, upgradeID) - removeVehicleUpgrade(vehicle, upgrade) + return removeVehicleUpgrade(vehicle, upgradeID) end function ChangeVehicleColor(amx, vehicle, color1, color2) - setVehicleColorClamped(vehicle, color1, color2) + return setVehicleColorClamped(vehicle, color1, color2) end function setVehicleColorClamped(vehicle, color1, color2) - --This is to prevent negative color behavior, keep the original color if they sent -1 (I believe this is what samp does) - if color1 ~= -1 and color2 ~= -1 then - color1 = clamp(color1, 0, 126) - color2 = clamp(color2, 0, 126) - setVehicleColor(vehicle, color1, color2, 0, 0) - end + color1 = clamp(color1, 0, 126) + color2 = clamp(color2, 0, 126) + return setVehicleColor(vehicle, color1, color2, 0, 0) end function ChangeVehiclePaintjob(amx, vehicle, paintjob) - setVehiclePaintjob(vehicle, paintjob) + return setVehiclePaintjob(vehicle, paintjob) end function SetVehicleHealth(amx, vehicle, health) - setElementHealth(vehicle, health) + return setElementHealth(vehicle, health) end function GetVehicleHealth(amx, vehicle, refHealth) + if not vehicle then + return false + end writeMemFloat(amx, refHealth, getElementHealth(vehicle)) + return true end function AttachTrailerToVehicle(amx, trailer, vehicle) - attachTrailerToVehicle(vehicle, trailer) + return attachTrailerToVehicle(vehicle, trailer) end function DetachTrailerFromVehicle(amx, puller) - detachTrailerFromVehicle(puller) + return detachTrailerFromVehicle(puller) end function IsTrailerAttachedToVehicle(amx, vehicle) @@ -175,7 +188,7 @@ function GetVehicleTrailer(amx, vehicle) end function SetVehicleNumberPlate(amx, vehicle, plate) - setVehiclePlateText(vehicle, plate) + return setVehiclePlateText(vehicle, plate) end function GetVehicleModelInfo(amx) @@ -231,18 +244,22 @@ function GetVehicleComponentType(amx, componentid) end function RepairVehicle(amx, vehicle) - fixVehicle(vehicle) + return fixVehicle(vehicle) end function GetVehicleVelocity(amx, vehicle, refVX, refVY, refVZ) + if not vehicle then + return false + end local vx, vy, vz = getElementVelocity(vehicle) writeMemFloat(amx, refVX, vx) writeMemFloat(amx, refVY, vy) writeMemFloat(amx, refVZ, vz) + return true end function SetVehicleVelocity(amx, vehicle, vx, vy, vz) - setElementVelocity(vehicle, vx, vy, vz) + return setElementVelocity(vehicle, vx, vy, vz) --setElementAngularVelocity(vehicle, vx, vy, vz) --This isn't needed, it makes the car spin and I believe samp doesn't do this end @@ -273,6 +290,8 @@ function GetVehicleDamageStatus(amx, vehicle, refPanels, refDoors, refLights, re amx.memDAT[refDoors] = doorsState amx.memDAT[refLights] = lightsState amx.memDAT[refTires] = tiresState + + return true end function UpdateVehicleDamageStatus(amx, vehicle, panels, doors, lights, tires) @@ -295,10 +314,12 @@ function UpdateVehicleDamageStatus(amx, vehicle, panels, doors, lights, tires) setVehicleLightState(vehicle, 4, binand(binshr(lights, 6), 1)) setVehicleWheelStates(vehicle, binand(binshr(tires, 3), 1), binand(binshr(tires, 2), 1), binand(binshr(tires, 1), 1), binand(tires, 1) ) + + return true end function SetVehicleVirtualWorld(amx, vehicle, dimension) - setElementDimension(vehicle, dimension) + return setElementDimension(vehicle, dimension) end function GetVehicleVirtualWorld(amx, vehicle) diff --git a/amx/server/syscalls.lua b/amx/server/syscalls.lua index 96b52b8..950c5cd 100644 --- a/amx/server/syscalls.lua +++ b/amx/server/syscalls.lua @@ -386,7 +386,7 @@ g_SAMPSyscallPrototypes = { SetPlayerObjectPos = {'p', 'i', 'f', 'f', 'f'}, SetPlayerObjectRot = {'p', 'i', 'f', 'f', 'f'}, SetPlayerPos = {'p', 'f', 'f', 'f'}, - SetPlayerPosFindZ = {'p', 'f', 'f', 'f', client=true}, + SetPlayerPosFindZ = {'p', 'f', 'f', 'f'}, SetPlayerRaceCheckpoint = {'p', 'i', 'f', 'f', 'f', 'f', 'f', 'f', 'f'}, SetPlayerScore = {'p', 'i'}, SetPlayerSkin = {'p', 'i'}, diff --git a/amx/server/util.lua b/amx/server/util.lua index 5607949..1320c10 100644 --- a/amx/server/util.lua +++ b/amx/server/util.lua @@ -407,23 +407,23 @@ function setElemID(elem, id) end function getPlayerState(player) - return g_Players[getElemID(player)] and g_Players[getElemID(player)].state or PLAYER_STATE_ONFOOT + return g_Players[getElemID(player)] and g_Players[getElemID(player)].state or PLAYER_STATE_NONE end function getBotState(bot) - return g_Bots[getElemID(bot)] and g_Bots[getElemID(bot)].state or PLAYER_STATE_ONFOOT + return g_Bots[getElemID(bot)] and g_Bots[getElemID(bot)].state or PLAYER_STATE_NONE end function setPlayerState(player, state) local playerID = getElemID(player) - local oldState = g_Players[playerID].state or PLAYER_STATE_ONFOOT + local oldState = g_Players[playerID].state or PLAYER_STATE_NONE g_Players[playerID].state = state procCallOnAll('OnPlayerStateChange', playerID, state, oldState) end function setBotState(bot, state) local botID = getElemID(bot) - local oldState = g_Bots[botID].state or PLAYER_STATE_ONFOOT + local oldState = g_Bots[botID].state or PLAYER_STATE_NONE g_Bots[botID].state = state procCallOnAll('OnBotStateChange', botID, state, oldState) end @@ -898,7 +898,7 @@ end --[[ function cell2float(cell) - if cell == 0 then + if not cell or cell == 0 then return 0 end @@ -909,7 +909,7 @@ function cell2float(cell) end function float2cell(float) - if float == 0 then + if not float or float == 0 then return 0 end local ldexp = math.ldexp