CRASH HELP!!! EMERGENCY!!!
#1

Hi all. I am having a bit of an issue with my gm... here it is:
Код:
/*
Chedder's Freeroam
SCRIPTED BY: MATT
*/

//macros
#define START_BENCH(%0); {new __a=%0,__b=0,__c,__d=GetTickCount(),__e=1;do{}\    while(__d==GetTickCount());__c=GetTickCount();__d=__c;while(__c-__d<__a||\    __e){if(__e){if(__c-__d>=__a){__e=0;__c=GetTickCount();do{}while(__c==\    GetTickCount());__c=GetTickCount();__d=__c;__b=0;}}{
#define FINISH_BENCH(%0); }__b++;__c=GetTickCount();}printf(" Bench for "\    %0": executes, by average, %.2f times/ms.",floatdiv(__b,__a));}

//includes
#include <a_samp>
#include <streamer>
#include <mysql>

//defines
#define COLOR_GREY 			0xAFAFAFAA
#define COLOR_GREEN	 		0x33AA33AA
#define COLOR_RED 			0xFF0000AA
#define COLOR_YELLOW 		0xFFFF00AA
#define COLOR_WHITE 		0xFFFFFFAA
#define COLOR_BLUE 			0x0000FFAA
#define COLOR_BROWN 		0x993300AA
#define COLOR_ORANGE 		0xFF9933AA
#define COLOR_CYAN 			0x99FFFFAA
#define COLOR_PINK 			0xFF66FFAA
#define COLOR_BLACK 		0x2C2727AA
#define COLOR_LIGHTCYAN 	0xAAFFCC33
#define COLOR_LEMON 		0xDDDD2357
#define COLOR_AQUA 			0x7CFC00AA
#define COLOR_WHITEYELLOW 	0xFFE87DFF
#define COLOR_BLUEAQUA 		0x7E60FFFF
#define COLOR_DARKBLUE 		0x15005EFF
#define COLOR_ALIEN 		0x90FF87FF
#define COLOR_GREY 			0xAFAFAFAA
#define COLOR_GREEN 		0x33AA33AA
#define COLOR_YELLOW 		0xFFFF00AA
#define COLOR_LIGHTBLUE 	0x00D0F6AA
#define COLOR_PURPLE 		0xA600F6AA
#define COLOR_TUT 			0xF6C861AA
#define COLOR_ROYAL 		0x00C1F6AA
#define COLOR_CWHITE 		0xE0FFFFAA
#define COLOR_INVISIBLE 	0xFFFFFF00
#define PM_INCOMING_COLOR     0xFFFF22AA
#define PM_OUTGOING_COLOR     0xFFCC2299
#define ADMINFS_MESSAGE_COLOR 0xFF444499

#define MYSQL_HOST "213.5.176.155"
#define MYSQL_USER "1414_sinfo"
#define MYSQL_PASS "science1"
#define MYSQL_DB   "1414_sinfo"

//forwards
forward stuff();
forward cha();

//variables
new total_vehicles_from_files=0;
new sta, sto, o;
new h, m;
new ccar; //stores the car
new maxplayers; //Global Variable

main()
{
	print("Chedder's Freeroam Loaded!");
}

public OnGameModeInit()
{
	//gm text
	SetGameModeText("FUN");
	
	//timers
	SetTimer("stuff", 1000, true);
	SetTimer("cha", 180000, true);
	
	//classes
    AddPlayerClass(247, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(121, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(122, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(124, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(1, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(2, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(19, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(23, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(22, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(28, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(33, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(60, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(70, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(71, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(73, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(98, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(101, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(170, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(179, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(265, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(266, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(267, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(268, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(269, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(270, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(271, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(285, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(286, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(287, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(291, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(294, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(295, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(299, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    
    //maps
    //stunt/dm area
    CreateDynamicObject(8171,2946.06250000,4109.79300000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(8171,2906.44600000,4109.79980000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(8171,2887.09640000,4109.90630000,60.48120000,0.23500000,91.31000000,359.75000000); //
	CreateDynamicObject(8171,2966.18770000,4109.60350000,60.54630000,0.23350000,89.32240000,180.05430000); //
	CreateDynamicObject(8171,2906.40380000,4248.00590000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(8171,2946.04690000,4248.01320000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(8171,2887.69900000,4248.15970000,61.00620000,359.98070000,91.30740000,359.74730000); //
	CreateDynamicObject(8171,2965.82200000,4247.45310000,60.07130000,0.23070000,89.31880000,180.29940000); //
	CreateDynamicObject(8171,2926.51830000,4316.04490000,60.02130000,0.23070000,89.31340000,270.04160000); //
	CreateDynamicObject(8171,2929.20610000,4041.45870000,60.02130000,0.23070000,89.30790000,90.18840000); //
	CreateDynamicObject(8171,2946.43970000,4248.43850000,79.39630000,0.00000000,179.19000000,0.00000000); //
	CreateDynamicObject(8171,2906.70410000,4248.43950000,78.84630000,0.00000000,179.18700000,0.00000000); //
	CreateDynamicObject(8171,2906.69870000,4110.14060000,78.84630000,0.00000000,179.18700000,0.00000000); //
	CreateDynamicObject(3110,2945.37670000,4153.69630000,38.66630000,0.00000000,0.00000000,5.95500000); //
	CreateDynamicObject(6052,2898.26490000,4199.97220000,43.41390000,0.00000000,0.00000000,29.91000000); //
	CreateDynamicObject(6052,2899.58960000,4199.04640000,43.09890000,359.57500000,177.11500000,284.28000000); //
	CreateDynamicObject(16084,2901.11160000,4133.35250000,38.49130000,1.75000000,356.03000000,15.97000000); //
	CreateDynamicObject(3663,2927.20210000,4166.16410000,43.02200000,0.00000000,0.00000000,272.21020000); //
	CreateDynamicObject(3663,2927.09010000,4170.12110000,43.02200000,0.00000000,0.00000000,92.44810000); //
	CreateDynamicObject(16084,2949.82400000,4213.45360000,37.34120000,1.74680000,356.02840000,191.41360000); //
	CreateDynamicObject(3269,2905.70340000,4160.45210000,40.94130000,0.00000000,0.00000000,57.83500000); //
	CreateDynamicObject(12934,2973.66480000,4161.07030000,44.32450000,0.00000000,0.00000000,48.13010000); //
	CreateDynamicObject(18260,2940.88550000,4118.32670000,42.51450000,0.00000000,0.00000000,190.51060000); //
	CreateDynamicObject(2932,2916.14720000,4044.91360000,42.39320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2932,2930.34400000,4044.75320000,42.39320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2932,2930.29150000,4054.10820000,42.39320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2932,2915.98490000,4053.45190000,42.39320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2932,2925.52510000,4061.88210000,42.39320000,0.00000000,0.00000000,90.50780000); //
	CreateDynamicObject(2932,2918.37650000,4061.83150000,42.39320000,0.00000000,0.00000000,90.50540000); //
	CreateDynamicObject(2973,2929.52780000,4071.76220000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2973,2933.32540000,4074.29470000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2973,2931.36430000,4073.22070000,43.36620000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2973,2934.25490000,4076.82980000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2973,2924.28590000,4078.36430000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2973,2920.91310000,4079.65770000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2973,2922.54640000,4079.27980000,43.39130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2973,2914.60400000,4077.24120000,40.87630000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2975,2912.04980000,4076.43430000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2975,2912.04980000,4076.43360000,42.16630000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2975,2909.86350000,4076.17750000,42.16630000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2975,2909.88330000,4076.22660000,41.16630000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2991,2921.75100000,4103.86470000,41.56900000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2991,2921.77440000,4103.87260000,42.76900000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2991,2921.77440000,4103.87210000,43.91910000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2934,2935.04130000,4312.36180000,42.39320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2934,2935.00220000,4303.64360000,42.39320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2934,2920.74730000,4312.17290000,42.39320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2934,2920.51900000,4302.85790000,42.39320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2934,2922.31620000,4295.38570000,42.39320000,0.00000000,0.00000000,89.51010000); //
	CreateDynamicObject(2934,2933.41460000,4295.36230000,42.39320000,0.00000000,0.00000000,90.00570000); //
	CreateDynamicObject(2934,2926.83840000,4295.34720000,42.39320000,0.00000000,0.00000000,89.50560000); //
	CreateDynamicObject(2974,2913.12330000,4281.42040000,40.94130000,0.00000000,0.00000000,119.64000000); //
	CreateDynamicObject(2974,2915.38260000,4280.46780000,40.94130000,0.00000000,0.00000000,181.64550000); //
	CreateDynamicObject(2974,2918.62960000,4280.66850000,40.94130000,0.00000000,0.00000000,269.38750000); //
	CreateDynamicObject(2974,2927.03980000,4279.25680000,40.94130000,0.00000000,0.00000000,253.36980000); //
	CreateDynamicObject(2974,2929.80490000,4279.11470000,40.94130000,0.00000000,0.00000000,279.35440000); //
	CreateDynamicObject(2974,2928.86060000,4277.56880000,40.94130000,0.00000000,0.00000000,278.09940000); //
	CreateDynamicObject(2974,2926.57790000,4277.27150000,40.94130000,0.00000000,0.00000000,278.09690000); //
	CreateDynamicObject(2974,2928.16380000,4277.40580000,43.76630000,0.00000000,0.00000000,278.09690000); //
	CreateDynamicObject(2974,2924.77440000,4278.59130000,40.94130000,0.00000000,0.00000000,340.59640000); //
	CreateDynamicObject(3378,2946.09640000,4280.75830000,42.11120000,0.00000000,0.00000000,304.19520000); //
	CreateDynamicObject(3378,2946.09570000,4280.75780000,44.35120000,0.00000000,0.00000000,304.19490000); //
	CreateDynamicObject(3585,2908.15600000,4065.14720000,42.57110000,0.00000000,0.00000000,47.86500000); //
	CreateDynamicObject(3585,2906.33030000,4066.78690000,42.57110000,0.00000000,0.00000000,47.86190000); //
	CreateDynamicObject(3585,2904.68260000,4068.47340000,42.57110000,0.00000000,0.00000000,39.92190000); //
	CreateDynamicObject(3585,2903.34720000,4070.28610000,42.57110000,0.00000000,0.00000000,33.96390000); //
	CreateDynamicObject(3585,2902.28250000,4072.23510000,42.57110000,0.00000000,0.00000000,20.84380000); //
	CreateDynamicObject(3585,2901.71780000,4074.33940000,42.54610000,0.00000000,0.00000000,6.94610000); //
	CreateDynamicObject(3585,2901.50100000,4076.65430000,42.52110000,0.00000000,0.00000000,2.97340000); //
	CreateDynamicObject(2991,2950.15310000,4094.42870000,41.56900000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2991,2950.15230000,4094.42870000,42.81900000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2991,2950.15230000,4094.42870000,44.06900000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2991,2954.30760000,4093.26320000,41.56900000,0.00000000,0.00000000,328.10510000); //
	CreateDynamicObject(2991,2954.32130000,4093.28370000,42.81900000,0.00000000,0.00000000,328.10120000); //
	CreateDynamicObject(2991,2954.32130000,4093.28320000,44.06890000,0.00000000,0.00000000,328.10120000); //
	CreateDynamicObject(2991,2942.96120000,4095.07450000,41.54390000,0.00000000,0.00000000,328.10120000); //
	CreateDynamicObject(2991,2942.96090000,4095.07420000,42.76890000,0.00000000,0.00000000,328.10120000); //
	CreateDynamicObject(2991,2942.96090000,4095.07420000,43.89390000,0.00000000,0.00000000,328.10120000); //
	CreateDynamicObject(2991,2946.38230000,4094.33250000,45.21900000,359.25000000,358.01500000,4.01110000); //
	CreateDynamicObject(16301,2914.83370000,4120.49170000,45.10910000,0.00000000,0.00000000,71.77500000); //
	CreateDynamicObject(16311,2930.91190000,4148.03610000,52.36430000,0.00000000,0.00000000,45.89500000); //
	CreateDynamicObject(16311,2953.02880000,4188.86770000,52.23930000,0.00000000,0.00000000,256.50990000); //
	CreateDynamicObject(16301,2952.84060000,4220.38130000,44.20920000,358.75000000,358.01500000,282.22390000); //
	CreateDynamicObject(3865,2907.06010000,4280.12650000,42.87520000,0.00000000,0.00000000,131.59500000); //
	CreateDynamicObject(3865,2900.97750000,4273.82230000,42.87520000,0.00000000,0.00000000,141.56420000); //
	CreateDynamicObject(3865,2897.59740000,4266.81450000,42.87520000,0.00000000,0.00000000,171.46880000); //
	CreateDynamicObject(3865,2896.89990000,4258.40380000,42.87520000,0.00000000,0.00000000,181.43360000); //
	CreateDynamicObject(3865,2897.03370000,4250.61280000,42.87520000,0.00000000,0.00000000,181.42820000); //
	CreateDynamicObject(3865,2897.15700000,4241.43700000,42.87520000,0.00000000,0.00000000,181.42820000); //
	CreateDynamicObject(3865,2897.26050000,4232.43850000,42.87520000,0.00000000,0.00000000,181.42820000); //
	CreateDynamicObject(3865,2897.38960000,4223.48390000,42.87520000,0.00000000,0.00000000,181.42820000); //
	CreateDynamicObject(3865,2897.31270000,4210.81100000,43.55020000,14.67500000,0.00000000,181.42820000); //
	CreateDynamicObject(3865,2897.37820000,4202.75440000,46.67520000,27.83220000,0.00000000,181.42270000); //
	CreateDynamicObject(3865,2897.46240000,4195.06150000,50.75020000,27.82840000,0.00000000,181.42270000); //
	CreateDynamicObject(3865,2897.54080000,4187.73000000,55.55010000,37.76840000,0.00000000,181.42270000); //
	CreateDynamicObject(3865,2897.46510000,4180.37110000,60.92520000,34.54550000,0.00000000,179.42270000); //
	CreateDynamicObject(3865,2897.18630000,4171.48050000,64.10020000,4.76600000,0.00000000,178.41770000); //
	CreateDynamicObject(3675,2964.68090000,4127.90970000,47.77250000,0.00000000,0.00000000,270.27030000); //
	CreateDynamicObject(3214,2897.42160000,4162.36870000,56.38100000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3214,2897.31640000,4154.23680000,56.38100000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3269,2896.87990000,4150.00880000,42.34130000,0.00000000,0.00000000,348.04200000); //
	CreateDynamicObject(3865,2898.08130000,4146.14890000,64.10020000,4.76260000,0.00000000,359.81230000); //
	CreateDynamicObject(3865,2897.97310000,4137.14700000,62.72510000,12.70260000,0.00000000,359.80770000); //
	CreateDynamicObject(3865,2897.81880000,4128.40480000,60.57510000,14.68520000,0.00000000,359.80220000); //
	CreateDynamicObject(3865,2897.99340000,4119.88230000,57.80000000,20.93320000,0.00000000,3.77220000); //
	CreateDynamicObject(3865,2898.41430000,4111.44780000,54.55000000,20.92900000,0.00000000,3.76830000); //
	CreateDynamicObject(3865,2898.82350000,4103.23880000,51.15000000,23.17900000,0.00000000,3.76830000); //
	CreateDynamicObject(3865,2899.28030000,4094.74630000,47.50000000,23.17570000,0.00000000,3.76280000); //
	CreateDynamicObject(3865,2899.80130000,4087.62450000,45.12490000,14.97060000,0.00000000,5.74780000); //
	CreateDynamicObject(3865,2900.80420000,4081.61890000,43.90000000,9.98390000,0.00000000,11.49580000); //
	CreateDynamicObject(3406,2962.16060000,4124.81350000,47.01200000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3406,2951.80490000,4123.26030000,47.01200000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(12934,2937.20390000,4098.43310000,44.32450000,0.00000000,0.00000000,199.40000000); //
	CreateDynamicObject(925,2961.77560000,4241.96830000,42.00320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(925,2959.45000000,4241.99270000,42.00320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(925,2957.12600000,4242.09280000,42.00320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(925,2953.72900000,4242.23930000,42.00320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(925,2951.33350000,4243.01420000,42.00320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(925,2951.28440000,4242.98970000,44.05320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(925,2953.72850000,4242.23930000,44.10320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(1348,2946.27930000,4246.03810000,41.64380000,0.00000000,0.00000000,139.58000000); //
	CreateDynamicObject(964,2953.74170000,4242.23290000,45.17400000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3566,2949.36160000,4258.57180000,43.55490000,0.00000000,0.00000000,49.85000000); //
	CreateDynamicObject(3566,2936.52390000,4250.12110000,43.55490000,0.00000000,0.00000000,119.63500000); //
	CreateDynamicObject(3566,2912.64870000,4244.34280000,43.55490000,0.00000000,0.00000000,229.30010000); //
	CreateDynamicObject(3761,2932.25220000,4188.73140000,42.94020000,0.00000000,0.00000000,55.89500000); //
	CreateDynamicObject(3761,2926.28150000,4193.40090000,42.94020000,0.00000000,0.00000000,135.65300000); //
	CreateDynamicObject(3761,2935.11300000,4197.82280000,42.94020000,0.00000000,0.00000000,185.49840000); //
	CreateDynamicObject(3761,2921.31030000,4200.08150000,42.94020000,0.00000000,0.00000000,125.67320000); //
	CreateDynamicObject(3761,2917.04860000,4192.96090000,42.94020000,0.00000000,0.00000000,215.40270000); //
	CreateDynamicObject(2395,2925.35890000,4167.78710000,71.99620000,270.67490000,0.00000000,359.00000000); //
	CreateDynamicObject(8171,2946.46800000,4110.15430000,79.42130000,0.00000000,179.18700000,0.00000000); //
	CreateDynamicObject(2395,2925.31470000,4165.07370000,71.97120000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2925.27150000,4162.35840000,71.94620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2928.97630000,4162.28660000,71.94620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2929.01120000,4165.03710000,71.97120000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2929.07520000,4167.72900000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2925.40060000,4170.55520000,71.84620000,90.28510000,0.00000000,358.47970000); //
	CreateDynamicObject(2395,2929.12400000,4170.47750000,71.84620000,90.28020000,0.00000000,358.97840000); //
	CreateDynamicObject(2395,2929.10770000,4167.80220000,71.84620000,90.28020000,0.00000000,358.97830000); //
	CreateDynamicObject(2395,2929.06050000,4165.12110000,71.82120000,90.28020000,0.00000000,358.97830000); //
	CreateDynamicObject(2395,2925.35180000,4167.86280000,71.82120000,90.28020000,0.00000000,358.97830000); //
	CreateDynamicObject(2395,2925.32300000,4165.15230000,71.82120000,90.28020000,0.00000000,358.97830000); //
	CreateDynamicObject(987,2924.93650000,4162.58450000,71.79270000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(987,2925.09720000,4174.11180000,71.86770000,0.00000000,0.00000000,270.27030000); //
	CreateDynamicObject(987,2936.60130000,4174.04200000,71.86770000,0.00000000,0.00000000,180.53920000); //
	CreateDynamicObject(987,2936.71020000,4162.23930000,71.86770000,0.00000000,0.00000000,90.80840000); //
	CreateDynamicObject(2395,2925.39770000,4170.51760000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2925.43260000,4171.64790000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2929.15500000,4171.51860000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2929.12600000,4169.98780000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2932.84570000,4171.43750000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2932.83790000,4168.73050000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2932.74680000,4166.04050000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2932.68550000,4163.28320000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2932.67090000,4162.20460000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2937.36820000,4162.57520000,71.97120000,270.67020000,0.00000000,88.73970000); //
	CreateDynamicObject(2395,2937.35820000,4166.26560000,71.97120000,270.66470000,0.00000000,88.73660000); //
	CreateDynamicObject(2395,2937.36620000,4169.92630000,71.97120000,270.66470000,0.00000000,88.73660000); //
	CreateDynamicObject(2395,2937.50390000,4170.86870000,71.97120000,270.66470000,0.00000000,88.73660000); //
	CreateDynamicObject(2395,2925.49630000,4173.22950000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2925.47050000,4174.10400000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2929.19730000,4174.05860000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2929.20310000,4173.00930000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2932.92820000,4173.96730000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2932.88310000,4171.24410000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2932.83670000,4168.57130000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2932.81320000,4165.94780000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2932.83150000,4165.29980000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2934.01900000,4163.13090000,71.84620000,90.28020000,354.04500000,93.80270000); //
	CreateDynamicObject(2395,2933.98780000,4166.73290000,71.84620000,90.28020000,356.02490000,93.80130000); //
	CreateDynamicObject(2395,2933.88040000,4170.38280000,71.84620000,90.28020000,356.02290000,93.80130000); //
	CreateDynamicObject(987,2936.60350000,4174.43020000,76.59270000,0.00000000,0.00000000,180.53830000); //
	CreateDynamicObject(987,2937.13620000,4162.22310000,76.69270000,0.00000000,0.00000000,90.80750000); //
	CreateDynamicObject(987,2924.93650000,4162.18460000,76.69270000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(987,2924.62350000,4174.11130000,76.79270000,0.00000000,0.00000000,270.26920000); //
	CreateDynamicObject(1472,2908.95970000,4064.42040000,41.35640000,0.00000000,0.00000000,48.60000000); //
	//train crash
	CreateDynamicObject(3585,2822.31543000,1711.74597200,11.45019900,0.00000000,0.00000000,292.50000000); //
	CreateDynamicObject(3585,2820.35620100,1721.25659200,11.45020200,342.81130000,0.00000000,269.14060000); //
	CreateDynamicObject(3564,2811.96044900,1735.43896500,11.55020000,96.25690000,26.64250000,33.75000000); //
	CreateDynamicObject(3525,2812.31372100,1733.50048800,11.86219700,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3525,2811.67431600,1735.04882800,11.99707100,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3525,2813.62109400,1734.64306600,9.07204700,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3525,2810.37597700,1732.25732400,11.73996400,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2812.87353500,1734.38293500,11.14099600,344.53010000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2813.31225600,1737.01977500,11.38714800,344.53010000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2813.25390600,1736.86169400,11.11546800,22.34540000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2811.47851600,1737.05419900,8.39532400,22.34540000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2812.23950200,1739.08557100,8.59844900,22.34540000,0.00000000,0.00000000); //
	CreateDynamicObject(3585,2810.65039100,1744.81127900,11.15020600,279.21300000,0.00000000,122.89060000); //
	CreateDynamicObject(3461,2809.33276400,1733.30432100,8.14150700,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2813.45507800,1742.49963400,7.90311300,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2811.72387700,1742.46154800,10.80814700,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2809.16430700,1746.32519500,10.77621200,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2809.78784200,1747.74536100,10.83833300,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2809.30761700,1744.75476100,8.04532400,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2808.82568400,1746.01171900,10.59532500,43.83130000,0.00000000,0.00000000); //
	CreateDynamicObject(3564,2823.35913100,1731.39013700,11.45020100,42.11240000,0.00000000,225.00000000); //
	CreateDynamicObject(3461,2811.41650400,1739.64367700,8.09534000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2812.99829100,1739.28210400,8.08507300,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2810.30346700,1741.43676800,8.25627100,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2811.43652300,1742.34314000,11.85187100,77.34920000,0.00000000,46.40950000); //
	CreateDynamicObject(3461,2821.35131800,1723.97021500,11.39532400,77.34920000,0.00000000,12.65960000); //
	CreateDynamicObject(3461,2810.71240200,1733.48974600,11.52965100,77.34920000,0.00000000,181.40960000); //
	CreateDynamicObject(3461,2809.57031300,1748.73535200,8.18866800,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2811.53564500,1745.88366700,8.31717800,20.62650000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2814.23217800,1738.07788100,9.11729600,71.33320000,0.00000000,0.00000000); //
	CreateDynamicObject(3633,2821.63085900,1714.30688500,11.14388300,0.00000000,0.00000000,22.50000000); //
	CreateDynamicObject(1217,2810.22924800,1737.33960000,10.24169300,108.28890000,0.00000000,236.25010000); //
	CreateDynamicObject(1217,2813.30200200,1740.74255400,10.06669500,108.28890000,0.00000000,101.25000000); //
	CreateDynamicObject(1217,2808.94458000,1745.16394000,10.67670800,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(1217,2809.01318400,1745.23181200,11.93016600,121.18050000,0.00000000,0.00000000); //
	CreateDynamicObject(1217,2815.63476600,1733.44824200,10.06669500,81.64640000,0.00000000,281.25000000); //
	CreateDynamicObject(1222,2810.90991200,1738.84362800,10.30417000,100.55400000,0.00000000,315.00000000); //
	CreateDynamicObject(1222,2811.58691400,1739.51220700,10.29638000,131.49380000,0.00000000,228.28330000); //
	CreateDynamicObject(1222,2811.86108400,1745.64685100,10.41198700,207.98430000,0.00000000,127.03330000); //
	CreateDynamicObject(1222,2811.93920900,1746.54223600,10.19726800,290.48980000,0.00000000,177.74030000); //
	CreateDynamicObject(1222,2814.74780300,1733.79907200,10.27138000,290.48980000,0.00000000,177.74030000); //
	CreateDynamicObject(1222,2815.61767600,1734.08532700,10.20417100,341.19600000,339.37350000,142.50320000); //
	CreateDynamicObject(1217,2819.84326200,1732.62097200,10.24169300,92.81910000,0.00000000,168.75000000); //
	CreateDynamicObject(1217,2820.20825200,1732.85839800,10.73525500,135.79110000,0.00000000,90.00000000); //
	CreateDynamicObject(3461,2824.06372100,1731.75024400,11.16898200,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2820.67871100,1729.88317900,10.93920300,357.42170000,332.49800000,0.00000000); //
	CreateDynamicObject(3461,2820.27246100,1724.49426300,11.30682900,357.42170000,332.49800000,0.00000000); //
	CreateDynamicObject(3461,2825.46411100,1733.74426300,11.83705100,357.42170000,332.49800000,236.25010000); //
	CreateDynamicObject(1222,2821.71777300,1720.87756300,10.29638000,341.19600000,339.37350000,30.00320000); //
	CreateDynamicObject(1222,2822.86181600,1722.59057600,10.29638000,268.14390000,339.37350000,345.00310000); //
	CreateDynamicObject(1217,2822.77417000,1723.56140100,10.13338900,0.00000000,0.00000000,337.50000000); //
	CreateDynamicObject(1217,2821.33447300,1711.96142600,11.09046100,0.00000000,0.00000000,348.75000000); //
	CreateDynamicObject(1217,2821.62329100,1711.18176300,11.12633800,0.00000000,0.00000000,348.75000000); //
	CreateDynamicObject(1217,2821.34521500,1711.98681600,12.11996600,0.00000000,0.00000000,348.75000000); //
	CreateDynamicObject(1222,2821.62085000,1711.19897500,12.30295500,0.00000000,0.00000000,350.46880000); //
	CreateDynamicObject(1222,2822.27392600,1711.48291000,11.14514800,0.00000000,0.00000000,350.46880000); //
	CreateDynamicObject(1222,2823.13378900,1711.75732400,11.14514800,0.00000000,0.00000000,350.46880000); //
	CreateDynamicObject(1222,2823.15918000,1711.75378400,12.19415800,0.00000000,0.00000000,350.46880000); //
	CreateDynamicObject(1217,2822.91650400,1712.46765100,11.09046100,0.00000000,0.00000000,348.75000000); //
	CreateDynamicObject(1217,2822.87182600,1712.46801800,12.19167400,0.00000000,0.00000000,348.75000000); //
	CreateDynamicObject(1217,2819.20678700,1715.93127400,10.24169300,94.53800000,0.00000000,157.50000000); //
	CreateDynamicObject(1217,2822.64013700,1716.28735400,10.24169300,24.92370000,0.00000000,270.00000000); //
	CreateDynamicObject(1222,2823.48242200,1728.05590800,10.29638000,268.14390000,339.37350000,255.00320000); //
	CreateDynamicObject(1228,2824.16284200,1706.77734400,10.24144100,0.00000000,0.00000000,292.50000000); //
	CreateDynamicObject(1228,2826.79443400,1731.40319800,10.24144100,12.03210000,70.47380000,281.25000000); //
	CreateDynamicObject(1228,2811.42187500,1730.51171900,10.24144100,358.28110000,107.42950000,146.25000000); //
	CreateDynamicObject(1228,2814.10107400,1739.78308100,10.24144100,358.28110000,107.42950000,168.75000000); //
	CreateDynamicObject(1282,2820.86547900,1716.10083000,10.50912900,74.77090000,91.10020000,292.50000000); //
	CreateDynamicObject(2780,2815.12841800,1731.54870600,1.45312300,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2780,2820.09912100,1718.61645500,3.07031300,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2822.64746100,1723.52966300,8.80277800,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(16444,2816.23803700,1736.60351600,10.17443800,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(16444,2817.17846700,1720.67688000,10.17443800,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2905,2813.49243200,1734.41125500,9.91955100,0.00000000,0.00000000,303.75000000); //
	CreateDynamicObject(2907,2820.34472700,1732.27294900,9.98034900,0.00000000,0.00000000,315.00000000); //
	CreateDynamicObject(2908,2811.35376000,1740.17407200,10.00486300,0.00000000,0.00000000,123.75000000); //
	CreateDynamicObject(2906,2822.61718800,1721.34912100,9.89432500,0.00000000,0.00000000,292.50000000); //
	CreateDynamicObject(2905,2821.62695300,1721.99487300,9.91176100,0.00000000,0.00000000,337.50000000); //
	CreateDynamicObject(2905,2821.21972700,1716.33276400,9.91176100,0.00000000,0.00000000,191.25010000); //
	CreateDynamicObject(2908,2821.86743200,1723.07434100,9.89773300,0.00000000,0.00000000,213.75000000); //
	CreateDynamicObject(2907,2822.83471700,1724.22546400,9.98034900,0.00000000,0.00000000,247.50000000); //
	CreateDynamicObject(2907,2814.34838900,1739.43249500,9.97301500,0.00000000,0.00000000,348.75000000); //
	CreateDynamicObject(2905,2814.18579100,1736.20275900,9.91955100,0.00000000,0.00000000,337.50000000); //
	CreateDynamicObject(2908,2810.14038100,1741.93737800,9.89773300,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2907,2812.19482400,1745.81909200,9.98034900,0.00000000,0.00000000,0.00000000); //
	printf("%d dynamic objects created!", CountDynamicObjects());
    //maps
    
    //streamer stuffs
    Streamer_TickRate(55);
    Streamer_MaxItems(STREAMER_TYPE_OBJECT, 1000);
    Streamer_VisibleItems(STREAMER_TYPE_OBJECT, 400);
    
    //npc's
    ConnectNPC("Dave","Dave");
    ConnectNPC("Nick","Nick");
    
 	//other
	UsePlayerPedAnims();
	ShowPlayerMarkers(PLAYER_MARKERS_MODE_GLOBAL);
	ShowNameTags(1);
	SetNameTagDrawDistance(40.0);
	EnableStuntBonusForAll(1);
	DisableInteriorEnterExits();
	
	// 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");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/flint.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/tierra.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/red_county.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/stunt.txt");

    printf("Total vehicles from files: %d",total_vehicles_from_files);

	//licence plates
	for(new vid=0; vid<MAX_VEHICLES;vid++)
	{
		new numplate_test[32+1];
		format(numplate_test,32,"CFR{FF0000}%d",vid);
		SetVehicleNumberPlate(vid, numplate_test);
	}
	
 	//ccar
    ccar = AddStaticVehicle(562,2915.7688,1701.6259,9.1188,103.5196,122,1); // ccar
	for(new i=0; i<MAX_VEHICLES; i++)  //loop
    {
        if(i == ccar) //if i == ccar
        {
            SetVehicleNumberPlate(i, "CCAR"); //sets the cars number plate
            SetVehicleToRespawn(i); //respawns it (VERY IMPORTANT!!!)
        }
	}

	//rcon commands
	SendRconCommand("mapname PARTY");
	SendRconCommand("reloadfs ls_elevator");
	SendRconCommand("gravity 0.0075");
	
	//weather
	ChangeWeather();
	
	//time
	UpdateTime();

    //mount nipplez
   	CreateDynamicObject(18752, 6.4429, 1973.8485, 15.6406, 0,0,0, -1, -1, -1, 350);
	Create3DTextLabel( "MOUNT NIPPLEZ", 0x33AA33AA, 27.1356, 1957.3918, 77.0658, 400.0, 0, 0 );

	//timekeeper
	sta = GetTickCount();
	return 1;
}
public OnGameModeExit()
{
	DestroyVehicle(ccar); //destroys the car
	DestroyAllDynamicObjects();
 
	//timekeeper
	sto = GetTickCount();
	o = sto - sta;
	printf("Server online for: %s", ConvertMsToTime(o));
	print("Chedder's Freeroam Unloaded. :(");
	return 1;
}
public OnPlayerConnect(playerid)
{
	SendConnectMessage(playerid);
	SendClientMessage(playerid, COLOR_RED, "Hello and welcome to Chedder's Freeroam!");
	SendClientMessage(playerid, COLOR_RED, "Please use /help and /rules!!! THX!");
	SendClientMessage(playerid, COLOR_RED, "Also, please know that this server is only like... %%2 done. Maybe.");
	SendClientMessage(playerid, COLOR_RED, "THANKS! HAVE A NICE STAY!!!");
	SetPlayerMapIcon(playerid,49,822.6,-1590.3,13.5,7,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,50,-2570.1,245.4,10.3,7,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,51,2726.6,-2026.4,17.5,7,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,52,2080.3,2119.0,10.8,7,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,53,675.7,-496.6,16.8,7,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,54,-1805.7,943.2,24.8,29,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,55,2750.9,2470.9,11.0,29,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,56,2351.8,2529.0,10.8,29,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,57,2635.5,1847.4,11.0,29,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,58,2083.4,2221.0,11.0,29,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,59,-1719.1,1359.4,8.6,29,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,60,2330.2,75.2,31.0,29,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,61,203.2,-200.4,6.5,29,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,62,812.9,-1616.1,13.6,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,63,1199.1,-924.0,43.3,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,64,2362.2,2069.9,10.8,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,65,2469.5,2033.8,10.8,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,66,2172.9,2795.7,10.8,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,67,1875.3,2072.0,10.8,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,68,1161.5,2072.0,10.8,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,69,-2356.0,1009.0,49.0,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,70,-1913.3,826.2,36.9,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,71,-2335.6,-165.6,39.5,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,72,2397.8,-1895.6,13.7,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,73,2421.6,-1509.6,24.1,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,74,-2671.6,257.4,4.6,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,75,2392.4,2046.5,10.8,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,76,2844.5,2401.1,11.0,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,77,2635.5,1674.3,11.0,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,78,2105.7,2228.7,11.0,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,79,-2154.0,-2461.2,30.8,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,80,-1816.2,620.8,37.5,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,81,-1216.0,1831.4,45.3,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,82,172.73,1176.76,13.7,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,83,932.0,-1353.0,14.0,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,84,1971.7,-2036.6,13.5,39,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,85,2071.6,-1779.9,13.5,39,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,86,2094.6,2119.0,10.8,39,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,87,-2490.5,-40.1,39.3,39,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,88,1372.9,-1278.8,12.5,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,89,2400.5,-1978.4,13.5,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,90,-2626.6,209.4,4.9,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,91,2535.9,2083.5,10.8,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,92,2156.5,943.2,10.8,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,93,779.7,1874.3,4.9,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,94,-2092.7,-2463.8,30.6,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,95,240.0,-178.2,2.0,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,96,-1509.4,2611.8,58.5,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,97,-315.67,829.87,13.43,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,98,2332.9,63.6,31.0,6,0,MAPICON_LOCAL);
	if(playerid > maxplayers-1) maxplayers = playerid+1; //Getting the maximum playerid
	UpdateTime();
	return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
	SendDisconnectMessage(playerid, reason);
	if(playerid == maxplayers+1) for(new i=0;i<maxplayers;i++) if(IsPlayerConnected(i)) maxplayers = i+1; //Getting the minimum playerid
	return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
	SetupPlayerForClassSelection(playerid);
	UpdateTime();
	return 1;
}
public OnPlayerSpawn(playerid)
{
	new n[24];
	if(IsPlayerNPC(playerid))
	{
		if(strcmp(n, "Nick", false) == 0 || strcmp(n, "Dave", false) == 0)
		{
		    SetPlayerColor(playerid, COLOR_RED);
		    SetSpawnInfo(playerid, 0, 299, 0, 0, 10, 0, -1, -1, -1, -1, -1, -1);
		}
	}
	else
	{
		SpawnPlayerEx(playerid);
		UpdateTime();
	}
	return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
	SendDeathMessage(killerid, playerid, reason);
	GivePlayerMoney(playerid, -50);
	GivePlayerMoney(killerid, 50);
	SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
	return 1;
}
public OnPlayerText(playerid, text[])
{
    if((GetTickCount() - GetPVarInt(playerid, "AntiSpam")) > 1000)
	{
	    new result[128];
        for(new a; a < strlen(text); a++)
        {
			result[a] = text[a];
        }
        
        for(new i = 0, j = strlen(result); i < j; i++)
		{
			if('0' <= result[i] <= '9')
			{
				result[i] = '*';
			}
		}
	    SetPVarInt(playerid, "AntiSpam", GetTickCount());
		new string[128], name[MAX_PLAYER_NAME];
		GetPlayerName(playerid, name, sizeof(name));
		format(string, sizeof(string), "%s (%i): %s", name, playerid, result);
		SendClientMessageToAll(-1, string);
	}
	else
	{
		SendClientMessage(playerid, COLOR_RED, "You must wait at least 1 second before using the chat again.");
	}
	return 0;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
    new pName[MAX_PLAYER_NAME+1];
    new iName[MAX_PLAYER_NAME+1];
   	new cmd[256];
	new	tmp[256];
	new Message[256];
	new gMessage[256];
	new	idx;
	cmd = strtok(cmdtext, idx);

	// PM Command
	if(strcmp("/pm", cmd, true) == 0)
	{
		tmp = strtok(cmdtext,idx);

		if(!strlen(tmp) || strlen(tmp) > 5) {
			SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /pm (id) (message)");
			return 1;
		}

		new id = strval(tmp);
        gMessage = strrest(cmdtext,idx);

		if(!strlen(gMessage)) {
			SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /pm (id) (message)");
			return 1;
		}

		if(!IsPlayerConnected(id)) {
			SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/pm : Bad player ID");
			return 1;
		}

		if(playerid != id) {
			GetPlayerName(id,iName,sizeof(iName));
			GetPlayerName(playerid,pName,sizeof(pName));
			format(Message,sizeof(Message),">> %s(%d): %s",iName,id,gMessage);
			SendClientMessage(playerid,PM_OUTGOING_COLOR,Message);
			format(Message,sizeof(Message),"** %s(%d): %s",pName,playerid,gMessage);
			SendClientMessage(id,PM_INCOMING_COLOR,Message);
			PlayerPlaySound(id,1085,0.0,0.0,0.0);
		}
		else {
			SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"You cannot PM yourself");
		}
		return 1;
	}
	
	//commands
	if (strcmp("/kill", cmdtext, true, 10) == 0) //gets the command
	{
		SendClientMessage(playerid, COLOR_RED, "You commited suicide!"); //sends the message
		SetPlayerHealth(playerid, 0); //kills the player
		return 1;
	}
	if (strcmp("/help", cmdtext, true, 10) == 0) //gets the command
	{
    	ShowPlayerDialog(playerid, 2, DIALOG_STYLE_MSGBOX, "~~~HELP~~~", "Commands: /kill, /pm, /teles, /help, /para, /me, /ccar, /rules\nSpeedBoost: Press the fire key (alt preferably) to boost your vehicles speed.", "OK", "Cancel"); //sends the dialog
    	return 1;
	}
	if (strcmp("/rules", cmdtext, true, 10) == 0) //gets the command
	{
    	ShowPlayerDialog(playerid, 2, DIALOG_STYLE_MSGBOX, "~~~RULES~~~", "Rules:\n1) No spawnkill\n2) No Hacks\n3) No Cheats\n4) No being an asshole!\n5) Have Fun!", "OK", "Cancel"); //sends the dialog
    	return 1;
	}
	if (strcmp("/ccar", cmdtext, true, 10) == 0) //gets the command
	{
    	ShowPlayerDialog(playerid, 2, DIALOG_STYLE_MSGBOX, "~~~CCAR~~~", "ChaseCar: The chasecar is basically just a car to chase. If you are in it, you get $200 a second! FIND IT. TAKE IT. DONT LOSE IT!", "OK", "Cancel"); //sends the dialog
    	return 1;
	}
	if(!strcmp(cmdtext, "/me", true, 3)) //gets the command
	{
        if(!cmdtext[3])return SendClientMessage(playerid, COLOR_RED, "USAGE: /me <action>"); //tells you if the command is typed wrong
		new str[128]; //defings str
		GetPlayerName(playerid, str, sizeof(str)); //gets player name
		format(str, sizeof(str), "* %s %s", str, cmdtext[4]); //formats the message
		SendClientMessageToAll(COLOR_BLUE, str); //sends the message
		return 1;
	}
	if (strcmp("/para", cmdtext, true, 10) == 0) //gets the command
	{
		SendClientMessage(playerid, COLOR_RED, "You are parachuting!"); //sends the message
    	GivePlayerWeapon(playerid, 46, 1); //sets the players weapon to parachute
		new Float:x, Float:y, Float:z; //defines float x, y, and z
		GetPlayerPos(playerid, x, y, z); //gets the players position
		SetPlayerArmedWeapon(playerid, 46);
		TeleportPlayer(playerid, x, y, z+750, 0);
		return 1;
	}
	if (strcmp("/teles", cmdtext, true, 10) == 0) //gets the command
	{
    	ShowPlayerDialog(playerid, 2, DIALOG_STYLE_MSGBOX, "~~~TELES~~~", "Teleports: /lso, /aa, /ufo, /mn,\n/grove, /lva, /lsa, /bsat", "OK", "Cancel"); //sends the dialog
    	return 1;
	}

	//teles
	if (strcmp("/aa", cmdtext, true, 10) == 0)
	{
		TeleportPlayer(playerid,395.4505,2530.4795,16.5437,0);
		return 1;
	}
	if (strcmp("/bsat", cmdtext, true, 10) == 0)
	{
		TeleportPlayer(playerid,-291.3539,1554.9836,75.3594,0);
		return 1;
	}
	if (strcmp("/lva", cmdtext, true, 10) == 0)
	{
		TeleportPlayer(playerid,1690.8317,1450.6515,10.7660,0);
		return 1;
	}
	if (strcmp("/mn", cmdtext, true, 10) == 0)
	{
		TeleportPlayer(playerid,27.7216,1957.5503,77.5,0);
		return 1;
	}
	if (strcmp("/lsa", cmdtext, true, 10) == 0)
	{
		TeleportPlayer(playerid,1715.2501,-2200.4954,13.5469,0);
		return 1;
	}
	if (strcmp("/grove", cmdtext, true, 10) == 0)
	{
		TeleportPlayer(playerid,2493.7202,-1670.4781,13.3359,0);
		return 1;
 	}
	if (strcmp("/ufo", cmdtext, true, 10) == 0)
	{
		TeleportPlayer(playerid,-83.1667,1374.1985,10.2734,0);
		return 1;
	}
	if(strcmp("/lso", cmdtext, true, 10) == 0)
	{
	    TeleportPlayer(playerid,1786.9503,-1295.8320,13.4406,358.7843);
	    return 1;
	}
	
	//rcon commands
	if (strcmp("/gotoccar", cmdtext, true, 10) == 0 && IsPlayerAdmin(playerid)) //gets the command
	{
	    new Float:x, Float:y, Float:z;
		GetVehiclePos(ccar, x, y, z);
		TeleportPlayer(playerid,x,y,z+4.0,0);
		return 1;
	}
	return 0;
}
public OnPlayerUpdate(playerid)
{
	if(!IsPlayerConnected(playerid)) return 0;
	if(IsPlayerNPC(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;
	}
	return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	if(vehicleid == ccar) //if vehicleid == ccar
	{
        new name[MAX_PLAYER_NAME], string[44]; //defines name and string
    	GetPlayerName(playerid, name, sizeof(name)); //gets the players name
    	format(string, sizeof(string), "%s has taken the ChaseCar!",name); //formats the message
    	SendClientMessageToAll(0xFF0000FF, string); //sends the message
  	}
	return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
	if(vehicleid == ccar) //if vehicleid == ccar
	{
        new name[MAX_PLAYER_NAME], string[44]; //defines name and string
    	GetPlayerName(playerid, name, sizeof(name)); //gets the players name
    	format(string, sizeof(string), "%s has left the ChaseCar!",name); //formats the message
    	SendClientMessageToAll(0xFF0000FF, string); //sends the message
	}
	return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
	{
		if(newkeys & KEY_FIRE)
		{
			new vehicleid = GetPlayerVehicleID(playerid);
			new Float:angle;
			GetVehicleZAngle(vehicleid, angle);
			new Float:velox, Float:veloy, Float:veloz;
			GetVehicleVelocity(vehicleid, velox, veloy, veloz);
			velox += floatsin(-angle, degrees);
			veloy += floatcos(-angle, degrees);
			SetVehicleVelocity(vehicleid, velox, veloy, veloz);
		}
	}
	return 1;
}
public OnVehicleSpawn(vehicleid)
{
	if(vehicleid == ccar)
	{
		ChangeVehiclePaintjob(vehicleid,0); // paint job
		AddVehicleComponent(vehicleid, 1035); // roof
		AddVehicleComponent(vehicleid, 1079); // rim
		AddVehicleComponent(vehicleid, 1037); // exhaust
		AddVehicleComponent(vehicleid, 1039); // side
		AddVehicleComponent(vehicleid, 1172); // front
		AddVehicleComponent(vehicleid, 1146); // Spoiler
		SendClientMessageToAll(0xFF0000FF, "The ChaseCar Respawned!!!"); //message
	}
	return 1;
}
public stuff()
{
	UpdateTime();
	for(new i=0;i<maxplayers;i++) //the new more efficient loop
	{
	    if(IsPlayerInAnyVehicle(i)) //if player is in car
	    {
	        if(GetPlayerVehicleID(i) == ccar) //if player car == ccar
	        {
	            GivePlayerMoney(i, 200); //gives player money
	        }
	    }
	}
	
	for(new a=0;a<maxplayers;a++) //the new more efficient loop
	{
	    if(IsPlayerConnected(a) && IsPlayerInAnyVehicle(2))
		{
			new vid = GetPlayerVehicleID(a);
			if(vid == ccar)
			{
				//it is recomended, you leave this space empty.
			}
			else
			{
				RepairVehicle(vid);
				SetVehicleHealth(vid, 100000);
			}
		}
	}
}
public cha()
{
    ChangeWeather();
}

//functions
stock UpdateTime()
{
	gettime(h, m);
	SetWorldTime(h);
	for(new i=0; i<GetMaxPlayers(); i++)
	{
	    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
	 	{
	    	SetPlayerTime(i, h, m);
	    }
	}
}
stock ChangeWeather()
{
	new ass = random(8);
	SetWeather(ass);
	printf("Server weather changed to %d", ass);
}
stock SendConnectMessage(playerid)
{
	new str[64], name[14];
	GetPlayerName(playerid, name, sizeof(name));
	format(str, sizeof(str), "%s has connected to the server!", name);
	SendClientMessageToAll(COLOR_BLUE, str);
	printf("%i players online", CountPlayersOnline());
	Streamer_Update(playerid);
}
stock SendDisconnectMessage(playerid, reason)
{
	new string[64], name[MAX_PLAYER_NAME]; //defines "name" and "string"
    GetPlayerName(playerid,name,MAX_PLAYER_NAME); //gets the players name
    switch(reason) //switches according to the reason
    {
    	case 0: format(string,sizeof string,"%s left the server. (Timed out)",name); //formats the message
    	case 1: format(string,sizeof string,"%s left the server. (Leaving)",name);  //formats the message
    	case 2: format(string,sizeof string,"%s left the server. (Kicked/Banned)",name); //formats the message
    }
    SendClientMessageToAll(COLOR_RED,string); //sends the message
    printf("%i players online", CountPlayersOnline());
}
stock SetupPlayerForClassSelection(playerid)
{
    PlayerPlaySound(playerid,1185,0,0,0); //sets the players sound
	SetPlayerPos(playerid,  204.1289, 1934.2113, 23.0422);
	SetPlayerFacingAngle(playerid, 185.8845);
	SetPlayerCameraPos(playerid, 204.7493, 1925.3274, 23.2422); //sets the camera's position
	SetPlayerCameraLookAt(playerid, 204.1289, 1934.2113, 23.2422); //makes the camera look at the player
	PlayerPlaySound(playerid,1185,0,0,0); //sete the players sound
}
stock SpawnPlayerEx(playerid)
{
	PlayerPlaySound(playerid,1077,0,0,0); //sets the player sound
	TogglePlayerClock(playerid,0);
	GivePlayerMoney(playerid, 20);
	SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL_SILENCED,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_DESERT_EAGLE,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SHOTGUN,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SAWNOFF_SHOTGUN,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SPAS12_SHOTGUN,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_MICRO_UZI,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_MP5,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_AK47,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_M4,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SNIPERRIFLE,20000);
    GivePlayerWeapon(playerid,WEAPON_M4,100000);
    GivePlayerWeapon(playerid,WEAPON_MP5,100000);
    GivePlayerWeapon(playerid,WEAPON_DEAGLE,100000);
	TeleportPlayer(playerid,2922.6501464844,4044.9099121094,43.8,0);
	Streamer_Update(playerid);
}
stock CountPlayersOnline()
{
	new iCount;
	for(new i = 0; i < GetMaxPlayers(); i++)
	{
		if(IsPlayerConnected(i)) iCount++;
	}
	return iCount;
}
stock LoadStaticVehiclesFromFile(const filename[])
{
	new File:file_ptr;
	new line[256];
	new var_from_line[64];
	new vehicletype;
	new Float:SpawnX;
	new Float:SpawnY;
	new Float:SpawnZ;
	new Float:SpawnRot;
    new Color1, Color2;
	new index;
	new vehicles_loaded;

	file_ptr = fopen(filename,filemode:io_read);
	if(!file_ptr) return 0;

	vehicles_loaded = 0;

	while(fread(file_ptr,line,256) > 0)
	{
	    index = 0;

	    // Read type
  		index = token_by_delim(line,var_from_line,',',index);
  		if(index == (-1)) continue;
  		vehicletype = strval(var_from_line);
   		if(vehicletype < 400 || vehicletype > 611) continue;

  		// Read X, Y, Z, Rotation
  		index = token_by_delim(line,var_from_line,',',index+1);
  		if(index == (-1)) continue;
  		SpawnX = floatstr(var_from_line);

  		index = token_by_delim(line,var_from_line,',',index+1);
  		if(index == (-1)) continue;
  		SpawnY = floatstr(var_from_line);

  		index = token_by_delim(line,var_from_line,',',index+1);
  		if(index == (-1)) continue;
  		SpawnZ = floatstr(var_from_line);

  		index = token_by_delim(line,var_from_line,',',index+1);
  		if(index == (-1)) continue;
  		SpawnRot = floatstr(var_from_line);

  		// Read Color1, Color2
  		index = token_by_delim(line,var_from_line,',',index+1);
  		if(index == (-1)) continue;
  		Color1 = strval(var_from_line);

  		index = token_by_delim(line,var_from_line,';',index+1);
  		Color2 = strval(var_from_line);

  		//printf("%d,%d,%f,%f,%f,%f,%d,%d",total_vehicles_from_files+vehicles_loaded+1,vehicletype,SpawnX,SpawnY,SpawnZ,SpawnRot,Color1,Color2);

		AddStaticVehicleEx(vehicletype,SpawnX,SpawnY,SpawnZ,SpawnRot,Color1,Color2,(1*60)); // respawn 1 minute
		vehicles_loaded++;
	}

	fclose(file_ptr);
	printf("Loaded %d vehicles from: %s",vehicles_loaded,filename);
	return vehicles_loaded;
}
stock token_by_delim(const string[], return_str[], delim, start_index)
{
	new x=0;
	while(string[start_index] != EOS && string[start_index] != delim) {
	    return_str[x] = string[start_index];
	    x++;
	    start_index++;
	}
	return_str[x] = EOS;
	if(string[start_index] == EOS) start_index = (-1);
	return start_index;
}
stock ConvertMsToTime(ms)
{
    new seconds = ms/1000;
	new string[32];
	format(string, sizeof(string), "%02d:%02d:%02d - %02d:%02d:%02d",seconds/31536000, (seconds%31536000)/2592000, (seconds%2592000)/86400,(seconds%86400)/3600, (seconds%3600)/60, seconds%60);
	return string;
}
stock strtok(const string[], &index)
{
	new length = strlen(string);
	while ((index < length) && (string[index] <= ' '))
	{
		index++;
	}

	new offset = index;
	new result[20];
	while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
	{
		result[index - offset] = string[index];
		index++;
	}
	result[index - offset] = EOS;
	return result;
}
stock strrest(const string[], &index)
{
	new length = strlen(string);
	while ((index < length) && (string[index] <= ' '))
	{
		index++;
	}
	new offset = index;
	new result[128];
	while ((index < length) && ((index - offset) < (sizeof(result) - 1)))
	{
		result[index - offset] = string[index];
		index++;
	}
	result[index - offset] = EOS;
	return result;
}

stock TeleportPlayer(playerid, Float:x, Float:y, Float:z, Float:rot)
{
	TogglePlayerControllable(playerid, false);
	GameTextForPlayer(playerid, "~r~LOADING OBJECTS!", 2000, 4);
	SetPlayerPos(playerid, x, y, z+0.5);
	SetPlayerFacingAngle(playerid, rot);
	Streamer_UpdateEx(playerid, x, y, z+0.2);
	PlayerPlaySound(playerid,1085,0.0,0.0,0.0);
	Wait(1250);
	TogglePlayerControllable(playerid, true);
	GameTextForPlayer(playerid, "~r~OBJECTS LOADED!", 750, 4);
}

stock Wait(time)
{
    new stamp = tickcount();
	while (tickcount() - stamp < time){}
	return 1;
}
There is no errors... when i do /mn, it crashes. PLEASE HELP ME FIX THIS!! THX!!!
Reply
#2

*bump*
Reply
#3

pawn Код:
stock TeleportPlayer(playerid, Float:x, Float:y, Float:z, Float:angle)
{
    TogglePlayerControllable(playerid, false);
    GameTextForPlayer(playerid, "~r~LOADING OBJECTS!", 2000, 4);
    SetPlayerPos(playerid, x, y, z + 0.5);
    SetPlayerFacingAngle(playerid, angle);
    Streamer_UpdateEx(playerid, x, y, z + 0.2);
    PlayerPlaySound(playerid, 1085, x, y, z + 0.5);
    Wait(1250);
    TogglePlayerControllable(playerid, true);
    GameTextForPlayer(playerid, "~r~OBJECTS LOADED!", 750, 4);
    return 1;
}
i know.. didn't really do anything to the code, but idk why its crashing. maybe you have some invalid object ids at /mn or something?
Reply
#4

hmmm... i have an idea...

edit:

still doesnt work... code:

Код:
/*
Chedder's Freeroam
SCRIPTED BY: MATT
*/

//includes
#include <a_samp>
#include <streamer>

//defines
#define COLOR_GREY 			0xAFAFAFAA
#define COLOR_GREEN	 		0x33AA33AA
#define COLOR_RED 			0xFF0000AA
#define COLOR_YELLOW 		0xFFFF00AA
#define COLOR_WHITE 		0xFFFFFFAA
#define COLOR_BLUE 			0x0000FFAA
#define COLOR_BROWN 		0x993300AA
#define COLOR_ORANGE 		0xFF9933AA
#define COLOR_CYAN 			0x99FFFFAA
#define COLOR_PINK 			0xFF66FFAA
#define COLOR_BLACK 		0x2C2727AA
#define COLOR_LIGHTCYAN 	0xAAFFCC33
#define COLOR_LEMON 		0xDDDD2357
#define COLOR_AQUA 			0x7CFC00AA
#define COLOR_WHITEYELLOW 	0xFFE87DFF
#define COLOR_BLUEAQUA 		0x7E60FFFF
#define COLOR_DARKBLUE 		0x15005EFF
#define COLOR_ALIEN 		0x90FF87FF
#define COLOR_GREY 			0xAFAFAFAA
#define COLOR_GREEN 		0x33AA33AA
#define COLOR_YELLOW 		0xFFFF00AA
#define COLOR_LIGHTBLUE 	0x00D0F6AA
#define COLOR_PURPLE 		0xA600F6AA
#define COLOR_TUT 			0xF6C861AA
#define COLOR_ROYAL 		0x00C1F6AA
#define COLOR_CWHITE 		0xE0FFFFAA
#define COLOR_INVISIBLE 	0xFFFFFF00
#define PM_INCOMING_COLOR     0xFFFF22AA
#define PM_OUTGOING_COLOR     0xFFCC2299
#define ADMINFS_MESSAGE_COLOR 0xFF444499

#define MYSQL_HOST "213.5.176.155"
#define MYSQL_USER "1414_sinfo"
#define MYSQL_PASS "science1"
#define MYSQL_DB   "1414_sinfo"

//forwards
forward stuff();
forward cha();

//variables
new total_vehicles_from_files=0;
new sta, sto, o;
new h, m;
new ccar; //stores the car
new maxplayers; //Global Variable

main()
{
	print("Chedder's Freeroam Loaded!");
}

public OnGameModeInit()
{
	//gm text
	SetGameModeText("FUN");
	
	//timers
	SetTimer("stuff", 1000, true);
	SetTimer("cha", 180000, true);
	
	//classes
    AddPlayerClass(247, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(121, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(122, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(124, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(1, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(2, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(19, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(23, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(22, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(28, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(33, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(60, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(70, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(71, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(73, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(98, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(101, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(170, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(179, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(265, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(266, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(267, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(268, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(269, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(270, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(271, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(285, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(286, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(287, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(291, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(294, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(295, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    AddPlayerClass(299, 204.1289, 1934.2113, 23.2422, 185.8845, 24, 9999999, 29, 9999999, 31, 9999999); //player class
    
    //maps
    //stunt/dm area
    CreateDynamicObject(8171,2946.06250000,4109.79300000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(8171,2906.44600000,4109.79980000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(8171,2887.09640000,4109.90630000,60.48120000,0.23500000,91.31000000,359.75000000); //
	CreateDynamicObject(8171,2966.18770000,4109.60350000,60.54630000,0.23350000,89.32240000,180.05430000); //
	CreateDynamicObject(8171,2906.40380000,4248.00590000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(8171,2946.04690000,4248.01320000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(8171,2887.69900000,4248.15970000,61.00620000,359.98070000,91.30740000,359.74730000); //
	CreateDynamicObject(8171,2965.82200000,4247.45310000,60.07130000,0.23070000,89.31880000,180.29940000); //
	CreateDynamicObject(8171,2926.51830000,4316.04490000,60.02130000,0.23070000,89.31340000,270.04160000); //
	CreateDynamicObject(8171,2929.20610000,4041.45870000,60.02130000,0.23070000,89.30790000,90.18840000); //
	CreateDynamicObject(8171,2946.43970000,4248.43850000,79.39630000,0.00000000,179.19000000,0.00000000); //
	CreateDynamicObject(8171,2906.70410000,4248.43950000,78.84630000,0.00000000,179.18700000,0.00000000); //
	CreateDynamicObject(8171,2906.69870000,4110.14060000,78.84630000,0.00000000,179.18700000,0.00000000); //
	CreateDynamicObject(3110,2945.37670000,4153.69630000,38.66630000,0.00000000,0.00000000,5.95500000); //
	CreateDynamicObject(6052,2898.26490000,4199.97220000,43.41390000,0.00000000,0.00000000,29.91000000); //
	CreateDynamicObject(6052,2899.58960000,4199.04640000,43.09890000,359.57500000,177.11500000,284.28000000); //
	CreateDynamicObject(16084,2901.11160000,4133.35250000,38.49130000,1.75000000,356.03000000,15.97000000); //
	CreateDynamicObject(3663,2927.20210000,4166.16410000,43.02200000,0.00000000,0.00000000,272.21020000); //
	CreateDynamicObject(3663,2927.09010000,4170.12110000,43.02200000,0.00000000,0.00000000,92.44810000); //
	CreateDynamicObject(16084,2949.82400000,4213.45360000,37.34120000,1.74680000,356.02840000,191.41360000); //
	CreateDynamicObject(3269,2905.70340000,4160.45210000,40.94130000,0.00000000,0.00000000,57.83500000); //
	CreateDynamicObject(12934,2973.66480000,4161.07030000,44.32450000,0.00000000,0.00000000,48.13010000); //
	CreateDynamicObject(18260,2940.88550000,4118.32670000,42.51450000,0.00000000,0.00000000,190.51060000); //
	CreateDynamicObject(2932,2916.14720000,4044.91360000,42.39320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2932,2930.34400000,4044.75320000,42.39320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2932,2930.29150000,4054.10820000,42.39320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2932,2915.98490000,4053.45190000,42.39320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2932,2925.52510000,4061.88210000,42.39320000,0.00000000,0.00000000,90.50780000); //
	CreateDynamicObject(2932,2918.37650000,4061.83150000,42.39320000,0.00000000,0.00000000,90.50540000); //
	CreateDynamicObject(2973,2929.52780000,4071.76220000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2973,2933.32540000,4074.29470000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2973,2931.36430000,4073.22070000,43.36620000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2973,2934.25490000,4076.82980000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2973,2924.28590000,4078.36430000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2973,2920.91310000,4079.65770000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2973,2922.54640000,4079.27980000,43.39130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2973,2914.60400000,4077.24120000,40.87630000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2975,2912.04980000,4076.43430000,40.94130000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2975,2912.04980000,4076.43360000,42.16630000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2975,2909.86350000,4076.17750000,42.16630000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2975,2909.88330000,4076.22660000,41.16630000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2991,2921.75100000,4103.86470000,41.56900000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2991,2921.77440000,4103.87260000,42.76900000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2991,2921.77440000,4103.87210000,43.91910000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2934,2935.04130000,4312.36180000,42.39320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2934,2935.00220000,4303.64360000,42.39320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2934,2920.74730000,4312.17290000,42.39320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2934,2920.51900000,4302.85790000,42.39320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2934,2922.31620000,4295.38570000,42.39320000,0.00000000,0.00000000,89.51010000); //
	CreateDynamicObject(2934,2933.41460000,4295.36230000,42.39320000,0.00000000,0.00000000,90.00570000); //
	CreateDynamicObject(2934,2926.83840000,4295.34720000,42.39320000,0.00000000,0.00000000,89.50560000); //
	CreateDynamicObject(2974,2913.12330000,4281.42040000,40.94130000,0.00000000,0.00000000,119.64000000); //
	CreateDynamicObject(2974,2915.38260000,4280.46780000,40.94130000,0.00000000,0.00000000,181.64550000); //
	CreateDynamicObject(2974,2918.62960000,4280.66850000,40.94130000,0.00000000,0.00000000,269.38750000); //
	CreateDynamicObject(2974,2927.03980000,4279.25680000,40.94130000,0.00000000,0.00000000,253.36980000); //
	CreateDynamicObject(2974,2929.80490000,4279.11470000,40.94130000,0.00000000,0.00000000,279.35440000); //
	CreateDynamicObject(2974,2928.86060000,4277.56880000,40.94130000,0.00000000,0.00000000,278.09940000); //
	CreateDynamicObject(2974,2926.57790000,4277.27150000,40.94130000,0.00000000,0.00000000,278.09690000); //
	CreateDynamicObject(2974,2928.16380000,4277.40580000,43.76630000,0.00000000,0.00000000,278.09690000); //
	CreateDynamicObject(2974,2924.77440000,4278.59130000,40.94130000,0.00000000,0.00000000,340.59640000); //
	CreateDynamicObject(3378,2946.09640000,4280.75830000,42.11120000,0.00000000,0.00000000,304.19520000); //
	CreateDynamicObject(3378,2946.09570000,4280.75780000,44.35120000,0.00000000,0.00000000,304.19490000); //
	CreateDynamicObject(3585,2908.15600000,4065.14720000,42.57110000,0.00000000,0.00000000,47.86500000); //
	CreateDynamicObject(3585,2906.33030000,4066.78690000,42.57110000,0.00000000,0.00000000,47.86190000); //
	CreateDynamicObject(3585,2904.68260000,4068.47340000,42.57110000,0.00000000,0.00000000,39.92190000); //
	CreateDynamicObject(3585,2903.34720000,4070.28610000,42.57110000,0.00000000,0.00000000,33.96390000); //
	CreateDynamicObject(3585,2902.28250000,4072.23510000,42.57110000,0.00000000,0.00000000,20.84380000); //
	CreateDynamicObject(3585,2901.71780000,4074.33940000,42.54610000,0.00000000,0.00000000,6.94610000); //
	CreateDynamicObject(3585,2901.50100000,4076.65430000,42.52110000,0.00000000,0.00000000,2.97340000); //
	CreateDynamicObject(2991,2950.15310000,4094.42870000,41.56900000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2991,2950.15230000,4094.42870000,42.81900000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2991,2950.15230000,4094.42870000,44.06900000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2991,2954.30760000,4093.26320000,41.56900000,0.00000000,0.00000000,328.10510000); //
	CreateDynamicObject(2991,2954.32130000,4093.28370000,42.81900000,0.00000000,0.00000000,328.10120000); //
	CreateDynamicObject(2991,2954.32130000,4093.28320000,44.06890000,0.00000000,0.00000000,328.10120000); //
	CreateDynamicObject(2991,2942.96120000,4095.07450000,41.54390000,0.00000000,0.00000000,328.10120000); //
	CreateDynamicObject(2991,2942.96090000,4095.07420000,42.76890000,0.00000000,0.00000000,328.10120000); //
	CreateDynamicObject(2991,2942.96090000,4095.07420000,43.89390000,0.00000000,0.00000000,328.10120000); //
	CreateDynamicObject(2991,2946.38230000,4094.33250000,45.21900000,359.25000000,358.01500000,4.01110000); //
	CreateDynamicObject(16301,2914.83370000,4120.49170000,45.10910000,0.00000000,0.00000000,71.77500000); //
	CreateDynamicObject(16311,2930.91190000,4148.03610000,52.36430000,0.00000000,0.00000000,45.89500000); //
	CreateDynamicObject(16311,2953.02880000,4188.86770000,52.23930000,0.00000000,0.00000000,256.50990000); //
	CreateDynamicObject(16301,2952.84060000,4220.38130000,44.20920000,358.75000000,358.01500000,282.22390000); //
	CreateDynamicObject(3865,2907.06010000,4280.12650000,42.87520000,0.00000000,0.00000000,131.59500000); //
	CreateDynamicObject(3865,2900.97750000,4273.82230000,42.87520000,0.00000000,0.00000000,141.56420000); //
	CreateDynamicObject(3865,2897.59740000,4266.81450000,42.87520000,0.00000000,0.00000000,171.46880000); //
	CreateDynamicObject(3865,2896.89990000,4258.40380000,42.87520000,0.00000000,0.00000000,181.43360000); //
	CreateDynamicObject(3865,2897.03370000,4250.61280000,42.87520000,0.00000000,0.00000000,181.42820000); //
	CreateDynamicObject(3865,2897.15700000,4241.43700000,42.87520000,0.00000000,0.00000000,181.42820000); //
	CreateDynamicObject(3865,2897.26050000,4232.43850000,42.87520000,0.00000000,0.00000000,181.42820000); //
	CreateDynamicObject(3865,2897.38960000,4223.48390000,42.87520000,0.00000000,0.00000000,181.42820000); //
	CreateDynamicObject(3865,2897.31270000,4210.81100000,43.55020000,14.67500000,0.00000000,181.42820000); //
	CreateDynamicObject(3865,2897.37820000,4202.75440000,46.67520000,27.83220000,0.00000000,181.42270000); //
	CreateDynamicObject(3865,2897.46240000,4195.06150000,50.75020000,27.82840000,0.00000000,181.42270000); //
	CreateDynamicObject(3865,2897.54080000,4187.73000000,55.55010000,37.76840000,0.00000000,181.42270000); //
	CreateDynamicObject(3865,2897.46510000,4180.37110000,60.92520000,34.54550000,0.00000000,179.42270000); //
	CreateDynamicObject(3865,2897.18630000,4171.48050000,64.10020000,4.76600000,0.00000000,178.41770000); //
	CreateDynamicObject(3675,2964.68090000,4127.90970000,47.77250000,0.00000000,0.00000000,270.27030000); //
	CreateDynamicObject(3214,2897.42160000,4162.36870000,56.38100000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3214,2897.31640000,4154.23680000,56.38100000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3269,2896.87990000,4150.00880000,42.34130000,0.00000000,0.00000000,348.04200000); //
	CreateDynamicObject(3865,2898.08130000,4146.14890000,64.10020000,4.76260000,0.00000000,359.81230000); //
	CreateDynamicObject(3865,2897.97310000,4137.14700000,62.72510000,12.70260000,0.00000000,359.80770000); //
	CreateDynamicObject(3865,2897.81880000,4128.40480000,60.57510000,14.68520000,0.00000000,359.80220000); //
	CreateDynamicObject(3865,2897.99340000,4119.88230000,57.80000000,20.93320000,0.00000000,3.77220000); //
	CreateDynamicObject(3865,2898.41430000,4111.44780000,54.55000000,20.92900000,0.00000000,3.76830000); //
	CreateDynamicObject(3865,2898.82350000,4103.23880000,51.15000000,23.17900000,0.00000000,3.76830000); //
	CreateDynamicObject(3865,2899.28030000,4094.74630000,47.50000000,23.17570000,0.00000000,3.76280000); //
	CreateDynamicObject(3865,2899.80130000,4087.62450000,45.12490000,14.97060000,0.00000000,5.74780000); //
	CreateDynamicObject(3865,2900.80420000,4081.61890000,43.90000000,9.98390000,0.00000000,11.49580000); //
	CreateDynamicObject(3406,2962.16060000,4124.81350000,47.01200000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3406,2951.80490000,4123.26030000,47.01200000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(12934,2937.20390000,4098.43310000,44.32450000,0.00000000,0.00000000,199.40000000); //
	CreateDynamicObject(925,2961.77560000,4241.96830000,42.00320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(925,2959.45000000,4241.99270000,42.00320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(925,2957.12600000,4242.09280000,42.00320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(925,2953.72900000,4242.23930000,42.00320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(925,2951.33350000,4243.01420000,42.00320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(925,2951.28440000,4242.98970000,44.05320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(925,2953.72850000,4242.23930000,44.10320000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(1348,2946.27930000,4246.03810000,41.64380000,0.00000000,0.00000000,139.58000000); //
	CreateDynamicObject(964,2953.74170000,4242.23290000,45.17400000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3566,2949.36160000,4258.57180000,43.55490000,0.00000000,0.00000000,49.85000000); //
	CreateDynamicObject(3566,2936.52390000,4250.12110000,43.55490000,0.00000000,0.00000000,119.63500000); //
	CreateDynamicObject(3566,2912.64870000,4244.34280000,43.55490000,0.00000000,0.00000000,229.30010000); //
	CreateDynamicObject(3761,2932.25220000,4188.73140000,42.94020000,0.00000000,0.00000000,55.89500000); //
	CreateDynamicObject(3761,2926.28150000,4193.40090000,42.94020000,0.00000000,0.00000000,135.65300000); //
	CreateDynamicObject(3761,2935.11300000,4197.82280000,42.94020000,0.00000000,0.00000000,185.49840000); //
	CreateDynamicObject(3761,2921.31030000,4200.08150000,42.94020000,0.00000000,0.00000000,125.67320000); //
	CreateDynamicObject(3761,2917.04860000,4192.96090000,42.94020000,0.00000000,0.00000000,215.40270000); //
	CreateDynamicObject(2395,2925.35890000,4167.78710000,71.99620000,270.67490000,0.00000000,359.00000000); //
	CreateDynamicObject(8171,2946.46800000,4110.15430000,79.42130000,0.00000000,179.18700000,0.00000000); //
	CreateDynamicObject(2395,2925.31470000,4165.07370000,71.97120000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2925.27150000,4162.35840000,71.94620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2928.97630000,4162.28660000,71.94620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2929.01120000,4165.03710000,71.97120000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2929.07520000,4167.72900000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2925.40060000,4170.55520000,71.84620000,90.28510000,0.00000000,358.47970000); //
	CreateDynamicObject(2395,2929.12400000,4170.47750000,71.84620000,90.28020000,0.00000000,358.97840000); //
	CreateDynamicObject(2395,2929.10770000,4167.80220000,71.84620000,90.28020000,0.00000000,358.97830000); //
	CreateDynamicObject(2395,2929.06050000,4165.12110000,71.82120000,90.28020000,0.00000000,358.97830000); //
	CreateDynamicObject(2395,2925.35180000,4167.86280000,71.82120000,90.28020000,0.00000000,358.97830000); //
	CreateDynamicObject(2395,2925.32300000,4165.15230000,71.82120000,90.28020000,0.00000000,358.97830000); //
	CreateDynamicObject(987,2924.93650000,4162.58450000,71.79270000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(987,2925.09720000,4174.11180000,71.86770000,0.00000000,0.00000000,270.27030000); //
	CreateDynamicObject(987,2936.60130000,4174.04200000,71.86770000,0.00000000,0.00000000,180.53920000); //
	CreateDynamicObject(987,2936.71020000,4162.23930000,71.86770000,0.00000000,0.00000000,90.80840000); //
	CreateDynamicObject(2395,2925.39770000,4170.51760000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2925.43260000,4171.64790000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2929.15500000,4171.51860000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2929.12600000,4169.98780000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2932.84570000,4171.43750000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2932.83790000,4168.73050000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2932.74680000,4166.04050000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2932.68550000,4163.28320000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2932.67090000,4162.20460000,71.99620000,270.67020000,0.00000000,358.99480000); //
	CreateDynamicObject(2395,2937.36820000,4162.57520000,71.97120000,270.67020000,0.00000000,88.73970000); //
	CreateDynamicObject(2395,2937.35820000,4166.26560000,71.97120000,270.66470000,0.00000000,88.73660000); //
	CreateDynamicObject(2395,2937.36620000,4169.92630000,71.97120000,270.66470000,0.00000000,88.73660000); //
	CreateDynamicObject(2395,2937.50390000,4170.86870000,71.97120000,270.66470000,0.00000000,88.73660000); //
	CreateDynamicObject(2395,2925.49630000,4173.22950000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2925.47050000,4174.10400000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2929.19730000,4174.05860000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2929.20310000,4173.00930000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2932.92820000,4173.96730000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2932.88310000,4171.24410000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2932.83670000,4168.57130000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2932.81320000,4165.94780000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2932.83150000,4165.29980000,71.84620000,90.28020000,0.00000000,358.47840000); //
	CreateDynamicObject(2395,2934.01900000,4163.13090000,71.84620000,90.28020000,354.04500000,93.80270000); //
	CreateDynamicObject(2395,2933.98780000,4166.73290000,71.84620000,90.28020000,356.02490000,93.80130000); //
	CreateDynamicObject(2395,2933.88040000,4170.38280000,71.84620000,90.28020000,356.02290000,93.80130000); //
	CreateDynamicObject(987,2936.60350000,4174.43020000,76.59270000,0.00000000,0.00000000,180.53830000); //
	CreateDynamicObject(987,2937.13620000,4162.22310000,76.69270000,0.00000000,0.00000000,90.80750000); //
	CreateDynamicObject(987,2924.93650000,4162.18460000,76.69270000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(987,2924.62350000,4174.11130000,76.79270000,0.00000000,0.00000000,270.26920000); //
	CreateDynamicObject(1472,2908.95970000,4064.42040000,41.35640000,0.00000000,0.00000000,48.60000000); //
	//train crash
	CreateDynamicObject(3585,2822.31543000,1711.74597200,11.45019900,0.00000000,0.00000000,292.50000000); //
	CreateDynamicObject(3585,2820.35620100,1721.25659200,11.45020200,342.81130000,0.00000000,269.14060000); //
	CreateDynamicObject(3564,2811.96044900,1735.43896500,11.55020000,96.25690000,26.64250000,33.75000000); //
	CreateDynamicObject(3525,2812.31372100,1733.50048800,11.86219700,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3525,2811.67431600,1735.04882800,11.99707100,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3525,2813.62109400,1734.64306600,9.07204700,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3525,2810.37597700,1732.25732400,11.73996400,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2812.87353500,1734.38293500,11.14099600,344.53010000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2813.31225600,1737.01977500,11.38714800,344.53010000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2813.25390600,1736.86169400,11.11546800,22.34540000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2811.47851600,1737.05419900,8.39532400,22.34540000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2812.23950200,1739.08557100,8.59844900,22.34540000,0.00000000,0.00000000); //
	CreateDynamicObject(3585,2810.65039100,1744.81127900,11.15020600,279.21300000,0.00000000,122.89060000); //
	CreateDynamicObject(3461,2809.33276400,1733.30432100,8.14150700,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2813.45507800,1742.49963400,7.90311300,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2811.72387700,1742.46154800,10.80814700,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2809.16430700,1746.32519500,10.77621200,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2809.78784200,1747.74536100,10.83833300,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2809.30761700,1744.75476100,8.04532400,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2808.82568400,1746.01171900,10.59532500,43.83130000,0.00000000,0.00000000); //
	CreateDynamicObject(3564,2823.35913100,1731.39013700,11.45020100,42.11240000,0.00000000,225.00000000); //
	CreateDynamicObject(3461,2811.41650400,1739.64367700,8.09534000,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2812.99829100,1739.28210400,8.08507300,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2810.30346700,1741.43676800,8.25627100,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2811.43652300,1742.34314000,11.85187100,77.34920000,0.00000000,46.40950000); //
	CreateDynamicObject(3461,2821.35131800,1723.97021500,11.39532400,77.34920000,0.00000000,12.65960000); //
	CreateDynamicObject(3461,2810.71240200,1733.48974600,11.52965100,77.34920000,0.00000000,181.40960000); //
	CreateDynamicObject(3461,2809.57031300,1748.73535200,8.18866800,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2811.53564500,1745.88366700,8.31717800,20.62650000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2814.23217800,1738.07788100,9.11729600,71.33320000,0.00000000,0.00000000); //
	CreateDynamicObject(3633,2821.63085900,1714.30688500,11.14388300,0.00000000,0.00000000,22.50000000); //
	CreateDynamicObject(1217,2810.22924800,1737.33960000,10.24169300,108.28890000,0.00000000,236.25010000); //
	CreateDynamicObject(1217,2813.30200200,1740.74255400,10.06669500,108.28890000,0.00000000,101.25000000); //
	CreateDynamicObject(1217,2808.94458000,1745.16394000,10.67670800,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(1217,2809.01318400,1745.23181200,11.93016600,121.18050000,0.00000000,0.00000000); //
	CreateDynamicObject(1217,2815.63476600,1733.44824200,10.06669500,81.64640000,0.00000000,281.25000000); //
	CreateDynamicObject(1222,2810.90991200,1738.84362800,10.30417000,100.55400000,0.00000000,315.00000000); //
	CreateDynamicObject(1222,2811.58691400,1739.51220700,10.29638000,131.49380000,0.00000000,228.28330000); //
	CreateDynamicObject(1222,2811.86108400,1745.64685100,10.41198700,207.98430000,0.00000000,127.03330000); //
	CreateDynamicObject(1222,2811.93920900,1746.54223600,10.19726800,290.48980000,0.00000000,177.74030000); //
	CreateDynamicObject(1222,2814.74780300,1733.79907200,10.27138000,290.48980000,0.00000000,177.74030000); //
	CreateDynamicObject(1222,2815.61767600,1734.08532700,10.20417100,341.19600000,339.37350000,142.50320000); //
	CreateDynamicObject(1217,2819.84326200,1732.62097200,10.24169300,92.81910000,0.00000000,168.75000000); //
	CreateDynamicObject(1217,2820.20825200,1732.85839800,10.73525500,135.79110000,0.00000000,90.00000000); //
	CreateDynamicObject(3461,2824.06372100,1731.75024400,11.16898200,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2820.67871100,1729.88317900,10.93920300,357.42170000,332.49800000,0.00000000); //
	CreateDynamicObject(3461,2820.27246100,1724.49426300,11.30682900,357.42170000,332.49800000,0.00000000); //
	CreateDynamicObject(3461,2825.46411100,1733.74426300,11.83705100,357.42170000,332.49800000,236.25010000); //
	CreateDynamicObject(1222,2821.71777300,1720.87756300,10.29638000,341.19600000,339.37350000,30.00320000); //
	CreateDynamicObject(1222,2822.86181600,1722.59057600,10.29638000,268.14390000,339.37350000,345.00310000); //
	CreateDynamicObject(1217,2822.77417000,1723.56140100,10.13338900,0.00000000,0.00000000,337.50000000); //
	CreateDynamicObject(1217,2821.33447300,1711.96142600,11.09046100,0.00000000,0.00000000,348.75000000); //
	CreateDynamicObject(1217,2821.62329100,1711.18176300,11.12633800,0.00000000,0.00000000,348.75000000); //
	CreateDynamicObject(1217,2821.34521500,1711.98681600,12.11996600,0.00000000,0.00000000,348.75000000); //
	CreateDynamicObject(1222,2821.62085000,1711.19897500,12.30295500,0.00000000,0.00000000,350.46880000); //
	CreateDynamicObject(1222,2822.27392600,1711.48291000,11.14514800,0.00000000,0.00000000,350.46880000); //
	CreateDynamicObject(1222,2823.13378900,1711.75732400,11.14514800,0.00000000,0.00000000,350.46880000); //
	CreateDynamicObject(1222,2823.15918000,1711.75378400,12.19415800,0.00000000,0.00000000,350.46880000); //
	CreateDynamicObject(1217,2822.91650400,1712.46765100,11.09046100,0.00000000,0.00000000,348.75000000); //
	CreateDynamicObject(1217,2822.87182600,1712.46801800,12.19167400,0.00000000,0.00000000,348.75000000); //
	CreateDynamicObject(1217,2819.20678700,1715.93127400,10.24169300,94.53800000,0.00000000,157.50000000); //
	CreateDynamicObject(1217,2822.64013700,1716.28735400,10.24169300,24.92370000,0.00000000,270.00000000); //
	CreateDynamicObject(1222,2823.48242200,1728.05590800,10.29638000,268.14390000,339.37350000,255.00320000); //
	CreateDynamicObject(1228,2824.16284200,1706.77734400,10.24144100,0.00000000,0.00000000,292.50000000); //
	CreateDynamicObject(1228,2826.79443400,1731.40319800,10.24144100,12.03210000,70.47380000,281.25000000); //
	CreateDynamicObject(1228,2811.42187500,1730.51171900,10.24144100,358.28110000,107.42950000,146.25000000); //
	CreateDynamicObject(1228,2814.10107400,1739.78308100,10.24144100,358.28110000,107.42950000,168.75000000); //
	CreateDynamicObject(1282,2820.86547900,1716.10083000,10.50912900,74.77090000,91.10020000,292.50000000); //
	CreateDynamicObject(2780,2815.12841800,1731.54870600,1.45312300,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2780,2820.09912100,1718.61645500,3.07031300,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(3461,2822.64746100,1723.52966300,8.80277800,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(16444,2816.23803700,1736.60351600,10.17443800,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(16444,2817.17846700,1720.67688000,10.17443800,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2905,2813.49243200,1734.41125500,9.91955100,0.00000000,0.00000000,303.75000000); //
	CreateDynamicObject(2907,2820.34472700,1732.27294900,9.98034900,0.00000000,0.00000000,315.00000000); //
	CreateDynamicObject(2908,2811.35376000,1740.17407200,10.00486300,0.00000000,0.00000000,123.75000000); //
	CreateDynamicObject(2906,2822.61718800,1721.34912100,9.89432500,0.00000000,0.00000000,292.50000000); //
	CreateDynamicObject(2905,2821.62695300,1721.99487300,9.91176100,0.00000000,0.00000000,337.50000000); //
	CreateDynamicObject(2905,2821.21972700,1716.33276400,9.91176100,0.00000000,0.00000000,191.25010000); //
	CreateDynamicObject(2908,2821.86743200,1723.07434100,9.89773300,0.00000000,0.00000000,213.75000000); //
	CreateDynamicObject(2907,2822.83471700,1724.22546400,9.98034900,0.00000000,0.00000000,247.50000000); //
	CreateDynamicObject(2907,2814.34838900,1739.43249500,9.97301500,0.00000000,0.00000000,348.75000000); //
	CreateDynamicObject(2905,2814.18579100,1736.20275900,9.91955100,0.00000000,0.00000000,337.50000000); //
	CreateDynamicObject(2908,2810.14038100,1741.93737800,9.89773300,0.00000000,0.00000000,0.00000000); //
	CreateDynamicObject(2907,2812.19482400,1745.81909200,9.98034900,0.00000000,0.00000000,0.00000000); //
	printf("%d dynamic objects created!", CountDynamicObjects());
    //maps
    
    //streamer stuffs
    Streamer_TickRate(55);
    Streamer_MaxItems(STREAMER_TYPE_OBJECT, 1000);
    Streamer_VisibleItems(STREAMER_TYPE_OBJECT, 400);
    
    //npc's
    ConnectNPC("Dave","Dave");
    ConnectNPC("Nick","Nick");
    
 	//other
	UsePlayerPedAnims();
	ShowPlayerMarkers(PLAYER_MARKERS_MODE_GLOBAL);
	ShowNameTags(1);
	SetNameTagDrawDistance(40.0);
	EnableStuntBonusForAll(1);
	DisableInteriorEnterExits();
	
	// 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");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/flint.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/tierra.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/red_county.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/stunt.txt");

    printf("Total vehicles from files: %d",total_vehicles_from_files);

	//licence plates
	for(new vid=0; vid<MAX_VEHICLES;vid++)
	{
		new numplate_test[32+1];
		format(numplate_test,32,"CFR{FF0000}%d",vid);
		SetVehicleNumberPlate(vid, numplate_test);
	}
	
 	//ccar
    ccar = AddStaticVehicle(562,2915.7688,1701.6259,9.1188,103.5196,122,1); // ccar
	for(new i=0; i<MAX_VEHICLES; i++)  //loop
    {
        if(i == ccar) //if i == ccar
        {
            SetVehicleNumberPlate(i, "CCAR"); //sets the cars number plate
            SetVehicleToRespawn(i); //respawns it (VERY IMPORTANT!!!)
        }
	}

	//rcon commands
	SendRconCommand("mapname PARTY");
	SendRconCommand("reloadfs ls_elevator");
	SendRconCommand("gravity 0.0075");
	
	//weather
	ChangeWeather();
	
	//time
	UpdateTime();

    //mount nipplez
   	CreateObject(18752, 6.4429, 1973.8485, 15.6406, 0,0,0, 500);
	Create3DTextLabel( "MOUNT NIPPLEZ", 0x33AA33AA, 27.1356, 1957.3918, 77.0658, 400.0, 0, 0 );

	//timekeeper
	sta = GetTickCount();
	return 1;
}
public OnGameModeExit()
{
	DestroyVehicle(ccar); //destroys the car
	DestroyAllDynamicObjects();
	DestroyAllObjects();
 
	//timekeeper
	sto = GetTickCount();
	o = sto - sta;
	printf("Server online for: %s", ConvertMsToTime(o));
	print("Chedder's Freeroam Unloaded. :(");
	return 1;
}
public OnPlayerConnect(playerid)
{
	SendConnectMessage(playerid);
	SendClientMessage(playerid, COLOR_RED, "Hello and welcome to Chedder's Freeroam!");
	SendClientMessage(playerid, COLOR_RED, "Please use /help and /rules!!! THX!");
	SendClientMessage(playerid, COLOR_RED, "Also, please know that this server is only like... %%2 done. Maybe.");
	SendClientMessage(playerid, COLOR_RED, "THANKS! HAVE A NICE STAY!!!");
	SetPlayerMapIcon(playerid,49,822.6,-1590.3,13.5,7,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,50,-2570.1,245.4,10.3,7,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,51,2726.6,-2026.4,17.5,7,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,52,2080.3,2119.0,10.8,7,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,53,675.7,-496.6,16.8,7,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,54,-1805.7,943.2,24.8,29,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,55,2750.9,2470.9,11.0,29,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,56,2351.8,2529.0,10.8,29,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,57,2635.5,1847.4,11.0,29,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,58,2083.4,2221.0,11.0,29,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,59,-1719.1,1359.4,8.6,29,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,60,2330.2,75.2,31.0,29,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,61,203.2,-200.4,6.5,29,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,62,812.9,-1616.1,13.6,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,63,1199.1,-924.0,43.3,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,64,2362.2,2069.9,10.8,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,65,2469.5,2033.8,10.8,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,66,2172.9,2795.7,10.8,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,67,1875.3,2072.0,10.8,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,68,1161.5,2072.0,10.8,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,69,-2356.0,1009.0,49.0,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,70,-1913.3,826.2,36.9,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,71,-2335.6,-165.6,39.5,10,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,72,2397.8,-1895.6,13.7,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,73,2421.6,-1509.6,24.1,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,74,-2671.6,257.4,4.6,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,75,2392.4,2046.5,10.8,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,76,2844.5,2401.1,11.0,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,77,2635.5,1674.3,11.0,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,78,2105.7,2228.7,11.0,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,79,-2154.0,-2461.2,30.8,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,80,-1816.2,620.8,37.5,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,81,-1216.0,1831.4,45.3,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,82,172.73,1176.76,13.7,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,83,932.0,-1353.0,14.0,14,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,84,1971.7,-2036.6,13.5,39,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,85,2071.6,-1779.9,13.5,39,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,86,2094.6,2119.0,10.8,39,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,87,-2490.5,-40.1,39.3,39,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,88,1372.9,-1278.8,12.5,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,89,2400.5,-1978.4,13.5,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,90,-2626.6,209.4,4.9,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,91,2535.9,2083.5,10.8,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,92,2156.5,943.2,10.8,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,93,779.7,1874.3,4.9,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,94,-2092.7,-2463.8,30.6,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,95,240.0,-178.2,2.0,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,96,-1509.4,2611.8,58.5,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,97,-315.67,829.87,13.43,6,0,MAPICON_LOCAL);
	SetPlayerMapIcon(playerid,98,2332.9,63.6,31.0,6,0,MAPICON_LOCAL);
	if(playerid > maxplayers-1) maxplayers = playerid+1; //Getting the maximum playerid
	UpdateTime();
	return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
	SendDisconnectMessage(playerid, reason);
	if(playerid == maxplayers+1) for(new i=0;i<maxplayers;i++) if(IsPlayerConnected(i)) maxplayers = i+1; //Getting the minimum playerid
	return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
	SetupPlayerForClassSelection(playerid);
	UpdateTime();
	return 1;
}
public OnPlayerSpawn(playerid)
{
	new n[24];
	if(IsPlayerNPC(playerid))
	{
		if(strcmp(n, "Nick", false) == 0 || strcmp(n, "Dave", false) == 0)
		{
		    SetPlayerColor(playerid, COLOR_RED);
		    SetSpawnInfo(playerid, 0, 299, 0, 0, 10, 0, -1, -1, -1, -1, -1, -1);
		}
	}
	else
	{
		SpawnPlayerEx(playerid);
		UpdateTime();
	}
	return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
	SendDeathMessage(killerid, playerid, reason);
	GivePlayerMoney(playerid, -50);
	GivePlayerMoney(killerid, 50);
	SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
	return 1;
}
public OnPlayerText(playerid, text[])
{
    if((GetTickCount() - GetPVarInt(playerid, "AntiSpam")) > 1000)
	{
	    new result[128];
        for(new a; a < strlen(text); a++)
        {
			result[a] = text[a];
        }
        
        for(new i = 0, j = strlen(result); i < j; i++)
		{
			if('0' <= result[i] <= '9')
			{
				result[i] = '*';
			}
		}
	    SetPVarInt(playerid, "AntiSpam", GetTickCount());
		new string[128], name[MAX_PLAYER_NAME];
		GetPlayerName(playerid, name, sizeof(name));
		format(string, sizeof(string), "%s (%i): %s", name, playerid, result);
		SendClientMessageToAll(-1, string);
	}
	else
	{
		SendClientMessage(playerid, COLOR_RED, "You must wait at least 1 second before using the chat again.");
	}
	return 0;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
    new pName[MAX_PLAYER_NAME+1];
    new iName[MAX_PLAYER_NAME+1];
   	new cmd[256];
	new	tmp[256];
	new Message[256];
	new gMessage[256];
	new	idx;
	cmd = strtok(cmdtext, idx);

	// PM Command
	if(strcmp("/pm", cmd, true) == 0)
	{
		tmp = strtok(cmdtext,idx);

		if(!strlen(tmp) || strlen(tmp) > 5) {
			SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /pm (id) (message)");
			return 1;
		}

		new id = strval(tmp);
        gMessage = strrest(cmdtext,idx);

		if(!strlen(gMessage)) {
			SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /pm (id) (message)");
			return 1;
		}

		if(!IsPlayerConnected(id)) {
			SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/pm : Bad player ID");
			return 1;
		}

		if(playerid != id) {
			GetPlayerName(id,iName,sizeof(iName));
			GetPlayerName(playerid,pName,sizeof(pName));
			format(Message,sizeof(Message),">> %s(%d): %s",iName,id,gMessage);
			SendClientMessage(playerid,PM_OUTGOING_COLOR,Message);
			format(Message,sizeof(Message),"** %s(%d): %s",pName,playerid,gMessage);
			SendClientMessage(id,PM_INCOMING_COLOR,Message);
			PlayerPlaySound(id,1085,0.0,0.0,0.0);
		}
		else {
			SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"You cannot PM yourself");
		}
		return 1;
	}
	
	//commands
	if (strcmp("/kill", cmdtext, true, 10) == 0) //gets the command
	{
		SendClientMessage(playerid, COLOR_RED, "You commited suicide!"); //sends the message
		SetPlayerHealth(playerid, 0); //kills the player
		return 1;
	}
	if (strcmp("/help", cmdtext, true, 10) == 0) //gets the command
	{
    	ShowPlayerDialog(playerid, 2, DIALOG_STYLE_MSGBOX, "~~~HELP~~~", "Commands: /kill, /pm, /teles, /help, /para, /me, /ccar, /rules\nSpeedBoost: Press the fire key (alt preferably) to boost your vehicles speed.", "OK", "Cancel"); //sends the dialog
    	return 1;
	}
	if (strcmp("/rules", cmdtext, true, 10) == 0) //gets the command
	{
    	ShowPlayerDialog(playerid, 2, DIALOG_STYLE_MSGBOX, "~~~RULES~~~", "Rules:\n1) No spawnkill\n2) No Hacks\n3) No Cheats\n4) No being an asshole!\n5) Have Fun!", "OK", "Cancel"); //sends the dialog
    	return 1;
	}
	if (strcmp("/ccar", cmdtext, true, 10) == 0) //gets the command
	{
    	ShowPlayerDialog(playerid, 2, DIALOG_STYLE_MSGBOX, "~~~CCAR~~~", "ChaseCar: The chasecar is basically just a car to chase. If you are in it, you get $200 a second! FIND IT. TAKE IT. DONT LOSE IT!", "OK", "Cancel"); //sends the dialog
    	return 1;
	}
	if(!strcmp(cmdtext, "/me", true, 3)) //gets the command
	{
        if(!cmdtext[3])return SendClientMessage(playerid, COLOR_RED, "USAGE: /me <action>"); //tells you if the command is typed wrong
		new str[128]; //defings str
		GetPlayerName(playerid, str, sizeof(str)); //gets player name
		format(str, sizeof(str), "* %s %s", str, cmdtext[4]); //formats the message
		SendClientMessageToAll(COLOR_BLUE, str); //sends the message
		return 1;
	}
	if (strcmp("/para", cmdtext, true, 10) == 0) //gets the command
	{
		SendClientMessage(playerid, COLOR_RED, "You are parachuting!"); //sends the message
    	GivePlayerWeapon(playerid, 46, 1); //sets the players weapon to parachute
		new Float:x, Float:y, Float:z; //defines float x, y, and z
		GetPlayerPos(playerid, x, y, z); //gets the players position
		SetPlayerArmedWeapon(playerid, 46);
		TeleportPlayer(playerid, x, y, z+750, 0);
		return 1;
	}
	if (strcmp("/teles", cmdtext, true, 10) == 0) //gets the command
	{
    	ShowPlayerDialog(playerid, 2, DIALOG_STYLE_MSGBOX, "~~~TELES~~~", "Teleports: /lso, /aa, /ufo, /mn,\n/grove, /lva, /lsa, /bsat", "OK", "Cancel"); //sends the dialog
    	return 1;
	}

	//teles
	if (strcmp("/aa", cmdtext, true, 10) == 0)
	{
		TeleportPlayer(playerid,395.4505,2530.4795,16.5437,0);
		return 1;
	}
	if (strcmp("/bsat", cmdtext, true, 10) == 0)
	{
		TeleportPlayer(playerid,-291.3539,1554.9836,75.3594,0);
		return 1;
	}
	if (strcmp("/lva", cmdtext, true, 10) == 0)
	{
		TeleportPlayer(playerid,1690.8317,1450.6515,10.7660,0);
		return 1;
	}
	if (strcmp("/mn", cmdtext, true, 10) == 0)
	{
		TeleportPlayer(playerid,27.7216,1957.5503,77.5,0);
		return 1;
	}
	if (strcmp("/lsa", cmdtext, true, 10) == 0)
	{
		TeleportPlayer(playerid,1715.2501,-2200.4954,13.5469,0);
		return 1;
	}
	if (strcmp("/grove", cmdtext, true, 10) == 0)
	{
		TeleportPlayer(playerid,2493.7202,-1670.4781,13.3359,0);
		return 1;
 	}
	if (strcmp("/ufo", cmdtext, true, 10) == 0)
	{
		TeleportPlayer(playerid,-83.1667,1374.1985,10.2734,0);
		return 1;
	}
	if(strcmp("/lso", cmdtext, true, 10) == 0)
	{
	    TeleportPlayer(playerid,1786.9503,-1295.8320,13.4406,358.7843);
	    return 1;
	}
	
	//rcon commands
	if (strcmp("/gotoccar", cmdtext, true, 10) == 0 && IsPlayerAdmin(playerid)) //gets the command
	{
	    new Float:x, Float:y, Float:z;
		GetVehiclePos(ccar, x, y, z);
		TeleportPlayer(playerid,x,y,z+4.0,0);
		return 1;
	}
	return 0;
}
public OnPlayerUpdate(playerid)
{
	if(!IsPlayerConnected(playerid)) return 0;
	if(IsPlayerNPC(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;
	}
	return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	if(vehicleid == ccar) //if vehicleid == ccar
	{
        new name[MAX_PLAYER_NAME], string[44]; //defines name and string
    	GetPlayerName(playerid, name, sizeof(name)); //gets the players name
    	format(string, sizeof(string), "%s has taken the ChaseCar!",name); //formats the message
    	SendClientMessageToAll(0xFF0000FF, string); //sends the message
  	}
	return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
	if(vehicleid == ccar) //if vehicleid == ccar
	{
        new name[MAX_PLAYER_NAME], string[44]; //defines name and string
    	GetPlayerName(playerid, name, sizeof(name)); //gets the players name
    	format(string, sizeof(string), "%s has left the ChaseCar!",name); //formats the message
    	SendClientMessageToAll(0xFF0000FF, string); //sends the message
	}
	return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
	{
		if(newkeys & KEY_FIRE)
		{
			new vehicleid = GetPlayerVehicleID(playerid);
			new Float:angle;
			GetVehicleZAngle(vehicleid, angle);
			new Float:velox, Float:veloy, Float:veloz;
			GetVehicleVelocity(vehicleid, velox, veloy, veloz);
			velox += floatsin(-angle, degrees);
			veloy += floatcos(-angle, degrees);
			SetVehicleVelocity(vehicleid, velox, veloy, veloz);
		}
	}
	return 1;
}
public OnVehicleSpawn(vehicleid)
{
	if(vehicleid == ccar)
	{
		ChangeVehiclePaintjob(vehicleid,0); // paint job
		AddVehicleComponent(vehicleid, 1035); // roof
		AddVehicleComponent(vehicleid, 1079); // rim
		AddVehicleComponent(vehicleid, 1037); // exhaust
		AddVehicleComponent(vehicleid, 1039); // side
		AddVehicleComponent(vehicleid, 1172); // front
		AddVehicleComponent(vehicleid, 1146); // Spoiler
		SendClientMessageToAll(0xFF0000FF, "The ChaseCar Respawned!!!"); //message
	}
	return 1;
}
public stuff()
{
	UpdateTime();
	for(new i=0;i<maxplayers;i++) //the new more efficient loop
	{
	    if(IsPlayerInAnyVehicle(i)) //if player is in car
	    {
	        if(GetPlayerVehicleID(i) == ccar) //if player car == ccar
	        {
	            GivePlayerMoney(i, 200); //gives player money
	        }
	    }
	}
	
	for(new a=0;a<maxplayers;a++) //the new more efficient loop
	{
	    if(IsPlayerConnected(a) && IsPlayerInAnyVehicle(2))
		{
			new vid = GetPlayerVehicleID(a);
			if(vid == ccar)
			{
				//it is recomended, you leave this space empty.
			}
			else
			{
				RepairVehicle(vid);
				SetVehicleHealth(vid, 100000);
			}
		}
	}
	
	ChangeStuff();
}
public cha()
{
    ChangeWeather();
}

//functions
stock ChangeStuff()
{
	new var = random(3);
	switch (var)
	{
	    case 0: SendRconCommand("hostname COME AND PLAY!");
	    case 1: SendRconCommand("hostname CHEDDERS FREEROAM - %5 DONE");
	    case 2: SendRconCommand("hostname |>>>CHEDDERS~FREEROAM<<<|");
	}
}

stock UpdateTime()
{
	gettime(h, m);
	SetWorldTime(h);
	for(new i=0; i<GetMaxPlayers(); i++)
	{
	    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
	 	{
	    	SetPlayerTime(i, h, m);
	    }
	}
}
stock ChangeWeather()
{
	new ass = random(8);
	SetWeather(ass);
	printf("Server weather changed to %d", ass);
}
stock SendConnectMessage(playerid)
{
	new str[64], name[14];
	GetPlayerName(playerid, name, sizeof(name));
	format(str, sizeof(str), "%s has connected to the server!", name);
	SendClientMessageToAll(COLOR_BLUE, str);
	printf("%i players online", CountPlayersOnline());
	Streamer_Update(playerid);
}
stock SendDisconnectMessage(playerid, reason)
{
	new string[64], name[MAX_PLAYER_NAME]; //defines "name" and "string"
    GetPlayerName(playerid,name,MAX_PLAYER_NAME); //gets the players name
    switch(reason) //switches according to the reason
    {
    	case 0: format(string,sizeof string,"%s left the server. (Timed out)",name); //formats the message
    	case 1: format(string,sizeof string,"%s left the server. (Leaving)",name);  //formats the message
    	case 2: format(string,sizeof string,"%s left the server. (Kicked/Banned)",name); //formats the message
    }
    SendClientMessageToAll(COLOR_RED,string); //sends the message
    printf("%i players online", CountPlayersOnline());
}
stock SetupPlayerForClassSelection(playerid)
{
    PlayerPlaySound(playerid,1185,0,0,0); //sets the players sound
	SetPlayerPos(playerid,  204.1289, 1934.2113, 23.0422);
	SetPlayerFacingAngle(playerid, 185.8845);
	SetPlayerCameraPos(playerid, 204.7493, 1925.3274, 23.2422); //sets the camera's position
	SetPlayerCameraLookAt(playerid, 204.1289, 1934.2113, 23.2422); //makes the camera look at the player
	PlayerPlaySound(playerid,1185,0,0,0); //sete the players sound
}
stock SpawnPlayerEx(playerid)
{
	PlayerPlaySound(playerid,1077,0,0,0); //sets the player sound
	TogglePlayerClock(playerid,0);
	GivePlayerMoney(playerid, 20);
	SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL_SILENCED,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_DESERT_EAGLE,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SHOTGUN,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SAWNOFF_SHOTGUN,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SPAS12_SHOTGUN,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_MICRO_UZI,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_MP5,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_AK47,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_M4,20000);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SNIPERRIFLE,20000);
    GivePlayerWeapon(playerid,WEAPON_M4,100000);
    GivePlayerWeapon(playerid,WEAPON_MP5,100000);
    GivePlayerWeapon(playerid,WEAPON_DEAGLE,100000);
	TeleportPlayer(playerid,2922.6501464844,4044.9099121094,43.8,0);
	Streamer_Update(playerid);
}
stock CountPlayersOnline()
{
	new iCount;
	for(new i = 0; i < GetMaxPlayers(); i++)
	{
		if(IsPlayerConnected(i)) iCount++;
	}
	return iCount;
}
stock LoadStaticVehiclesFromFile(const filename[])
{
	new File:file_ptr;
	new line[256];
	new var_from_line[64];
	new vehicletype;
	new Float:SpawnX;
	new Float:SpawnY;
	new Float:SpawnZ;
	new Float:SpawnRot;
    new Color1, Color2;
	new index;
	new vehicles_loaded;

	file_ptr = fopen(filename,filemode:io_read);
	if(!file_ptr) return 0;

	vehicles_loaded = 0;

	while(fread(file_ptr,line,256) > 0)
	{
	    index = 0;

	    // Read type
  		index = token_by_delim(line,var_from_line,',',index);
  		if(index == (-1)) continue;
  		vehicletype = strval(var_from_line);
   		if(vehicletype < 400 || vehicletype > 611) continue;

  		// Read X, Y, Z, Rotation
  		index = token_by_delim(line,var_from_line,',',index+1);
  		if(index == (-1)) continue;
  		SpawnX = floatstr(var_from_line);

  		index = token_by_delim(line,var_from_line,',',index+1);
  		if(index == (-1)) continue;
  		SpawnY = floatstr(var_from_line);

  		index = token_by_delim(line,var_from_line,',',index+1);
  		if(index == (-1)) continue;
  		SpawnZ = floatstr(var_from_line);

  		index = token_by_delim(line,var_from_line,',',index+1);
  		if(index == (-1)) continue;
  		SpawnRot = floatstr(var_from_line);

  		// Read Color1, Color2
  		index = token_by_delim(line,var_from_line,',',index+1);
  		if(index == (-1)) continue;
  		Color1 = strval(var_from_line);

  		index = token_by_delim(line,var_from_line,';',index+1);
  		Color2 = strval(var_from_line);

  		//printf("%d,%d,%f,%f,%f,%f,%d,%d",total_vehicles_from_files+vehicles_loaded+1,vehicletype,SpawnX,SpawnY,SpawnZ,SpawnRot,Color1,Color2);

		AddStaticVehicleEx(vehicletype,SpawnX,SpawnY,SpawnZ,SpawnRot,Color1,Color2,(1*60)); // respawn 1 minute
		vehicles_loaded++;
	}

	fclose(file_ptr);
	printf("Loaded %d vehicles from: %s",vehicles_loaded,filename);
	return vehicles_loaded;
}
stock token_by_delim(const string[], return_str[], delim, start_index)
{
	new x=0;
	while(string[start_index] != EOS && string[start_index] != delim) {
	    return_str[x] = string[start_index];
	    x++;
	    start_index++;
	}
	return_str[x] = EOS;
	if(string[start_index] == EOS) start_index = (-1);
	return start_index;
}
stock ConvertMsToTime(ms)
{
    new seconds = ms/1000;
	new string[32];
	format(string, sizeof(string), "%02d:%02d:%02d - %02d:%02d:%02d",seconds/31536000, (seconds%31536000)/2592000, (seconds%2592000)/86400,(seconds%86400)/3600, (seconds%3600)/60, seconds%60);
	return string;
}
stock strtok(const string[], &index)
{
	new length = strlen(string);
	while ((index < length) && (string[index] <= ' '))
	{
		index++;
	}

	new offset = index;
	new result[20];
	while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
	{
		result[index - offset] = string[index];
		index++;
	}
	result[index - offset] = EOS;
	return result;
}
stock strrest(const string[], &index)
{
	new length = strlen(string);
	while ((index < length) && (string[index] <= ' '))
	{
		index++;
	}
	new offset = index;
	new result[128];
	while ((index < length) && ((index - offset) < (sizeof(result) - 1)))
	{
		result[index - offset] = string[index];
		index++;
	}
	result[index - offset] = EOS;
	return result;
}

stock TeleportPlayer(playerid, Float:x, Float:y, Float:z, Float:angle)
{
	TogglePlayerControllable(playerid, false);
	GameTextForPlayer(playerid, "~r~LOADING OBJECTS!", 2000, 4);
	SetPlayerPos(playerid, x, y, z + 0.5);
	SetPlayerFacingAngle(playerid, angle);
	Streamer_UpdateEx(playerid, x, y, z + 0.2);
	PlayerPlaySound(playerid, 1085, x, y, z + 0.5);
	Wait(1250);
	TogglePlayerControllable(playerid, true);
	GameTextForPlayer(playerid, "~r~OBJECTS LOADED!", 750, 4);
	return 1;
}

stock Wait(time)
{
    new stamp = tickcount();
	while (tickcount() - stamp < time){}
	return 1;
}

stock DestroyAllObjects()
{
	for(new i=0; i<MAX_OBJECTS; i++)
 	{
	    if(IsValidObject(i))
	 	{
	        DestroyObject(i);
	    }
	}
}
would it help if i converted to z/dcmd? I am going to goto.. zcmd probably...

p.s. the problem is.. i never get un-frozen, and i cant type any text/commands...

p.p.s the /mn command takes me to the top of the object on line... uh.. the only CreateObject line. hehe.
Reply
#5

I don't even see any commands in you script. :/

Can I see your server's log?
Reply
#6

sure thang. here:

Код:
[15:33:00]   Loaded.
[15:33:00]  Loaded 1 plugins.

[15:33:00] 
[15:33:00] Filter Scripts
[15:33:00] ---------------
[15:33:00]   Loading filter script 'ls_elevator.amx'...
[15:33:00]   Loaded 1 filter scripts.

[15:33:00] 262 dynamic objects created!
[15:33:00] Loaded 3 vehicles from: vehicles/trains.txt
[15:33:00] Loaded 3 vehicles from: vehicles/pilots.txt
[15:33:00] Loaded 15 vehicles from: vehicles/lv_law.txt
[15:33:00] Loaded 39 vehicles from: vehicles/lv_airport.txt
[15:33:00] Loaded 255 vehicles from: vehicles/lv_gen.txt
[15:33:00] Loaded 38 vehicles from: vehicles/sf_law.txt
[15:33:00] Loaded 35 vehicles from: vehicles/sf_airport.txt
[15:33:00] Loaded 353 vehicles from: vehicles/sf_gen.txt
[15:33:00] Loaded 24 vehicles from: vehicles/ls_law.txt
[15:33:00] Loaded 37 vehicles from: vehicles/ls_airport.txt
[15:33:00] Loaded 98 vehicles from: vehicles/ls_gen_inner.txt
[15:33:00] Loaded 389 vehicles from: vehicles/ls_gen_outer.txt
[15:33:00] Loaded 71 vehicles from: vehicles/whetstone.txt
[15:33:00] Loaded 168 vehicles from: vehicles/bone.txt
[15:33:00] Loaded 61 vehicles from: vehicles/flint.txt
[15:33:00] Loaded 96 vehicles from: vehicles/tierra.txt
[15:33:00] Loaded 96 vehicles from: vehicles/red_county.txt
[15:33:00] Loaded 5 vehicles from: vehicles/stunt.txt
[15:33:00] Total vehicles from files: 1786
[15:33:00]   Filter script 'ls_elevator.amx' unloaded.
[15:33:00]   Filterscript 'ls_elevator.amx' loaded.
[15:33:00] Server weather changed to 5
[15:33:00] Chedder's Freeroam Loaded!
[15:33:00] Number of vehicle models: 173
[15:33:00] Incoming connection: 213.5.176.156:42667
[15:33:00] [npc:join] Nick has joined the server (0:213.5.176.156)
[15:33:00] 1 players online
[15:33:00] Incoming connection: 213.5.176.156:46687
[15:33:00] [npc:join] Dave has joined the server (1:213.5.176.156)
[15:33:00] 2 players online

----------
Loaded log file: "server_log.txt".
----------

SA-MP Dedicated Server
----------------------
v0.3c, ©2005-2010 SA-MP Team

[06:07:27] 
[06:07:27] Server Plugins
[06:07:27] --------------
[06:07:27]  Loading plugin: streamer.so
[06:07:27] 

*** Streamer Plugin v2.5.2 by Incognito loaded ***

[06:07:27]   Loaded.
[06:07:27]  Loaded 1 plugins.

[06:07:27] 
[06:07:27] Filter Scripts
[06:07:27] ---------------
[06:07:27]   Loading filter script 'ls_elevator.amx'...
[06:07:27]   Loaded 1 filter scripts.

[06:07:27] 262 dynamic objects created!
[06:07:27] Loaded 3 vehicles from: vehicles/trains.txt
[06:07:27] Loaded 3 vehicles from: vehicles/pilots.txt
[06:07:27] Loaded 15 vehicles from: vehicles/lv_law.txt
[06:07:27] Loaded 39 vehicles from: vehicles/lv_airport.txt
[06:07:27] Loaded 255 vehicles from: vehicles/lv_gen.txt
[06:07:27] Loaded 38 vehicles from: vehicles/sf_law.txt
[06:07:27] Loaded 35 vehicles from: vehicles/sf_airport.txt
[06:07:27] Loaded 353 vehicles from: vehicles/sf_gen.txt
[06:07:27] Loaded 24 vehicles from: vehicles/ls_law.txt
[06:07:27] Loaded 37 vehicles from: vehicles/ls_airport.txt
[06:07:27] Loaded 98 vehicles from: vehicles/ls_gen_inner.txt
[06:07:27] Loaded 389 vehicles from: vehicles/ls_gen_outer.txt
[06:07:27] Loaded 71 vehicles from: vehicles/whetstone.txt
[06:07:27] Loaded 168 vehicles from: vehicles/bone.txt
[06:07:27] Loaded 61 vehicles from: vehicles/flint.txt
[06:07:27] Loaded 96 vehicles from: vehicles/tierra.txt
[06:07:27] Loaded 96 vehicles from: vehicles/red_county.txt
[06:07:27] Loaded 5 vehicles from: vehicles/stunt.txt
[06:07:27] Total vehicles from files: 1786
[06:07:27]   Filter script 'ls_elevator.amx' unloaded.
[06:07:27]   Filterscript 'ls_elevator.amx' loaded.
[06:07:27] Server weather changed to 0
[06:07:27] Chedder's Freeroam Loaded!
[06:07:27] Number of vehicle models: 173
[06:07:28] Incoming connection: 213.5.176.156:52408
[06:07:28] [npc:join] Dave has joined the server (0:213.5.176.156)
[06:07:28] 1 players online
[06:07:28] Incoming connection: 213.5.176.156:50196
[06:07:28] [npc:join] Nick has joined the server (1:213.5.176.156)
[06:07:28] 2 players online
[06:08:20] Incoming connection: 24.111.46.103:3232
[06:08:20] [join] fundude..... has joined the server (2:24.111.46.103)
[06:08:20] 3 players online
aosl, im runnin a LINUX server.
Reply
#7

Wait(1250); will will make the whole server hang too
Reply
#8

tell ya wut... ima just rescript it over da weekend.
Reply
#9

Where did you find the "Wait(time)" function? Does it really works? I've seen a similar function in some other programming languages
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)