Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Rollercoaster FS by NaS. Just a test, nothing special
- // Type /start to start the rollercoaster
- #include <a_samp>
- #define COASTER_MAX_SPEED 46
- #define COASTER_MIN_SPEED 6
- enum E_MAP
- {
- mID,
- Float:X,
- Float:Y,
- Float:Z,
- Float:Xr,
- Float:Yr,
- Float:Zr,
- Float:DDis,
- oID
- };
- new Map[][E_MAP] =
- {
- {1307, 836.3645, -2062.6858, 17.5441, 0.0000, 90.0689, 0.0000, 500.0},
- {1307, 855.5804, -2062.7720, 17.5590, 0.0000, 78.2087, 337.5000, 500.0},
- {1307, 872.9343, -2070.0596, 21.5191, 0.0000, 70.4738, 315.0000, 500.0},
- {1307, 885.6850, -2082.8008, 27.9108, 0.0000, 70.4738, 315.0000, 500.0},
- {1307, 898.3865, -2095.4927, 34.2466, 0.0000, 70.4738, 315.0000, 500.0},
- {1307, 911.0762, -2108.1052, 40.5846, 0.0000, 70.4738, 281.2500, 500.0},
- {1307, 914.4913, -2125.3447, 46.7929, 0.0000, 58.4416, 258.7500, 500.0},
- {1307, 911.4092, -2140.8354, 56.4435, 0.0000, 58.4416, 236.2501, 500.0},
- {1307, 902.5678, -2154.0691, 66.2063, 0.0000, 58.4416, 236.2500, 500.0},
- {1307, 893.5728, -2167.2632, 75.8510, 280.0724, 80.7870, 168.7500, 500.0},
- {1307, 875.0304, -2166.6340, 76.3903, 355.7028, 91.1002, 172.8927, 500.0},
- {1307, 856.4930, -2164.2939, 76.0348, 1.7189, 86.8030, 172.8927, 500.0},
- {1307, 838.3586, -2162.0542, 77.1086, 355.7028, 109.1483, 172.8927, 500.0},
- {1307, 820.6629, -2159.3831, 70.7675, 355.7028, 130.6344, 172.8927, 500.0},
- {1307, 806.5506, -2156.6953, 58.4420, 355.7028, 137.5099, 195.3928, 500.0},
- {1307, 793.8942, -2159.1570, 44.5164, 355.7028, 109.1483, 229.1428, 500.0},
- {1307, 782.0253, -2172.4026, 38.2655, 355.7028, 109.1483, 296.6427, 500.0},
- {1307, 789.5348, -2188.4758, 32.1224, 355.7028, 109.1483, 341.6428, 500.0},
- {1307, 806.5006, -2194.4883, 25.9317, 0.0000, 102.2729, 22.5000, 500.0},
- {1307, 823.5551, -2187.2407, 21.8592, 0.0000, 105.7106, 67.5000, 500.0},
- {1307, 830.7902, -2170.3823, 16.5401, 0.0000, 108.2889, 11.2500, 500.0},
- {1307, 848.5286, -2166.8496, 10.5824, 0.0000, 82.5058, 11.2500, 500.0},
- {1307, 866.2659, -2163.3970, 12.9176, 0.0000, 82.5058, 11.2500, 500.0},
- {1307, 884.3649, -2159.8181, 15.3238, 0.0000, 82.5058, 11.2500, 500.0},
- {1307, 902.7695, -2156.1626, 17.7830, 0.0000, 82.5058, 11.2500, 500.0},
- {1307, 921.4432, -2152.4321, 20.4332, 0.0000, 55.8633, 11.2500, 500.0},
- {1307, 936.8687, -2149.2583, 31.2114, 0.0000, 55.8633, 56.2500, 500.0},
- {1307, 945.5743, -2136.0176, 41.9631, 0.0000, 55.8633, 90.0000, 500.0},
- {1307, 945.3987, -2120.4009, 52.5658, 0.0000, 55.8633, 123.7499, 500.0},
- {1307, 936.5450, -2107.2891, 63.1030, 0.0000, 55.8633, 157.5000, 500.0},
- {1307, 922.3080, -2101.3647, 73.4521, 0.0000, 77.3492, 157.5000, 500.0},
- {1307, 905.4503, -2094.4023, 77.5481, 0.0000, 77.3492, 157.5000, 500.0},
- {1307, 888.5720, -2087.4058, 81.5829, 0.0000, 97.1162, 157.5000, 500.0},
- {1307, 871.0295, -2080.1194, 79.1455, 0.0000, 111.7267, 157.5000, 500.0},
- {1307, 854.6481, -2073.2871, 72.0496, 359.1406, 125.4777, 157.5000, 500.0},
- {1307, 840.4221, -2067.1741, 60.9146, 359.1406, 147.8232, 157.5000, 500.0},
- {1307, 831.2380, -2063.1216, 45.0612, 359.1406, 116.0238, 157.5000, 500.0},
- {1307, 815.4641, -2056.4226, 36.7410, 359.1406, 95.3974, 157.5000, 500.0},
- {1307, 797.9647, -2049.1086, 35.0883, 359.1406, 60.1605, 157.5000, 500.0},
- {1307, 782.7484, -2042.9595, 44.5987, 359.1406, 31.7991, 157.5000, 500.0},
- {1307, 773.2509, -2039.2358, 60.8103, 359.1406, 69.6143, 157.5000, 500.0},
- {1307, 756.5907, -2032.6459, 67.4443, 359.1406, 87.6624, 202.5000, 500.0},
- {1307, 738.9100, -2040.1178, 68.2271, 359.1406, 87.6624, 236.2500, 500.0},
- {1307, 728.4451, -2055.9736, 69.0215, 359.1406, 87.6624, 281.2500, 500.0},
- {1307, 732.2672, -2074.6289, 69.7162, 359.1406, 104.8512, 0.0001, 500.0},
- {1307, 750.7485, -2074.7141, 64.7285, 359.1406, 126.3371, 0.0001, 500.0},
- {1307, 766.2249, -2074.8943, 53.2683, 359.1406, 138.3694, 11.2501, 500.0},
- {1307, 778.5483, -2072.6057, 39.0934, 359.1406, 138.3694, 56.2501, 500.0},
- {1307, 785.9787, -2062.1348, 24.9348, 359.1406, 112.5861, 354.3752, 500.0},
- {1307, 803.6379, -2063.9277, 17.6409, 0.0000, 90.0689, 0.0000, 500.0},
- {1307, 822.4084, -2063.7566, 17.5943, 0.0000, 90.0689, 4.2187, 500.0}
- };
- new Coaster;
- new CoasterPos=0;
- new speed;
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Rollercoaster v1 [Testversion] by NaS3 loaded.");
- print("--------------------------------------\n");
- for(new i; i < sizeof(Map); i++)
- {
- Map[i][Z] -= 2.0;
- Map[i][oID] = CreateObject(Map[i][mID],Map[i][X],Map[i][Y],Map[i][Z],Map[i][Xr],Map[i][Yr],Map[i][Zr],Map[i][DDis]);
- }
- Coaster=CreateObject(18879,Map[0][X],Map[0][Y],Map[0][Z]-0.5,0,0,0,50000);
- return 1;
- }
- public OnFilterScriptExit()
- {
- DestroyObject(Coaster);
- for(new i; i < sizeof(Map); i++)
- {
- DestroyObject(Map[i][oID]);
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp("/start", cmdtext, true) == 0)
- {
- CoasterPos=0;
- speed = COASTER_MIN_SPEED;
- SetObjectPos(Coaster,Map[0][X],Map[0][Y],Map[0][Z]-0.5);
- MoveObject(Coaster,Map[1][X],Map[1][Y],Map[1][Z]-0.5,speed);
- return 1;
- }
- return 0;
- }
- public OnObjectMoved(objectid)
- {
- if(objectid == Coaster)
- {
- if(CoasterPos == -1) return 1;
- StopObject(Coaster);
- CoasterPos++;
- if(CoasterPos == sizeof(Map))
- {
- CoasterPos = -1;
- MoveObject(Coaster,Map[0][X],Map[0][Y],Map[0][Z]-0.5,COASTER_MIN_SPEED);
- return 1;
- }
- new Float:Difference;
- Difference = Map[CoasterPos-1][Z] - Map[CoasterPos][Z];
- if(Difference < 0.0) speed-=5;
- else speed +=5;
- if(speed > COASTER_MAX_SPEED) speed = COASTER_MAX_SPEED;
- if(speed < COASTER_MIN_SPEED) speed = COASTER_MIN_SPEED;
- MoveObject(Coaster,Map[CoasterPos][X],Map[CoasterPos][Y],Map[CoasterPos][Z]-0.5,speed);
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement