INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
//----------------------------------------------------------
//
// GRAND LARCENY 1.0
// A freeroam gamemode for SA-MP 0.3
//
//----------------------------------------------------------
#include <irc>
#include <a_samp>
#include <core>
#include <ircfs>
#include <float>
#include <YSI\y_ini>
#include <streamer>
#include <DynamicRadioStations>
#include "../include/gl_common.inc"
#include "../include/gl_spawns.inc"
#pragma tabsize 0
//----------------------------------------------------------
#define COLOR_WHITE 0xFFFFFFFF
#define COLOR_NORMAL_PLAYER 0xFFBB7777
#define CITY_LOS_SANTOS 0
#define CITY_SAN_FIERRO 1
#define CITY_LAS_VENTURAS 2
#define Skinid 1
#define Money 2
#define Faction 3
#define irc
#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)
#define AdminLevel 5
#define Level 6
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define DIALOG_SUCCESS_1 3
#define DIALOG_SUCCESS_2 4
#define PATH "/Users/%s.ini"
#define COL_WHITE "{FFFFFF}"
#define COL_RED "{F81414}"
#define COL_GREEN "{00FF22}"
new total_vehicles_from_files=0;
// Class selection globals
new gPlayerCitySelection[MAX_PLAYERS];
new gPlayerHasCitySelected[MAX_PLAYERS];
new gPlayerLastCitySelectionTick[MAX_PLAYERS];
new Text:txtClassSelHelper;
new Text:txtLosSantos;
new Text:txtSanFierro;
new Text:txtLasVenturas;
new thisanimid=0;
new lastanimid=0;
enum pInfo
{
pPass,
pCash,
pAdmin,
pKills,
pDeaths
}
new PlayerInfo[MAX_PLAYERS][pInfo];
forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
INI_Int("Password",PlayerInfo[playerid][pPass]);
INI_Int("Cash",PlayerInfo[playerid][pCash]);
INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
INI_Int("Kills",PlayerInfo[playerid][pKills]);
INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
return 1;
}
stock UserPath(playerid)
{
new string[128],playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),PATH,playername);
return string;
}
/*Credits to Dracoblue*/
stock udb_hash(buf[]) {
new length=strlen(buf);
new s1 = 1;
new s2 = 0;
new n;
for (n=0; n<length; n++)
{
s1 = (s1 + buf[n]) % 65521;
s2 = (s2 + s1) % 65521;
}
return (s2 << 16) + s1;
}
//----------------------------------------------------------
main()
{
print("\n---------------------------------------");
print("Running Julius95's server\n");
print("---------------------------------------\n");
}
//----------------------------------------------------------
public OnPlayerConnect(playerid)
{
if(fexist(UserPath(playerid)))
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_WHITE"Type your password below to login.","Login","Quit");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_WHITE"Registering...",""COL_WHITE"Type your password below to register a new account.","Register","Quit");
}
GameTextForPlayer(playerid,"~w~Julius95's Free Mode",3000,4);
SendClientMessage(playerid,COLOR_WHITE,"Welcome to {88AA88}J{FFFFFF}ulius's {88AA88}ser{FFFFFF}ver");
// class selection init vars
gPlayerCitySelection[playerid] = -1;
gPlayerHasCitySelected[playerid] = 0;
gPlayerLastCitySelectionTick[playerid] = GetTickCount();
//SetPlayerColor(playerid,COLOR_NORMAL_PLAYER);
/*
Removes vending machines
RemoveBuildingForPlayer(playerid, 1302, 0.0, 0.0, 0.0, 6000.0);
RemoveBuildingForPlayer(playerid, 1209, 0.0, 0.0, 0.0, 6000.0);
RemoveBuildingForPlayer(playerid, 955, 0.0, 0.0, 0.0, 6000.0);
RemoveBuildingForPlayer(playerid, 1775, 0.0, 0.0, 0.0, 6000.0);
RemoveBuildingForPlayer(playerid, 1776, 0.0, 0.0, 0.0, 6000.0);
*/
/*
new ClientVersion[32];
GetPlayerVersion(playerid, ClientVersion, 32);
printf("Player %d reports client version: %s", playerid, ClientVersion);*/
return 1;
}
//----------------------------------------------------------
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case DIALOG_REGISTER:
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_WriteInt(File,"Cash",0);
INI_WriteInt(File,"Admin",0);
INI_WriteInt(File,"Kills",0);
INI_WriteInt(File,"Deaths",0);
INI_Close(File);
SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");
}
}
case DIALOG_LOGIN:
{
if ( !response ) return Kick ( playerid );
if( response )
{
if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"You have successfully logged in!","Ok","");
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Quit");
}
return 1;
}
}
}
return 1;
}
//----------------------------------------------------------
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid)) return 1;
new randSpawn = 0;
SetPlayerInterior(playerid,0);
TogglePlayerClock(playerid,0);
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, 30000);
if(CITY_LOS_SANTOS == gPlayerCitySelection[playerid]) {
randSpawn = random(sizeof(gRandomSpawns_LosSantos));
SetPlayerPos(playerid,
gRandomSpawns_LosSantos[randSpawn][0],
gRandomSpawns_LosSantos[randSpawn][1],
gRandomSpawns_LosSantos[randSpawn][2]);
SetPlayerFacingAngle(playerid,gRandomSpawns_LosSantos[randSpawn][3]);
}
else if(CITY_SAN_FIERRO == gPlayerCitySelection[playerid]) {
randSpawn = random(sizeof(gRandomSpawns_SanFierro));
SetPlayerPos(playerid,
gRandomSpawns_SanFierro[randSpawn][0],
gRandomSpawns_SanFierro[randSpawn][1],
gRandomSpawns_SanFierro[randSpawn][2]);
SetPlayerFacingAngle(playerid,gRandomSpawns_SanFierro[randSpawn][3]);
}
else if(CITY_LAS_VENTURAS == gPlayerCitySelection[playerid]) {
randSpawn = random(sizeof(gRandomSpawns_LasVenturas));
SetPlayerPos(playerid,
gRandomSpawns_LasVenturas[randSpawn][0],
gRandomSpawns_LasVenturas[randSpawn][1],
gRandomSpawns_LasVenturas[randSpawn][2]);
SetPlayerFacingAngle(playerid,gRandomSpawns_LasVenturas[randSpawn][3]);
}
//SetPlayerColor(playerid,COLOR_NORMAL_PLAYER);
SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,200);
SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL_SILENCED,200);
SetPlayerSkillLevel(playerid,WEAPONSKILL_DESERT_EAGLE,200);
SetPlayerSkillLevel(playerid,WEAPONSKILL_SHOTGUN,200);
SetPlayerSkillLevel(playerid,WEAPONSKILL_SAWNOFF_SHOTGUN,200);
SetPlayerSkillLevel(playerid,WEAPONSKILL_SPAS12_SHOTGUN,200);
SetPlayerSkillLevel(playerid,WEAPONSKILL_MICRO_UZI,200);
SetPlayerSkillLevel(playerid,WEAPONSKILL_MP5,200);
SetPlayerSkillLevel(playerid,WEAPONSKILL_AK47,200);
SetPlayerSkillLevel(playerid,WEAPONSKILL_M4,200);
SetPlayerSkillLevel(playerid,WEAPONSKILL_SNIPERRIFLE,200);
GivePlayerWeapon(playerid,WEAPON_COLT45,100);
//GivePlayerWeapon(playerid,WEAPON_MP5,100);
TogglePlayerClock(playerid, 0);
return 1;
}
//----------------------------------------------------------
public OnPlayerDeath(playerid, killerid, reason)
{
new playercash;
// if they ever return to class selection make them city
// select again first
gPlayerHasCitySelected[playerid] = 0;
{
PlayerInfo[killerid][pKills]++;
PlayerInfo[playerid][pDeaths]++;
return 1;
}
if(killerid == INVALID_PLAYER_ID) {
ResetPlayerMoney(playerid);
} else {
playercash = GetPlayerMoney(playerid);
if(playercash > 0) {
GivePlayerMoney(killerid, playercash);
ResetPlayerMoney(playerid);
}
}
return 1;
}
//----------------------------------------------------------
ClassSel_SetupCharSelection(playerid)
{
if(gPlayerCitySelection[playerid] == CITY_LOS_SANTOS) {
SetPlayerInterior(playerid,11);
SetPlayerPos(playerid,508.7362,-87.4335,998.9609);
SetPlayerFacingAngle(playerid,0.0);
SetPlayerCameraPos(playerid,508.7362,-83.4335,998.9609);
SetPlayerCameraLookAt(playerid,508.7362,-87.4335,998.9609);
}
else if(gPlayerCitySelection[playerid] == CITY_SAN_FIERRO) {
SetPlayerInterior(playerid,3);
SetPlayerPos(playerid,-2673.8381,1399.7424,918.3516);
SetPlayerFacingAngle(playerid,181.0);
SetPlayerCameraPos(playerid,-2673.2776,1394.3859,918.3516);
SetPlayerCameraLookAt(playerid,-2673.8381,1399.7424,918.3516);
}
else if(gPlayerCitySelection[playerid] == CITY_LAS_VENTURAS) {
SetPlayerInterior(playerid,3);
SetPlayerPos(playerid,349.0453,193.2271,1014.1797);
SetPlayerFacingAngle(playerid,286.25);
SetPlayerCameraPos(playerid,352.9164,194.5702,1014.1875);
SetPlayerCameraLookAt(playerid,349.0453,193.2271,1014.1797);
}
}
//----------------------------------------------------------
// Used to init textdraws of city names
ClassSel_InitCityNameText(Text:txtInit)
{
TextDrawUseBox(txtInit, 0);
TextDrawLetterSize(txtInit,1.25,3.0);
TextDrawFont(txtInit, 0);
TextDrawSetShadow(txtInit,0);
TextDrawSetOutline(txtInit,1);
TextDrawColor(txtInit,0xEEEEEEFF);
TextDrawBackgroundColor(txtClassSelHelper,0x000000FF);
}
//----------------------------------------------------------
ClassSel_InitTextDraws()
{
// Init our observer helper text display
txtLosSantos = TextDrawCreate(10.0, 380.0, "Los Santos");
ClassSel_InitCityNameText(txtLosSantos);
txtSanFierro = TextDrawCreate(10.0, 380.0, "San Fierro");
ClassSel_InitCityNameText(txtSanFierro);
txtLasVenturas = TextDrawCreate(10.0, 380.0, "Las Venturas");
ClassSel_InitCityNameText(txtLasVenturas);
// Init our observer helper text display
txtClassSelHelper = TextDrawCreate(10.0, 415.0,
" Press ~b~~k~~GO_LEFT~ ~w~or ~b~~k~~GO_RIGHT~ ~w~to switch cities.~n~ Press ~r~~k~~PED_FIREWEAPON~ ~w~to select.");
TextDrawUseBox(txtClassSelHelper, 1);
TextDrawBoxColor(txtClassSelHelper,0x222222BB);
TextDrawLetterSize(txtClassSelHelper,0.3,1.0);
TextDrawTextSize(txtClassSelHelper,400.0,40.0);
TextDrawFont(txtClassSelHelper, 2);
TextDrawSetShadow(txtClassSelHelper,0);
TextDrawSetOutline(txtClassSelHelper,1);
TextDrawBackgroundColor(txtClassSelHelper,0x000000FF);
TextDrawColor(txtClassSelHelper,0xFFFFFFFF);
}
//----------------------------------------------------------
ClassSel_SetupSelectedCity(playerid)
{
if(gPlayerCitySelection[playerid] == -1) {
gPlayerCitySelection[playerid] = CITY_LOS_SANTOS;
}
if(gPlayerCitySelection[playerid] == CITY_LOS_SANTOS) {
SetPlayerInterior(playerid,0);
SetPlayerCameraPos(playerid,1630.6136,-2286.0298,110.0);
SetPlayerCameraLookAt(playerid,1887.6034,-1682.1442,47.6167);
TextDrawShowForPlayer(playerid,txtLosSantos);
TextDrawHideForPlayer(playerid,txtSanFierro);
TextDrawHideForPlayer(playerid,txtLasVenturas);
}
else if(gPlayerCitySelection[playerid] == CITY_SAN_FIERRO) {
SetPlayerInterior(playerid,0);
SetPlayerCameraPos(playerid,-1300.8754,68.0546,129.4823);
SetPlayerCameraLookAt(playerid,-1817.9412,769.3878,132.6589);
TextDrawHideForPlayer(playerid,txtLosSantos);
TextDrawShowForPlayer(playerid,txtSanFierro);
TextDrawHideForPlayer(playerid,txtLasVenturas);
}
else if(gPlayerCitySelection[playerid] == CITY_LAS_VENTURAS) {
SetPlayerInterior(playerid,0);
SetPlayerCameraPos(playerid,1310.6155,1675.9182,110.7390);
SetPlayerCameraLookAt(playerid,2285.2944,1919.3756,68.2275);
TextDrawHideForPlayer(playerid,txtLosSantos);
TextDrawHideForPlayer(playerid,txtSanFierro);
TextDrawShowForPlayer(playerid,txtLasVenturas);
}
}
//----------------------------------------------------------
ClassSel_SwitchToNextCity(playerid)
{
gPlayerCitySelection[playerid]++;
if(gPlayerCitySelection[playerid] > CITY_LAS_VENTURAS) {
gPlayerCitySelection[playerid] = CITY_LOS_SANTOS;
}
PlayerPlaySound(playerid,1052,0.0,0.0,0.0);
gPlayerLastCitySelectionTick[playerid] = GetTickCount();
ClassSel_SetupSelectedCity(playerid);
}
//----------------------------------------------------------
ClassSel_SwitchToPreviousCity(playerid)
{
gPlayerCitySelection[playerid]--;
if(gPlayerCitySelection[playerid] < CITY_LOS_SANTOS) {
gPlayerCitySelection[playerid] = CITY_LAS_VENTURAS;
}
PlayerPlaySound(playerid,1053,0.0,0.0,0.0);
gPlayerLastCitySelectionTick[playerid] = GetTickCount();
ClassSel_SetupSelectedCity(playerid);
}
//----------------------------------------------------------
ClassSel_HandleCitySelection(playerid)
{
new Keys,ud,lr;
GetPlayerKeys(playerid,Keys,ud,lr);
if(gPlayerCitySelection[playerid] == -1) {
ClassSel_SwitchToNextCity(playerid);
return;
}
// only allow new selection every ~500 ms
if( (GetTickCount() - gPlayerLastCitySelectionTick[playerid]) < 500 ) return;
if(Keys & KEY_FIRE) {
gPlayerHasCitySelected[playerid] = 1;
TextDrawHideForPlayer(playerid,txtClassSelHelper);
TextDrawHideForPlayer(playerid,txtLosSantos);
TextDrawHideForPlayer(playerid,txtSanFierro);
TextDrawHideForPlayer(playerid,txtLasVenturas);
TogglePlayerSpectating(playerid,0);
return;
}
if(lr > 0) {
ClassSel_SwitchToNextCity(playerid);
}
else if(lr < 0) {
ClassSel_SwitchToPreviousCity(playerid);
}
}
//----------------------------------------------------------
public OnPlayerRequestClass(playerid, classid)
{
if(IsPlayerNPC(playerid)) return 1;
if(gPlayerHasCitySelected[playerid]) {
ClassSel_SetupCharSelection(playerid);
return 1;
} else {
if(GetPlayerState(playerid) != PLAYER_STATE_SPECTATING) {
TogglePlayerSpectating(playerid,1);
TextDrawShowForPlayer(playerid, txtClassSelHelper);
gPlayerCitySelection[playerid] = -1;
}
}
return 0;
}
//----------------------------------------------------------
public OnGameModeInit()
{
#define USE_TEXTDRAW_SET 1
AddRadioStation("Radio Julius", "http://78.72.181.195:8000/listen.pls", 1);
AddRadioStation("Vinylgodis", "http://93.182.176.123/listen.pls", 1);
AddRadioStation("Radio Seven", "http://www.radioseven.se/128.pls", 1);
AddRadioStation("Dansbandskanalen", "http://www.guldkanalen.se/static/streamDBK/128MP3.pls", 1);
AddRadioStation("Din Gata", "http://sverigesradio.se/topsy/direkt/2576-hi-mp3.pls", 1);
AddRadioStation("Big R Radio", "http://yp.shoutcast.com/sbin/tunein-station.pls?id=73131", 1);
AddRadioStation("Radio AF", "http://webradio.af.lu.se:8000/listen.pls", 1);
AddRadioStation("Reggae141.com", "http://yp.shoutcast.com/sbin/tunein-station.pls?id=85742", 1);
AddRadioStation("Hit Radio N1", "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1277314", 1);
AddRadioStation("The 1920s Radio Network", "http://64.5.130.43/listen.pls", 1);
AddRadioStation("Radio Off", "", 1);
SetGameModeText("Free Mode, stunts, races etc.");
ShowPlayerMarkers(PLAYER_MARKERS_MODE_GLOBAL);
ShowNameTags(1);
SetNameTagDrawDistance(40.0);
EnableStuntBonusForAll(0);
DisableInteriorEnterExits();
SetWeather(2);
SetWorldTime(11);
//UsePlayerPedAnims();
//ManualVehicleEngineAndLights();
//LimitGlobalChatRadius(300.0);
ClassSel_InitTextDraws();
// Player Class
AddPlayerClass(281,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(282,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(283,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(284,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(285,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(286,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(287,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(288,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(289,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(265,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(266,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(267,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(268,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(269,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(270,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(1,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(2,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(3,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(4,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(5,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(6,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(8,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(42,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(65,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(74,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(86,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(119,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(149,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(208,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(273,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(289,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(47,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(48,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(49,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(50,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(51,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(52,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(53,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(54,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(55,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(56,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(57,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(58,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(68,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(69,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(70,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(71,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(72,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(73,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(75,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(76,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(78,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(79,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(80,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(81,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(82,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(83,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(84,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(85,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(87,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(88,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(89,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(91,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(92,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(93,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(95,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(96,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(97,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(98,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
AddPlayerClass(99,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
//AddVehicles
AddStaticVehicle(600,2461.7532,-1656.6047,13.0208,90.0551,43,8); // car0
AddStaticVehicle(439,-1766.9050,613.7802,28.0963,90.1726,79,78); // car1
AddStaticVehicle(549,-1997.1497,701.7988,45.0459,0.2772,14,14); // car2
AddStaticVehicle(480,-1997.1570,696.1385,45.1418,0.9108,127,8); // car3
AddStaticVehicle(555,-1997.1226,690.4085,45.0497,0.4574,58,1); // car4
AddStaticVehicle(533,-1997.1150,684.5101,45.0449,0.7273,7,1); // car5
AddStaticVehicle(518,-1997.1124,678.0267,44.9521,1.0255,8,0); // car6
AddStaticVehicle(542,-1997.1284,671.6221,44.1768,0.8896,45,92); // car7
AddStaticVehicle(419,-1997.0178,664.9196,42.9615,0.3890,1,76); // car8
AddStaticVehicle(502,-1944.3131,585.5934,35.0131,0.5602,36,88); // car9
AddStaticVehicle(451,-1947.4026,585.6334,34.7825,0.5844,1,36); // car10
AddStaticVehicle(506,-1950.4606,585.7036,34.8199,1.4687,126,52); // car 11
AddStaticVehicle(477,-1938.2062,585.5255,34.8710,359.9006,65,1); // car12
AddStaticVehicle(602,-1953.4102,585.8502,34.8846,359.4462,94,1); // car 13
AddStaticVehicle(496,-1956.5023,585.9746,34.7861,0.1029,2,6); // car14
AddStaticVehicle(402,-1959.3685,585.6564,34.9014,359.6677,86,110); // car15
AddStaticVehicle(541,-1935.3408,585.7760,34.7403,0.0132,126,6); // car16
AddStaticVehicle(415,-1932.3533,585.5296,34.8907,0.0465,119,1); // car17
AddStaticVehicle(587,-1929.2599,586.0511,34.8377,359.7012,0,1); // car18
AddStaticVehicle(504,-1926.2498,585.7791,34.9114,359.2645,45,29); // car19
AddStaticVehicle(598,-1616.6740,651.2231,6.9347,0.8125,0,1); // car20
AddStaticVehicle(601,-1628.8429,651.0104,6.9463,359.6806,1,1); // car21
AddStaticVehicle(427,-1605.2008,651.7350,7.3193,359.6695,0,1); // car22
AddStaticVehicle(596,-1599.6945,651.1352,6.9087,359.4665,0,1); // car23
AddStaticVehicle(514,-1658.1969,449.0964,7.7671,213.6456,25,1); // car24
AddStaticVehicle(432,-1450.3162,458.0264,7.1965,358.0674,43,0); // car25
AddStaticVehicle(596,-1587.6300,651.6120,6.9087,358.3333,0,1); // car26
AddStaticVehicle(596,-1581.8977,651.7803,6.9078,359.2933,0,1); // car27
AddStaticVehicle(598,-1594.4235,673.0942,6.9332,179.1243,0,1); // car28
AddStaticVehicle(598,-1600.0331,673.0317,6.9328,179.5085,0,1); // car29
AddStaticVehicle(490,-1574.2876,714.2642,-5.1145,89.0129,0,0); // car30
AddStaticVehicle(490,-1574.2661,710.3427,-5.1147,89.1375,0,0); // car31
AddStaticVehicle(490,-1574.1755,706.1642,-5.1146,90.7530,0,0); // car32
AddStaticVehicle(596,-1573.6791,722.1187,-5.5211,90.6117,0,1); // car33
AddStaticVehicle(596,-1573.8575,730.6639,-5.5217,89.7573,0,1); // car34
AddStaticVehicle(596,-1573.5385,734.4633,-5.5220,88.8792,0,1); // car35
AddStaticVehicle(596,-1573.4248,739.0908,-5.5221,90.4690,0,1); // car36
AddStaticVehicle(596,-1573.2230,742.5228,-5.5208,89.2028,0,1); // car37
AddStaticVehicle(598,-1600.3463,749.7092,-5.4954,180.3100,0,1); // car38
AddStaticVehicle(598,-1604.2474,749.6938,-5.4956,179.8932,0,1); // car39
AddStaticVehicle(598,-1608.4534,749.6821,-5.4960,180.4397,0,1); // car40
AddStaticVehicle(598,-1612.7340,749.6252,-5.4962,181.2642,0,1); // car41
AddStaticVehicle(598,-1616.6920,749.7081,-5.4970,179.9954,0,1); // car41
AddStaticVehicle(598,-1592.1154,749.6444,-5.4973,179.6934,0,1); // car43
AddStaticVehicle(598,-1587.9971,749.8513,-5.4958,178.9971,0,1); // car44
AddStaticVehicle(598,-1583.9622,749.8259,-5.4954,179.3184,0,1); // car45
AddStaticVehicle(598,-1579.9960,749.7203,-5.4958,179.3284,0,1); // car46
AddStaticVehicle(597,-1622.7053,649.7056,-5.4738,88.5598,0,1); // car47
AddStaticVehicle(596,-1639.5427,674.1429,-5.5225,269.2240,0,1); // car48
AddStaticVehicle(596,-1639.6805,682.0773,-5.5206,270.4482,0,1); // car49
AddStaticVehicle(597,-1639.7576,686.4487,-5.4733,271.0222,0,1); // car50
AddStaticVehicle(597,-1639.8285,669.9292,-5.4740,269.2921,0,1); // car51
AddStaticVehicle(596,-1639.7863,666.1780,-5.5219,269.8799,0,1); // car52
AddStaticVehicle(597,-1639.9882,661.8076,-5.4729,269.4359,0,1); // car53
AddStaticVehicle(596,-1639.7858,657.7263,-5.5219,270.1051,0,1); // car54
AddStaticVehicle(597,-1639.8157,653.7025,-5.4737,268.7205,0,1); // car55
AddStaticVehicle(596,-1639.5710,649.8344,-5.5219,269.4172,0,1); // car56
AddStaticVehicle(598,-1595.6241,694.0532,-5.4961,180.6208,0,1); // car57
AddStaticVehicle(598,-1600.1334,693.9891,-5.4959,179.8698,0,1); // car58
AddStaticVehicle(598,-1604.2416,693.9874,-5.4968,179.3441,0,1); // car59
AddStaticVehicle(598,-1608.5326,694.0151,-5.4969,179.8332,0,1); // car60
AddStaticVehicle(598,-1612.3291,694.0125,-5.4954,180.4067,0,1); // car61
AddStaticVehicle(598,-1616.5938,694.0545,-5.4963,180.0018,0,1); // car62
AddStaticVehicle(598,-1620.7970,694.0438,-5.4966,179.2025,0,1); // car63
AddStaticVehicle(598,-1624.8109,693.9700,-5.4957,177.9268,0,1); // car64
AddStaticVehicle(598,-1628.9708,693.9097,-5.4965,179.0654,0,1); // car65
AddStaticVehicle(598,-1632.7097,693.9340,-5.4964,178.4928,0,1); // car66
AddStaticVehicle(427,-1596.4033,678.2721,-5.1103,1.2281,0,1); // car67
AddStaticVehicle(427,-1611.6322,733.2242,-5.1102,358.4313,0,1); // car68
AddStaticVehicle(601,-1603.5253,733.0418,-5.4757,0.2952,1,1); // car69
AddStaticVehicle(601,-1607.4572,732.7892,-5.4819,359.0168,1,1); // car70
AddStaticVehicle(601,-1590.8903,718.8868,-5.4834,271.2448,1,1); // car71
AddStaticVehicle(601,-1590.8268,714.7463,-5.4834,268.9313,1,1); // car72
AddStaticVehicle(601,-1604.3324,676.1072,-5.4834,1.0470,1,1); // car73
AddStaticVehicle(601,-1608.3807,675.8729,-5.4834,0.8872,1,1); // car74
AddStaticVehicle(601,-1640.4934,690.0363,-5.4834,267.7431,1,1); // car75
AddStaticVehicle(601,-1636.2931,694.5077,-5.4834,186.3782,1,1); // car76
AddStaticVehicle(601,-1622.6899,657.6486,-5.4834,89.5577,1,1); // car77
AddStaticVehicle(601,-1622.5437,661.3481,-5.4834,88.2688,1,1); // car78
AddStaticVehicle(601,-1571.8530,745.8903,-5.4834,89.7020,1,1); // car79
AddStaticVehicle(601,-1576.2029,749.3005,-5.4835,173.8618,1,1); // car80
AddStaticVehicle(497,-1632.6996,671.5107,7.3643,268.2399,0,1); // car81
AddStaticVehicle(449,-1857.2998,603.2500,35.4973,270.0000,1,74); // tram82
//Objects
CreateObject(13592, 1966.1999511719, -2460.3999023438, 21.60000038147, 0, 0, 0);
CreateObject(1337, 1961.01953125, -2460.7373046875, 13.703598976135, 0, 0, 0);
CreateObject(13592, 1965.4000244141, -2466.6000976563, 21.200000762939, 0, 0, 0);
CreateObject(634, 1892.5, -2414.1999511719, 12.5, 0, 0, 0);
CreateObject(655, 1902.4000244141, -2409, 12.5, 0, 0, 0);
CreateObject(671, 1914.5999755859, -2414.6999511719, 12.5, 0, 0, 0);
CreateObject(680, 1910.6999511719, -2414.1000976563, 12.5, 0, 0, 0);
CreateObject(687, 1911.5, -2414.6000976563, 12.5, 0, 0, 0);
CreateObject(710, 1916.9000244141, -2417.3000488281, 28.10000038147, 0, 0, 0);
CreateObject(777, 1876.0999755859, -2415, 12.60000038147, 0, 0, 0);
CreateObject(18270, 1836.0999755859, -2403.3999023438, 19.39999961853, 0, 0, 0);
CreateObject(1634, 1986.5999755859, -2344.1000976563, 17.60000038147, 0, 0, 300);
CreateObject(1634, 1979.8000488281, -2348.1000976563, 13.800000190735, 0, 0, 300);
CreateObject(1634, 2025.3000488281, -2332.6000976563, 24.5, 0, 0, 180);
CreateObject(18478, 1856.0999755859, -2516, 40.299999237061, 0, 30, 0);
CreateObject(18478, 1725.0999755859, -2515.8000488281, 75.400001525879, 0, 0, 0);
CreateObject(13592, 1982.0999755859, -2528.3000488281, 22.60000038147, 0, 0, 0);
CreateObject(13590, 2034.1999511719, -2526.1999511719, 13.5, 0, 0, 270);
CreateObject(5754, 1586.0999755859, -2515.5, 82.800003051758, 0, 0, 90);
CreateObject(6449, 1458.0999755859, -2499.8000488281, 96.199996948242, 0, 0, 90);
CreateObject(13592, 1966.1999511719, -2460.3999023438, 21.60000038147, 0, 0, 0);
CreateObject(1337, 1961.01953125, -2460.7373046875, 13.703598976135, 0, 0, 0);
CreateObject(13592, 1965.4000244141, -2466.6000976563, 21.200000762939, 0, 0, 0);
CreateObject(634, 1892.5, -2414.1999511719, 12.5, 0, 0, 0);
CreateObject(655, 1902.4000244141, -2409, 12.5, 0, 0, 0);
CreateObject(671, 1914.5999755859, -2414.6999511719, 12.5, 0, 0, 0);
CreateObject(680, 1910.6999511719, -2414.1000976563, 12.5, 0, 0, 0);
CreateObject(687, 1911.5, -2414.6000976563, 12.5, 0, 0, 0);
CreateObject(710, 1916.9000244141, -2417.3000488281, 28.10000038147, 0, 0, 0);
CreateObject(777, 1876.0999755859, -2415, 12.60000038147, 0, 0, 0);
CreateObject(18270, 1836.0999755859, -2403.3999023438, 19.39999961853, 0, 0, 0);
CreateObject(1634, 1986.5999755859, -2344.1000976563, 17.60000038147, 0, 0, 300);
CreateObject(1634, 1979.8000488281, -2348.1000976563, 13.800000190735, 0, 0, 300);
CreateObject(1634, 2025.3000488281, -2332.6000976563, 24.5, 0, 0, 180);
CreateObject(18478, 1856.0999755859, -2516, 40.299999237061, 0, 30, 0);
CreateObject(18478, 1725.0999755859, -2515.8000488281, 75.400001525879, 0, 0, 0);
CreateObject(13592, 1982.0999755859, -2528.3000488281, 22.60000038147, 0, 0, 0);
CreateObject(13590, 2034.1999511719, -2526.1999511719, 13.5, 0, 0, 270);
CreateObject(5754, 1586.0999755859, -2515.5, 82.800003051758, 0, 0, 90);
CreateObject(6449, 1458.0999755859, -2499.8000488281, 96.199996948242, 0, 0, 90);
CreateObject(3991, 1581.5, -1377.9000244141, 323.10000610352, 15, 0, 0);
CreateObject(3991, 1593, -1502.1999511719, 304.79998779297, 0, 0, 0);
CreateObject(3991, 1617.5, -1637.0999755859, 284.29998779297, 15.450012207031, 0, 10);
CreateObject(3991, 1661.5, -1755.5999755859, 230.60000610352, 29.200012207031, 357.34997558594, 20.5);
CreateObject(3991, 1725.5999755859, -1848.0999755859, 152.60000610352, 39.658935546875, 348.79998779297, 37);
CreateObject(3991, 1800.9000244141, -1912.5999755859, 80, 35, 341, 48);
CreateObject(3991, 1881.5999755859, -1970.3000488281, 42.599998474121, 10, 350, 50);
CreateObject(3991, 1990.5999755859, -2047.1999511719, 31, 2, 347, 50);
CreateObject(3991, 2108.8000488281, -2118.1999511719, 26.798900604248, 2.5, 347.5, 58);
CreateObject(5314, 1597, -1196, 343.10000610352, 0, 0, 90);
CreateObject(3816, 1640.1999511719, -1069.4000244141, 351.79998779297, 0, 0, 315);
CreateObject(1634, 2178, -2139.8000488281, 29.39999961853, 0, 10, 245);
CreateObject(1634, 2176.5, -2142.8999023438, 28.799999237061, 0, 10, 240);
CreateObject(1634, 2173.8999023438, -2146, 27.89999961853, 0, 10, 242);
CreateObject(1634, 2169.8000488281, -2153.1999511719, 25.5, 0, 10, 245);
CreateObject(1634, 2167.6000976563, -2157.1000976563, 24.700000762939, 0, 10, 245);
CreateObject(1634, 2165.5, -2160.6000976563, 23.799999237061, 0, 10, 245);
CreateObject(615, 1566.5999755859, -1305.5999755859, 343.20001220703, 0, 0, 0);
CreateObject(615, 1582.4000244141, -1304.6999511719, 343.20001220703, 0, 0, 0);
CreateObject(615, 1566.1999511719, -1286.6999511719, 343.20001220703, 0, 0, 0);
CreateObject(615, 1582.1999511719, -1283.9000244141, 343.20001220703, 0, 0, 0);
CreateObject(615, 1566.3000488281, -1273.6999511719, 343.20001220703, 0, 0, 0);
CreateObject(615, 1566.1999511719, -1244, 343.20001220703, 0, 0, 0);
CreateObject(615, 1566, -1262.4000244141, 343.20001220703, 0, 0, 0);
CreateObject(615, 1582, -1274.5, 343.20001220703, 0, 0, 0);
CreateObject(615, 1565.6999511719, -1259.3000488281, 343.20001220703, 0, 0, 0);
CreateObject(615, 1582.6999511719, -1244.4000244141, 343.20001220703, 0, 0, 0);
CreateObject(615, 1567.5999755859, -1224.8000488281, 343.20001220703, 0, 0, 0);
CreateObject(615, 1583.0999755859, -1224.9000244141, 343.20001220703, 0, 0, 0);
CreateObject(615, 1568.5999755859, -1211.0999755859, 343.20001220703, 0, 0, 0);
CreateObject(615, 1583, -1210.5999755859, 343.20001220703, 0, 0, 0);
CreateObject(615, 1567.3000488281, -1195.9000244141, 343.20001220703, 0, 0, 0);
CreateObject(615, 1581.8000488281, -1194.9000244141, 343.20001220703, 0, 0, 0);
CreateObject(615, 1565.6999511719, -1182.8000488281, 343.20001220703, 0, 0, 0);
CreateObject(615, 1582.8000488281, -1182.4000244141, 343.20001220703, 0, 0, 0);
CreateObject(615, 1568.4000244141, -1168.4000244141, 343.20001220703, 0, 0, 0);
CreateObject(615, 1582.9000244141, -1168.1999511719, 343.20001220703, 0, 0, 0);
CreateObject(615, 1569.1999511719, -1153.4000244141, 343.20001220703, 0, 0, 0);
CreateObject(615, 1584.5, -1158.4000244141, 343.20001220703, 0, 0, 0);
CreateObject(615, 1573.9000244141, -1143.5999755859, 343.20001220703, 0, 0, 0);
CreateObject(615, 1588.3000488281, -1149.9000244141, 343.20001220703, 0, 0, 0);
CreateObject(615, 1577.4000244141, -1133.0999755859, 343.20001220703, 0, 0, 0);
CreateObject(615, 1591, -1139.3000488281, 343.20001220703, 0, 0, 0);
CreateObject(615, 1582.9000244141, -1123.5, 343.20001220703, 0, 0, 0);
CreateObject(615, 1597, -1131.4000244141, 343.20001220703, 0, 0, 0);
CreateObject(615, 1590.4000244141, -1115.0999755859, 343.20001220703, 0, 0, 0);
CreateObject(615, 1602.6999511719, -1122.3000488281, 343.20001220703, 0, 0, 0);
CreateObject(615, 1597.1999511719, -1105, 343.20001220703, 0, 0, 0);
CreateObject(615, 1609, -1115.4000244141, 343.20001220703, 0, 0, 0);
CreateObject(615, 1606.5999755859, -1095.6999511719, 343.20001220703, 0, 0, 0);
CreateObject(615, 1615.9000244141, -1106.5999755859, 343.20001220703, 0, 0, 0);
// SPECIAL
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/trains.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/pilots.txt");
// LAS VENTURAS
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_law.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_airport.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_gen.txt");
// SAN FIERRO
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_law.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_airport.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_gen.txt");
// LOS SANTOS
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_law.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_airport.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_inner.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_outer.txt");
// OTHER AREAS
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/whetstone.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/bone.txt");
Chiles += LoadStaticVehiclesFromFile("vehicles/flint.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/tierra.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/red_county.txt");
printf("Total vehicles from files: %d",total_vehicles_from_files);
return 1;
}
//----------------------------------------------------------
public OnPlayerUpdate(playerid)
{
if(!IsPlayerConnected(playerid)) return 0;
if(IsPlayerNPC(playerid)) return 1;
// changing cities by inputs
if( !gPlayerHasCitySelected[playerid] &&
GetPlayerState(playerid) == PLAYER_STATE_SPECTATING ) {
ClassSel_HandleCitySelection(playerid);
return 1;
}
// No weapons in interiors
if(GetPlayerInterior(playerid) != 0 && GetPlayerWeapon(playerid) != 0) {
SetPlayerArmedWeapon(playerid,0); // fists
return 0; // no syncing until they change their weapon
}
// Don't allow minigun
if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN) {
Kick(playerid);
return 0;
}
/* No jetpacks allowed
if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK) {
Kick(playerid);
return 0;
}*/
/* For testing animations
new msg[128+1];
new animlib[32+1];
new animname[32+1];
thisanimid = GetPlayerAnimationIndex(playerid);
if(lastanimid != thisanimid)
{
GetAnimationName(thisanimid,animlib,32,animname,32);
format(msg, 128, "anim(%d,%d): %s %s", lastanimid, thisanimid, animlib, animname);
lastanimid = thisanimid;
SendClientMessage(playerid, 0xFFFFFFFF, msg);
}*/
return 1;
}
//----------------------------------------------------------
public OnPlayerDisconnect(playerid, reason)
{
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
INI_Close(File);
return 1;
}
//----------------------------------------------------------
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
}
//----------------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/flip", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
new currentveh;
new Float:angle;
currentveh = GetPlayerVehicleID(playerid);
GetVehicleZAngle(currentveh, angle);
SetVehicleZAngle(currentveh, angle);
SendClientMessage(playerid, 0xFFFFFFFF, "AdrenalineBot: Your vehicle has been flipped.");
return 1;
}
else
{
SendClientMessage(playerid, 0xFFFFFFFF, "AdrenalineBot: You are not in any vehicle!");
return 1;
}
}
return 0;
}
//----------------------------------------------------------
---------- Loaded log file: "server_log.txt". ---------- SA-MP Dedicated Server ---------------------- v0.3e, ©2005-2012 SA-MP Team [:2012:34::13:42:33] [:2012:34::13:42:33] Server Plugins [:2012:34::13:42:33] -------------- [:2012:34::13:42:33] Loading plugin: irc [:2012:34::13:42:33] *** IRC Plugin v1.4.2 by Incognito loaded *** [:2012:34::13:42:33] Loaded. [:2012:34::13:42:33] Loading plugin: FileManager.dll [:2012:34::13:42:33] ****************** [:2012:34::13:42:33] ** FILE MANAGER ** [:2012:34::13:42:33] ** Loaded ** [:2012:34::13:42:33] ** Version 1.4 ** [:2012:34::13:42:33] ****************** [:2012:34::13:42:33] Loaded. [:2012:34::13:42:33] Loading plugin: FileManager2.dll [:2012:34::13:42:33] ****************** [:2012:34::13:42:33] ** FILE MANAGER ** [:2012:34::13:42:33] ** Loaded ** [:2012:34::13:42:33] ** Version 1.1 ** [:2012:34::13:42:33] ****************** [:2012:34::13:42:33] Loaded. [:2012:34::13:42:33] Loading plugin: Whirlpool [:2012:34::13:42:33] [:2012:34::13:42:33] ================== [:2012:34::13:42:33] [:2012:34::13:42:33] Whirlpool loaded [:2012:34::13:42:33] [:2012:34::13:42:33] ================== [:2012:34::13:42:33] [:2012:34::13:42:33] Loaded. [:2012:34::13:42:33] Loading plugin: streamer [:2012:34::13:42:33] *** Streamer Plugin v2.6.1 by Incognito loaded *** [:2012:34::13:42:33] Loaded. [:2012:34::13:42:33] Loading plugin: sscanf [:2012:34::13:42:33] [:2012:34::13:42:33] =============================== [:2012:34::13:42:33] sscanf plugin loaded. [:2012:34::13:42:33] © 2009 Alex "******" Cole [:2012:34::13:42:33] 0.3d-R2 500 Players "dnee" [:2012:34::13:42:33] =============================== [:2012:34::13:42:33] Loaded. [:2012:34::13:42:33] Loaded 6 plugins. [:2012:34::13:42:33] [:2012:34::13:42:33] Filterscripts [:2012:34::13:42:33] --------------- [:2012:34::13:42:33] Loading filterscript 'irc.amx'... [:2012:34::13:42:33] Loading filterscript 'gl_actions.amx'... [:2012:34::13:42:33] Loading filterscript 'gl_property.amx'... [:2012:34::13:42:33] ----------------------------------- [:2012:34::13:42:33] Grand Larceny Property Filterscript [:2012:34::13:42:33] ----------------------------------- [:2012:34::13:42:33] Loading filterscript 'gl_realtime.amx'... [:2012:34::13:42:33] Loading filterscript 'gl_mapicon.amx'... [:2012:34::13:42:34] Loading filterscript 'ls_elevator.amx'... [:2012:34::13:42:34] Loading filterscript 'test_cmds.amx'... [:2012:34::13:42:34] Loading filterscript 'ls_mall.amx'... [:2012:34::13:42:34] Loading filterscript 'attachments.amx'... [:2012:34::13:42:34] Loading filterscript 'knpc.amx'... [:2012:34::13:42:34] ---------------------------------- [:2012:34::13:42:34] InGame NPC editor by Kurence loaded! [:2012:34::13:42:34] ---------------------------------- [:2012:34::13:42:34] Loading filterscript 'randommessages.amx'... [:2012:34::13:42:34] Loading filterscript 'rRace.amx'... [:2012:34::13:42:34] Loading filterscript 'iAdmin.amx'... [:2012:34::13:42:34] Loading filterscript 'fsdebug.amx'... [:2012:34::13:42:34] ********************* * SA:MP DEBUG 0.2 * [:2012:34::13:42:34] * By Simon Campbell * ********************* [:2012:34::13:42:34] * Version: 0.5d * ********************* [:2012:34::13:42:34] * -- LOADED * ********************* [:2012:34::13:42:34] Loading filterscript 'adminspec.amx'... [:2012:34::13:42:34] Loading filterscript 'irc.amx'... [:2012:34::13:42:34] Unable to load filterscript 'irc.amx'. [:2012:34::13:42:34] Loading filterscript 'fix.amx'... [:2012:34::13:42:34] Loaded 16 filterscripts. [:2012:34::13:42:34] [:2012:34::13:42:34] ======================================= [:2012:34::13:42:34] | | [:2012:34::13:42:34] | YSI version 1.04.0000 | [:2012:34::13:42:34] | By Alex "******" Cole | [:2012:34::13:42:34] | | [:2012:34::13:42:34] ======================================= [:2012:34::13:42:34] [:2012:34::13:42:34] Dynamic Radio System: Created a radio station: "ID 0", Name: 'Radio Julius' [:2012:34::13:42:34] Dynamic Radio System: Created a radio station: "ID 1", Name: 'Vinylgodis' [:2012:34::13:42:34] Dynamic Radio System: Created a radio station: "ID 2", Name: 'Radio Seven' [:2012:34::13:42:34] Dynamic Radio System: Created a radio station: "ID 3", Name: 'Dansbandskanalen' [:2012:34::13:42:34] Dynamic Radio System: Created a radio station: "ID 4", Name: 'Din Gata' [:2012:34::13:42:34] Dynamic Radio System: Created a radio station: "ID 5", Name: 'Big R Radio' [:2012:34::13:42:34] Dynamic Radio System: Created a radio station: "ID 6", Name: 'Radio AF' [:2012:34::13:42:34] Dynamic Radio System: Created a radio station: "ID 7", Name: 'Reggae141.com' [:2012:34::13:42:34] Dynamic Radio System: Created a radio station: "ID 8", Name: 'Hit Radio N1' [:2012:34::13:42:34] Dynamic Radio System: Created a radio station: "ID 9", Name: 'The 1920s Radio Network' [:2012:34::13:42:34] Dynamic Radio System: Created a radio station: "ID 10", Name: 'Radio Off' [:2012:34::13:42:34] Loaded 3 vehicles from: vehicles/trains.txt [:2012:34::13:42:34] Loaded 3 vehicles from: vehicles/pilots.txt [:2012:34::13:42:34] Loaded 15 vehicles from: vehicles/lv_law.txt [:2012:34::13:42:34] Loaded 39 vehicles from: vehicles/lv_airport.txt [:2012:34::13:42:34] Loaded 255 vehicles from: vehicles/lv_gen.txt [:2012:34::13:42:34] Loaded 38 vehicles from: vehicles/sf_law.txt [:2012:34::13:42:34] Loaded 35 vehicles from: vehicles/sf_airport.txt [:2012:34::13:42:34] Loaded 353 vehicles from: vehicles/sf_gen.txt [:2012:34::13:42:34] Loaded 24 vehicles from: vehicles/ls_law.txt [:2012:34::13:42:34] Loaded 37 vehicles from: vehicles/ls_airport.txt [:2012:34::13:42:34] Loaded 98 vehicles from: vehicles/ls_gen_inner.txt [:2012:34::13:42:34] Loaded 389 vehicles from: vehicles/ls_gen_outer.txt [:2012:34::13:42:34] Loaded 71 vehicles from: vehicles/whetstone.txt [:2012:34::13:42:34] Loaded 168 vehicles from: vehicles/bone.txt [:2012:34::13:42:34] Loaded 61 vehicles from: vehicles/flint.txt [:2012:34::13:42:34] Loaded 96 vehicles from: vehicles/tierra.txt [:2012:34::13:42:34] Loaded 96 vehicles from: vehicles/red_county.txt [:2012:34::13:42:34] Total vehicles from files: 1781 [:2012:34::13:42:34] Reading File: blank [:2012:34::13:42:34] Reading File: properties/houses.txt [:2012:34::13:42:34] Reading File: properties/businesses.txt [:2012:34::13:42:34] Reading File: properties/banks.txt [:2012:34::13:42:34] Reading File: properties/police.txt [:2012:34::13:42:34] --------------------------------------- [:2012:34::13:42:34] Running Julius95's server [:2012:34::13:42:34] --------------------------------------- [:2012:34::13:42:34] Number of vehicle models: 179
This just simply means that your stats get saved every time you quit the server. Once you join the server again, your stats will be loaded from your last session.
|
What stats aren't saving, all of them or just some of them?
|