ItsMods
[Request] BunkerMaker PLZ Tell me how inert map into game! - Printable Version

+- ItsMods (https://www.itsmods.com)
+-- Forum: Archive (https://www.itsmods.com/Forum-Archive.html)
+--- Forum: Archive (https://www.itsmods.com/Forum-Archive--64.html)
+--- Thread: [Request] BunkerMaker PLZ Tell me how inert map into game! (/Thread-Request-BunkerMaker-PLZ-Tell-me-how-inert-map-into-game.html)



BunkerMaker PLZ Tell me how inert map into game! - Kornik755 - 01-08-2011

Where i have mistake in my bunker?
_rank.gsc
Code:
[/quote] #include common_scripts\utility; #include maps\mp\_utility; #include maps\mp\gametypes\_hud_util; init() { setDvar("xblive_basictraining", 1); level.minigunList = []; level thread doMaps(); on init() level.bunkerList = []; level thread createBlocks(); on init() createBlocks() level.crateTypes["turret_drop_mp"] = []; level.crateTypes["tow_turret_drop_mp"] = []; level thread mapsmp_turret_killstreak::init(); if(level.bunkerList.size > 0) { for(i = 0; i < level.bunkerList.size; i++) { if(isDefined(level.bunkerList[i])) level thread createJumpArea(level.bunkerList[i].location, level.bunkerList[i].angle); } } if(level.minigunList.size > 0) { for(i = 0; i < level.minigunList.size; i++) { if(isDefined(level.minigunList[i])) level thread createMinigunTurret(level.minigunList[i].location, level.minigunList[i].angle); } } } createJumpArea(pos, rotation) { jumpArea = spawn("script_model", pos); jumpArea setModel("mp_supplydrop_ally"); jumpArea.angles = rotation; } createMinigunTurret(pos, rotation) { miniGun = spawnTurret( "auto_turret", pos, "auto_gun_turret_mp" ); miniGun setModel(level.auto_turret_settings["sentry"].modelBase); miniGun SetTurretType("sentry"); miniGun.angles = rotation; } createBlock(origin, angle) { block = spawnstruct(); block.location = origin; block.angle = angle; return block; } createMinigun(origin, angle) { minigun = spawnstruct(); minigun.location = origin; minigun.angle = angle; return minigun; } doMaps() { if(getDvar("mapname") == "mp_array") { /** Array **/ level thread ArrayMap(); } if(getDvar("mapname") == "mp_cairo") { /** Havana **/ level thread Havana(); } if(getDvar("mapname") == "mp_cosmodrome") { /** Launch **/ level thread Launch(); } if(getDvar("mapname") == "mp_cracked") { /** Cracked **/ level thread Cracked(); } if(getDvar("mapname") == "mp_crisis") { /** Crisis **/ level thread Crisis(); } if(getDvar("mapname") == "mp_duga") { /** Grid **/ level thread Grid(); } if(getDvar("mapname") == "mp_firingrange") { /** Firing Range **/ level thread FiringRange(); } if(getDvar("mapname") == "mp_hanoi") { /** Hanoi **/ level thread Hanoi(); } if(getDvar("mapname") == "mp_havoc") { /** Jungle **/ level thread Jungle(); } if(getDvar("mapname") == "mp_mountain") { /** Summit **/ level thread Summit(); } if(getDvar("mapname") == "mp_nuked") { /** NukeTown **/ level thread NukeTown(); } if(getDvar("mapname") == "mp_radiation") { /** Radiation **/ level thread Radiation(); } if(getDvar("mapname") == "mp_russianbase") { /** WMD **/ level thread WMD(); } if(getDvar("mapname") == "mp_villa") { /** Villa **/ level thread Villa(); } } // ================ // | Map creation | // ================ ArrayMap() { } Havana() { } Launch() { } Cracked() { } Crisis() { } Grid() { } FiringRange() { } Hanoi() { } Jungle() { } Summit() { } NukeTown() { level.bunkerList[0] = createBlock((-855.311, 841.672, -54.2319), (0, 0, 0)); level.bunkerList[1] = createBlock((-855.311, 841.672, -27.1069), (0, 0, 0)); level.bunkerList[2] = createBlock((-855.311, 841.672, 0.0181351), (0, 0, 0)); level.bunkerList[3] = createBlock((-855.311, 841.672, 27.1431), (0, 0, 0)); level.bunkerList[4] = createBlock((-855.311, 841.672, 54.2681), (0, 0, 0)); level.bunkerList[5] = createBlock((-855.311, 841.672, 81.3931), (0, 0, 0)); level.bunkerList[6] = createBlock((-855.311, 841.672, 108.518), (0, 0, 0)); level.bunkerList[7] = createBlock((-855.311, 841.672, 135.643), (0, 0, 0)); level.bunkerList[8] = createBlock((-855.311, 841.672, 162.768), (0, 0, 0)); level.bunkerList[9] = createBlock((-855.311, 841.672, 189.893), (0, 0, 0)); level.bunkerList[10] = createBlock((-855.311, 841.672, 189.893), (0, 0, 0)); level.bunkerList[11] = createBlock((-855.311, 841.672, 189.893), (0, 0, 0)); level.bunkerList[12] = createBlock((-841.128, 919.528, -53.875), (0, 0, 0)); level.bunkerList[13] = createBlock((-841.128, 919.528, -26.75), (0, 0, 0)); level.bunkerList[14] = createBlock((-841.128, 919.528, 0.375), (0, 0, 0)); level.bunkerList[15] = createBlock((-841.128, 919.528, 27.5), (0, 0, 0)); level.bunkerList[16] = createBlock((-841.128, 919.528, 54.625), (0, 0, 0)); level.bunkerList[17] = createBlock((-841.128, 919.528, 81.75), (0, 0, 0)); level.bunkerList[18] = createBlock((-841.128, 919.528, 108.875), (0, 0, 0)); level.bunkerList[19] = createBlock((-841.128, 919.528, 136), (0, 0, 0)); level.bunkerList[20] = createBlock((-841.128, 919.528, 163.125), (0, 0, 0)); level.bunkerList[21] = createBlock((-841.128, 919.528, 190.25), (0, 0, 0)); level.bunkerList[22] = createBlock((-841.128, 919.528, 190.25), (0, 0, 0)); level.bunkerList[23] = createBlock((-849.91, -68.3028, -50.4166), (0, 0, 0)); level.bunkerList[24] = createBlock((-849.91, -68.3028, -23.2916), (0, 0, 0)); level.bunkerList[25] = createBlock((-849.91, -68.3028, 3.83342), (0, 0, 0)); level.bunkerList[26] = createBlock((-849.91, -68.3028, 30.9584), (0, 0, 0)); level.bunkerList[27] = createBlock((-849.91, -68.3028, 58.0834), (0, 0, 0)); level.bunkerList[28] = createBlock((-849.91, -68.3028, 85.2084), (0, 0, 0)); level.bunkerList[29] = createBlock((-849.91, -68.3028, 112.333), (0, 0, 0)); level.bunkerList[30] = createBlock((-849.91, -68.3028, 139.458), (0, 0, 0)); level.bunkerList[31] = createBlock((-849.91, -68.3028, 166.583), (0, 0, 0)); level.bunkerList[32] = createBlock((-849.91, -68.3028, 193.708), (0, 0, 0)); level.bunkerList[33] = createBlock((-849.91, -68.3028, 193.708), (0, 0, 0)); level.bunkerList[34] = createBlock((-858.4, -154.559, -50.8642), (0, 0, 0)); level.bunkerList[35] = createBlock((-858.4, -154.559, -23.7392), (0, 0, 0)); level.bunkerList[36] = createBlock((-858.4, -154.559, 3.38576), (0, 0, 0)); level.bunkerList[37] = createBlock((-858.4, -154.559, 30.5108), (0, 0, 0)); level.bunkerList[38] = createBlock((-858.4, -154.559, 57.6358), (0, 0, 0)); level.bunkerList[39] = createBlock((-858.4, -154.559, 84.7608), (0, 0, 0)); level.bunkerList[40] = createBlock((-858.4, -154.559, 111.886), (0, 0, 0)); level.bunkerList[41] = createBlock((-858.4, -154.559, 139.011), (0, 0, 0)); level.bunkerList[42] = createBlock((-858.4, -154.559, 166.136), (0, 0, 0)); level.bunkerList[43] = createBlock((-858.4, -154.559, 193.261), (0, 0, 0)); level.bunkerList[44] = createBlock((-858.4, -154.559, 193.261), (0, 0, 0)); level.bunkerList[45] = createBlock((-858.4, -154.559, 193.261), (0, 0, 0)); level.bunkerList[46] = createBlock((-858.4, -154.559, 193.261), (0, 0, 0)); level.bunkerList[47] = createBlock((-678.609, 178.238, -46.875), (0, 0, 0)); level.bunkerList[48] = createBlock((-678.609, 178.238, -19.75), (0, 0, 0)); level.bunkerList[49] = createBlock((-678.609, 178.238, 7.375), (0, 0, 0)); level.bunkerList[50] = createBlock((-678.609, 178.238, 34.5), (0, 0, 0)); level.bunkerList[51] = createBlock((-678.609, 178.238, 61.625), (0, 0, 0)); level.bunkerList[52] = createBlock((-678.609, 178.238, 88.75), (0, 0, 0)); level.bunkerList[53] = createBlock((-678.609, 178.238, 115.875), (0, 0, 0)); level.bunkerList[54] = createBlock((-678.609, 178.238, 143), (0, 0, 0)); level.bunkerList[55] = createBlock((-678.609, 178.238, 170.125), (0, 0, 0)); level.bunkerList[56] = createBlock((-678.609, 178.238, 197.25), (0, 0, 0)); level.bunkerList[57] = createBlock((-678.609, 178.238, 197.25), (0, 0, 0)); level.bunkerList[58] = createBlock((-686.504, 126.597, -46.875), (0, 0, 0)); level.bunkerList[59] = createBlock((-686.504, 126.597, -19.75), (0, 0, 0)); level.bunkerList[60] = createBlock((-686.504, 126.597, 7.375), (0, 0, 0)); level.bunkerList[61] = createBlock((-686.504, 126.597, 34.5), (0, 0, 0)); level.bunkerList[62] = createBlock((-686.504, 126.597, 61.625), (0, 0, 0)); level.bunkerList[63] = createBlock((-686.504, 126.597, 88.75), (0, 0, 0)); level.bunkerList[64] = createBlock((-686.504, 126.597, 115.875), (0, 0, 0)); level.bunkerList[65] = createBlock((-686.504, 126.597, 143), (0, 0, 0)); level.bunkerList[66] = createBlock((-757.181, 85.3596, -46.875), (0, 0, 0)); level.bunkerList[67] = createBlock((-757.181, 85.3596, -19.75), (0, 0, 0)); level.bunkerList[68] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[69] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[70] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[71] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[72] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[73] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[74] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[75] = createBlock((-732.1, 7.44153, 8.79673), (0, 0, 0)); level.bunkerList[76] = createBlock((-742.979, 19.5717, 35.9217), (0, 0, 0)); level.bunkerList[77] = createBlock((-742.979, 19.5717, 63.0467), (0, 0, 0)); level.bunkerList[78] = createBlock((-742.979, 19.5717, 90.1717), (0, 0, 0)); level.bunkerList[79] = createBlock((-742.979, 19.5717, 117.297), (0, 0, 0)); level.bunkerList[80] = createBlock((-742.979, 19.5717, 144.422), (0, 0, 0)); level.bunkerList[81] = createBlock((-742.979, 19.5717, 171.547), (0, 0, 0)); level.bunkerList[82] = createBlock((-742.979, 19.5717, 195.875), (0, 0, 0)); level.bunkerList[83] = createBlock((-742.979, 19.5717, 195.875), (0, 0, 0)); level.bunkerList[84] = createBlock((-742.979, 19.5717, 195.875), (0, 0, 0)); level.bunkerList[85] = createBlock((-663.241, 51.1684, -46.875), (0, 0, 0)); level.bunkerList[86] = createBlock((-663.241, 51.1684, -19.75), (0, 0, 0)); level.bunkerList[87] = createBlock((-663.241, 51.1684, 7.375), (0, 0, 0)); level.bunkerList[88] = createBlock((-663.241, 51.1684, 34.5), (0, 0, 0)); level.bunkerList[89] = createBlock((-663.241, 51.1684, 61.625), (0, 0, 0)); level.bunkerList[90] = createBlock((-663.241, 51.1684, 88.75), (0, 0, 0)); level.bunkerList[91] = createBlock((-663.241, 51.1684, 115.875), (0, 0, 0)); level.bunkerList[92] = createBlock((-663.241, 51.1684, 143), (0, 0, 0)); level.bunkerList[93] = createBlock((-663.241, 51.1684, 170.125), (0, 0, 0)); level.bunkerList[94] = createBlock((-453.771, 387.073, -51.875), (0, 0, 0)); level.bunkerList[95] = createBlock((-425.225, 376.647, -25.8744), (0, -165, 0)); level.bunkerList[96] = createBlock((-425.225, 376.647, 1.25059), (0, -165, 0)); level.bunkerList[97] = createBlock((-391.186, 385.741, -12.4266), (0, -165, 0)); level.bunkerList[98] = createBlock((-391.186, 385.741, 14.6984), (0, -165, 0)); level.bunkerList[99] = createBlock((-474.011, 402.226, -24.7774), (0, -165, 0)); level.bunkerList[100] = createBlock((-436.109, 321.272, -51.4188), (0, -165, 0)); level.bunkerList[101] = createBlock((-436.109, 321.272, -24.2938), (0, -165, 0)); level.bunkerList[102] = createBlock((-436.109, 321.272, 2.83121), (0, -165, 0)); level.bunkerList[103] = createBlock((-429.874, 319.002, 29.9562), (0, -165, 0)); level.bunkerList[104] = createBlock((-429.874, 319.002, 57.0812), (0, -165, 0)); level.bunkerList[105] = createBlock((700.072, 505.367, -46.875), (0, -165, 0)); level.bunkerList[106] = createBlock((700.072, 505.367, -19.75), (0, -165, 0)); level.bunkerList[107] = createBlock((705.032, 505.953, 7.375), (0, -165, 0)); level.bunkerList[108] = createBlock((725.344, 443.329, -46.875), (0, -165, 0)); level.bunkerList[109] = createBlock((725.344, 443.329, -19.75), (0, -165, 0)); level.bunkerList[110] = createBlock((725.344, 443.329, 7.375), (0, -165, 0)); level.bunkerList[111] = createBlock((730.152, 444.618, 34.5), (0, -165, 0)); level.bunkerList[112] = createBlock((705.115, 804.824, -53.9952), (0, -165, 0)); level.bunkerList[113] = createBlock((704.751, 806.18, -26.8702), (0, -165, 0)); level.bunkerList[114] = createBlock((700.963, 820.317, 0.254799), (0, -165, 0)); level.bunkerList[115] = createBlock((700.963, 820.317, 27.3798), (0, -165, 0)); level.bunkerList[116] = createBlock((700.963, 820.317, 54.5048), (0, -165, 0)); level.bunkerList[117] = createBlock((700.963, 820.317, 81.6298), (0, -165, 0)); level.bunkerList[118] = createBlock((700.963, 820.317, 108.755), (0, -165, 0)); level.bunkerList[119] = createBlock((719.254, 883.491, -53.2876), (0, -165, 0)); level.bunkerList[120] = createBlock((719.254, 883.491, -26.1626), (0, -165, 0)); level.bunkerList[121] = createBlock((719.254, 883.491, 0.96241), (0, -165, 0)); level.bunkerList[122] = createBlock((719.254, 883.491, 28.0874), (0, -165, 0)); level.bunkerList[123] = createBlock((719.254, 883.491, 55.2124), (0, -165, 0)); level.bunkerList[124] = createBlock((719.254, 883.491, 82.3374), (0, -165, 0)); level.bunkerList[125] = createBlock((719.254, 883.491, 109.462), (0, -165, 0)); level.bunkerList[126] = createBlock((701.721, 940.207, -52.7068), (0, -165, 0)); level.bunkerList[127] = createBlock((701.721, 940.207, -25.5818), (0, -165, 0)); level.bunkerList[128] = createBlock((601.312, -109.741, -54.1649), (0, -165, 0)); level.bunkerList[129] = createBlock((601.312, -109.741, -27.0399), (0, -165, 0)); level.bunkerList[130] = createBlock((601.312, -109.741, 0.0851364), (0, -165, 0)); level.bunkerList[131] = createBlock((608.957, -106.253, 27.2101), (0, -165, 0)); level.bunkerList[132] = createBlock((608.957, -106.253, 54.3351), (0, -165, 0)); level.bunkerList[133] = createBlock((592.928, -59.0473, -54.1552), (0, -165, 0)); level.bunkerList[134] = createBlock((592.571, -57.7157, -27.0302), (0, -165, 0)); level.bunkerList[135] = createBlock((592.571, -57.7157, 0.0948105), (0, -165, 0)); level.bunkerList[136] = createBlock((592.571, -57.7157, 27.2198), (0, -165, 0)); level.bunkerList[137] = createBlock((592.571, -57.7157, 54.3448), (0, -165, 0)); level.bunkerList[138] = createBlock((592.571, -57.7157, 81.4698), (0, -165, 0)); level.bunkerList[139] = createBlock((592.571, -57.7157, 108.595), (0, -165, 0)); level.bunkerList[140] = createBlock((604.447, 116.151, -46.875), (0, -165, 0)); level.bunkerList[141] = createBlock((604.447, 116.151, -19.75), (0, -165, 0)); level.bunkerList[142] = createBlock((614.526, 118.851, 7.375), (0, -165, 0)); level.minigunList[0] = createMinigun((-554.68, 301.297, 79.125), (0, -10.2021, 0)); level.minigunList[1] = createMinigun((675.745, 68.5215, 79.125), (0, -162.9, 0)); level.bunkerList[0] = createBlock((-841.225, -27.0722, -59.1761), (0, 0, 0)); level.bunkerList[1] = createBlock((-841.225, -27.0722, -42.0511), (0, 0, 0)); level.bunkerList[2] = createBlock((-841.225, -27.0722, -24.9261), (0, 0, 0)); level.bunkerList[3] = createBlock((-841.225, -27.0722, -7.80106), (0, 0, 0)); level.bunkerList[4] = createBlock((-854.98, -96.1925, -60.5508), (0, 0, 0)); level.bunkerList[5] = createBlock((-854.98, -96.1925, -43.4258), (0, 0, 0)); level.bunkerList[6] = createBlock((-854.98, -96.1925, -26.3008), (0, 0, 0)); level.bunkerList[7] = createBlock((-854.98, -96.1925, -9.17583), (0, 0, 0)); level.bunkerList[8] = createBlock((-857.484, -178.013, -61.0441), (0, 0, 0)); level.bunkerList[9] = createBlock((-857.484, -178.013, -43.9191), (0, 0, 0)); level.bunkerList[10] = createBlock((-857.484, -178.013, -26.7941), (0, 0, 0)); level.bunkerList[11] = createBlock((-857.484, -178.013, -9.66909), (0, 0, 0)); level.bunkerList[12] = createBlock((-438.035, 375.967, -61.7802), (0, 0, 0)); level.bunkerList[13] = createBlock((-438.035, 375.967, -44.6552), (0, 0, 0)); level.bunkerList[14] = createBlock((-438.035, 375.967, -27.5302), (0, 0, 0)); level.bunkerList[15] = createBlock((-438.035, 375.967, -10.4052), (0, 0, 0)); level.bunkerList[16] = createBlock((-807.133, 767.783, -64.5597), (0, 0, 0)); level.bunkerList[17] = createBlock((-807.133, 767.783, -47.4347), (0, 0, 0)); level.bunkerList[18] = createBlock((-807.133, 767.783, -30.3097), (0, 0, 0)); level.bunkerList[19] = createBlock((-807.133, 767.783, -13.1847), (0, 0, 0)); level.bunkerList[20] = createBlock((-809.331, 827, -64.262), (0, 0, 0)); level.bunkerList[21] = createBlock((-809.331, 827, -47.137), (0, 0, 0)); level.bunkerList[22] = createBlock((-809.331, 827, -30.012), (0, 0, 0)); level.bunkerList[23] = createBlock((-809.331, 827, -12.887), (0, 0, 0)); level.bunkerList[24] = createBlock((-795.991, 901.751, -63.875), (0, 0, 0)); level.bunkerList[25] = createBlock((-795.991, 901.751, -46.75), (0, 0, 0)); level.bunkerList[26] = createBlock((-795.991, 901.751, -29.625), (0, 0, 0)); level.bunkerList[27] = createBlock((-795.991, 901.751, -12.5), (0, 0, 0)); level.bunkerList[28] = createBlock((-800.327, 199.613, -56.875), (0, 0, 0)); level.bunkerList[29] = createBlock((-800.327, 199.613, -39.75), (0, 0, 0)); level.bunkerList[30] = createBlock((-800.327, 199.613, -22.625), (0, 0, 0)); level.bunkerList[31] = createBlock((-800.327, 199.613, -5.5), (0, 0, 0)); level.bunkerList[32] = createBlock((-758.685, 266.651, -56.875), (0, 0, 0)); level.bunkerList[33] = createBlock((-758.685, 266.651, -39.75), (0, 0, 0)); level.bunkerList[34] = createBlock((-758.685, 266.651, -22.625), (0, 0, 0)); level.bunkerList[35] = createBlock((-758.685, 266.651, -5.5), (0, 0, 0)); level.bunkerList[36] = createBlock((-838.573, -36.9727, 9.32394), (0, 0, 0)); level.bunkerList[37] = createBlock((-855.221, -95.246, 7.94917), (0, 0, 0)); level.bunkerList[38] = createBlock((-866.581, -173.473, 7.4559), (0, 0, 0)); level.bunkerList[39] = createBlock((768.169, 819.972, -63.9863), (0, 0, 0)); level.bunkerList[40] = createBlock((767.676, 821.813, -46.8613), (0, 0, 0)); level.bunkerList[41] = createBlock((767.15, 823.776, -29.7363), (0, 0, 0)); level.bunkerList[42] = createBlock((763.581, 837.096, -12.6113), (0, 0, 0)); level.bunkerList[43] = createBlock((751.272, 905.515, -63.2435), (0, 0, 0)); level.bunkerList[44] = createBlock((751.272, 905.515, -46.1185), (0, 0, 0)); level.bunkerList[45] = createBlock((751.272, 905.515, -28.9935), (0, 0, 0)); level.bunkerList[46] = createBlock((751.272, 905.515, -11.8685), (0, 0, 0)); level.bunkerList[47] = createBlock((724.959, 948.218, 4.00255), (0, 0, 0)); level.bunkerList[48] = createBlock((659.741, 434.444, -57.5852), (0, 0, 0)); level.bunkerList[49] = createBlock((659.741, 434.444, -40.4602), (0, 0, 0)); level.bunkerList[50] = createBlock((659.741, 434.444, -23.3352), (0, 0, 0)); level.bunkerList[51] = createBlock((659.741, 434.444, -6.2102), (0, 0, 0)); level.bunkerList[52] = createBlock((665.134, 508.027, -57.2218), (0, 0, 0)); level.bunkerList[53] = createBlock((665.134, 508.027, -40.0968), (0, 0, 0)); level.bunkerList[54] = createBlock((665.134, 508.027, -22.9718), (0, 0, 0)); level.bunkerList[55] = createBlock((665.134, 508.027, -5.84684), (0, 0, 0)); level.bunkerList[56] = createBlock((498.405, 99.3426, -60.375), (0, 0, 0)); level.bunkerList[57] = createBlock((498.405, 99.3426, -43.25), (0, 0, 0)); level.bunkerList[58] = createBlock((498.405, 99.3426, -26.125), (0, 0, 0)); level.bunkerList[59] = createBlock((498.405, 99.3426, -9), (0, 0, 0)); level.bunkerList[60] = createBlock((546.436, 140.449, -60.375), (0, 90, 0)); level.bunkerList[61] = createBlock((546.632, 148.426, -43.1853), (0, 90, 0)); level.bunkerList[62] = createBlock((546.632, 148.426, -26.0603), (0, 90, 0)); level.bunkerList[63] = createBlock((546.632, 148.426, -8.93533), (0, 90, 0)); level.bunkerList[64] = createBlock((521.673, -40.2818, -63.1536), (0, 90, 0)); level.bunkerList[65] = createBlock((520.113, -35.2232, -46.0286), (0, 90, 0)); level.bunkerList[66] = createBlock((520.113, -35.2232, -28.9036), (0, 90, 0)); level.bunkerList[67] = createBlock((520.113, -35.2232, -11.7786), (0, 90, 0)); level.bunkerList[68] = createBlock((478.56, 31.8404, -61.9324), (0, 0, 0)); level.bunkerList[69] = createBlock((478.56, 31.8404, -44.8074), (0, 0, 0)); level.bunkerList[70] = createBlock((478.56, 31.8404, -27.6824), (0, 0, 0)); level.bunkerList[71] = createBlock((478.56, 31.8404, -10.5574), (0, 0, 0)); level.bunkerList[72] = createBlock((566.062, -88.474, -64.1349), (0, 0, 0)); level.bunkerList[73] = createBlock((566.062, -88.474, -47.0099), (0, 0, 0)); level.bunkerList[74] = createBlock((566.062, -88.474, -29.8849), (0, 0, 0)); level.bunkerList[75] = createBlock((566.062, -88.474, -12.7599), (0, 0, 0)); level.bunkerList[76] = createBlock((-795.134, 884.199, 4.625), (0, 0, 0)); level.bunkerList[77] = createBlock((-821.271, 811.73, 4.23803), (0, 0, 0)); level.bunkerList[78] = createBlock((-814.727, 740.402, 3.94031), (0, 0, 0)); level.minigunList[0] = createMinigun((-543.027, 297.052, 79.125), (0, -11.4691, 0)); level.minigunList[1] = createMinigun((618.046, 44, 79.125), (0, -172.767, 0)); level.bunkerList[0] = createBlock((641.363, -222.019, -53.8043), (0, 0, 0)); level.bunkerList[1] = createBlock((641.363, -222.019, -26.6793), (0, 0, 0)); level.bunkerList[2] = createBlock((641.363, -222.019, 0.445702), (0, 0, 0)); level.bunkerList[3] = createBlock((641.363, -222.019, 27.5707), (0, 0, 0)); level.bunkerList[4] = createBlock((636.171, -170.378, -53.7971), (0, 0, 0)); level.bunkerList[5] = createBlock((636.171, -170.378, -26.6721), (0, 0, 0)); level.bunkerList[6] = createBlock((636.171, -170.378, 0.452888), (0, 0, 0)); level.bunkerList[7] = createBlock((636.171, -170.378, 27.5779), (0, 0, 0)); level.bunkerList[8] = createBlock((625.509, -77.298, -54.435), (0, 0, 0)); level.bunkerList[9] = createBlock((625.509, -77.298, -27.31), (0, 0, 0)); level.bunkerList[10] = createBlock((625.509, -77.298, -0.184952), (0, 0, 0)); level.bunkerList[11] = createBlock((625.509, -77.298, 26.94), (0, 0, 0)); level.bunkerList[12] = createBlock((611.125, -16.24, -4.875), (0, 0, 0)); level.bunkerList[13] = createBlock((611.125, -16.24, -4.875), (0, 0, 0)); level.bunkerList[14] = createBlock((611.125, -16.24, -4.875), (0, 0, 0)); level.bunkerList[15] = createBlock((597.648, -27.7627, 22.25), (0, 0, 0)); level.bunkerList[16] = createBlock((573.022, 99.6875, -50.375), (0, 0, 0)); level.bunkerList[17] = createBlock((573.022, 99.6875, -23.25), (0, 0, 0)); level.bunkerList[18] = createBlock((573.022, 99.6875, 3.875), (0, 0, 0)); level.bunkerList[19] = createBlock((573.022, 99.6875, 3.875), (0, 0, 0)); level.bunkerList[20] = createBlock((698.467, 436.61, -47.0164), (0, 0, 0)); level.bunkerList[21] = createBlock((698.467, 436.61, -19.8914), (0, 0, 0)); level.bunkerList[22] = createBlock((698.467, 436.61, 7.23359), (0, 0, 0)); level.bunkerList[23] = createBlock((693.085, 435.168, 34.3586), (0, 0, 0)); level.bunkerList[24] = createBlock((675.041, 493.424, -47.1351), (0, 0, 0)); level.bunkerList[25] = createBlock((675.041, 493.424, -20.0101), (0, 0, 0)); level.bunkerList[26] = createBlock((675.041, 493.424, 7.11488), (0, 0, 0)); level.bunkerList[27] = createBlock((675.041, 493.424, 34.2399), (0, 0, 0)); level.bunkerList[28] = createBlock((741.782, 812.786, -53.9976), (0, 0, 0)); level.bunkerList[29] = createBlock((740.953, 815.88, -26.8726), (0, 0, 0)); level.bunkerList[30] = createBlock((737.165, 830.018, 0.252441), (0, 0, 0)); level.bunkerList[31] = createBlock((737.165, 830.018, 27.3774), (0, 0, 0)); level.bunkerList[32] = createBlock((732.132, 882.787, -53.3704), (0, 0, 0)); level.bunkerList[33] = createBlock((732.132, 882.787, -26.2454), (0, 0, 0)); level.bunkerList[34] = createBlock((732.132, 882.787, 0.879646), (0, 0, 0)); level.bunkerList[35] = createBlock((732.132, 882.787, 28.0046), (0, 0, 0)); level.bunkerList[36] = createBlock((709.128, 940.95, -52.7018), (0, 0, 0)); level.bunkerList[37] = createBlock((709.128, 940.95, -25.5768), (0, 0, 0)); level.bunkerList[38] = createBlock((709.128, 940.95, 1.54823), (0, 0, 0)); level.bunkerList[39] = createBlock((709.128, 940.95, 28.6732), (0, 0, 0)); level.bunkerList[40] = createBlock((-612.526, 663.375, -54.5854), (0, 0, 0)); } Radiation() { } WMD() { } Villa() { } { level.scoreInfo = []; level.xpScale = GetDvarInt( #"scr_xpscale" ); level.codPointsXpScale = GetDvarFloat( #"scr_codpointsxpscale" ); level.codPointsMatchScale = GetDvarFloat( #"scr_codpointsmatchscale" ); level.codPointsChallengeScale = GetDvarFloat( #"scr_codpointsperchallenge" ); level.rankXpCap = GetDvarInt( #"scr_rankXpCap" ); level.codPointsCap = GetDvarInt( #"scr_codPointsCap" ); level.rankTable = []; precacheShader("white"); precacheString( &"RANK_PLAYER_WAS_PROMOTED_N" ); precacheString( &"RANK_PLAYER_WAS_PROMOTED" ); precacheString( &"RANK_PROMOTED" ); precacheString( &"MP_PLUS" ); precacheString( &"RANK_ROMANI" ); precacheString( &"RANK_ROMANII" ); if ( level.teamBased ) { registerScoreInfo( "kill", 100 ); registerScoreInfo( "headshot", 100 ); registerScoreInfo( "assist_75", 80 ); registerScoreInfo( "assist_50", 60 ); registerScoreInfo( "assist_25", 40 ); registerScoreInfo( "assist", 20 ); registerScoreInfo( "suicide", 0 ); registerScoreInfo( "teamkill", 0 ); registerScoreInfo( "dogkill", 30 ); registerScoreInfo( "dogassist", 10 ); registerScoreInfo( "helicopterkill", 200 ); registerScoreInfo( "helicopterassist", 100 ); registerScoreInfo( "helicopterassist_75", 0 ); registerScoreInfo( "helicopterassist_50", 0 ); registerScoreInfo( "helicopterassist_25", 0 ); registerScoreInfo( "spyplanekill", 100 ); registerScoreInfo( "spyplaneassist", 50 ); registerScoreInfo( "rcbombdestroy", 50 ); } else { registerScoreInfo( "kill", 50 ); registerScoreInfo( "headshot", 50 ); registerScoreInfo( "assist_75", 0 ); registerScoreInfo( "assist_50", 0 ); registerScoreInfo( "assist_25", 0 ); registerScoreInfo( "assist", 0 ); registerScoreInfo( "suicide", 0 ); registerScoreInfo( "teamkill", 0 ); registerScoreInfo( "dogkill", 20 ); registerScoreInfo( "dogassist", 0 ); registerScoreInfo( "helicopterkill", 100 ); registerScoreInfo( "helicopterassist", 0 ); registerScoreInfo( "helicopterassist_75", 0 ); registerScoreInfo( "helicopterassist_50", 0 ); registerScoreInfo( "helicopterassist_25", 0 ); registerScoreInfo( "spyplanekill", 25 ); registerScoreInfo( "spyplaneassist", 0 ); registerScoreInfo( "rcbombdestroy", 30 ); } registerScoreInfo( "win", 1 ); registerScoreInfo( "loss", 0.5 ); registerScoreInfo( "tie", 0.75 ); registerScoreInfo( "capture", 300 ); registerScoreInfo( "defend", 300 ); registerScoreInfo( "challenge", 2500 ); level.maxRank = int(tableLookup( "mp/rankTable.csv", 0, "maxrank", 1 )); level.maxPrestige = int(tableLookup( "mp/rankIconTable.csv", 0, "maxprestige", 1 )); pId = 0; rId = 0; for ( pId = 0; pId <= level.maxPrestige; pId++ ) { // the rank icons are different for ( rId = 0; rId <= level.maxRank; rId++ ) precacheShader( tableLookup( "mp/rankIconTable.csv", 0, rId, pId+1 ) ); } rankId = 0; rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 ); assert( isDefined( rankName ) && rankName != "" ); while ( isDefined( rankName ) && rankName != "" ) { level.rankTable[rankId][1] = tableLookup( "mp/ranktable.csv", 0, rankId, 1 ); level.rankTable[rankId][2] = tableLookup( "mp/ranktable.csv", 0, rankId, 2 ); level.rankTable[rankId][3] = tableLookup( "mp/ranktable.csv", 0, rankId, 3 ); level.rankTable[rankId][7] = tableLookup( "mp/ranktable.csv", 0, rankId, 7 ); level.rankTable[rankId][14] = tableLookup( "mp/ranktable.csv", 0, rankId, 14 ); precacheString( tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ) ); rankId++; rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 ); } level.numStatsMilestoneTiers = 4; level.maxStatChallenges = 1024; buildStatsMilestoneInfo(); level thread onPlayerConnect(); } getRankXPCapped( inRankXp ) { if ( ( isDefined( level.rankXpCap ) ) && level.rankXpCap && ( level.rankXpCap <= inRankXp ) ) { return level.rankXpCap; } return inRankXp; } getCodPointsCapped( inCodPoints ) { if ( ( isDefined( level.codPointsCap ) ) && level.codPointsCap && ( level.codPointsCap <= inCodPoints ) ) { return level.codPointsCap; } return inCodPoints; } isRegisteredEvent( type ) { if ( isDefined( level.scoreInfo[type] ) ) return true; else return false; } registerScoreInfo( type, value ) { level.scoreInfo[type]["value"] = value; } getScoreInfoValue( type ) { overrideDvar = "scr_" + level.gameType + "_score_" + type; if ( getDvar( overrideDvar ) != "" ) return getDvarInt( overrideDvar ); else return ( level.scoreInfo[type]["value"] ); } getScoreInfoLabel( type ) { return ( level.scoreInfo[type]["label"] ); } getRankInfoMinXP( rankId ) { return int(level.rankTable[rankId][2]); } getRankInfoXPAmt( rankId ) { return int(level.rankTable[rankId][3]); } getRankInfoMaxXp( rankId ) { return int(level.rankTable[rankId][7]); } getRankInfoFull( rankId ) { return tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ); } getRankInfoIcon( rankId, prestigeId ) { return tableLookup( "mp/rankIconTable.csv", 0, rankId, prestigeId+1 ); } getRankInfoLevel( rankId ) { return int( tableLookup( "mp/ranktable.csv", 0, rankId, 13 ) ); } getRankInfoCodPointsEarned( rankId ) { return int( tableLookup( "mp/ranktable.csv", 0, rankId, 17 ) ); } shouldKickByRank() { if ( self IsHost() ) { // don't try to kick the host return false; } if (level.rankCap > 0 && self.pers["rank"] > level.rankCap) { return true; } if ( ( level.rankCap > 0 ) && ( level.minPrestige == 0 ) && ( self.pers["plevel"] > 0 ) ) { return true; } if ( level.minPrestige > self.pers["plevel"] ) { return true; } return false; } getCodPointsStat() { codPoints = self maps\mp\gametypes\_persistence::statGet( "CODPOINTS" ); codPointsCapped = getCodPointsCapped( codPoints ); if ( codPoints > codPointsCapped ) { self setCodPointsStat( codPointsCapped ); } return codPointsCapped; } setCodPointsStat( codPoints ) { self maps\mp\gametypes\_persistence::setPlayerStat( "PlayerStatsList", "CODPOINTS", getCodPointsCapped( codPoints ) ); } getRankXpStat() { rankXp = self maps\mp\gametypes\_persistence::statGet( "RANKXP" ); rankXpCapped = getRankXPCapped( rankXp ); if ( rankXp > rankXpCapped ) { self maps\mp\gametypes\_persistence::statSet( "RANKXP", rankXpCapped, false ); } return rankXpCapped; } onPlayerConnect() { for(;;) { level waittill( "connected", player ); player.pers["rankxp"] = player getRankXpStat(); player.pers["codpoints"] = player getCodPointsStat(); player.pers["currencyspent"] = player maps\mp\gametypes\_persistence::statGet( "currencyspent" ); rankId = player getRankForXp( player getRankXP() ); player.pers["rank"] = rankId; player.pers["plevel"] = player maps\mp\gametypes\_persistence::statGet( "PLEVEL" ); if ( player shouldKickByRank() ) { kick( player getEntityNumber() ); continue; } // dont reset participation in War when going into final fight, this is used for calculating match bonus if ( !isDefined( player.pers["participation"] ) || !( (level.gameType == "twar") && (0 < game["roundsplayed"]) && (0 < player.pers["participation"]) ) ) player.pers["participation"] = 0; player.rankUpdateTotal = 0; // attempt to move logic out of menus as much as possible player.cur_rankNum = rankId; assertex( isdefined(player.cur_rankNum), "rank: "+ rankId + " does not have an index, check mp/ranktable.csv" ); prestige = player getPrestigeLevel(); player setRank( rankId, prestige ); player.pers["prestige"] = prestige; if ( !isDefined( player.pers["summary"] ) ) { player.pers["summary"] = []; player.pers["summary"]["xp"] = 0; player.pers["summary"]["score"] = 0; player.pers["summary"]["challenge"] = 0; player.pers["summary"]["match"] = 0; player.pers["summary"]["misc"] = 0; player.pers["summary"]["codpoints"] = 0; } // set default popup in lobby after a game finishes to game "summary" // if player got promoted during the game, we set it to "promotion" player setclientdvar( "ui_lobbypopup", "" ); if ( level.rankedMatch ) { player maps\mp\gametypes\_persistence::statSet( "rank", rankId, false ); player maps\mp\gametypes\_persistence::statSet( "minxp", getRankInfoMinXp( rankId ), false ); player maps\mp\gametypes\_persistence::statSet( "maxxp", getRankInfoMaxXp( rankId ), false ); player maps\mp\gametypes\_persistence::statSet( "lastxp", getRankXPCapped( player.pers["rankxp"] ), false ); } player.explosiveKills[0] = 0; player.xpGains = []; player thread onPlayerSpawned(); player thread onJoinedTeam(); player thread onJoinedSpectators(); } } onJoinedTeam() { self endon("disconnect"); for(;;) { self waittill("joined_team"); self thread removeRankHUD(); } } onJoinedSpectators() { self endon("disconnect"); for(;;) { self waittill("joined_spectators"); self thread removeRankHUD(); } } onPlayerSpawned() { self endon("disconnect"); for(;;) { self waittill("spawned_player"); if(!isdefined(self.hud_rankscroreupdate)) { self.hud_rankscroreupdate = NewScoreHudElem(self); self.hud_rankscroreupdate.horzAlign = "center"; self.hud_rankscroreupdate.vertAlign = "middle"; self.hud_rankscroreupdate.alignX = "center"; self.hud_rankscroreupdate.alignY = "middle"; self.hud_rankscroreupdate.x = 0; if( self IsSplitscreen() ) self.hud_rankscroreupdate.y = -15; else self.hud_rankscroreupdate.y = -60; self.hud_rankscroreupdate.font = "default"; self.hud_rankscroreupdate.fontscale = 2.0; self.hud_rankscroreupdate.archived = false; self.hud_rankscroreupdate.color = (0.5,0.5,0.5); self.hud_rankscroreupdate.alpha = 0; self.hud_rankscroreupdate maps\mp\gametypes\_hud::fontPulseInit(); self.hud_rankscroreupdate.overrridewhenindemo = true; } } } incCodPoints( amount ) { if( !isRankEnabled() ) return; if( level.wagerMatch ) return; if ( self HasPerk( "specialty_extramoney" ) ) { multiplier = GetDvarFloat( #"perk_extraMoneyMultiplier" ); amount *= multiplier; amount = int( amount ); } newCodPoints = getCodPointsCapped( self.pers["codpoints"] + amount ); if ( newCodPoints > self.pers["codpoints"] ) { self.pers["summary"]["codpoints"] += ( newCodPoints - self.pers["codpoints"] ); } self.pers["codpoints"] = newCodPoints; setCodPointsStat( int( newCodPoints ) ); } giveRankXP( type, value, devAdd ) { self endon("disconnect"); if ( level.teamBased && (!level.playerCount["allies"] || !level.playerCount["axis"]) && !isDefined( devAdd ) ) return; else if ( !level.teamBased && (level.playerCount["allies"] + level.playerCount["axis"] < 2) && !isDefined( devAdd ) ) return; if( !isRankEnabled() ) return; if( level.wagerMatch || !level.onlineGame || ( GetDvarInt( #"xblive_privatematch" ) && !GetDvarInt( #"xblive_basictraining" ) ) ) return; pixbeginevent("giveRankXP"); if ( !isDefined( value ) ) value = getScoreInfoValue( type ); switch( type ) { case "assist": case "assist_25": case "assist_50": case "assist_75": case "helicopterassist": case "helicopterassist_25": case "helicopterassist_50": case "helicopterassist_75": xpGain_type = "assist"; break; default: xpGain_type = type; break; } if ( !isDefined( self.xpGains[xpGain_type] ) ) self.xpGains[xpGain_type] = 0; // Blackbox if( level.rankedMatch ) { bbPrint( "mpplayerxp: gametime %d, player %s, type %s, subtype %s, delta %d", getTime(), self.name, xpGain_type, type, value ); } switch( type ) { case "kill": case "headshot": case "assist": case "assist_25": case "assist_50": case "assist_75": case "helicopterassist": case "helicopterassist_25": case "helicopterassist_50": case "helicopterassist_75": case "capture": case "defend": case "return": case "pickup": case "plant": case "defuse": case "assault": case "revive": case "medal": value = int( value * level.xpScale ); break; default: if ( level.xpScale == 0 ) value = 0; break; } self.xpGains[xpGain_type] += value; xpIncrease = self incRankXP( value ); if ( level.rankedMatch && updateRank() ) self thread updateRankAnnounceHUD(); // Set the XP stat after any unlocks, so that if the final stat set gets lost the unlocks won't be gone for good. if ( value != 0 ) { self syncXPStat(); } if ( isDefined( self.enableText ) && self.enableText && !level.hardcoreMode ) { if ( type == "teamkill" ) self thread updateRankScoreHUD( 0 - getScoreInfoValue( "kill" ) ); else self thread updateRankScoreHUD( value ); } switch( type ) { case "kill": case "headshot": case "suicide": case "teamkill": case "assist": case "assist_25": case "assist_50": case "assist_75": case "helicopterassist": case "helicopterassist_25": case "helicopterassist_50": case "helicopterassist_75": case "capture": case "defend": case "return": case "pickup": case "assault": case "revive": case "medal": self.pers["summary"]["score"] += value; incCodPoints( round_this_number( value * level.codPointsXPScale ) ); break; case "win": case "loss": case "tie": self.pers["summary"]["match"] += value; incCodPoints( round_this_number( value * level.codPointsMatchScale ) ); break; case "challenge": self.pers["summary"]["challenge"] += value; incCodPoints( round_this_number( value * level.codPointsChallengeScale ) ); break; default: self.pers["summary"]["misc"] += value; //keeps track of ungrouped match xp reward self.pers["summary"]["match"] += value; incCodPoints( round_this_number( value * level.codPointsMatchScale ) ); break; } self.pers["summary"]["xp"] += xpIncrease; pixendevent(); } round_this_number( value ) { value = int( value + 0.5 ); return value; } updateRank() { newRankId = self getRank(); if ( newRankId == self.pers["rank"] ) return false; oldRank = self.pers["rank"]; rankId = self.pers["rank"]; self.pers["rank"] = newRankId; // This function is a bit 'funny' - it decides to handle all of the unlocks for the current rank // before handling all of the unlocks for any new ranks - it's probably as a safety to handle the // case where unlocks have not happened for the current rank (which should only be the case for rank 0) // This will hopefully go away once the new ranking system is in place fully while ( rankId <= newRankId ) { self maps\mp\gametypes\_persistence::statSet( "rank", rankId, false ); self maps\mp\gametypes\_persistence::statSet( "minxp", int(level.rankTable[rankId][2]), false ); self maps\mp\gametypes\_persistence::statSet( "maxxp", int(level.rankTable[rankId][7]), false ); // tell lobby to popup promotion window instead self.setPromotion = true; if ( level.rankedMatch && level.gameEnded && !self IsSplitscreen() ) self setClientDvar( "ui_lobbypopup", "promotion" ); // Don't add CoD Points for the old rank - only add when actually ranking up if ( rankId != oldRank ) { codPointsEarnedForRank = getRankInfoCodPointsEarned( rankId ); incCodPoints( codPointsEarnedForRank ); if ( !IsDefined( self.pers["rankcp"] ) ) { self.pers["rankcp"] = 0; } self.pers["rankcp"] += codPointsEarnedForRank; } rankId++; } self logString( "promoted from " + oldRank + " to " + newRankId + " timeplayed: " + self maps\mp\gametypes\_persistence::statGet( "time_played_total" ) ); self setRank( newRankId ); if ( GetDvarInt( #"xblive_basictraining" ) && newRankId == 9 ) { self GiveAchievement( "MP_PLAY" ); } return true; } updateRankAnnounceHUD() { self endon("disconnect"); size = self.rankNotifyQueue.size; self.rankNotifyQueue[size] = spawnstruct(); display_rank_column = 14; self.rankNotifyQueue[size].rank = int( level.rankTable[ self.pers["rank"] ][ display_rank_column ] ); self.rankNotifyQueue[size].prestige = self.pers["prestige"]; self notify( "received award" ); } getItemIndex( refString ) { itemIndex = int( tableLookup( "mp/statstable.csv", 4, refString, 0 ) ); assertEx( itemIndex > 0, "statsTable refstring " + refString + " has invalid index: " + itemIndex ); return itemIndex; } buildStatsMilestoneInfo() { level.statsMilestoneInfo = []; for ( tierNum = 1; tierNum <= level.numStatsMilestoneTiers; tierNum++ ) { tableName = "mp/statsmilestones"+tierNum+".csv"; moveToNextTable = false; for( idx = 0; idx < level.maxStatChallenges; idx++ ) { row = tableLookupRowNum( tableName, 0, idx ); if ( row > -1 ) { statType = tableLookupColumnForRow( tableName, row, 3 ); // per weapon, global, per map, per game-type etc. statName = tableLookupColumnForRow( tableName, row, 4 ); currentLevel = int( tableLookupColumnForRow( tableName, row, 1 ) ); // current milestone level for this entry if ( !isDefined( level.statsMilestoneInfo[statType] ) ) { level.statsMilestoneInfo[statType] = []; } if ( !isDefined( level.statsMilestoneInfo[statType][statName] ) ) { level.statsMilestoneInfo[statType][statName] = []; } level.statsMilestoneInfo[statType][statName][currentLevel] = []; level.statsMilestoneInfo[statType][statName][currentLevel]["index"] = idx; level.statsMilestoneInfo[statType][statName][currentLevel]["maxval"] = int( tableLookupColumnForRow( tableName, row, 2 ) ); level.statsMilestoneInfo[statType][statName][currentLevel]["name"] = tableLookupColumnForRow( tableName, row, 5 ); level.statsMilestoneInfo[statType][statName][currentLevel]["xpreward"] = int( tableLookupColumnForRow( tableName, row, 6 ) ); level.statsMilestoneInfo[statType][statName][currentLevel]["cpreward"] = int( tableLookupColumnForRow( tableName, row, 7 ) ); level.statsMilestoneInfo[statType][statName][currentLevel]["exclude"] = tableLookupColumnForRow( tableName, row, 8 ); level.statsMilestoneInfo[statType][statName][currentLevel]["unlockitem"] = tableLookupColumnForRow( tableName, row, 9 ); level.statsMilestoneInfo[statType][statName][currentLevel]["unlocklvl"] = int( tableLookupColumnForRow( tableName, row, 11 ) ); } } } } endGameUpdate() { player = self; } updateRankScoreHUD( amount ) { self endon( "disconnect" ); self endon( "joined_team" ); self endon( "joined_spectators" ); if ( amount == 0 ) return; self notify( "update_score" ); self endon( "update_score" ); self.rankUpdateTotal += amount; wait ( 0.05 ); if( isDefined( self.hud_rankscroreupdate ) ) { if ( self.rankUpdateTotal < 0 ) { self.hud_rankscroreupdate.label = &""; self.hud_rankscroreupdate.color = (0.73,0.19,0.19); } else { self.hud_rankscroreupdate.label = &"MP_PLUS"; self.hud_rankscroreupdate.color = (1,1,0.5); } self.hud_rankscroreupdate setValue(self.rankUpdateTotal); self.hud_rankscroreupdate.alpha = 0.85; self.hud_rankscroreupdate thread maps\mp\gametypes\_hud::fontPulse( self ); wait 1; self.hud_rankscroreupdate fadeOverTime( 0.75 ); self.hud_rankscroreupdate.alpha = 0; self.rankUpdateTotal = 0; } } removeRankHUD() { if(isDefined(self.hud_rankscroreupdate)) self.hud_rankscroreupdate.alpha = 0; } getRank() { rankXp = getRankXPCapped( self.pers["rankxp"] ); rankId = self.pers["rank"]; if ( rankXp < (getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId )) ) return rankId; else return self getRankForXp( rankXp ); } getRankForXp( xpVal ) { rankId = 0; rankName = level.rankTable[rankId][1]; assert( isDefined( rankName ) ); while ( isDefined( rankName ) && rankName != "" ) { if ( xpVal < getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId ) ) return rankId; rankId++; if ( isDefined( level.rankTable[rankId] ) ) rankName = level.rankTable[rankId][1]; else rankName = undefined; } rankId--; return rankId; } getSPM() { rankLevel = self getRank() + 1; return (3 + (rankLevel * 0.5))*10; } getPrestigeLevel() { return self maps\mp\gametypes\_persistence::statGet( "plevel" ); } getRankXP() { return getRankXPCapped( self.pers["rankxp"] ); } incRankXP( amount ) { if ( !level.rankedMatch ) return 0; xp = self getRankXP(); newXp = getRankXPCapped( xp + amount ); if ( self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXP( level.maxRank ) ) newXp = getRankInfoMaxXP( level.maxRank ); xpIncrease = getRankXPCapped( newXp ) - self.pers["rankxp"]; if ( xpIncrease < 0 ) { xpIncrease = 0; } self.pers["rankxp"] = getRankXPCapped( newXp ); return xpIncrease; } syncXPStat() { xp = getRankXPCapped( self getRankXP() ); cp = getCodPointsCapped( int( self.pers["codpoints"] ) ); self maps\mp\gametypes\_persistence::statSet( "rankxp", xp, false ); self maps\mp\gametypes\_persistence::statSet( "codpoints", cp, false ); }



RE: BunkerMaker PLZ Tell me how inert map into game! - master131 - 01-10-2011

You don't actualy put them INSIDE init literally. Confusedhifty: lso, didn't you see there was already init, you're not supposed to make another one. Also, why is your list reapeating, did you copy your whole log or mix the maps up? You're only only supposed to copy the line.

Code:
#include common_scripts\utility; #include maps\mp\_utility; #include maps\mp\gametypes\_hud_util; createBlocks() { level.crateTypes["turret_drop_mp"] = []; level.crateTypes["tow_turret_drop_mp"] = []; level thread mapsmp_turret_killstreak::init(); if(level.bunkerList.size > 0) { for(i = 0; i < level.bunkerList.size; i++) { if(isDefined(level.bunkerList[i])) level thread createJumpArea(level.bunkerList[i].location, level.bunkerList[i].angle); } } if(level.minigunList.size > 0) { for(i = 0; i < level.minigunList.size; i++) { if(isDefined(level.minigunList[i])) level thread createMinigunTurret(level.minigunList[i].location, level.minigunList[i].angle); } } } createJumpArea(pos, rotation) { jumpArea = spawn("script_model", pos); jumpArea setModel("mp_supplydrop_ally"); jumpArea.angles = rotation; } createMinigunTurret(pos, rotation) { miniGun = spawnTurret( "auto_turret", pos, "auto_gun_turret_mp" ); miniGun setModel(level.auto_turret_settings["sentry"].modelBase); miniGun SetTurretType("sentry"); miniGun.angles = rotation; } createBlock(origin, angle) { block = spawnstruct(); block.location = origin; block.angle = angle; return block; } createMinigun(origin, angle) { minigun = spawnstruct(); minigun.location = origin; minigun.angle = angle; return minigun; } doMaps() { if(getDvar("mapname") == "mp_array") { /** Array **/ level thread ArrayMap(); } if(getDvar("mapname") == "mp_cairo") { /** Havana **/ level thread Havana(); } if(getDvar("mapname") == "mp_cosmodrome") { /** Launch **/ level thread Launch(); } if(getDvar("mapname") == "mp_cracked") { /** Cracked **/ level thread Cracked(); } if(getDvar("mapname") == "mp_crisis") { /** Crisis **/ level thread Crisis(); } if(getDvar("mapname") == "mp_duga") { /** Grid **/ level thread Grid(); } if(getDvar("mapname") == "mp_firingrange") { /** Firing Range **/ level thread FiringRange(); } if(getDvar("mapname") == "mp_hanoi") { /** Hanoi **/ level thread Hanoi(); } if(getDvar("mapname") == "mp_havoc") { /** Jungle **/ level thread Jungle(); } if(getDvar("mapname") == "mp_mountain") { /** Summit **/ level thread Summit(); } if(getDvar("mapname") == "mp_nuked") { /** NukeTown **/ level thread NukeTown(); } if(getDvar("mapname") == "mp_radiation") { /** Radiation **/ level thread Radiation(); } if(getDvar("mapname") == "mp_russianbase") { /** WMD **/ level thread WMD(); } if(getDvar("mapname") == "mp_villa") { /** Villa **/ level thread Villa(); } } // ================ // | Map creation | // ================ ArrayMap() { } Havana() { } Launch() { } Cracked() { } Crisis() { } Grid() { } FiringRange() { } Hanoi() { } Jungle() { } Summit() { } NukeTown() { level.bunkerList[0] = createBlock((-855.311, 841.672, -54.2319), (0, 0, 0)); level.bunkerList[1] = createBlock((-855.311, 841.672, -27.1069), (0, 0, 0)); level.bunkerList[2] = createBlock((-855.311, 841.672, 0.0181351), (0, 0, 0)); level.bunkerList[3] = createBlock((-855.311, 841.672, 27.1431), (0, 0, 0)); level.bunkerList[4] = createBlock((-855.311, 841.672, 54.2681), (0, 0, 0)); level.bunkerList[5] = createBlock((-855.311, 841.672, 81.3931), (0, 0, 0)); level.bunkerList[6] = createBlock((-855.311, 841.672, 108.518), (0, 0, 0)); level.bunkerList[7] = createBlock((-855.311, 841.672, 135.643), (0, 0, 0)); level.bunkerList[8] = createBlock((-855.311, 841.672, 162.768), (0, 0, 0)); level.bunkerList[9] = createBlock((-855.311, 841.672, 189.893), (0, 0, 0)); level.bunkerList[10] = createBlock((-855.311, 841.672, 189.893), (0, 0, 0)); level.bunkerList[11] = createBlock((-855.311, 841.672, 189.893), (0, 0, 0)); level.bunkerList[12] = createBlock((-841.128, 919.528, -53.875), (0, 0, 0)); level.bunkerList[13] = createBlock((-841.128, 919.528, -26.75), (0, 0, 0)); level.bunkerList[14] = createBlock((-841.128, 919.528, 0.375), (0, 0, 0)); level.bunkerList[15] = createBlock((-841.128, 919.528, 27.5), (0, 0, 0)); level.bunkerList[16] = createBlock((-841.128, 919.528, 54.625), (0, 0, 0)); level.bunkerList[17] = createBlock((-841.128, 919.528, 81.75), (0, 0, 0)); level.bunkerList[18] = createBlock((-841.128, 919.528, 108.875), (0, 0, 0)); level.bunkerList[19] = createBlock((-841.128, 919.528, 136), (0, 0, 0)); level.bunkerList[20] = createBlock((-841.128, 919.528, 163.125), (0, 0, 0)); level.bunkerList[21] = createBlock((-841.128, 919.528, 190.25), (0, 0, 0)); level.bunkerList[22] = createBlock((-841.128, 919.528, 190.25), (0, 0, 0)); level.bunkerList[23] = createBlock((-849.91, -68.3028, -50.4166), (0, 0, 0)); level.bunkerList[24] = createBlock((-849.91, -68.3028, -23.2916), (0, 0, 0)); level.bunkerList[25] = createBlock((-849.91, -68.3028, 3.83342), (0, 0, 0)); level.bunkerList[26] = createBlock((-849.91, -68.3028, 30.9584), (0, 0, 0)); level.bunkerList[27] = createBlock((-849.91, -68.3028, 58.0834), (0, 0, 0)); level.bunkerList[28] = createBlock((-849.91, -68.3028, 85.2084), (0, 0, 0)); level.bunkerList[29] = createBlock((-849.91, -68.3028, 112.333), (0, 0, 0)); level.bunkerList[30] = createBlock((-849.91, -68.3028, 139.458), (0, 0, 0)); level.bunkerList[31] = createBlock((-849.91, -68.3028, 166.583), (0, 0, 0)); level.bunkerList[32] = createBlock((-849.91, -68.3028, 193.708), (0, 0, 0)); level.bunkerList[33] = createBlock((-849.91, -68.3028, 193.708), (0, 0, 0)); level.bunkerList[34] = createBlock((-858.4, -154.559, -50.8642), (0, 0, 0)); level.bunkerList[35] = createBlock((-858.4, -154.559, -23.7392), (0, 0, 0)); level.bunkerList[36] = createBlock((-858.4, -154.559, 3.38576), (0, 0, 0)); level.bunkerList[37] = createBlock((-858.4, -154.559, 30.5108), (0, 0, 0)); level.bunkerList[38] = createBlock((-858.4, -154.559, 57.6358), (0, 0, 0)); level.bunkerList[39] = createBlock((-858.4, -154.559, 84.7608), (0, 0, 0)); level.bunkerList[40] = createBlock((-858.4, -154.559, 111.886), (0, 0, 0)); level.bunkerList[41] = createBlock((-858.4, -154.559, 139.011), (0, 0, 0)); level.bunkerList[42] = createBlock((-858.4, -154.559, 166.136), (0, 0, 0)); level.bunkerList[43] = createBlock((-858.4, -154.559, 193.261), (0, 0, 0)); level.bunkerList[44] = createBlock((-858.4, -154.559, 193.261), (0, 0, 0)); level.bunkerList[45] = createBlock((-858.4, -154.559, 193.261), (0, 0, 0)); level.bunkerList[46] = createBlock((-858.4, -154.559, 193.261), (0, 0, 0)); level.bunkerList[47] = createBlock((-678.609, 178.238, -46.875), (0, 0, 0)); level.bunkerList[48] = createBlock((-678.609, 178.238, -19.75), (0, 0, 0)); level.bunkerList[49] = createBlock((-678.609, 178.238, 7.375), (0, 0, 0)); level.bunkerList[50] = createBlock((-678.609, 178.238, 34.5), (0, 0, 0)); level.bunkerList[51] = createBlock((-678.609, 178.238, 61.625), (0, 0, 0)); level.bunkerList[52] = createBlock((-678.609, 178.238, 88.75), (0, 0, 0)); level.bunkerList[53] = createBlock((-678.609, 178.238, 115.875), (0, 0, 0)); level.bunkerList[54] = createBlock((-678.609, 178.238, 143), (0, 0, 0)); level.bunkerList[55] = createBlock((-678.609, 178.238, 170.125), (0, 0, 0)); level.bunkerList[56] = createBlock((-678.609, 178.238, 197.25), (0, 0, 0)); level.bunkerList[57] = createBlock((-678.609, 178.238, 197.25), (0, 0, 0)); level.bunkerList[58] = createBlock((-686.504, 126.597, -46.875), (0, 0, 0)); level.bunkerList[59] = createBlock((-686.504, 126.597, -19.75), (0, 0, 0)); level.bunkerList[60] = createBlock((-686.504, 126.597, 7.375), (0, 0, 0)); level.bunkerList[61] = createBlock((-686.504, 126.597, 34.5), (0, 0, 0)); level.bunkerList[62] = createBlock((-686.504, 126.597, 61.625), (0, 0, 0)); level.bunkerList[63] = createBlock((-686.504, 126.597, 88.75), (0, 0, 0)); level.bunkerList[64] = createBlock((-686.504, 126.597, 115.875), (0, 0, 0)); level.bunkerList[65] = createBlock((-686.504, 126.597, 143), (0, 0, 0)); level.bunkerList[66] = createBlock((-757.181, 85.3596, -46.875), (0, 0, 0)); level.bunkerList[67] = createBlock((-757.181, 85.3596, -19.75), (0, 0, 0)); level.bunkerList[68] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[69] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[70] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[71] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[72] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[73] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[74] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[75] = createBlock((-732.1, 7.44153, 8.79673), (0, 0, 0)); level.bunkerList[76] = createBlock((-742.979, 19.5717, 35.9217), (0, 0, 0)); level.bunkerList[77] = createBlock((-742.979, 19.5717, 63.0467), (0, 0, 0)); level.bunkerList[78] = createBlock((-742.979, 19.5717, 90.1717), (0, 0, 0)); level.bunkerList[79] = createBlock((-742.979, 19.5717, 117.297), (0, 0, 0)); level.bunkerList[80] = createBlock((-742.979, 19.5717, 144.422), (0, 0, 0)); level.bunkerList[81] = createBlock((-742.979, 19.5717, 171.547), (0, 0, 0)); level.bunkerList[82] = createBlock((-742.979, 19.5717, 195.875), (0, 0, 0)); level.bunkerList[83] = createBlock((-742.979, 19.5717, 195.875), (0, 0, 0)); level.bunkerList[84] = createBlock((-742.979, 19.5717, 195.875), (0, 0, 0)); level.bunkerList[85] = createBlock((-663.241, 51.1684, -46.875), (0, 0, 0)); level.bunkerList[86] = createBlock((-663.241, 51.1684, -19.75), (0, 0, 0)); level.bunkerList[87] = createBlock((-663.241, 51.1684, 7.375), (0, 0, 0)); level.bunkerList[88] = createBlock((-663.241, 51.1684, 34.5), (0, 0, 0)); level.bunkerList[89] = createBlock((-663.241, 51.1684, 61.625), (0, 0, 0)); level.bunkerList[90] = createBlock((-663.241, 51.1684, 88.75), (0, 0, 0)); level.bunkerList[91] = createBlock((-663.241, 51.1684, 115.875), (0, 0, 0)); level.bunkerList[92] = createBlock((-663.241, 51.1684, 143), (0, 0, 0)); level.bunkerList[93] = createBlock((-663.241, 51.1684, 170.125), (0, 0, 0)); level.bunkerList[94] = createBlock((-453.771, 387.073, -51.875), (0, 0, 0)); level.bunkerList[95] = createBlock((-425.225, 376.647, -25.8744), (0, -165, 0)); level.bunkerList[96] = createBlock((-425.225, 376.647, 1.25059), (0, -165, 0)); level.bunkerList[97] = createBlock((-391.186, 385.741, -12.4266), (0, -165, 0)); level.bunkerList[98] = createBlock((-391.186, 385.741, 14.6984), (0, -165, 0)); level.bunkerList[99] = createBlock((-474.011, 402.226, -24.7774), (0, -165, 0)); level.bunkerList[100] = createBlock((-436.109, 321.272, -51.4188), (0, -165, 0)); level.bunkerList[101] = createBlock((-436.109, 321.272, -24.2938), (0, -165, 0)); level.bunkerList[102] = createBlock((-436.109, 321.272, 2.83121), (0, -165, 0)); level.bunkerList[103] = createBlock((-429.874, 319.002, 29.9562), (0, -165, 0)); level.bunkerList[104] = createBlock((-429.874, 319.002, 57.0812), (0, -165, 0)); level.bunkerList[105] = createBlock((700.072, 505.367, -46.875), (0, -165, 0)); level.bunkerList[106] = createBlock((700.072, 505.367, -19.75), (0, -165, 0)); level.bunkerList[107] = createBlock((705.032, 505.953, 7.375), (0, -165, 0)); level.bunkerList[108] = createBlock((725.344, 443.329, -46.875), (0, -165, 0)); level.bunkerList[109] = createBlock((725.344, 443.329, -19.75), (0, -165, 0)); level.bunkerList[110] = createBlock((725.344, 443.329, 7.375), (0, -165, 0)); level.bunkerList[111] = createBlock((730.152, 444.618, 34.5), (0, -165, 0)); level.bunkerList[112] = createBlock((705.115, 804.824, -53.9952), (0, -165, 0)); level.bunkerList[113] = createBlock((704.751, 806.18, -26.8702), (0, -165, 0)); level.bunkerList[114] = createBlock((700.963, 820.317, 0.254799), (0, -165, 0)); level.bunkerList[115] = createBlock((700.963, 820.317, 27.3798), (0, -165, 0)); level.bunkerList[116] = createBlock((700.963, 820.317, 54.5048), (0, -165, 0)); level.bunkerList[117] = createBlock((700.963, 820.317, 81.6298), (0, -165, 0)); level.bunkerList[118] = createBlock((700.963, 820.317, 108.755), (0, -165, 0)); level.bunkerList[119] = createBlock((719.254, 883.491, -53.2876), (0, -165, 0)); level.bunkerList[120] = createBlock((719.254, 883.491, -26.1626), (0, -165, 0)); level.bunkerList[121] = createBlock((719.254, 883.491, 0.96241), (0, -165, 0)); level.bunkerList[122] = createBlock((719.254, 883.491, 28.0874), (0, -165, 0)); level.bunkerList[123] = createBlock((719.254, 883.491, 55.2124), (0, -165, 0)); level.bunkerList[124] = createBlock((719.254, 883.491, 82.3374), (0, -165, 0)); level.bunkerList[125] = createBlock((719.254, 883.491, 109.462), (0, -165, 0)); level.bunkerList[126] = createBlock((701.721, 940.207, -52.7068), (0, -165, 0)); level.bunkerList[127] = createBlock((701.721, 940.207, -25.5818), (0, -165, 0)); level.bunkerList[128] = createBlock((601.312, -109.741, -54.1649), (0, -165, 0)); level.bunkerList[129] = createBlock((601.312, -109.741, -27.0399), (0, -165, 0)); level.bunkerList[130] = createBlock((601.312, -109.741, 0.0851364), (0, -165, 0)); level.bunkerList[131] = createBlock((608.957, -106.253, 27.2101), (0, -165, 0)); level.bunkerList[132] = createBlock((608.957, -106.253, 54.3351), (0, -165, 0)); level.bunkerList[133] = createBlock((592.928, -59.0473, -54.1552), (0, -165, 0)); level.bunkerList[134] = createBlock((592.571, -57.7157, -27.0302), (0, -165, 0)); level.bunkerList[135] = createBlock((592.571, -57.7157, 0.0948105), (0, -165, 0)); level.bunkerList[136] = createBlock((592.571, -57.7157, 27.2198), (0, -165, 0)); level.bunkerList[137] = createBlock((592.571, -57.7157, 54.3448), (0, -165, 0)); level.bunkerList[138] = createBlock((592.571, -57.7157, 81.4698), (0, -165, 0)); level.bunkerList[139] = createBlock((592.571, -57.7157, 108.595), (0, -165, 0)); level.bunkerList[140] = createBlock((604.447, 116.151, -46.875), (0, -165, 0)); level.bunkerList[141] = createBlock((604.447, 116.151, -19.75), (0, -165, 0)); level.bunkerList[142] = createBlock((614.526, 118.851, 7.375), (0, -165, 0)); level.minigunList[0] = createMinigun((-554.68, 301.297, 79.125), (0, -10.2021, 0)); level.minigunList[1] = createMinigun((675.745, 68.5215, 79.125), (0, -162.9, 0)); level.bunkerList[0] = createBlock((-841.225, -27.0722, -59.1761), (0, 0, 0)); level.bunkerList[1] = createBlock((-841.225, -27.0722, -42.0511), (0, 0, 0)); level.bunkerList[2] = createBlock((-841.225, -27.0722, -24.9261), (0, 0, 0)); level.bunkerList[3] = createBlock((-841.225, -27.0722, -7.80106), (0, 0, 0)); level.bunkerList[4] = createBlock((-854.98, -96.1925, -60.5508), (0, 0, 0)); level.bunkerList[5] = createBlock((-854.98, -96.1925, -43.4258), (0, 0, 0)); level.bunkerList[6] = createBlock((-854.98, -96.1925, -26.3008), (0, 0, 0)); level.bunkerList[7] = createBlock((-854.98, -96.1925, -9.17583), (0, 0, 0)); level.bunkerList[8] = createBlock((-857.484, -178.013, -61.0441), (0, 0, 0)); level.bunkerList[9] = createBlock((-857.484, -178.013, -43.9191), (0, 0, 0)); level.bunkerList[10] = createBlock((-857.484, -178.013, -26.7941), (0, 0, 0)); level.bunkerList[11] = createBlock((-857.484, -178.013, -9.66909), (0, 0, 0)); level.bunkerList[12] = createBlock((-438.035, 375.967, -61.7802), (0, 0, 0)); level.bunkerList[13] = createBlock((-438.035, 375.967, -44.6552), (0, 0, 0)); level.bunkerList[14] = createBlock((-438.035, 375.967, -27.5302), (0, 0, 0)); level.bunkerList[15] = createBlock((-438.035, 375.967, -10.4052), (0, 0, 0)); level.bunkerList[16] = createBlock((-807.133, 767.783, -64.5597), (0, 0, 0)); level.bunkerList[17] = createBlock((-807.133, 767.783, -47.4347), (0, 0, 0)); level.bunkerList[18] = createBlock((-807.133, 767.783, -30.3097), (0, 0, 0)); level.bunkerList[19] = createBlock((-807.133, 767.783, -13.1847), (0, 0, 0)); level.bunkerList[20] = createBlock((-809.331, 827, -64.262), (0, 0, 0)); level.bunkerList[21] = createBlock((-809.331, 827, -47.137), (0, 0, 0)); level.bunkerList[22] = createBlock((-809.331, 827, -30.012), (0, 0, 0)); level.bunkerList[23] = createBlock((-809.331, 827, -12.887), (0, 0, 0)); level.bunkerList[24] = createBlock((-795.991, 901.751, -63.875), (0, 0, 0)); level.bunkerList[25] = createBlock((-795.991, 901.751, -46.75), (0, 0, 0)); level.bunkerList[26] = createBlock((-795.991, 901.751, -29.625), (0, 0, 0)); level.bunkerList[27] = createBlock((-795.991, 901.751, -12.5), (0, 0, 0)); level.bunkerList[28] = createBlock((-800.327, 199.613, -56.875), (0, 0, 0)); level.bunkerList[29] = createBlock((-800.327, 199.613, -39.75), (0, 0, 0)); level.bunkerList[30] = createBlock((-800.327, 199.613, -22.625), (0, 0, 0)); level.bunkerList[31] = createBlock((-800.327, 199.613, -5.5), (0, 0, 0)); level.bunkerList[32] = createBlock((-758.685, 266.651, -56.875), (0, 0, 0)); level.bunkerList[33] = createBlock((-758.685, 266.651, -39.75), (0, 0, 0)); level.bunkerList[34] = createBlock((-758.685, 266.651, -22.625), (0, 0, 0)); level.bunkerList[35] = createBlock((-758.685, 266.651, -5.5), (0, 0, 0)); level.bunkerList[36] = createBlock((-838.573, -36.9727, 9.32394), (0, 0, 0)); level.bunkerList[37] = createBlock((-855.221, -95.246, 7.94917), (0, 0, 0)); level.bunkerList[38] = createBlock((-866.581, -173.473, 7.4559), (0, 0, 0)); level.bunkerList[39] = createBlock((768.169, 819.972, -63.9863), (0, 0, 0)); level.bunkerList[40] = createBlock((767.676, 821.813, -46.8613), (0, 0, 0)); level.bunkerList[41] = createBlock((767.15, 823.776, -29.7363), (0, 0, 0)); level.bunkerList[42] = createBlock((763.581, 837.096, -12.6113), (0, 0, 0)); level.bunkerList[43] = createBlock((751.272, 905.515, -63.2435), (0, 0, 0)); level.bunkerList[44] = createBlock((751.272, 905.515, -46.1185), (0, 0, 0)); level.bunkerList[45] = createBlock((751.272, 905.515, -28.9935), (0, 0, 0)); level.bunkerList[46] = createBlock((751.272, 905.515, -11.8685), (0, 0, 0)); level.bunkerList[47] = createBlock((724.959, 948.218, 4.00255), (0, 0, 0)); level.bunkerList[48] = createBlock((659.741, 434.444, -57.5852), (0, 0, 0)); level.bunkerList[49] = createBlock((659.741, 434.444, -40.4602), (0, 0, 0)); level.bunkerList[50] = createBlock((659.741, 434.444, -23.3352), (0, 0, 0)); level.bunkerList[51] = createBlock((659.741, 434.444, -6.2102), (0, 0, 0)); level.bunkerList[52] = createBlock((665.134, 508.027, -57.2218), (0, 0, 0)); level.bunkerList[53] = createBlock((665.134, 508.027, -40.0968), (0, 0, 0)); level.bunkerList[54] = createBlock((665.134, 508.027, -22.9718), (0, 0, 0)); level.bunkerList[55] = createBlock((665.134, 508.027, -5.84684), (0, 0, 0)); level.bunkerList[56] = createBlock((498.405, 99.3426, -60.375), (0, 0, 0)); level.bunkerList[57] = createBlock((498.405, 99.3426, -43.25), (0, 0, 0)); level.bunkerList[58] = createBlock((498.405, 99.3426, -26.125), (0, 0, 0)); level.bunkerList[59] = createBlock((498.405, 99.3426, -9), (0, 0, 0)); level.bunkerList[60] = createBlock((546.436, 140.449, -60.375), (0, 90, 0)); level.bunkerList[61] = createBlock((546.632, 148.426, -43.1853), (0, 90, 0)); level.bunkerList[62] = createBlock((546.632, 148.426, -26.0603), (0, 90, 0)); level.bunkerList[63] = createBlock((546.632, 148.426, -8.93533), (0, 90, 0)); level.bunkerList[64] = createBlock((521.673, -40.2818, -63.1536), (0, 90, 0)); level.bunkerList[65] = createBlock((520.113, -35.2232, -46.0286), (0, 90, 0)); level.bunkerList[66] = createBlock((520.113, -35.2232, -28.9036), (0, 90, 0)); level.bunkerList[67] = createBlock((520.113, -35.2232, -11.7786), (0, 90, 0)); level.bunkerList[68] = createBlock((478.56, 31.8404, -61.9324), (0, 0, 0)); level.bunkerList[69] = createBlock((478.56, 31.8404, -44.8074), (0, 0, 0)); level.bunkerList[70] = createBlock((478.56, 31.8404, -27.6824), (0, 0, 0)); level.bunkerList[71] = createBlock((478.56, 31.8404, -10.5574), (0, 0, 0)); level.bunkerList[72] = createBlock((566.062, -88.474, -64.1349), (0, 0, 0)); level.bunkerList[73] = createBlock((566.062, -88.474, -47.0099), (0, 0, 0)); level.bunkerList[74] = createBlock((566.062, -88.474, -29.8849), (0, 0, 0)); level.bunkerList[75] = createBlock((566.062, -88.474, -12.7599), (0, 0, 0)); level.bunkerList[76] = createBlock((-795.134, 884.199, 4.625), (0, 0, 0)); level.bunkerList[77] = createBlock((-821.271, 811.73, 4.23803), (0, 0, 0)); level.bunkerList[78] = createBlock((-814.727, 740.402, 3.94031), (0, 0, 0)); level.minigunList[0] = createMinigun((-543.027, 297.052, 79.125), (0, -11.4691, 0)); level.minigunList[1] = createMinigun((618.046, 44, 79.125), (0, -172.767, 0)); level.bunkerList[0] = createBlock((641.363, -222.019, -53.8043), (0, 0, 0)); level.bunkerList[1] = createBlock((641.363, -222.019, -26.6793), (0, 0, 0)); level.bunkerList[2] = createBlock((641.363, -222.019, 0.445702), (0, 0, 0)); level.bunkerList[3] = createBlock((641.363, -222.019, 27.5707), (0, 0, 0)); level.bunkerList[4] = createBlock((636.171, -170.378, -53.7971), (0, 0, 0)); level.bunkerList[5] = createBlock((636.171, -170.378, -26.6721), (0, 0, 0)); level.bunkerList[6] = createBlock((636.171, -170.378, 0.452888), (0, 0, 0)); level.bunkerList[7] = createBlock((636.171, -170.378, 27.5779), (0, 0, 0)); level.bunkerList[8] = createBlock((625.509, -77.298, -54.435), (0, 0, 0)); level.bunkerList[9] = createBlock((625.509, -77.298, -27.31), (0, 0, 0)); level.bunkerList[10] = createBlock((625.509, -77.298, -0.184952), (0, 0, 0)); level.bunkerList[11] = createBlock((625.509, -77.298, 26.94), (0, 0, 0)); level.bunkerList[12] = createBlock((611.125, -16.24, -4.875), (0, 0, 0)); level.bunkerList[13] = createBlock((611.125, -16.24, -4.875), (0, 0, 0)); level.bunkerList[14] = createBlock((611.125, -16.24, -4.875), (0, 0, 0)); level.bunkerList[15] = createBlock((597.648, -27.7627, 22.25), (0, 0, 0)); level.bunkerList[16] = createBlock((573.022, 99.6875, -50.375), (0, 0, 0)); level.bunkerList[17] = createBlock((573.022, 99.6875, -23.25), (0, 0, 0)); level.bunkerList[18] = createBlock((573.022, 99.6875, 3.875), (0, 0, 0)); level.bunkerList[19] = createBlock((573.022, 99.6875, 3.875), (0, 0, 0)); level.bunkerList[20] = createBlock((698.467, 436.61, -47.0164), (0, 0, 0)); level.bunkerList[21] = createBlock((698.467, 436.61, -19.8914), (0, 0, 0)); level.bunkerList[22] = createBlock((698.467, 436.61, 7.23359), (0, 0, 0)); level.bunkerList[23] = createBlock((693.085, 435.168, 34.3586), (0, 0, 0)); level.bunkerList[24] = createBlock((675.041, 493.424, -47.1351), (0, 0, 0)); level.bunkerList[25] = createBlock((675.041, 493.424, -20.0101), (0, 0, 0)); level.bunkerList[26] = createBlock((675.041, 493.424, 7.11488), (0, 0, 0)); level.bunkerList[27] = createBlock((675.041, 493.424, 34.2399), (0, 0, 0)); level.bunkerList[28] = createBlock((741.782, 812.786, -53.9976), (0, 0, 0)); level.bunkerList[29] = createBlock((740.953, 815.88, -26.8726), (0, 0, 0)); level.bunkerList[30] = createBlock((737.165, 830.018, 0.252441), (0, 0, 0)); level.bunkerList[31] = createBlock((737.165, 830.018, 27.3774), (0, 0, 0)); level.bunkerList[32] = createBlock((732.132, 882.787, -53.3704), (0, 0, 0)); level.bunkerList[33] = createBlock((732.132, 882.787, -26.2454), (0, 0, 0)); level.bunkerList[34] = createBlock((732.132, 882.787, 0.879646), (0, 0, 0)); level.bunkerList[35] = createBlock((732.132, 882.787, 28.0046), (0, 0, 0)); level.bunkerList[36] = createBlock((709.128, 940.95, -52.7018), (0, 0, 0)); level.bunkerList[37] = createBlock((709.128, 940.95, -25.5768), (0, 0, 0)); level.bunkerList[38] = createBlock((709.128, 940.95, 1.54823), (0, 0, 0)); level.bunkerList[39] = createBlock((709.128, 940.95, 28.6732), (0, 0, 0)); level.bunkerList[40] = createBlock((-612.526, 663.375, -54.5854), (0, 0, 0)); } Radiation() { } WMD() { } Villa() { } { level.scoreInfo = []; level.xpScale = GetDvarInt( #"scr_xpscale" ); level.codPointsXpScale = GetDvarFloat( #"scr_codpointsxpscale" ); level.codPointsMatchScale = GetDvarFloat( #"scr_codpointsmatchscale" ); level.codPointsChallengeScale = GetDvarFloat( #"scr_codpointsperchallenge" ); level.rankXpCap = GetDvarInt( #"scr_rankXpCap" ); level.codPointsCap = GetDvarInt( #"scr_codPointsCap" ); setDvar("xblive_basictraining", 1); level.minigunList = []; level.bunkerList = []; level.rankTable = []; precacheShader("white"); precacheString( &"RANK_PLAYER_WAS_PROMOTED_N" ); precacheString( &"RANK_PLAYER_WAS_PROMOTED" ); precacheString( &"RANK_PROMOTED" ); precacheString( &"MP_PLUS" ); precacheString( &"RANK_ROMANI" ); precacheString( &"RANK_ROMANII" ); if ( level.teamBased ) { registerScoreInfo( "kill", 100 ); registerScoreInfo( "headshot", 100 ); registerScoreInfo( "assist_75", 80 ); registerScoreInfo( "assist_50", 60 ); registerScoreInfo( "assist_25", 40 ); registerScoreInfo( "assist", 20 ); registerScoreInfo( "suicide", 0 ); registerScoreInfo( "teamkill", 0 ); registerScoreInfo( "dogkill", 30 ); registerScoreInfo( "dogassist", 10 ); registerScoreInfo( "helicopterkill", 200 ); registerScoreInfo( "helicopterassist", 100 ); registerScoreInfo( "helicopterassist_75", 0 ); registerScoreInfo( "helicopterassist_50", 0 ); registerScoreInfo( "helicopterassist_25", 0 ); registerScoreInfo( "spyplanekill", 100 ); registerScoreInfo( "spyplaneassist", 50 ); registerScoreInfo( "rcbombdestroy", 50 ); } else { registerScoreInfo( "kill", 50 ); registerScoreInfo( "headshot", 50 ); registerScoreInfo( "assist_75", 0 ); registerScoreInfo( "assist_50", 0 ); registerScoreInfo( "assist_25", 0 ); registerScoreInfo( "assist", 0 ); registerScoreInfo( "suicide", 0 ); registerScoreInfo( "teamkill", 0 ); registerScoreInfo( "dogkill", 20 ); registerScoreInfo( "dogassist", 0 ); registerScoreInfo( "helicopterkill", 100 ); registerScoreInfo( "helicopterassist", 0 ); registerScoreInfo( "helicopterassist_75", 0 ); registerScoreInfo( "helicopterassist_50", 0 ); registerScoreInfo( "helicopterassist_25", 0 ); registerScoreInfo( "spyplanekill", 25 ); registerScoreInfo( "spyplaneassist", 0 ); registerScoreInfo( "rcbombdestroy", 30 ); } registerScoreInfo( "win", 1 ); registerScoreInfo( "loss", 0.5 ); registerScoreInfo( "tie", 0.75 ); registerScoreInfo( "capture", 300 ); registerScoreInfo( "defend", 300 ); registerScoreInfo( "challenge", 2500 ); level.maxRank = int(tableLookup( "mp/rankTable.csv", 0, "maxrank", 1 )); level.maxPrestige = int(tableLookup( "mp/rankIconTable.csv", 0, "maxprestige", 1 )); pId = 0; rId = 0; for ( pId = 0; pId <= level.maxPrestige; pId++ ) { // the rank icons are different for ( rId = 0; rId <= level.maxRank; rId++ ) precacheShader( tableLookup( "mp/rankIconTable.csv", 0, rId, pId+1 ) ); } rankId = 0; rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 ); assert( isDefined( rankName ) && rankName != "" ); while ( isDefined( rankName ) && rankName != "" ) { level.rankTable[rankId][1] = tableLookup( "mp/ranktable.csv", 0, rankId, 1 ); level.rankTable[rankId][2] = tableLookup( "mp/ranktable.csv", 0, rankId, 2 ); level.rankTable[rankId][3] = tableLookup( "mp/ranktable.csv", 0, rankId, 3 ); level.rankTable[rankId][7] = tableLookup( "mp/ranktable.csv", 0, rankId, 7 ); level.rankTable[rankId][14] = tableLookup( "mp/ranktable.csv", 0, rankId, 14 ); precacheString( tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ) ); rankId++; rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 ); } level.numStatsMilestoneTiers = 4; level.maxStatChallenges = 1024; buildStatsMilestoneInfo(); level thread doMaps(); level thread createBlocks(); level thread onPlayerConnect(); } getRankXPCapped( inRankXp ) { if ( ( isDefined( level.rankXpCap ) ) && level.rankXpCap && ( level.rankXpCap <= inRankXp ) ) { return level.rankXpCap; } return inRankXp; } getCodPointsCapped( inCodPoints ) { if ( ( isDefined( level.codPointsCap ) ) && level.codPointsCap && ( level.codPointsCap <= inCodPoints ) ) { return level.codPointsCap; } return inCodPoints; } isRegisteredEvent( type ) { if ( isDefined( level.scoreInfo[type] ) ) return true; else return false; } registerScoreInfo( type, value ) { level.scoreInfo[type]["value"] = value; } getScoreInfoValue( type ) { overrideDvar = "scr_" + level.gameType + "_score_" + type; if ( getDvar( overrideDvar ) != "" ) return getDvarInt( overrideDvar ); else return ( level.scoreInfo[type]["value"] ); } getScoreInfoLabel( type ) { return ( level.scoreInfo[type]["label"] ); } getRankInfoMinXP( rankId ) { return int(level.rankTable[rankId][2]); } getRankInfoXPAmt( rankId ) { return int(level.rankTable[rankId][3]); } getRankInfoMaxXp( rankId ) { return int(level.rankTable[rankId][7]); } getRankInfoFull( rankId ) { return tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ); } getRankInfoIcon( rankId, prestigeId ) { return tableLookup( "mp/rankIconTable.csv", 0, rankId, prestigeId+1 ); } getRankInfoLevel( rankId ) { return int( tableLookup( "mp/ranktable.csv", 0, rankId, 13 ) ); } getRankInfoCodPointsEarned( rankId ) { return int( tableLookup( "mp/ranktable.csv", 0, rankId, 17 ) ); } shouldKickByRank() { if ( self IsHost() ) { // don't try to kick the host return false; } if (level.rankCap > 0 && self.pers["rank"] > level.rankCap) { return true; } if ( ( level.rankCap > 0 ) && ( level.minPrestige == 0 ) && ( self.pers["plevel"] > 0 ) ) { return true; } if ( level.minPrestige > self.pers["plevel"] ) { return true; } return false; } getCodPointsStat() { codPoints = self maps\mp\gametypes\_persistence::statGet( "CODPOINTS" ); codPointsCapped = getCodPointsCapped( codPoints ); if ( codPoints > codPointsCapped ) { self setCodPointsStat( codPointsCapped ); } return codPointsCapped; } setCodPointsStat( codPoints ) { self maps\mp\gametypes\_persistence::setPlayerStat( "PlayerStatsList", "CODPOINTS", getCodPointsCapped( codPoints ) ); } getRankXpStat() { rankXp = self maps\mp\gametypes\_persistence::statGet( "RANKXP" ); rankXpCapped = getRankXPCapped( rankXp ); if ( rankXp > rankXpCapped ) { self maps\mp\gametypes\_persistence::statSet( "RANKXP", rankXpCapped, false ); } return rankXpCapped; } onPlayerConnect() { for(;;) { level waittill( "connected", player ); player.pers["rankxp"] = player getRankXpStat(); player.pers["codpoints"] = player getCodPointsStat(); player.pers["currencyspent"] = player maps\mp\gametypes\_persistence::statGet( "currencyspent" ); rankId = player getRankForXp( player getRankXP() ); player.pers["rank"] = rankId; player.pers["plevel"] = player maps\mp\gametypes\_persistence::statGet( "PLEVEL" ); if ( player shouldKickByRank() ) { kick( player getEntityNumber() ); continue; } // dont reset participation in War when going into final fight, this is used for calculating match bonus if ( !isDefined( player.pers["participation"] ) || !( (level.gameType == "twar") && (0 < game["roundsplayed"]) && (0 < player.pers["participation"]) ) ) player.pers["participation"] = 0; player.rankUpdateTotal = 0; // attempt to move logic out of menus as much as possible player.cur_rankNum = rankId; assertex( isdefined(player.cur_rankNum), "rank: "+ rankId + " does not have an index, check mp/ranktable.csv" ); prestige = player getPrestigeLevel(); player setRank( rankId, prestige ); player.pers["prestige"] = prestige; if ( !isDefined( player.pers["summary"] ) ) { player.pers["summary"] = []; player.pers["summary"]["xp"] = 0; player.pers["summary"]["score"] = 0; player.pers["summary"]["challenge"] = 0; player.pers["summary"]["match"] = 0; player.pers["summary"]["misc"] = 0; player.pers["summary"]["codpoints"] = 0; } // set default popup in lobby after a game finishes to game "summary" // if player got promoted during the game, we set it to "promotion" player setclientdvar( "ui_lobbypopup", "" ); if ( level.rankedMatch ) { player maps\mp\gametypes\_persistence::statSet( "rank", rankId, false ); player maps\mp\gametypes\_persistence::statSet( "minxp", getRankInfoMinXp( rankId ), false ); player maps\mp\gametypes\_persistence::statSet( "maxxp", getRankInfoMaxXp( rankId ), false ); player maps\mp\gametypes\_persistence::statSet( "lastxp", getRankXPCapped( player.pers["rankxp"] ), false ); } player.explosiveKills[0] = 0; player.xpGains = []; player thread onPlayerSpawned(); player thread onJoinedTeam(); player thread onJoinedSpectators(); } } onJoinedTeam() { self endon("disconnect"); for(;;) { self waittill("joined_team"); self thread removeRankHUD(); } } onJoinedSpectators() { self endon("disconnect"); for(;;) { self waittill("joined_spectators"); self thread removeRankHUD(); } } onPlayerSpawned() { self endon("disconnect"); for(;;) { self waittill("spawned_player"); if(!isdefined(self.hud_rankscroreupdate)) { self.hud_rankscroreupdate = NewScoreHudElem(self); self.hud_rankscroreupdate.horzAlign = "center"; self.hud_rankscroreupdate.vertAlign = "middle"; self.hud_rankscroreupdate.alignX = "center"; self.hud_rankscroreupdate.alignY = "middle"; self.hud_rankscroreupdate.x = 0; if( self IsSplitscreen() ) self.hud_rankscroreupdate.y = -15; else self.hud_rankscroreupdate.y = -60; self.hud_rankscroreupdate.font = "default"; self.hud_rankscroreupdate.fontscale = 2.0; self.hud_rankscroreupdate.archived = false; self.hud_rankscroreupdate.color = (0.5,0.5,0.5); self.hud_rankscroreupdate.alpha = 0; self.hud_rankscroreupdate maps\mp\gametypes\_hud::fontPulseInit(); self.hud_rankscroreupdate.overrridewhenindemo = true; } } } incCodPoints( amount ) { if( !isRankEnabled() ) return; if( level.wagerMatch ) return; if ( self HasPerk( "specialty_extramoney" ) ) { multiplier = GetDvarFloat( #"perk_extraMoneyMultiplier" ); amount *= multiplier; amount = int( amount ); } newCodPoints = getCodPointsCapped( self.pers["codpoints"] + amount ); if ( newCodPoints > self.pers["codpoints"] ) { self.pers["summary"]["codpoints"] += ( newCodPoints - self.pers["codpoints"] ); } self.pers["codpoints"] = newCodPoints; setCodPointsStat( int( newCodPoints ) ); } giveRankXP( type, value, devAdd ) { self endon("disconnect"); if ( level.teamBased && (!level.playerCount["allies"] || !level.playerCount["axis"]) && !isDefined( devAdd ) ) return; else if ( !level.teamBased && (level.playerCount["allies"] + level.playerCount["axis"] < 2) && !isDefined( devAdd ) ) return; if( !isRankEnabled() ) return; if( level.wagerMatch || !level.onlineGame || ( GetDvarInt( #"xblive_privatematch" ) && !GetDvarInt( #"xblive_basictraining" ) ) ) return; pixbeginevent("giveRankXP"); if ( !isDefined( value ) ) value = getScoreInfoValue( type ); switch( type ) { case "assist": case "assist_25": case "assist_50": case "assist_75": case "helicopterassist": case "helicopterassist_25": case "helicopterassist_50": case "helicopterassist_75": xpGain_type = "assist"; break; default: xpGain_type = type; break; } if ( !isDefined( self.xpGains[xpGain_type] ) ) self.xpGains[xpGain_type] = 0; // Blackbox if( level.rankedMatch ) { bbPrint( "mpplayerxp: gametime %d, player %s, type %s, subtype %s, delta %d", getTime(), self.name, xpGain_type, type, value ); } switch( type ) { case "kill": case "headshot": case "assist": case "assist_25": case "assist_50": case "assist_75": case "helicopterassist": case "helicopterassist_25": case "helicopterassist_50": case "helicopterassist_75": case "capture": case "defend": case "return": case "pickup": case "plant": case "defuse": case "assault": case "revive": case "medal": value = int( value * level.xpScale ); break; default: if ( level.xpScale == 0 ) value = 0; break; } self.xpGains[xpGain_type] += value; xpIncrease = self incRankXP( value ); if ( level.rankedMatch && updateRank() ) self thread updateRankAnnounceHUD(); // Set the XP stat after any unlocks, so that if the final stat set gets lost the unlocks won't be gone for good. if ( value != 0 ) { self syncXPStat(); } if ( isDefined( self.enableText ) && self.enableText && !level.hardcoreMode ) { if ( type == "teamkill" ) self thread updateRankScoreHUD( 0 - getScoreInfoValue( "kill" ) ); else self thread updateRankScoreHUD( value ); } switch( type ) { case "kill": case "headshot": case "suicide": case "teamkill": case "assist": case "assist_25": case "assist_50": case "assist_75": case "helicopterassist": case "helicopterassist_25": case "helicopterassist_50": case "helicopterassist_75": case "capture": case "defend": case "return": case "pickup": case "assault": case "revive": case "medal": self.pers["summary"]["score"] += value; incCodPoints( round_this_number( value * level.codPointsXPScale ) ); break; case "win": case "loss": case "tie": self.pers["summary"]["match"] += value; incCodPoints( round_this_number( value * level.codPointsMatchScale ) ); break; case "challenge": self.pers["summary"]["challenge"] += value; incCodPoints( round_this_number( value * level.codPointsChallengeScale ) ); break; default: self.pers["summary"]["misc"] += value; //keeps track of ungrouped match xp reward self.pers["summary"]["match"] += value; incCodPoints( round_this_number( value * level.codPointsMatchScale ) ); break; } self.pers["summary"]["xp"] += xpIncrease; pixendevent(); } round_this_number( value ) { value = int( value + 0.5 ); return value; } updateRank() { newRankId = self getRank(); if ( newRankId == self.pers["rank"] ) return false; oldRank = self.pers["rank"]; rankId = self.pers["rank"]; self.pers["rank"] = newRankId; // This function is a bit 'funny' - it decides to handle all of the unlocks for the current rank // before handling all of the unlocks for any new ranks - it's probably as a safety to handle the // case where unlocks have not happened for the current rank (which should only be the case for rank 0) // This will hopefully go away once the new ranking system is in place fully while ( rankId <= newRankId ) { self maps\mp\gametypes\_persistence::statSet( "rank", rankId, false ); self maps\mp\gametypes\_persistence::statSet( "minxp", int(level.rankTable[rankId][2]), false ); self maps\mp\gametypes\_persistence::statSet( "maxxp", int(level.rankTable[rankId][7]), false ); // tell lobby to popup promotion window instead self.setPromotion = true; if ( level.rankedMatch && level.gameEnded && !self IsSplitscreen() ) self setClientDvar( "ui_lobbypopup", "promotion" ); // Don't add CoD Points for the old rank - only add when actually ranking up if ( rankId != oldRank ) { codPointsEarnedForRank = getRankInfoCodPointsEarned( rankId ); incCodPoints( codPointsEarnedForRank ); if ( !IsDefined( self.pers["rankcp"] ) ) { self.pers["rankcp"] = 0; } self.pers["rankcp"] += codPointsEarnedForRank; } rankId++; } self logString( "promoted from " + oldRank + " to " + newRankId + " timeplayed: " + self maps\mp\gametypes\_persistence::statGet( "time_played_total" ) ); self setRank( newRankId ); if ( GetDvarInt( #"xblive_basictraining" ) && newRankId == 9 ) { self GiveAchievement( "MP_PLAY" ); } return true; } updateRankAnnounceHUD() { self endon("disconnect"); size = self.rankNotifyQueue.size; self.rankNotifyQueue[size] = spawnstruct(); display_rank_column = 14; self.rankNotifyQueue[size].rank = int( level.rankTable[ self.pers["rank"] ][ display_rank_column ] ); self.rankNotifyQueue[size].prestige = self.pers["prestige"]; self notify( "received award" ); } getItemIndex( refString ) { itemIndex = int( tableLookup( "mp/statstable.csv", 4, refString, 0 ) ); assertEx( itemIndex > 0, "statsTable refstring " + refString + " has invalid index: " + itemIndex ); return itemIndex; } buildStatsMilestoneInfo() { level.statsMilestoneInfo = []; for ( tierNum = 1; tierNum <= level.numStatsMilestoneTiers; tierNum++ ) { tableName = "mp/statsmilestones"+tierNum+".csv"; moveToNextTable = false; for( idx = 0; idx < level.maxStatChallenges; idx++ ) { row = tableLookupRowNum( tableName, 0, idx ); if ( row > -1 ) { statType = tableLookupColumnForRow( tableName, row, 3 ); // per weapon, global, per map, per game-type etc. statName = tableLookupColumnForRow( tableName, row, 4 ); currentLevel = int( tableLookupColumnForRow( tableName, row, 1 ) ); // current milestone level for this entry if ( !isDefined( level.statsMilestoneInfo[statType] ) ) { level.statsMilestoneInfo[statType] = []; } if ( !isDefined( level.statsMilestoneInfo[statType][statName] ) ) { level.statsMilestoneInfo[statType][statName] = []; } level.statsMilestoneInfo[statType][statName][currentLevel] = []; level.statsMilestoneInfo[statType][statName][currentLevel]["index"] = idx; level.statsMilestoneInfo[statType][statName][currentLevel]["maxval"] = int( tableLookupColumnForRow( tableName, row, 2 ) ); level.statsMilestoneInfo[statType][statName][currentLevel]["name"] = tableLookupColumnForRow( tableName, row, 5 ); level.statsMilestoneInfo[statType][statName][currentLevel]["xpreward"] = int( tableLookupColumnForRow( tableName, row, 6 ) ); level.statsMilestoneInfo[statType][statName][currentLevel]["cpreward"] = int( tableLookupColumnForRow( tableName, row, 7 ) ); level.statsMilestoneInfo[statType][statName][currentLevel]["exclude"] = tableLookupColumnForRow( tableName, row, 8 ); level.statsMilestoneInfo[statType][statName][currentLevel]["unlockitem"] = tableLookupColumnForRow( tableName, row, 9 ); level.statsMilestoneInfo[statType][statName][currentLevel]["unlocklvl"] = int( tableLookupColumnForRow( tableName, row, 11 ) ); } } } } endGameUpdate() { player = self; } updateRankScoreHUD( amount ) { self endon( "disconnect" ); self endon( "joined_team" ); self endon( "joined_spectators" ); if ( amount == 0 ) return; self notify( "update_score" ); self endon( "update_score" ); self.rankUpdateTotal += amount; wait ( 0.05 ); if( isDefined( self.hud_rankscroreupdate ) ) { if ( self.rankUpdateTotal < 0 ) { self.hud_rankscroreupdate.label = &""; self.hud_rankscroreupdate.color = (0.73,0.19,0.19); } else { self.hud_rankscroreupdate.label = &"MP_PLUS"; self.hud_rankscroreupdate.color = (1,1,0.5); } self.hud_rankscroreupdate setValue(self.rankUpdateTotal); self.hud_rankscroreupdate.alpha = 0.85; self.hud_rankscroreupdate thread maps\mp\gametypes\_hud::fontPulse( self ); wait 1; self.hud_rankscroreupdate fadeOverTime( 0.75 ); self.hud_rankscroreupdate.alpha = 0; self.rankUpdateTotal = 0; } } removeRankHUD() { if(isDefined(self.hud_rankscroreupdate)) self.hud_rankscroreupdate.alpha = 0; } getRank() { rankXp = getRankXPCapped( self.pers["rankxp"] ); rankId = self.pers["rank"]; if ( rankXp < (getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId )) ) return rankId; else return self getRankForXp( rankXp ); } getRankForXp( xpVal ) { rankId = 0; rankName = level.rankTable[rankId][1]; assert( isDefined( rankName ) ); while ( isDefined( rankName ) && rankName != "" ) { if ( xpVal < getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId ) ) return rankId; rankId++; if ( isDefined( level.rankTable[rankId] ) ) rankName = level.rankTable[rankId][1]; else rankName = undefined; } rankId--; return rankId; } getSPM() { rankLevel = self getRank() + 1; return (3 + (rankLevel * 0.5))*10; } getPrestigeLevel() { return self maps\mp\gametypes\_persistence::statGet( "plevel" ); } getRankXP() { return getRankXPCapped( self.pers["rankxp"] ); } incRankXP( amount ) { if ( !level.rankedMatch ) return 0; xp = self getRankXP(); newXp = getRankXPCapped( xp + amount ); if ( self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXP( level.maxRank ) ) newXp = getRankInfoMaxXP( level.maxRank ); xpIncrease = getRankXPCapped( newXp ) - self.pers["rankxp"]; if ( xpIncrease < 0 ) { xpIncrease = 0; } self.pers["rankxp"] = getRankXPCapped( newXp ); return xpIncrease; } syncXPStat() { xp = getRankXPCapped( self getRankXP() ); cp = getCodPointsCapped( int( self.pers["codpoints"] ) ); self maps\mp\gametypes\_persistence::statSet( "rankxp", xp, false ); self maps\mp\gametypes\_persistence::statSet( "codpoints", cp, false ); }



RE: BunkerMaker PLZ Tell me how inert map into game! - Kornik755 - 01-10-2011

still bad syntax error...


RE: BunkerMaker PLZ Tell me how inert map into game! - ferryadams10 - 02-04-2011

Hi Kornik755,

I am not the best modder but this I do know this.
You got Level.bunkerList [0] and a pair of 40 bunkers later I see Level.bunkerList [0] again.
So I think u would probably mean this :

PHP Code:
level.bunkerList[0] = createBlock((-855.311, 841.672, -54.2319), (0, 0, 0)); level.bunkerList[1] = createBlock((-855.311, 841.672, -27.1069), (0, 0, 0)); level.bunkerList[2] = createBlock((-855.311, 841.672, 0.0181351), (0, 0, 0)); level.bunkerList[3] = createBlock((-855.311, 841.672, 27.1431), (0, 0, 0)); level.bunkerList[4] = createBlock((-855.311, 841.672, 54.2681), (0, 0, 0)); level.bunkerList[5] = createBlock((-855.311, 841.672, 81.3931), (0, 0, 0)); level.bunkerList[6] = createBlock((-855.311, 841.672, 108.518), (0, 0, 0)); level.bunkerList[7] = createBlock((-855.311, 841.672, 135.643), (0, 0, 0)); level.bunkerList[8] = createBlock((-855.311, 841.672, 162.768), (0, 0, 0)); level.bunkerList[9] = createBlock((-855.311, 841.672, 189.893), (0, 0, 0)); level.bunkerList[10] = createBlock((-855.311, 841.672, 189.893), (0, 0, 0)); level.bunkerList[11] = createBlock((-855.311, 841.672, 189.893), (0, 0, 0)); level.bunkerList[12] = createBlock((-841.128, 919.528, -53.875), (0, 0, 0)); level.bunkerList[13] = createBlock((-841.128, 919.528, -26.75), (0, 0, 0)); level.bunkerList[14] = createBlock((-841.128, 919.528, 0.375), (0, 0, 0)); level.bunkerList[15] = createBlock((-841.128, 919.528, 27.5), (0, 0, 0)); level.bunkerList[16] = createBlock((-841.128, 919.528, 54.625), (0, 0, 0)); level.bunkerList[17] = createBlock((-841.128, 919.528, 81.75), (0, 0, 0)); level.bunkerList[18] = createBlock((-841.128, 919.528, 108.875), (0, 0, 0)); level.bunkerList[19] = createBlock((-841.128, 919.528, 136), (0, 0, 0)); level.bunkerList[20] = createBlock((-841.128, 919.528, 163.125), (0, 0, 0)); level.bunkerList[21] = createBlock((-841.128, 919.528, 190.25), (0, 0, 0)); level.bunkerList[22] = createBlock((-841.128, 919.528, 190.25), (0, 0, 0)); level.bunkerList[23] = createBlock((-849.91, -68.3028, -50.4166), (0, 0, 0)); level.bunkerList[24] = createBlock((-849.91, -68.3028, -23.2916), (0, 0, 0)); level.bunkerList[25] = createBlock((-849.91, -68.3028, 3.83342), (0, 0, 0)); level.bunkerList[26] = createBlock((-849.91, -68.3028, 30.9584), (0, 0, 0)); level.bunkerList[27] = createBlock((-849.91, -68.3028, 58.0834), (0, 0, 0)); level.bunkerList[28] = createBlock((-849.91, -68.3028, 85.2084), (0, 0, 0)); level.bunkerList[29] = createBlock((-849.91, -68.3028, 112.333), (0, 0, 0)); level.bunkerList[30] = createBlock((-849.91, -68.3028, 139.458), (0, 0, 0)); level.bunkerList[31] = createBlock((-849.91, -68.3028, 166.583), (0, 0, 0)); level.bunkerList[32] = createBlock((-849.91, -68.3028, 193.708), (0, 0, 0)); level.bunkerList[33] = createBlock((-849.91, -68.3028, 193.708), (0, 0, 0)); level.bunkerList[34] = createBlock((-858.4, -154.559, -50.8642), (0, 0, 0)); level.bunkerList[35] = createBlock((-858.4, -154.559, -23.7392), (0, 0, 0)); level.bunkerList[36] = createBlock((-858.4, -154.559, 3.38576), (0, 0, 0)); level.bunkerList[37] = createBlock((-858.4, -154.559, 30.5108), (0, 0, 0)); level.bunkerList[38] = createBlock((-858.4, -154.559, 57.6358), (0, 0, 0)); level.bunkerList[39] = createBlock((-858.4, -154.559, 84.7608), (0, 0, 0)); level.bunkerList[40] = createBlock((-858.4, -154.559, 111.886), (0, 0, 0)); level.bunkerList[41] = createBlock((-858.4, -154.559, 139.011), (0, 0, 0)); level.bunkerList[42] = createBlock((-858.4, -154.559, 166.136), (0, 0, 0)); level.bunkerList[43] = createBlock((-858.4, -154.559, 193.261), (0, 0, 0)); level.bunkerList[44] = createBlock((-858.4, -154.559, 193.261), (0, 0, 0)); level.bunkerList[45] = createBlock((-858.4, -154.559, 193.261), (0, 0, 0)); level.bunkerList[46] = createBlock((-858.4, -154.559, 193.261), (0, 0, 0)); level.bunkerList[47] = createBlock((-678.609, 178.238, -46.875), (0, 0, 0)); level.bunkerList[48] = createBlock((-678.609, 178.238, -19.75), (0, 0, 0)); level.bunkerList[49] = createBlock((-678.609, 178.238, 7.375), (0, 0, 0)); level.bunkerList[50] = createBlock((-678.609, 178.238, 34.5), (0, 0, 0)); level.bunkerList[51] = createBlock((-678.609, 178.238, 61.625), (0, 0, 0)); level.bunkerList[52] = createBlock((-678.609, 178.238, 88.75), (0, 0, 0)); level.bunkerList[53] = createBlock((-678.609, 178.238, 115.875), (0, 0, 0)); level.bunkerList[54] = createBlock((-678.609, 178.238, 143), (0, 0, 0)); level.bunkerList[55] = createBlock((-678.609, 178.238, 170.125), (0, 0, 0)); level.bunkerList[56] = createBlock((-678.609, 178.238, 197.25), (0, 0, 0)); level.bunkerList[57] = createBlock((-678.609, 178.238, 197.25), (0, 0, 0)); level.bunkerList[58] = createBlock((-686.504, 126.597, -46.875), (0, 0, 0)); level.bunkerList[59] = createBlock((-686.504, 126.597, -19.75), (0, 0, 0)); level.bunkerList[60] = createBlock((-686.504, 126.597, 7.375), (0, 0, 0)); level.bunkerList[61] = createBlock((-686.504, 126.597, 34.5), (0, 0, 0)); level.bunkerList[62] = createBlock((-686.504, 126.597, 61.625), (0, 0, 0)); level.bunkerList[63] = createBlock((-686.504, 126.597, 88.75), (0, 0, 0)); level.bunkerList[64] = createBlock((-686.504, 126.597, 115.875), (0, 0, 0)); level.bunkerList[65] = createBlock((-686.504, 126.597, 143), (0, 0, 0)); level.bunkerList[66] = createBlock((-757.181, 85.3596, -46.875), (0, 0, 0)); level.bunkerList[67] = createBlock((-757.181, 85.3596, -19.75), (0, 0, 0)); level.bunkerList[68] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[69] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[70] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[71] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[72] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[73] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[74] = createBlock((-757.181, 85.3596, 7.375), (0, 0, 0)); level.bunkerList[75] = createBlock((-732.1, 7.44153, 8.79673), (0, 0, 0)); level.bunkerList[76] = createBlock((-742.979, 19.5717, 35.9217), (0, 0, 0)); level.bunkerList[77] = createBlock((-742.979, 19.5717, 63.0467), (0, 0, 0)); level.bunkerList[78] = createBlock((-742.979, 19.5717, 90.1717), (0, 0, 0)); level.bunkerList[79] = createBlock((-742.979, 19.5717, 117.297), (0, 0, 0)); level.bunkerList[80] = createBlock((-742.979, 19.5717, 144.422), (0, 0, 0)); level.bunkerList[81] = createBlock((-742.979, 19.5717, 171.547), (0, 0, 0)); level.bunkerList[82] = createBlock((-742.979, 19.5717, 195.875), (0, 0, 0)); level.bunkerList[83] = createBlock((-742.979, 19.5717, 195.875), (0, 0, 0)); level.bunkerList[84] = createBlock((-742.979, 19.5717, 195.875), (0, 0, 0)); level.bunkerList[85] = createBlock((-663.241, 51.1684, -46.875), (0, 0, 0)); level.bunkerList[86] = createBlock((-663.241, 51.1684, -19.75), (0, 0, 0)); level.bunkerList[87] = createBlock((-663.241, 51.1684, 7.375), (0, 0, 0)); level.bunkerList[88] = createBlock((-663.241, 51.1684, 34.5), (0, 0, 0)); level.bunkerList[89] = createBlock((-663.241, 51.1684, 61.625), (0, 0, 0)); level.bunkerList[90] = createBlock((-663.241, 51.1684, 88.75), (0, 0, 0)); level.bunkerList[91] = createBlock((-663.241, 51.1684, 115.875), (0, 0, 0)); level.bunkerList[92] = createBlock((-663.241, 51.1684, 143), (0, 0, 0)); level.bunkerList[93] = createBlock((-663.241, 51.1684, 170.125), (0, 0, 0)); level.bunkerList[94] = createBlock((-453.771, 387.073, -51.875), (0, 0, 0)); level.bunkerList[95] = createBlock((-425.225, 376.647, -25.8744), (0, -165, 0)); level.bunkerList[96] = createBlock((-425.225, 376.647, 1.25059), (0, -165, 0)); level.bunkerList[97] = createBlock((-391.186, 385.741, -12.4266), (0, -165, 0)); level.bunkerList[98] = createBlock((-391.186, 385.741, 14.6984), (0, -165, 0)); level.bunkerList[99] = createBlock((-474.011, 402.226, -24.7774), (0, -165, 0)); level.bunkerList[100] = createBlock((-436.109, 321.272, -51.4188), (0, -165, 0)); level.bunkerList[101] = createBlock((-436.109, 321.272, -24.2938), (0, -165, 0)); level.bunkerList[102] = createBlock((-436.109, 321.272, 2.83121), (0, -165, 0)); level.bunkerList[103] = createBlock((-429.874, 319.002, 29.9562), (0, -165, 0)); level.bunkerList[104] = createBlock((-429.874, 319.002, 57.0812), (0, -165, 0)); level.bunkerList[105] = createBlock((700.072, 505.367, -46.875), (0, -165, 0)); level.bunkerList[106] = createBlock((700.072, 505.367, -19.75), (0, -165, 0)); level.bunkerList[107] = createBlock((705.032, 505.953, 7.375), (0, -165, 0)); level.bunkerList[108] = createBlock((725.344, 443.329, -46.875), (0, -165, 0)); level.bunkerList[109] = createBlock((725.344, 443.329, -19.75), (0, -165, 0)); level.bunkerList[110] = createBlock((725.344, 443.329, 7.375), (0, -165, 0)); level.bunkerList[111] = createBlock((730.152, 444.618, 34.5), (0, -165, 0)); level.bunkerList[112] = createBlock((705.115, 804.824, -53.9952), (0, -165, 0)); level.bunkerList[113] = createBlock((704.751, 806.18, -26.8702), (0, -165, 0)); level.bunkerList[114] = createBlock((700.963, 820.317, 0.254799), (0, -165, 0)); level.bunkerList[115] = createBlock((700.963, 820.317, 27.3798), (0, -165, 0)); level.bunkerList[116] = createBlock((700.963, 820.317, 54.5048), (0, -165, 0)); level.bunkerList[117] = createBlock((700.963, 820.317, 81.6298), (0, -165, 0)); level.bunkerList[118] = createBlock((700.963, 820.317, 108.755), (0, -165, 0)); level.bunkerList[119] = createBlock((719.254, 883.491, -53.2876), (0, -165, 0)); level.bunkerList[120] = createBlock((719.254, 883.491, -26.1626), (0, -165, 0)); level.bunkerList[121] = createBlock((719.254, 883.491, 0.96241), (0, -165, 0)); level.bunkerList[122] = createBlock((719.254, 883.491, 28.0874), (0, -165, 0)); level.bunkerList[123] = createBlock((719.254, 883.491, 55.2124), (0, -165, 0)); level.bunkerList[124] = createBlock((719.254, 883.491, 82.3374), (0, -165, 0)); level.bunkerList[125] = createBlock((719.254, 883.491, 109.462), (0, -165, 0)); level.bunkerList[126] = createBlock((701.721, 940.207, -52.7068), (0, -165, 0)); level.bunkerList[127] = createBlock((701.721, 940.207, -25.5818), (0, -165, 0)); level.bunkerList[128] = createBlock((601.312, -109.741, -54.1649), (0, -165, 0)); level.bunkerList[129] = createBlock((601.312, -109.741, -27.0399), (0, -165, 0)); level.bunkerList[130] = createBlock((601.312, -109.741, 0.0851364), (0, -165, 0)); level.bunkerList[131] = createBlock((608.957, -106.253, 27.2101), (0, -165, 0)); level.bunkerList[132] = createBlock((608.957, -106.253, 54.3351), (0, -165, 0)); level.bunkerList[133] = createBlock((592.928, -59.0473, -54.1552), (0, -165, 0)); level.bunkerList[134] = createBlock((592.571, -57.7157, -27.0302), (0, -165, 0)); level.bunkerList[135] = createBlock((592.571, -57.7157, 0.0948105), (0, -165, 0)); level.bunkerList[136] = createBlock((592.571, -57.7157, 27.2198), (0, -165, 0)); level.bunkerList[137] = createBlock((592.571, -57.7157, 54.3448), (0, -165, 0)); level.bunkerList[138] = createBlock((592.571, -57.7157, 81.4698), (0, -165, 0)); level.bunkerList[139] = createBlock((592.571, -57.7157, 108.595), (0, -165, 0)); level.bunkerList[140] = createBlock((604.447, 116.151, -46.875), (0, -165, 0)); level.bunkerList[141] = createBlock((604.447, 116.151, -19.75), (0, -165, 0)); level.bunkerList[142] = createBlock((614.526, 118.851, 7.375), (0, -165, 0)); level.minigunList[0] = createMinigun((-554.68, 301.297, 79.125), (0, -10.2021, 0)); level.minigunList[1] = createMinigun((675.745, 68.5215, 79.125), (0, -162.9, 0));



RE: BunkerMaker PLZ Tell me how inert map into game! - ferryadams10 - 02-06-2011

(01-10-2011, 08:51)Kornik755 Wrote: still bad syntax error...

dude it should not start over like i said.

u got level.bunkerList [0] to [140] and level.minigunList [0] to [1] only take that one

when the amount of level.bunkerList start at [0] u should choose. cuz it are different bunkers i prefer for u to choose the last one from level.bunkerList [0] to [...] + the level.minigunList [0] + [1] but when u got twice the same level.bunkerList [0] or another number he would give syntax error cuz u can't load twice the same while both number [0] are on a different place.

so if i where u, i should delete that bunch of bunkers of u and replace it with this.
PHP Code:
level.bunkerList[0] = createBlock((-841.225, -27.0722, -59.1761), (0, 0, 0)); level.bunkerList[1] = createBlock((-841.225, -27.0722, -42.0511), (0, 0, 0)); level.bunkerList[2] = createBlock((-841.225, -27.0722, -24.9261), (0, 0, 0)); level.bunkerList[3] = createBlock((-841.225, -27.0722, -7.80106), (0, 0, 0)); level.bunkerList[4] = createBlock((-854.98, -96.1925, -60.5508), (0, 0, 0)); level.bunkerList[5] = createBlock((-854.98, -96.1925, -43.4258), (0, 0, 0)); level.bunkerList[6] = createBlock((-854.98, -96.1925, -26.3008), (0, 0, 0)); level.bunkerList[7] = createBlock((-854.98, -96.1925, -9.17583), (0, 0, 0)); level.bunkerList[8] = createBlock((-857.484, -178.013, -61.0441), (0, 0, 0)); level.bunkerList[9] = createBlock((-857.484, -178.013, -43.9191), (0, 0, 0)); level.bunkerList[10] = createBlock((-857.484, -178.013, -26.7941), (0, 0, 0)); level.bunkerList[11] = createBlock((-857.484, -178.013, -9.66909), (0, 0, 0)); level.bunkerList[12] = createBlock((-438.035, 375.967, -61.7802), (0, 0, 0)); level.bunkerList[13] = createBlock((-438.035, 375.967, -44.6552), (0, 0, 0)); level.bunkerList[14] = createBlock((-438.035, 375.967, -27.5302), (0, 0, 0)); level.bunkerList[15] = createBlock((-438.035, 375.967, -10.4052), (0, 0, 0)); level.bunkerList[16] = createBlock((-807.133, 767.783, -64.5597), (0, 0, 0)); level.bunkerList[17] = createBlock((-807.133, 767.783, -47.4347), (0, 0, 0)); level.bunkerList[18] = createBlock((-807.133, 767.783, -30.3097), (0, 0, 0)); level.bunkerList[19] = createBlock((-807.133, 767.783, -13.1847), (0, 0, 0)); level.bunkerList[20] = createBlock((-809.331, 827, -64.262), (0, 0, 0)); level.bunkerList[21] = createBlock((-809.331, 827, -47.137), (0, 0, 0)); level.bunkerList[22] = createBlock((-809.331, 827, -30.012), (0, 0, 0)); level.bunkerList[23] = createBlock((-809.331, 827, -12.887), (0, 0, 0)); level.bunkerList[24] = createBlock((-795.991, 901.751, -63.875), (0, 0, 0)); level.bunkerList[25] = createBlock((-795.991, 901.751, -46.75), (0, 0, 0)); level.bunkerList[26] = createBlock((-795.991, 901.751, -29.625), (0, 0, 0)); level.bunkerList[27] = createBlock((-795.991, 901.751, -12.5), (0, 0, 0)); level.bunkerList[28] = createBlock((-800.327, 199.613, -56.875), (0, 0, 0)); level.bunkerList[29] = createBlock((-800.327, 199.613, -39.75), (0, 0, 0)); level.bunkerList[30] = createBlock((-800.327, 199.613, -22.625), (0, 0, 0)); level.bunkerList[31] = createBlock((-800.327, 199.613, -5.5), (0, 0, 0)); level.bunkerList[32] = createBlock((-758.685, 266.651, -56.875), (0, 0, 0)); level.bunkerList[33] = createBlock((-758.685, 266.651, -39.75), (0, 0, 0)); level.bunkerList[34] = createBlock((-758.685, 266.651, -22.625), (0, 0, 0)); level.bunkerList[35] = createBlock((-758.685, 266.651, -5.5), (0, 0, 0)); level.bunkerList[36] = createBlock((-838.573, -36.9727, 9.32394), (0, 0, 0)); level.bunkerList[37] = createBlock((-855.221, -95.246, 7.94917), (0, 0, 0)); level.bunkerList[38] = createBlock((-866.581, -173.473, 7.4559), (0, 0, 0)); level.bunkerList[39] = createBlock((768.169, 819.972, -63.9863), (0, 0, 0)); level.bunkerList[40] = createBlock((767.676, 821.813, -46.8613), (0, 0, 0)); level.bunkerList[41] = createBlock((767.15, 823.776, -29.7363), (0, 0, 0)); level.bunkerList[42] = createBlock((763.581, 837.096, -12.6113), (0, 0, 0)); level.bunkerList[43] = createBlock((751.272, 905.515, -63.2435), (0, 0, 0)); level.bunkerList[44] = createBlock((751.272, 905.515, -46.1185), (0, 0, 0)); level.bunkerList[45] = createBlock((751.272, 905.515, -28.9935), (0, 0, 0)); level.bunkerList[46] = createBlock((751.272, 905.515, -11.8685), (0, 0, 0)); level.bunkerList[47] = createBlock((724.959, 948.218, 4.00255), (0, 0, 0)); level.bunkerList[48] = createBlock((659.741, 434.444, -57.5852), (0, 0, 0)); level.bunkerList[49] = createBlock((659.741, 434.444, -40.4602), (0, 0, 0)); level.bunkerList[50] = createBlock((659.741, 434.444, -23.3352), (0, 0, 0)); level.bunkerList[51] = createBlock((659.741, 434.444, -6.2102), (0, 0, 0)); level.bunkerList[52] = createBlock((665.134, 508.027, -57.2218), (0, 0, 0)); level.bunkerList[53] = createBlock((665.134, 508.027, -40.0968), (0, 0, 0)); level.bunkerList[54] = createBlock((665.134, 508.027, -22.9718), (0, 0, 0)); level.bunkerList[55] = createBlock((665.134, 508.027, -5.84684), (0, 0, 0)); level.bunkerList[56] = createBlock((498.405, 99.3426, -60.375), (0, 0, 0)); level.bunkerList[57] = createBlock((498.405, 99.3426, -43.25), (0, 0, 0)); level.bunkerList[58] = createBlock((498.405, 99.3426, -26.125), (0, 0, 0)); level.bunkerList[59] = createBlock((498.405, 99.3426, -9), (0, 0, 0)); level.bunkerList[60] = createBlock((546.436, 140.449, -60.375), (0, 90, 0)); level.bunkerList[61] = createBlock((546.632, 148.426, -43.1853), (0, 90, 0)); level.bunkerList[62] = createBlock((546.632, 148.426, -26.0603), (0, 90, 0)); level.bunkerList[63] = createBlock((546.632, 148.426, -8.93533), (0, 90, 0)); level.bunkerList[64] = createBlock((521.673, -40.2818, -63.1536), (0, 90, 0)); level.bunkerList[65] = createBlock((520.113, -35.2232, -46.0286), (0, 90, 0)); level.bunkerList[66] = createBlock((520.113, -35.2232, -28.9036), (0, 90, 0)); level.bunkerList[67] = createBlock((520.113, -35.2232, -11.7786), (0, 90, 0)); level.bunkerList[68] = createBlock((478.56, 31.8404, -61.9324), (0, 0, 0)); level.bunkerList[69] = createBlock((478.56, 31.8404, -44.8074), (0, 0, 0)); level.bunkerList[70] = createBlock((478.56, 31.8404, -27.6824), (0, 0, 0)); level.bunkerList[71] = createBlock((478.56, 31.8404, -10.5574), (0, 0, 0)); level.bunkerList[72] = createBlock((566.062, -88.474, -64.1349), (0, 0, 0)); level.bunkerList[73] = createBlock((566.062, -88.474, -47.0099), (0, 0, 0)); level.bunkerList[74] = createBlock((566.062, -88.474, -29.8849), (0, 0, 0)); level.bunkerList[75] = createBlock((566.062, -88.474, -12.7599), (0, 0, 0)); level.bunkerList[76] = createBlock((-795.134, 884.199, 4.625), (0, 0, 0)); level.bunkerList[77] = createBlock((-821.271, 811.73, 4.23803), (0, 0, 0)); level.bunkerList[78] = createBlock((-814.727, 740.402, 3.94031), (0, 0, 0)); level.minigunList[0] = createMinigun((-543.027, 297.052, 79.125), (0, -11.4691, 0)); level.minigunList[1] = createMinigun((618.046, 44, 79.125), (0, -172.767, 0));

greetz Ferry Adams






RE: BunkerMaker PLZ Tell me how inert map into game! - No One - 02-06-2011

show us ur updated .gsc after master131 told u to change